SinelaboreRT Header Logo


It's better when it's simple!

User Tools

Site Tools


UML-Tool specific Intro

Language Backends



Designers Toolbox

Integrated state-chart editor with auto-layout

Focus on modeling and not on moving states around to create a nice looking diagram! Syntax aware text fields offer a comfortable way to specify actions, guards etc. When the diagram passed the model checker it can be directly simulated. Connect the diagram to the real hardware to monitor the state machine in action.

There are better ways to model state machines than using spread sheets!

In the past different μC manufacturers have published application notes about the benefit of using state machines for the design of embedded software. An example is the application note SLAA402 from Texas Instruments (TI). It suggests to generate source code based on a spread sheet table. Nowadays several affordable UML modeling tools are available supporting the efficient design of state machines in a graphical way. SinelaboreRT generates production quality source code from state diagrams created with many different UML tools. Give it a try!

Latest Changes

Model-based testing of state machines 2020/02/23 19:32 Peter Mueller  
DCF77 Radio Clock 2020/02/23 19:27 Peter Mueller ,
Getting started with a Traffic Lights example on MSP430 - part 1 2020/02/23 19:26 Peter Mueller , , , ,
Astah SysML 2020/02/23 19:22 Peter Mueller  
Generate production quality code from state diagrams created with Enterprise Architect 2020/02/23 19:20 Peter Mueller  
Features 2020/02/23 19:18 Peter Mueller  
Generate efficient source code from UML state diagrams and activity diagrams! 2020/02/22 20:00 Peter Mueller  
Action disabled: revisions

New Version 2.7


Version 2.7 of sinelaboreRT extends the test case generation features and makes the specification of multiline state action code in EA easier. Furthermore it adds support for sub-machine states in Enterprise Architect models.

Entering multi-line action code in EA Entering multiline action code (entry / exit / do) for a state was so far limited to one line. The action name was used as code. Now the code can be entered into the behavior field of an action. See the figure above for an example of two lines of entry code.

Multiple line actions

New test case generation algorithm

So far the code generator used a “depth first” method to find test routes (call the codegen using option -c). The used algorithm generates test routes that are as long as possible. The benefit is that usually fewer but longer routes are generated. The figure on the right shows the Safety Function Block test routes as a tree. You can see how deep this tree is which corresponds to the longest test route.

Depth first algorithm

An additional new algorithms is available now (call the codegen using option -c1). It uses a 'breadth first' algorithm to find test routes. It begins also at the init state and explores all the neighboring states first. Then for each of those nearest states, it explores their unexplored neighbor states, and so on, until 100% transition coverage was reached. The result are shorter but typically more test routes. The following tree shows again the PLC Open Safety Block test tree but now generated using the new algorithm. You can see that the tree is much broader - i.e. there are more test routes to go. But at the same time the routes are much shorter.

Breadth first algorithm

It is up to you which algorithm to use. A tester might probably find the shorter routes easier to understand.

Support for Sub-Machine States in Enterprise Architect Models

Sub-machine states hide the complexity of a state from the viewer. A double click on the state opens the internals of this state. From the code generator point of view a sub-machine is a normal state with children. There is absolutely no difference compared to a normal hierarchal state. Take a look into the manual to find out more about the use of sub-machine states.

This new version is free for users who bought their license within the last two years.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
wiki/news/3jan2012.txt · Last modified: 2012/10/22 21:46 by pmueller