The workflow for developing a software system using Model Driven Engineering always starts with the system’s requirements. These requirements form the input for the process of designing an UML model. The UML model recipe, presented here, guides the designer in the execution of such a process. The only restriction for the used UML modeling tool is the ability to save the UML model according to the XML Metadata Interchange (XMI) standard. The XMI format is supported by many tools such as e.g., MagicDraw (Personal Edition).
TismTool interprets the XMI file and shows an overview of protocols and of execution environments. Source code can be generated for the verification of each protocol. Currently, the supported programming languages are C#, Java, C++ and C . TismTool also copies the source files of the Run-Time Environment (RTE) to the user specified directory. This directory may also contain source files of optional, foreign components. The generated and copied source files can now be processed by your own software development environment. So, you have full control over compiling, linking, executing/debugging the verification application in a host system or even a target system. This concept enables inclusion of dedicated, proprietary libraries during the verification process. In general, the verification executable will be a console application without graphical user interface. The output of this executable can be shown on the screen and/or saved in a log file. Inspection of the output gives feedback about the correctness of the protocol.
In the same way as for a protocol, the finite state machine(s) of a component’s design can be verified. The configuration of component instances in an execution environment will be subject to verification. TismTool takes care of the source code generation at the ports of mocked instances, mostly terminators. Instead of verification code TismTool is also able to generate simulation code that might be useful for endurance testing.
Finally, TismTool can be used to generate application code due to multiple execution environments in a single XMI file. Thanks to successful verification of protocols and designs the chances of a correct application have been increased considerably!