ABSTRACT

Embedded systems, such as automotive, avionics, communications, and defense systems, are notoriously difficult to design and develop because of increasing complexity, heterogeneous requirements (combining, e.g., noncritical infotainment and hard real-time engine control), distributed infrastructure, distributed development and outsourcing, time to market, lifecycle management, and cost, to name just a few. 124Model-based engineering (MBE) [1] greatly contributes to the development of dependable systems with models playing an important role in domain analysis, requirements elicitation, architecture specification, analysis, documentation, and evolution. Nevertheless, while modeling is accepted as a key engineering activity especially in all engineering disciplines outside of software engineering, it is often seen as standing in the way of “the code,” and if it is used, it is often only for forward engineering (i.e., creating code from specifications), leaving activities such as diagnosis and failure management to be addressed separately.