SinelaboreRT Header Logo

SinelaboreRT

It's better when it's simple!

User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
start [2018/06/11 21:04]
pmueller [Generate efficient source code from UML state diagrams and activity diagrams!]
start [2019/05/02 19:35] (current)
pmueller
Line 6: Line 6:
  
  
-Sinelabore//​RT// ​was built especially ​for embedded software developers. It focuses on just one task: Generation of readable and maintainable source code from hierarchical UML state diagrams - and activity diagrams. With its unique features the tool covers ​well the requirements of embedded real-time and low-power application developers. With its C/​C++/​Python/​C#​ and Swift language ​backends ​is also a perfect tool for developers of server or desktop applications.+Sinelabore//​RT// ​is specially ​for embedded software developers. It focuses on just one task: Generation of readable and maintainable source code from hierarchical UML state diagrams - and activity diagrams. With its unique features the tool covers ​perfectly ​the requirements of embedded real-time and low-power application developers. With its C/​C++/​Python/​C#​ and Swift language ​generators ​is also a perfect tool for developers of server or desktop applications.
  
 ---- ----
-====== How does it work? ======+<slider :​wiki:​slider:​howdoesitwork.png>​ 
 +<slider :​wiki:​slider:​builtin_editor_3.7.3.png>​ 
 +<slider :​wiki:​slider:​state_chart_equ.jpg>​ 
 +<slider :​wiki:​slider:​car_window_lift_sm.png>​ 
 +<slider :​wiki:​slider:​ea_landing_oven_sc.png>​ 
 +<slider :​wiki:​slider:​dcf77_decoder_machine.png>​ 
 +<slider :​wiki:​slider:​astah_sysml_machine.png>​ 
 +</​slider>​
  
-Covert your UML state-machine model into the selected target language. Perform advanced model checks to get warned from design flaws. Influence the generation process according to your needs. Simulate your model. Generate trace code. All major state diagram features like hierarchical states, regions, history, sub-machines ... are supported. ​+---- 
 +====== How does it work? ======
  
-{{:​sinelabore_firstpage.png|}}+Use your favorite modeling tool and generate code from it with an easy-to-use command line tool. Automatic model checks warn from design flaws. Configure the generation process according to your needs. Simulate your model. Generate trace code automatically if needed. All major state diagram features like hierarchical states, regions, history, sub-machines ... are supported
  
 **Key Features** **Key Features**
-  * Automatic generation of production-quality ​codeThe generated code is based on nested ''​switch/​case''​ and ''​if/​then/​else''​ statements. It is easy to read and understand. ​The generated code will not create any headache ​when using static code analyzers. +  * Generated code has production-quality. ​It is based on nested ''​switch/​case''​ and ''​if/​then/​else''​ statements. It is easy to read and understand. ​There will be no problems ​when using static code analyzers. 
-  * Can be used with any 8-, 16- or 32-bit ​target, with or without OS/RTOS. There is no run-time environment needed.+  * Can be used with any 8-, 16- or 32-bit ​CPUs, with or without OS/RTOS. There is no run-time environment needed.
   * Fits well in different system designs. The code-generator does not dictate how you design your system. Therefore it is no problem to use the generated code in the context of a real-time operating system or within an interrupt service routine or in a foreground / background system.   * Fits well in different system designs. The code-generator does not dictate how you design your system. Therefore it is no problem to use the generated code in the context of a real-time operating system or within an interrupt service routine or in a foreground / background system.
   * No gap between design and code   * No gap between design and code
Line 45: Line 53:
  
 ---- ----
- 
  
 ====== How to get started? ====== ====== How to get started? ======
Line 64: Line 71:
  
 ---- ----
-----+
 ====== Using State-Machines in (Low-Power) Embedded Systems ====== ====== Using State-Machines in (Low-Power) Embedded Systems ======
 There are different ways how to integrate state machines in a specific system design. Some design principles are more applicable for developers of deeply embedded systems. Others more relevant for developers having not so tight resource constraints. There are different ways how to integrate state machines in a specific system design. Some design principles are more applicable for developers of deeply embedded systems. Others more relevant for developers having not so tight resource constraints.
Line 359: Line 366:
 ---- ----
 ====== Latest News ====== ====== Latest News ======
 +
 +=== 2.5.2019 | New example for PIC users ===
 +This tutorial explains the use of state machines with the PIC16F18446 Curiosity Nano board. [[wiki:​examples:​pic_tutorial|Go on reading ...]]
 +
 +=== 1.1.2019 | Info for Java 11 users ===
 +So that Java found the codegenerator and other jar files one suggested option was so far to to use the ''​-Djava.ext.dirs''​ command line option. With the latest version of Java this option seems not to exist anymore. In future the classpath must be used e.g. ''​java -cp "​sinelaboreRT3.7.3/​bin/​*" ​ codegen.Main ...''​
 +Please note that using -cp in combination with jar files is not possible. We will change the examples and documentation soon.
 +
 +=== 9.9.2018 | New version 3.7.3 ===
 +{{: pix_mouse.png?​nolink |}} General improvements of the built-in editor. Better usage of wide screen displays - properties are now located on the right side. Bug fixes in undo/redo code.
 +{{:​builtin_editor_3.7.3.png?​direct&​600|}}
  
 === 29.12.2017 | Sparx new EA Version === === 29.12.2017 | Sparx new EA Version ===
start.1528743862.txt.gz · Last modified: 2018/06/11 21:04 by pmueller