SinelaboreRT – Generate efficient source code from UML state diagrams!

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone

Today we have a guest post (interested in a guest post? contact me) by Peter Mueller. He is going to introduce to all of you his tool SinelaboreRT – From UML state diagrams to source code made easy :

State machines are without any doubt a very good choice for designing and implementing the behavior of reactive systems. Whether you’ve used statecharts TO model a device, a subsystem, OR a MODULE, you might ask yourself why you don’t just generate code from that model. The new codegenerator from SinelaboreRT efficiently translates hierarchical UML state machines into different target languages like C, C++, C#, ObjC or Ada.

Some of its unique features are:

Interactive Simulation : During the design, defects related to unclear, incomplete or missing requirements are usually found. Such defects can lead to very costly redesigns or even to the reconstruction of the system. In SinelaboreRT it is possible to execute a statechart in a simulator and allow the user to send events to the machine to observe how the statechart reacts to the sent stimuli. This way you can interactively test the model and improve it where necessary.

Automated robustness tests : In the hardware design automatic design rule checks are very common. For software designs this is not yet common. The OMG has specified a set of well-formedness rules within the UML specification. These predefined rules plus a number of additional rules can be automatically evaluated by the built-in model checker.

Automatic code-generation to reduce coding errors : The generator accepts diagrams (in XMI format) from many common UML tools and translates them automatically into fully executable source code. Hierarchical state charts can be specially tricky to code by hand. And when transitions or states have to be added later on because of an additional requirement one wishes to have a generator at hand taking care of all the (error-prone and time consuming) placement of entry, exit and action code associated with the new states or transitions.

Test cases can be derived from the model : Routes through the statechart ensuring 100% transition coverage are deduced by the generator. These routes are a perfect basis for test case definition. Implementing the test cases is a task that you still have to do. But Sinelabore supports you by automatically generating trace code you may need for test purposes or post mortem analysis.

And remember, there are many good reasons to let sinelabore automatically generate source code from your UML state machine models. As it can read the XMI output of many state of the art UML tools no big investments are needed. You can work with the UML tool that you already use! A demo version with many examples is available here

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone


Your email address will not be published. Required fields are marked *