SinelaboreRT Header Logo


It's better when it's simple!

User Tools

Site Tools


Modelling-Tool specific Intro

Language Backends

Getting started



Designers Toolbox

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



HowTo use ArgoUML to generate state machine code

ArgoUML HowTo

Below some tips and tricks are listed that simplify the state-chart creation using ArgoUML. If you have further hints let us know and we add them here.

:?:Creating entry/action/do code:

:!: Double click in the state. Then type in e.g. entry followed by a slash. Now type in the entry action code. The action is a call action which is ok. There is no need to change this into any other type of action.

:?:Q: How to define multiline state actions:

:!: Open the state properties and double click on the action you want the edit

Then enter the action code. From now on only change the acton code in the property editor. Otherwise you loose all lines except the first one.

:?:Q: How to quickly define the event, guard and action for a transition:

:!: Create a transition and double click in the text area of the transition. Then type in the event, the optional guard and the optional action.

:?:Q: How to define a multiline transition action:

:!: Double click the effect in the transition’s properties dialog

and type in the code.

This is the result:

By default a Call Action is created. There is no need to change the transition type for the code generator.

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/howto/argouml_how-to.txt · Last modified: 2021/08/18 13:59 by pmueller