Embedded systems are a modern technology that is rapidly changing our society. Intelligence, in the form of software and hardware, is introduced into all kinds of products and artifacts with the objective of enhancing their functionality. In order for the industries to meet this demand in an efficient and predictable manner, their design engineers must master a complex set of constraints related to hardware, software, and reconcile them with the specific needs of the application in the overall product.

The sheer complexity of future embedded devices is seriously challenging current development and maintenance practices, and new, integrating and scalable methods are urgently needed. The MoDES project will research, develop, evaluate and disseminate concepts, methods and tools that can be used to design dependable embedded systems that meet their requirements in a controlled and resource-efficient way using model-driven approaches. This means that design decisions, analysis, simulation, testing, code generation, on-line monitoring etc. are always based upon models that reflect the relevant aspects of the design. This requires tools and techniques to maintain, manipulate, combine, transform and analyze models in a coherent and meaningful way.

Modern embedded systems typically involve the monitoring and control of complex physical objects or phenomena using a number of hardware and software components. Examples of such systems are: flight control systems, medical devices, industrial pumps, industrial cooling and heating systems. The physical environment, the software and the hardware have to work harmoniously together in order for the embedded system to provide its desired functionality. The three system aspects constitute well-established research areas with their own set of concepts, models, tools, and research agenda (see Fig. 1):

  • Control engineering: focuses on modelling of the behaviour of physical phenomena with the purpose of synthesising efficient control mechanisms for various operating regimes, The modelling uses mathematical techniques like differential equations and Markov chains supported by tools like Simulink, Matlab, Stateflow, or Mobius.
  • Embedded software engineering has as goal to provide techniques for programming and validating distributed, fault-tolerant, real-time software. It generally uses formalisms such as temporal logic, various notions of state/event machines, timed automata, and program design notations like UML.
  • Hardware engineering focuses on the design of the platform on which the application executes. The modelling covers the processing elements, buses and networks that carry out the desired functions of the system and may include the firmware (e.g. real-time operating system) which provides the application developer with a clean programming interface to the hardware. It is fundamentally based on combinatorial logic and state-event systems,  and various higher order languages have been developed to support the design and analysis of digital circuits.

Though each of the above areas offers powerful modelling formalisms and supporting tools they are by and large developed independently favouring only certain aspects, while omitting others. This has the unfortunate consequence that it often becomes impossible to state, not to mention validate, overall properties of an embedded system. 

Click to view large image  

Fig. 1
The roadmap to embedded systems produced by the European FP6 project ARTIST 1 has identified a variety of concepts, models, tools and technologies used by industry, So far specific system aspects has been considered in isolation. In order to face the complexity of future embedded systems a major challenge is to provide a unifying framework and coherent tool chain.

Commercial tools applied by practitioners.

Academic tools developed by researchers.


The weakness of such piecewise design has been recognized in the research communities within the last decades and has resulted in bridging theories: Hybrid Systems theory for Control and Software Engineering as well as Hardware/Software Codesign. The partners in MoDES have been deeply involved at an international level in these delevelopments, and with the maturing of techniques and tool support, we wish in MoDES to establish a truly coherent, scalable development framework that allows integration and interoperability of heterogeneous components, defined using different computational and communication models.

It is our claim that significant improvements of product quality as well as cost-efficiency of the development process are obtained by adjusting and combining the models and tools from each research area into a coherent tool chain. The aim of the project is to perform these adjustments and combinations, and to validate the claim based on industrial case studies linking fundamental concepts and models to final products, via tools and enabling technologies.


The baseline for the research is given by the roadmap to embedded systems produced by the European FP6 project on Advanced Real Time Systems, ARTIST 1, where the MoDES partners have contributed significantly and remain active through participation in the ARTIST 2 Network of Excellence.

The specific research within MoDES is centred around 4 PhD projects which are structured in a standard pattern that has been explored by the partners in several collaborative PhD-projects and has proven to be successful:

Exploration (8 months)
Initial investigation of the application, which may be either a) design of a product line using advanced techniques and technologies, or b) redevelopment and refactoring of an existing product line such that advanced techniques apply. The outcome is a preliminary design trajectory that identifies available theories, models and techniques that may be useful in a model-driven approach for the specific application. Furthermore it will include a survey of potentially useful academic or commercial tools to support the development.

Prototype Modelling (11 months)
Theories and tools are used to to build coherent models along the design trajectory. The outcome is a demonstration of the techniques and tools as they would apply for the given application in the specific company.

Scientific Exploitation (8 months)
Generalisation, analysis and investigation of selected aspects of the applied methods and/or tools.
The outcome is research publications pertaining to the tools or theories. It is the groundwork for the main scientific results of the project.

Reporting and Dissemination (8 months)
Reporting to the scientific community and revisions of application in connection with the company. Final outcome are a number of PhD-theses and design guidelines etc. for practical use.

Each PhD-project will be based on (a) particular industrial case(s) and involve particular models, tools and technologies.  In order for the project to synthesize a uniform methodology from these individual projects a number of accompanying activities are planned within the project:

Joint Project Supervision
For each PhD-project there is a supervisory team with representation from at least two of the basic research areas (Control Engineering, Embedded Software Engineering, Hardware Engineering) and an application area specialist from the company.

Annual Workshop and Meetings
The PhD students and their supervisors and industrial contacts will have regular, joint meetings (every 2 months). The project will have annual workshop seminars, open for external participation, where all PhD students, researchers and industrial contacts will disseminate results.

Danish ARTEMIS consortium
The participants of the project will initiate the formation of a Danish consortium to become member of the ARTEMIS research platform.