Separating Active and On-Demand Behavior of Embedded Systems into Aspects
Conference: MMB Workshop 2006 - ITG FA 6.2 Workshop on Model-Based Testing, GI/ITG Workshop on Non-Functional Properties of Embedded Systems, 13th GI/ITG Conference Measuring, Modelling, and Evaluation of Computer and Communication
03/27/2006 - 03/29/2006 at Nürnberg, Germany
Proceedings: MMB Workshop 2006
Pages: 9Language: englishTyp: PDFPersonal VDE Members are entitled to a 10% discount on this title
Tešanovic, Aleksandra; Gustafsson, Thomas; Hansson, Jörgen (Linköping University, Department of Computer Science, Linköping, Sweden)
Hansson, Jörgen (Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA)
Requirements on embedded systems have increased over the years leading to an increased complexity of software and, consequently, higher development and maintenance costs. One major part of the cost is the way data is engineered and maintained in the system so that resources, such as CPU, are used efficiently. There exist various ways of optimizing CPU usage by controlling how often calculations on data are performed. These include (i) algorithms that ensure updating of data on-demand, i.e., when data becomes outdated, and/or (ii) appropriate event-condition-action rules implementing active behavior in the system and, thereby ensuring that calculations, specified by actions, are carried out when an event satisfying the condition occurs. Adding active behavior ensures that time-triggered embedded systems can also respond to events that occur aperiodically. One way of adding on-demand and active behavior to the system is by re-engineering the existing software. This is a time-consuming and costly solution that still does not provide efficient means for maintaining and evolving the system. Alternatively, if software is developed from scratch, the behavior can be integrated into the system structure during design and implementation phase, resulting in a fixed and monolithic architecture that cannot easily be changed as the system evolves. In this paper we propose a way of designing and implementing on-demand and active behavior in embedded software, where this behavior is specified and developed independently of an application, and then integrated with the software. We employ aspect-orientation as the means of realizing the independent design and development of the on-demand and active behavior. We also demonstrate that encapsulating on-demand and active behavior into aspects results in efficient development and evolution of data management in embedded software with respect to complexity and cost.