High-Level Design Space Exploration of Embedded Systems Using the Model-Driven Engineering and Aspect-Oriented Design Approaches

High-Level Design Space Exploration of Embedded Systems Using the Model-Driven Engineering and Aspect-Oriented Design Approaches

Marcio Ferreira da Silva Oliveira (Universidade Federal do Rio Grande do Sul, Brazil), Marco Aurelio Wehrmeister (Universidade Federal do Rio Grande do Sul, Brazil), Francisco Assis do Nascimento (Universidade Federal do Rio Grande do Sul, Brazil), and Carlos Eduardo Pereira (Universidade Federal do Rio Grande do Sul, Brazil)
DOI: 10.4018/978-1-60566-750-8.ch005
OnDemand PDF Download:
No Current Special Offers


Modern embedded systems have increased their functionality by using a large amount and diversity of hardware and software components. Realizing the expected system functionality is a complex task. Such complexity must be managed in order to decrease time-to-market and increase system quality. This chapter presents a method for high-level design space exploration (DSE) of embedded systems that uses model-driven engineering (MDE) and aspect-oriented design (AOD) approaches. The modelling style and the abstraction level open new design automation and optimization opportunities, thus improving the overall results. Furthermore, the proposed method achieves better reusability, complexity management, and design automation by exploiting both MDE and AOD approaches. Preliminary results regarding the use of the proposed method are presented.
Chapter Preview


An increasing number of hardware and software components are being incorporated into single embedded systems in order to enhance their functionality. This leads to a growing design complexity, which must be managed properly. Besides, the stringent requirements regarding power, performance, cost, and time-to-market also hinder the design of embedded systems. Designer’s expertise is not enough to deal with this ever-growing challenge, where a very wide range of design alternatives must be evaluated in order to find the best trade-off among conflicting requirements. Therefore, new development methods are imperative, including efficient Design Space Exploration (DSE) approaches, which are used to quickly find an adequate design solution while coping with a wide design space and conflicting requirements.

In order to improve embedded system design, meet-in-the-middle strategies, such as Platform-based Design (PBD) (Sangiovanni-Vincentelli, 2001), are largely employed. These methods maximize the reuse of pre-designed components and achieve the best customization of the design platform concerning system requirements, by applying a layered design approach and a large library of components. In this strategy, a DSE step is required in order to optimize each mapping between layers, thus building a link from the initial specification until the final implementation. The increase in the number of reused components, together with the complex mapping between layers, reinforces the need for new DSE methods, which should enable the automation and optimization of design tasks. An appropriate DSE strategy should perform design decisions at the earliest development phases, at higher abstraction levels, where their impact on the final product quality is much larger than at lower levels.

Although the PBD approach is very valuable to the design of embedded system, developing applications for the existing complex platforms is a hard task. Furthermore, developing a new platform from the scratch is a big bet for companies (Goering, 2002). Moreover, Sangiovanni-Vincentelli (2002) highlights the difficulties in performing the mapping between layers, as well as in getting benefits from the optimization potential at higher abstraction layers.

In order to overcome the difficulty in rising the abstraction level and to improve the automation of the design from the initial specification until the final system, research efforts look for modelling methods, formalisms, and suitable abstractions to specify embedded systems in a fast and precise way. Approaches such as Model-Driven Engineering (MDE) (Schmidt, 2006) and Aspect-Oriented Design (AOD) (Filman, 2004) have been proposed in order to improve the complexity management and also the reusability of previously developed/specified artefacts. The MDE method, combined with a standard modelling language, such as UML or Simulink, raises the design abstraction level and provides mechanisms to improve the portability, interoperability, maintainability, and reusability of models. In addition, MDE helps abstracting platform complexity and also representing different system concerns, by exploiting well-accepted meet-in-the-middle development strategies, following the principles of the PBD approach.

However, embedded systems design must deal with non-functional requirements (NFRs), such as time constraints, memory footprint, energy consumption, communication bandwidth, etc., which are indirectly related to the functionality performed by the system. Traditional approaches, such as Object Orientation, do not offer adequate support for handling crosscutting NFRs, intermixing them with the handling of functional requirements (FRs). This situation produces tangled and scattered requirements handling, which negatively impacts the reusability (Wehrmeister, 2008a). Approaches such as AOD propose the separation of concerns in the handling of FRs and NFRs. The AOD approach initially addressed this problem at the implementation level. However, the handling of NFRs must be taken into account as soon as possible to enhance system design. This fact motivates pushing the separation of concerns to the early design phases, such as in the Early-Aspects approach (Rashid, 2002).

Complete Chapter List

Search this Book: