Using Aspects and Component Concepts to Improve Reuse of Software for Embedded Systems Product Lines

Embedded systems have several characteristics, such as application specific needs, real-time constraints and intrinsic embedded concerns (i.e. energy consumption), which hinder the reuse of previously developed components as well as their adaptation to provide variability in a software product line. As more applications require embedded system solutions, it is clear that if each time a new application is developed, it is not suitable to develop its supporting embedded system components from scratch. Resulting in an inability of the industry to follow the needs imposed by the market. To cope with this problem, the reuse of components within software product lines is a key issue. It seams to be easy task, but in fact it is not, due to increasing amount functionalities and crosscutting concerns present in those applications. In this paper we present an approach to handle components at a higher abstraction level, whose handling of crosscutting concerns is weaved by system level aspects, in order to address such complexity and also to make it easier the handling of variations in a software product line.

[1]  Marco A. Wehrmeister,et al.  GenERTiCA: A Tool for Code Generation and Aspects Weaving , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[2]  Carlos José Pereira de Lucena,et al.  On the Reuse and Maintenance of Aspect-Oriented Software: An Assessment Framework , 2003, Anais do XVII Simpósio Brasileiro de Engenharia de Software (SBES 2003).

[3]  Douglas C. Schmidt,et al.  Model Driven Middleware: A New Paradigm for Developing and Provisioning Distributed Real-time and Embedded Applications ? , 2003 .

[4]  Michael Mrva Reuse Factors in Embedded Systems Design , 1997, Computer.

[5]  Tammy Noergaard,et al.  Embedded Software , 2003, Lecture Notes in Computer Science.

[6]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[7]  Brian Ellis,et al.  VEST: an aspect-based composition tool for real-time systems , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[8]  Marco A. Wehrmeister,et al.  DERAF: A High-Level Aspects Framework for Distributed Embedded Real-Time Systems Design , 2007, EA@AOSD.

[9]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[10]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[11]  H. O. Trutmann On component reuse in embedded systems , 1999, ISIE '99. Proceedings of the IEEE International Symposium on Industrial Electronics (Cat. No.99TH8465).

[12]  David Lorge Parnas,et al.  A technique for software module specification with examples , 1972, CACM.

[13]  T.H. Lee,et al.  Design and assembling of a UAV helicopter system , 2005, 2005 International Conference on Control and Automation.

[14]  Jörgen Hansson,et al.  Aspects and components in real-time system development: Towards reconfigurable and reusable software , 2005, J. Embed. Comput..

[15]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

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

[17]  W. Retschitzegger,et al.  Towards a Common Reference Architecture for Aspect-Oriented Modeling , 2006 .

[18]  Marco A. Wehrmeister,et al.  A Case Study to Evaluate Pros/Cons of Aspect- and Object-Oriented Paradigms to Model Distributed Embedded Real-Time Systems , 2008, 2008 5th International Workshop on Model-based Methodologies for Pervasive and Embedded Software.

[19]  Timo Hämäläinen,et al.  UML 2.0 profile for embedded system design , 2005, Design, Automation and Test in Europe.

[20]  Pedro J. Clemente,et al.  AspectCCM: an aspect-oriented extension of the CORBA Component Model , 2002, Proceedings. 28th Euromicro Conference.