C/C++ Code Generation

In this training you will learn how to optimally generate embedded code with Enterprise Architect and LieberLieber Embedded Engineer. The solution shown here combines automated source code generation with model-level debugging. It enables both C and C++ source code generation, covering the two most important programming languages in embedded development. In addition, the solution has a UML debugger and source code synchronisation, which is often requested in practice. Embedded Engineer was developed as part of the tool chain for the development of embedded systems, because only with an integrated solution the model-driven approaches in embedded software development can be used efficiently.


Misra-compliant code generation for C / C++

The code generated with the approach presented here complies with the specifications of the C programming standard MISRA-C. This standard includes guidelines that serve the quality assurance of C code in the automotive industry.






3x5h 2 days, 3 days incl. EA revision 8


From requirements to generated source code

With the UML debugger included in Embedded Engineer, LieberLieber has solved a problem that has characterised several generations of code generation tools. Whereas in the early days debugging was only possible at assembler level, in recent decades this central step in software development has taken place directly in the programming language. Today, we are in a similar situation in model-based development: development takes place at UML model level, debugging occurs in C or C++. With the UML Debugger, debugging now takes place directly at model level, which represents a major step forward in model-based development.

Training contents

  • What can be generated and how (model, FSM)
  • Structural examples (class, attributes, operations, generated code)
  • Using and understanding dependencies
  • Abstraction is the key
  • Behaviour (activities, state machines)
  • Collaboration with developers
  • Special topics (custom documentation, tips & techniques)
  • Troubleshooting with UML
  • Create your own example






 3x5h 2 days 8


Your contact

Richard Aigner

LieberLieber Software GmbH.

Handelskai 340 Top5A | 1020 Vienna | Austria