Modeling and code generation for embedded systems with eTrice
Architecture-driven development for embedded systems
If you put the architecture at the center of development, many problems solve themselves! Develop with our open source tool eTrice.
What do we need to develop successful embedded systems?
- Mastering complexity with good architectures
- Fast, simple development of structure and behavior
- Testing at different levels (components/units, integration, system)
- Cover non-functional requirements (changeability, robustness, reusability, …)
- Communicate efficiently within the team
Let’s put architecture with models at the center of development!
- Start with the architecture model. It defines a modular and sustainable structural architecture.
- component models are attached to the architecture model to define the structure and behavior.
- code generation ensures fast and error-free conversion of the model into executable code.
- individual components and their integration can be tested directly at model level using software-in-the-loop (SIL). The necessary environment simulations and test cases can also be defined directly in the model.
- The SIL tests can be easily transferred to hardware-in-the-loop (HIL) tests and further developed. A suitable HIL platform is available in the form of the miniHIL.
Iterations – are not only possible above the code, but also above the architecture! Architecture changes are implemented immediately by the code generation.
Automation – Continuous integration massively accelerates all steps (development & testing)
What do we achieve by doing this?
- The architecture model is always up-to-date
- Efficient communication within the team and work on the application at a high level of abstraction
- The code is always synchronized with the architecture model
- You can focus on the WHAT during development – the HOW is mainly left to the code generator
- The tests at all levels are directly linked to the architecture model and can therefore be implemented quickly and reused very easily
- The very high degree of automation speeds up development
- Continuous integration allows the application to be built and tested automatically for every change – sometimes within minutes
And how does that work?
With our open-source product eTrice and the Real-Time Object-Oriented Modeling (ROOM) language!
- Architecture modeling for structure and behavior
- Efficient code generation for embedded systems
- ROOM is an architectural language specifically for real-time systems
- The resulting models are highly reusable, scalable and robust
For tests, our test methods can be integrated directly into the ROOM models
- At the model level, individual components (actuators in ROOM) and their integration can be tested directly using software-in-the-loop (SIL). The necessary environment simulations and test cases can also be defined directly in the model.
- The SIL tests can be easily transferred to hardware-in-the-loop (HIL) tests and further developed. A suitable HIL platform is available in the form of the miniHIL.
- Contracts for the interfaces can be defined in the model for validation at modeling or runtime. These are either formally checked at modeling time or monitored at runtime by generated monitors.
Do you have any further questions?
Let us discuss your specific questions, requirements and problems. We will check together whether the use of the open source modeling tool eTrice makes sense for you.