wiki:features
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wiki:features [2012/12/18 10:42] – pmueller | wiki:features [2023/03/08 10:14] (current) – webmin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Features ====== | + | ~~NOTOC~~ |
- | ===== Overview ===== | + | |
- | A statechart (or state machine) diagram shows the dynamic behavior of an application. It is a graph of states and transitions that describe the response to events depending on the current state that it is in. State machines are used for decades in hardware design. And during the last years also more and more in the area of software development. Especially in the embedded real-time domain the use of statecharts is popular because the behavior of applications and/or devices in this domain can be often described very well with statecharts. The paper of D. Harel „Statecharts: | + | |
+ | {{htmlmetatags> | ||
+ | metatag-keywords=(flat machines, hierarchical machines, signal events, time events, choice, simulation) | ||
+ | metatag-description=(Command line code generator specifically for embedded real-time domain using your already existing UML tool)}} | ||
- | {{: | ||
+ | ====== Features of the Sinelabore state machine code generator ====== | ||
+ | A state machine diagram (or state chart) shows the dynamic behaviour of an application. It is a graph of states and transitions that describe the response to events depending on the current state that it is in. State machines are used for decades in hardware design. And during the last years also more and more in the area of software development. Especially in the embedded real-time domain the use of statecharts is popular because the behavior of applications and/or devices in this domain can be often described very well with statecharts. The paper of D. Harel „Statecharts: | ||
- | An important aspect of statecharts is that the design can be directly transformed into executable code. This means that there is no break between the design and the implementation. This is all the more important if the device under development has to be developed e.g. according to IEC61508. Please note that the code-generator itself is not certified in any way. It is your responsibility to verify and validate that the generated code fulfills your needs! | ||
- | SinelaboreRT was built especially for embedded real-time developers. It focuses on just one task: code generation from state-chart | + | {{: |
+ | |||
+ | |||
+ | An important aspect of state diagrams is that the design can be directly transformed into executable code. This means that there is no break between the design and the implementation. This is all the more important if the device under development has to be developed e.g. according to IEC61508. Please note that the code-generator itself is not certified in any way. It is your responsibility to verify and validate that the generated code fulfills your needs! | ||
+ | |||
+ | SinelaboreRT was built especially for embedded real-time developers. It focuses on just one task: code generation from state diagrams. A command line tool and a configuration file is all what is needed. | ||
The generated code is based on nested switch/case and if/ | The generated code is based on nested switch/case and if/ | ||
Line 18: | Line 24: | ||
<code bash> | <code bash> | ||
- | java -jar codegen.jar -p CADIFRA -o oven oven.cdd | + | java -cp " |
</ | </ | ||
Line 32: | Line 38: | ||
- | ===== Supported State Chart Elements ===== | + | ===== Supported State Diagram Design |
**Hierarchical state definition**: | **Hierarchical state definition**: | ||
Line 48: | Line 54: | ||
**Interactive Test and Simulation**: | **Interactive Test and Simulation**: | ||
- | {{: | + | {{: |
**Debugging / Trace Support**: In the *_dbg.h file two helper functions are provided that are useful for debugging state machines. The function *_GetNameByState(id) returns the name of the state the function *_GetNameByEvent(id) returns the name of an event each identified by its id. Trace statements can be automatically added to the machine. This allows to follow the flow of events. | **Debugging / Trace Support**: In the *_dbg.h file two helper functions are provided that are useful for debugging state machines. The function *_GetNameByState(id) returns the name of the state the function *_GetNameByEvent(id) returns the name of an event each identified by its id. Trace statements can be automatically added to the machine. This allows to follow the flow of events. | ||
- | **Integrated State-Diagram Editor**: Using the command line flag '' | + | **Integrated State-Diagram Editor**: Using the command line flag '' |
- | [[wiki: | + | [[wiki: |
wiki/features.1355823732.txt.gz · Last modified: 2012/12/18 10:42 by pmueller