Tomoji Kishi
Japan Advanced Institute of Science and Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Tomoji Kishi.
Communications of The ACM | 2006
Tomoji Kishi; Natsuko Noda
Using formal verification techniques to verify designs within a product line.
software product lines | 2005
Tomoji Kishi; Natsuko Noda; Takuya Katayama
Our society is becoming increasingly dependent on embedded software, and its reliability becomes more and more important. Although we can utilize powerful scientific methods such as model checking techniques to develop reliable embedded software, it is expensive to apply these methods to consumer embedded software development. In this paper, we propose an application of model checking techniques for design verification in product line development (PLD). We introduce reusable verification models in which we define variation points, and we show how to define traceability among feature models, design models and verification models. The reuse of verification models in PLD not only enables the systematic design verification of each product but also reduces the cost of applying model checking techniques.
software product lines | 2002
Tomoji Kishi; Natsuko Noda; Takuya Katayama
It is indispensable for strategic product line development to define the proper scope of the product line. Once the scope has been defined, we examine the corresponding product line architecture to realize systematic reuse for the product line. Therefore, in defining the scope, we have to decide whether or not it is appropriate to share the same architecture for the products in the product line. The appropriateness of sharing the same architecture among multiple products has to be examined from two points of view. One is from the point of view of the individual optimality (i.e., whether it is good for each product to use the shared architecture), and the other is from the point of view of the whole optimality (i.e., whether it is good for the product line as a whole to share the architecture). In this paper, we propose a method for product line scoping. We consider scoping as a decision-making activity in which we evaluate multiple candidates for the scope and then select the proper one after examining the appropriateness from the two points of view. In order to demonstrate its applicability, we applied the method to the actual problem picked up from Japanese ITS (Intelligent Transport Systems) projects.
software product lines | 2000
Tomoji Kishi; Natsuko Noda
In designing a product-line architecture (PLA), it is important to analyze common and variable requirements in a product family. These requirements must be analyzed not only from the functional aspect but also from aspects related to quality attributes such as performance and reliability. For example, if two products are required to attain different levels of performance, architectures for these products may be different even if they provide the same functionality. In this paper, we propose an aspect-oriented analysis method for PLA design in which we analyze product requirements from each aspect separately. In the method, we identify important factors for each quality attribute, and characterize the services in terms of the factors. Based on the characterization, we separate requirements related to each quality attribute from the original requirements. Using the method, we can examine the architecture styles required for a PLA from each aspect, which can make PLA design easier.
international workshop on principles of software evolution | 2001
Natsuko Noda; Tomoji Kishi
Most design patterns help to make systems flexible and extensible. They have potential effects to support evolutionary software development. Ordinary implementation of design patterns, however, is not always enough for evolution. It is based on the inheritance mechanism. This makes application classes quite dependent on patterns and reduces reusability of application classes. In addition, it is difficult to exchange patterns once a system is designed. In this paper, we introduce a way to implement design patterns more flexibly, applying the concept of separation of concerns. It is realized by separating design patterns, as explicit concerns, from the application core that is responsible for the primary functionalities. The new implementation technologies that support the advanced separation of concerns such as Hyper/J™ help with coding this kind of design. Using an example, we show that it is possible to exchange patterns to support different behavior without any change on the application core. Our approach has an advantage that reusability of both design patterns and the application core is improved.
international symposium on object/component/service-oriented real-time distributed computing | 2009
Tomoji Kishi
In this position, we compare two promising approaches,Model Driven Design and Organic Computing, and discussa possible synergy between them.
asia-pacific software engineering conference | 2007
Natsuko Noda; Tomoji Kishi
In software design, it is important to encapsulate cross-cutting concerns, and the application of aspect-oriented technologies to design modeling is a significant challenge. We examined the design of software for embedded systems that exhibit complicated behavior and observed that aspect orientation is useful for designing such systems. In this paper, we propose aspect-oriented modeling for embedded software design. For this modeling, we introduce an aspect-oriented modeling mechanism based on state diagrams. We also demonstrate how the proposed modeling can be effectively applied to embedded software design based on an example.
asia-pacific software engineering conference | 2001
Tomoji Kishi; Natsuko Noda; Takuya Katayama
It is important to design architecture to be steady throughout the evolution, or make the architecture to be the platform for a product family. In order to design software architecture to have such characteristics we have to analyze the commonality and differences among requirements on potential software that are supposed to be developed on the architecture, and then design software architecture so as to accommodate the commonality and differences. In this paper, we propose an approach for architectural design in which we analyze the requirements of potential software in terms of the impact on the architecture, considering multiple quality attributes. We perform a case study on an actual project that designed architecture for an on-board system for ITS systems to examine the usefulness of the technique. We also apply the technique to the same architectural design problem to demonstrate that it is applicable to the real problem.
Second IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems, 2004. Proceedings. | 2004
Tomoji Kishi; Toshiaki Aoki; Shin Nakajima; Natsuko Noda; Takuya Katayama
The high-reliable object-oriented embedded software design project is an industry-university joint research project and has been launched in 2003 as a part of e-society project, supported by Ministry of Education, Culture, Sports, Science and Technology, Japan. The target of this five-year project is to develop the method and environment for high-reliable embedded software development for civilian industry such as automobile, communication, and control and consumer-electronics fields. The challenge of the project is to establish the practical usage of the latest achievement of software science and software engineering at the reasonable cost for actual development practice. In this paper, we introduce the approach, vision and plan of the project.
international symposium on object/component/service-oriented real-time distributed computing | 2009
Takuya Katayama; Tomoji Kishi; Shintaro Hosoai; Tatsuo Nakajima; Taiichi Yuasa; Midori Sugaya; Tomoharu Ugawa
Our society depend on embedded and ubiquitous computingand the reliability of embedded software becomesmore and more important. We have conducted a five yearsproject with industries to develop software for realizinghighly reliable embedded systems. We have tackled reliabilityissues from the following aspects. 1)Design environment:we have developed a UML design verification tool thatapply model checking techniques to improve the designquality of application software. 2)Operating environment:we have developed operating system supports that realizemultiple execution of real-time operating systems andalso developed operating systems with enhanced resourcemanagement. Both technologies contribute the realizationof robust run-time environment. 3) Real-time environment:we have developed real-time garbage collection techniquesfor Jave. They prevent the suspension of applications thatviolates the correct behavior of real-time applications. Also,they reduce the effort of application programmers to avoidgarbage-collection during important execution timing. Wehave obtained fruitful results from these three researchthemes, and some of them are actually used in industries.Furthermore, we have integrated the results to make synergeticeffect of them. In order to demonstrate the effectiveness,we have conduct an experiment. In this paper, we introducethe project and its results.