SinelaboreRT Header Logo

SinelaboreRT

Productivity for embedded software development

User Tools

Site Tools


latest_news

Latest News

September 2024 | New version 6.4

Since version 6.4 the handling of history states has been changed. It is now possible to end a transition in a history state. Only if a transition ends in a history state will the previous history be taken into account when entering the state set. Otherwise the default entry chain is used. The new parameter TransitionsCanEndInHistoryStates has been added to enable this feature. This new feature makes history state handling more powerful and the designer's intent clearer than before. An example of the new possibilities is shown in the following figure.  State machine with the new history state option

August 2024 | New version 6.3.4

This release adds another way to influence the signature of the processEvent() method in C++.

June 2024 | New version 6.3.3

This version provides some small updates for the Python backend and fixes an issue with the C Sharp backend.

18. Feb. 2024 | New version 6.3.2.1

Bugfix in the C++ backend. Relevant for users who have state machines with regions and do not want event handler parameters. With previous version a msg parameter of the region code was generated. In the previous version, a msg parameter was incorrectly generated for the region handler code. This has now been corrected.

18. Feb. 2024 | New version 6.3.2

A state machine with regions can be in more than one state at a time. Previously the getInnermostActiveState() function only returned the topmost state the state machine was in. With this release, some backends can return more states to reflect the real situation.

  1. Improvements in the JS backend. IsIn() and getInnermostActiveStates() works now with regions.
  2. Improvements in the C++11 backend. IsIn() and getInnermostActiveStates() works now with regions (cpp-11 only).

In the case of C++11, the generated function has this signature:

auto oven::getInnermostActiveStates() const -> std::forward_list<oven::States>{
  std::forward_list<oven::States> stateList;
  ...
  return stateList;
}

22. Jan. 2024 | New version 6.3

JavaScript is now supported as new target language for the code generator

20. Nov. 2023 | New version 6.2

Go is now supported as new target language for the code generator

26. Sep. 2023 | New version 6.1

Changes:

  • Bugfixes and improvements in the built in state-diagram editor
  • Use of a project specific configuration file in the graphical editor
  • New C-backend related parameters to generate code following the opaque object pattern (https://en.wikipedia.org/wiki/Opaque_pointer) to hide the state machine implementation from other user code and thereof reduce dependencies.
  • Improvements in the section about the c-backend and reorganization of the examples folder in the download.

New features:

  • Experimental parsing for the DrawIO Editor added
  • Events marked external are now exported in a separate file to allow further external processing. This allows to generate one file containing all state machine events (only with events as defines possible). Designs with a global event bus where all machines always receive all events could benefit from this feature.

12. Aug. 2023 | New version 6.0.5

Experimental support for DrawIO added

29. July 2023 | New version 6.0.4

Small bug-fixes and several improvements in the built-in graphical state diagram editor.

5. July 2023 | New version 6.0.3

Only available as jar download. Small bug-fixes in the built-in graphical state diagram editor as well as small improvements in the C-backend. It is better taking care of C89 only compilers.

3. June 2023 | New version 6.0.2

Several minor improvements especially for the cbackend. With some new configuration parameters, the generated code now passes the clang-tidy checks for c++11 with ''modernise-'' checks enabled. A new example has been added to the examples folder to show how to set the parameters in a sensible way. === 1. March 2023 users.

May 2022 | New version 5.5.5

This new version improved region handling for own instance data types. Recommended update for all C backend users. Additionally it improves XMI parsing of attributes and methods for the various supported UML tools.

January 2022 | New version 5.5.4

This new version brings Ctemplate parameters to the event handler method. As well as the option to hand over a user defined parameter to the event handler method in C#. Both increases flexibility to hand over data together with the event to the state machine. === January 2022 backend now supports the ValidationCall parameter.

August 2021 | New version 5.3

Several usability improvements, bug fixes and new functions esp. in the built-in editor. Recommended for all users. A detailed change log is available in the Codegen Manual.

Jan.2021 | New version 5.2

| The first diagram with an init state, a normal state, a final state and a choice.. Complete rewritten built-in editor. Generate state diagram within minutes. Editor has full support for regions.

15.02.2020 | New version 4.1

This new version provides a backend for Lua. It is the first state machine code generator from UML state diagrams/machines to Lua. Lua is a lightweight, embeddable scripting language. It follows the approach described by Roberto Ierusalimschy in his book. More information is available here.

17.6.2019 | New version 3.7.4

This is a bug-fix version and recommended for all users. For users of the Cadifra tool connection points were added to keep oversight in complex diagrams more easy. Connection points are a well known concept in circuit diagram drawing tools. More details can be found in the sinelabore manual (Cadifra part).

2.5.2019 | New example for PIC users

This tutorial explains the use of state machines with the PIC16F18446 Curiosity Nano board. Go on reading ...

29.12.2017 | Sparx new EA Version

Tests of new EA version 13 were successful. If you find any flaws using the codegen with the new version send a bug report please.

20.9.2017 | QuickStart tutorial on how to use the code generator with Energia on GitHub

Energia is based on the Arduino IDE and is a great IDE for processors form Texas Instruments. The new example on GitHub shows the integration of code generated from the sinelabore code generator into the Energia IDE. What does the demo do: The flash frequency of the green LED on the MSP430FR5969 LaunchPad can be controlled. A minimal timer and queueing lib is used as basis to be prepared for much more challenging tasks. You will see the benefit of state machine modeling over direct coding. Take a look at the state diagrams and the generated code here! Or download the example and try it out yourself.

9.4.2017 | New version 3.7.1 with some small improvements

Recommended for all C# users and those who use the built in editor/simulator.

6.11.2016 | Code Generator Features for High-Availability and Safety Systems

There is a new article in the “Designers Toolbox” explaining the special features for for High-Availability and Safety Systems offered from the C-backend.

16.10.2016 | Generate Python Code from State Diagrams

With version 3.7 is is now possible to generate Python code. The state machine code is generated as a Python class. All relevant state machine features are available. Look into the manual for details. The fully working microwave oven code is available in the examples folder. It contains a TKinter GUI wich makes simulation and testing of the generated state machine even simpler.

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
latest_news.txt · Last modified: 2024/09/23 13:25 by webmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki