LieberLieber Embedded Engineer for Enterprise Architect has been developed as part of the tool chain for the development of Embedded Systems, since only with an integrated solution can model-driven approaches in embedded software development be efficiently applied.
Embedded Engineer Version offers improved code generation from ANSI-C code from UML structures, state machines and activity models, as well as – brand new – the generation of C++ source code.
The automated code generation creates detailed documentation at the same time.
Existing solutions must not be converted, since a clean integration of model-based and classic development exists.
Compliance with norms is simplified, since only the Code Generator must be adapted.
Since the source code is delivered at the same time, necessary adjustments are easily possible and no dependency on solutions providers is generated.
You need neither comprehensive settings nor configuration parameters…and also no frameworks. Decisions on the model level can be followed in the generated code in a transparent manner, easy to read and well-structured. Project-specific requirements for code generation are easily implemented through the provided source code. Thus, the implemented requirements can be easily realized in code. Furthermore, the generated code can be integrated into existing software projects with no difficulty. You can thereby unify the advantages of model-based as well as traditional development in an efficient and low-cost way.
LieberLieber UML Debugger
With the UML Debugger, included in Embedded Engineer, LieberLieber has solved a problem which has influenced several generations of code-generation tools. Whereby development has always taken place on the UML model level, debugging was then carried out in C or C ++. With the UML Debugger, debugging is now carried out directly on the model level, which represents a great step in the development of model-based development. The UML Debugger consists of a separate project browser along with diagram and source-code views. Immediately after transferring the generated code to the hardware, the UML Debugger allows you to debug the code directly in the model. The debugger automatically handles the synchronization of the model with the source code and allows the developer to run and follow progress on two levels simultaneously. Depending on the target platform, Embedded Engineer works with different source code debuggers, such as Green Hills, iSYSTEM, PLS orVisual Studio.
LieberLieber is of the opinion that it is neither sensible nor efficient to create an entire application over again merely to realize a continuous model-based approach. Rather, existing code (e.g. a state machine as an integral part of the model) is to be re-used, while other parts of the software can be developed by utilizing the advantages of UML. The “User Code Synchronization” feature, newly-integrated in LieberLieber Embedded Engineer, provides a powerful way to synchronize the new, handwritten code with the model. The tool clearly marks areas in the source code that can be safely edited by the developer at any time.
Requirements in Enterprise Architect linked to classes and operations are documented by Embedded Engineer in the source code under classes and methods. This enables a link to be established between requirements and the source code.
The most important function of LemonTree is the diffing and merging of different model versions. Standard approaches use line- and text-based applications that do not suffice for graphic models. Only the fine-grained 3-way diffing algorithm that considers the model’s graph structure allows an exact comparison between two models. This 3-way comparison for models that includes the basis version has now been realized in LemonTree. It enables calculation of changes in the current model versions; for each version it is calculated which property of a model element has changed. These changes are presented to the user in an intuitive, easy-to-understand fashion.
In addition to performance, the user-friendly display of diagram changes and ensuring model validity is an important component of a modern model versioning system. These requirements have been implemented in LemonTree. Conflicts between two model versions must naturally be resolved when they are merged. Automating this process can be achieved through various strategies, but a manual procedure often can’t be avoided. Changes and conflicts are often easy to display for the user. Changes to graphic models usually take place on the diagram level and must also be shown there. Therefore, LemonTree lists the calculated differences of two Enterprise Architect models in a finely-granulated way next to each other and visualized them in the current diagram.
LemonTree can be seamlessly integrated into existing versioning systems, currently with Subversion or, for example, Tortoise. This enables the centrally and automatic management of model versions. It also enables parallel editing of models in a team, as has for years been a common approach when editing source code. LemonTree for Enterprise Architect is referred to as a Diff & Merge Tool for Subversion as soon as a model is checked into the central repository.
Ever-greater demands on development and the growing complexity of software and systems development call for new approaches to achieve sustainable solutions. Document-based approaches are increasingly reaching their limits. With model-based development you can solve a number of problems while increasing productivity. With the help of models and modeling, even complex systems can be clearly displayed and recorded.
Purchasing a modeling tool like Sparx Systems Enterprise Architect, however, is often just the beginning. The true power of a tool can only be unlocked when the user is well trained in its methodology and application.
Use our know-how to make your project or your company fit for model-based development. Our experts have many years – some even decades – of experience in modeling and model-based development, and are regarded as proven, experienced experts, consultants and trainers…whereby numerous areas of competence are addressed for which we can offer custom-fit training. This always encompasses methodical know-how as well as practical tool training with Enterprise Architect and/or LieberLieber extensions.
Topics and Competencies
✓ Model-based software development with UML
✓ Model-based systems engineering with SysML and the control chain method
✓ AUTOSAR modeling with Enterprise Architect
✓ Model-based development for commercial applications
✓ Model-based development for embedded systems, code generation and model-level debugging
✓ Model-based requirements management
✓ Model-based development and (A)SPICE
✓ Model-based development for Internet of Things (IoT)