Model-based design of embedded systems

The design of embedded systems is often based on the development of a detailed formal system specification. Considerable effort is spent to ensure the correctness of this specification. However, the actual implementation of the specification and later maintenance is usually done using traditional programming and more often diverges from the specification. To overcome this, it is desirable to derive the implementation directly from the specification. We present an approach for model-based development of embedded systems applying a well-defined UML 2.0 subset with precise execution semantics. Our approach is fully object-oriented, accounts for important aspects like real-time behavior including timeouts, and interrupts. Through the seamless integration of UML sequence diagrams with state diagrams, executable systems can be completely described. The direct execution of such models on a UML virtual machine (UVM) avoids a separate implementation step and increases portability