Generate production quality code from state diagrams created with Eclipse Papyrus™
SinelaboreRT generates readable and maintainable code from hierarchical UML state machines created with Eclipse Papyrus™. With its unique features SinelaboreRT covers well the requirements of embedded real-time and low power application developers. With its other language backends it is also a perfect tool for developers of server or desktop applications.
- Automated robustness checks before code generation
- No run-time environment needed
- Can be used with any CPU and with or without OS/RTOS
- Code generation especially for embedded real-time and high availability systems.
- Fits well in different system designs (foreground/background, RTOS-based …)
- No gap between design and code
- Support for automatic test-case generation
- Simulation in interactive or batch mode.
- Optionally generating trace code
- Generated code creates no trouble when using static code checkers
Supported State Machine Elements
The code-generator supports a subset of the design elements provided by Eclipse Papyrus. The supported elements are:
- Hierarchical states
- (Signal-)Events with event name, guard and action – Initial and final pseudo-states
- History states (deep, flat)
In addition methods defined in the class are added to the generated state machine header. And attributes are added to the state machine instance data.
How to get started ?
Watch this Youtube video to get a QuickStart in generating C-code from Eclipse Papyrus™ state machine diagrams.
Download the code generator and use the Papyrus microwave example in the examples folder. It shows a fully functional example of a microwave simulation in C. Make changes in the model, re-create the state machine code and then compile/run the example again. This is the fastest way to learn how to use the code generator.
Opaque Behaviour is not shown in the state diagram inside the states
Check in “Preferences → Papyrus → Diagrams → PapyrusUMLStateMachineDiagram Diagram → Transition and behaviour options” that
Show number of lines for opaque expressions/behaviour has a value > 0.
How do I create an inner transition in a state
Create a self transition and set the
kind property in the transition property dialog to