SinelaboreRT Header Logo


It's better when it's simple!

User Tools

Site Tools


Tool Landing Pages


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

Generate efficient source code from UML state diagrams and activity diagrams! 2017/03/20 19:35 Peter Mueller  
Navigation 2017/03/18 16:39 Peter Mueller  
History 2017/03/18 16:38 Peter Mueller  

New version 3.6.5

This new version provides two important optimisations which results in better readability of the generated code and the activity diagram itself.

a) Actions in an activity diagram can contain spaces e.g. “check hardware” is translated into “CHECK_HARDWARE”. This increases the readability of the activity diagram.

b) Combining multiple actions into one action. If successive actions only have one incoming edge they can be combined into one actions. This increases performance and readability of the generated code.

The following activity diagram shows some examples where actions can be combined. This is the unnamed action and Action10 in the sub-activity Activity1. As well as Action2 with Action 3 with spaces and Action5 to Action9. The generated code for the latter looks as follows. The new action has a generated name but the comment clearly indicates which actions were the basis for the new action.

/* Merged from nodes:   Action5 Action8 Action9 */
case TEST_OPERATION_326F4FB4_71A5_42F3_94F5_BF4E5D5BA1EE:
   printf("action 5\n");
   printf("Effekt Action 8\n");
   printf("Action 9\n");

Feedback is as always welcome! Have fun!

Peter Mueller

How do you like this article?
 stars  from 4 votes
wiki/news/20july2014.txt · Last modified: 2015/08/04 21:48 by pmueller