Sinelabore Homepage

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. It is suitable for embedded applications and for desktop/server software through additional language backends.

Key Features#

  • Automated robustness checks before code generation
  • No runtime environment needed
  • Works with any CPU and with/without OS or RTOS
  • Supports simulation, trace generation, and test-case workflows

Supported State Machine Elements#

The parser supports a practical subset of Papyrus elements:

  • Hierarchical states
  • Signal events with event name, guard, and action
  • Initial and final pseudo states
  • History states (deep, shallow)
  • Choices and junctions
  • Constraints
  • Regions

In addition, class attributes and methods are mapped into generated state machine data and interfaces.

Papyrus state machine example

Quick Start#

Use the Papyrus microwave example from the examples folder, regenerate code from the model, and compile/run the sample to iterate quickly on changes.

Papyrus How-To#

  • Opaque behavior not visible in the diagram: check Papyrus preferences and increase the number of lines shown for opaque behavior.
  • Inner transition in a state: create a self-transition and set transition kind to internal.