The primary goal of our project is model-driven development of automotive software systems.
The development process is build around open standards from OMG (UML 2.0, OCL, ...).
We do not need a special modeling tool. In fact every UML 2.0 compliant modeling tool can be used.
UML 2.0 models are used to describe the structure and the behavior of the automotive system.
Profiles are used to extended the standard model elements of UML with additional properties.
Model transformations are used to generate more specific models from abstract models.
A typical transformation is the expansion of a design pattern (e.g. Observer).
The specifiaction of such a transformation is also a UML 2.0 model, where a certain profile is applied to this model.
The modeling process is simplified through the use of given UML packages.
One one hand side a library of automotive model elements (e.g. an abstract ECU)
and on the other hand side profiles (which are special packages) that allows the annotation
of specific (e.g. redundancy) properties.
The result is an abstract automotive system, where known patterns (described in profiles) are used to make the system more concise.
After the completion of the abstract system, this system is transformed into an executeable system.
The first step expands design and safety patterns to get a concrete but platform independent system.
The second step expands platform specific patterns (e.g. operating system properties).