An aspect-oriented development method for embedded control systems with time-triggered and event-triggered processing

The paper presents a design method for embedded control systems based on the mixed architecture that consists of both time-triggered processing and event-triggered processing. We divide a design process into functional design and behavioral design. We also apply aspect-oriented programming to realize the separated design. In the functional design, we identify objects and define classes to realize functions of the target system. In the behavioral design, we determine triggering methods of objects to meet real-time requirements and define them as aspects. The aspects defined in the behavioral design are woven into the classes defined in the functional design. By using our method, we can design triggering methods independently of the functional design. Our method also improves the reusability of a model and source code of the system. It is possible to reuse classes designed in the functional design for both time-triggered systems and event-triggered systems.

[1]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[2]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[3]  Sébastien Gérard,et al.  A two-aspect approach for a clearer behavior model , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[4]  Bruce Powel Douglass Real-time UML - developing efficient objects for embedded systems , 1997, Addison-Wesley object technology series.

[5]  Hermann Kopetz,et al.  Should Responsive Systems be Event-Triggered or Time-Triggered ? , 1993 .

[6]  Siobhán Clarke,et al.  Towards a standard design language for AOSD , 2002, AOSD '02.

[7]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[8]  Tarek F. Abdelzaher,et al.  Real-time and embedded technology and applications symposium (RTAS '05) , 2005, SIGBED.

[9]  Fumio Narisawa,et al.  A Code Generator with Application-Oriented Size Optimization for Object-Oriented Embedded Control Software , 1998, ECOOP Workshops.

[10]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[11]  Wolfgang Schröder-Preikschat,et al.  AspectC++: an aspect-oriented extension to the C++ programming language , 2002 .

[12]  Tzilla Elrad,et al.  Aspect-Oriented Modeling: Bridging the Gap between Implementation and Design , 2002, GPCE.

[13]  Zbigniew Ogonowski,et al.  Advanced control with MATLAB and SIMULINK , 1996 .

[14]  Shoji Suzuki,et al.  A development method of time-triggered object-oriented software for embedded control systems , 2003, Systems and Computers in Japan.

[15]  Bruce Powell Douglass,et al.  Real-time UML (2nd ed.): developing efficient objects for embedded systems , 1997 .

[16]  Hassan Gomaa,et al.  A software design method for real-time systems , 1984, CACM.

[17]  Takanori Yokoyama,et al.  A Development Method for Object-Oriented Automotive Control Software Embedded with Automatically Generated Program from Controller Models , 2004 .

[18]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[19]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[20]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[21]  Wolfgang Schröder-Preikschat,et al.  On aspect-orientation in distributed real-time dependable systems , 2002, Proceedings of the Seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems. (WORDS 2002).

[22]  Jeffrey G. Gray,et al.  Handling crosscutting constraints in domain-specific modeling , 2001, CACM.