TismTool
TismTool combines advanced concepts
to ease the development of software controllers:
- Recipe for Model Driven
Engineering
- Framework for multi-threaded,
component-based architecture
- Verification of concurrent,
hierarchical state machines in user's development environment
- Source code generation from UML
model (C#, Java, C++, or C)
The basic ideas of the concepts are
described in this whitepaper.
The major benefits of TismTool are:
- Based on UML model, exploiting:
- graphical diagrams for
system decomposition into (threaded) components and classes
- graphical diagrams for
interfaces
- graphical diagrams for state
machines
- Guidance via a consistent recipe
of modeling steps
- State machine diagrams with
(unlimited) hierarchical states, submachines, choice states, etc
- Straightforward transition
triggers being API (callback) functions
- Handling state action statements
in your target programming language, allowing for dedicated language
constructs, calling (system) library functions, etc
- Three types of protection
configurations: via thread, via mutex, or none
- Easy component/class access via
ports yielding component based development
- Simple integration of foreign
components
- Freeware source of Run-Time
Environment taking care of threads, messages, queues, rendez-vous
mechanism
- Verification/simulation for
interface protocols between a pair of component ports
- Verification/simulation for any
configuration of (threaded) components
- Creation of sequence diagrams
for investigating erroneous verification scenarios
- Freeware TismTool generating
source code for verification, simulation and production
- User defined translation of
source code phrases
- Supporting the advanced state
transaction mechanism
The properties tested during
verification are:
- Deadlock
- Livelock
- Unhandled function
- Rendez-vous semaphore mismatch
- Queue overflow
- Unvisited state
- Unvisited transition
Releases
26 August 2012
Version 0.9 of TismTool has been released.
Protection mechanism with mutex.
Support for foreign components.
19 February 2012
Version 0.8 of TismTool has been released.
Cope with MagicDraw 17.0.1
Replaced AnyTrigger stereotype by UML AnyReceiveEvent.
Replaced SendOperationEvent by UML SignalEvent.
22 August 2011
Version 0.7 of TismTool has been released.
OSAL in C for Linux.
Create C/C++ makefiles.
Optimisation of code generation.
C/C++ demo examples under Linux.
7 July 2011
Update of C Run-Time Environment.
20 June 2011
Version 0.6 of TismTool has been released.
Support for C source code generation.
OSAL in C for Windows.
31 March 2011
Version 0.5 of TismTool has been released.
Generates sequence diagrams of verification scenarios.
Statically detects infinite loops of triggerless transitions.
31 January 2011
Version 0.4 of TismTool has been released.
Support for C++ source code generation.
23 November 2010
Version 0.3 of TismTool has been released.
Support for processing UML models having Rich XMI 2.1 format.
11 November 2010
Version 0.2 of TismTool has been released.
Support for Java source code generation.
13 October 2010
Version 0.1 of TismTool has been released.
Support for C# source code generation.