Authors:
Mathias Funk
1
;
Alexander Nyβen
2
and
Horst Lichter
2
Affiliations:
1
Eindhoven University of Technology, Netherlands
;
2
Research Group Software Construction, RWTH Aachen University, Germany
Keyword(s):
Embedded & Real-Time Systems, ANSI-C, UML, Code Generation.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Component-Based Software Engineering
;
Embedded Communications Systems
;
Model-Driven Software Development
;
Software Architectures
;
Software Engineering
;
Telecommunications
Abstract:
Model-driven engineering has recently gained broad acceptance in the field of embedded and real-time software systems. While larger embedded and real-time systems, developed e.g. in aerospace, telecommunication, or automotive industry, are quite well supported by model-driven engineering approaches based on the UML, small embedded and real-time systems, as they can for example be found in the industrial automation industry, are still handled a bit novercal. A major reason for this is that the code generation facilities, being offered by most of the UML modeling tools on the market, do indeed support C/C++ code generation in all its particulars, but neglect the generation of plain ANSI-C code. However, this would be needed for small embedded and real-time systems, which have special characteristics in terms of hard time and space constraints. Therefore we developed a framework, which allows to generate ANSI conformant C code from UML models. It is built on top of Eclipse technology, s
o that it can be integrated easily with available UML modeling tools. Because flexibility and customizability are important requirements, the generation process consists of a model-to-model transformation between the UML source model and an intermediate ANSI-C model, as well as a final model-to-text generation from the intermediate ANSI-C model into C code files. This approach has several advantages compared to a direct code generation strategy.
(More)