University of Twente Student Theses


Realization of Tool Support for CSP Diagrams and Generation of Concurrent Java Software

Hendriks, J.P.A. (2001) Realization of Tool Support for CSP Diagrams and Generation of Concurrent Java Software.

[img] PDF
Abstract:In the Control Engineering Laboratory, a structured method for the development of control software for real-time embedded control systems is being developed. This method considers the implementation process as a step-wise refinement from physical system models to efficient computer code. This method consist of four iterative stages. 1. Physical Systems Modeling, modeling and simulating the behavior of the appliance. 2. Control Law Design, designing and simulating control laws using the acquired model. 3. Embedded Control System Implementation, transforming the control laws to software. 4. Realization, implementing the generated code on the target hardware. The first two stages are currently very well covered by 20-sim. 20-sim is a software package for modeling and simulation of the dynamic behavior of dynamic systems. 20-sim has an ANSI C code generator, which automatically converts a complete 20-sim model or submodel into C code. The generated C code however has a sequential execution framework and reflects the structure of the code the simulator in 20-sim uses to perform the simulations. Therefore 20-sim has a limited support for the phases three and four. The CSP concept provides fundamental concepts for realizing concurrent software for realtime and embedded systems. It contains formal proofs for analyzing, verifying and eliminating undesirable conditions, such as raze hazards, deadlocks, livelocks and starvation. The CSP model has been introduced into Java threads. The CTJ package for Java provides a small set of design patterns that are sufficient for concurrent programming in Java. The research presented here is part of the research done at the University Twente to enable the integration of the CSP concept with the software package 20-sim and for support of the phases three and four. During this assignment a tool has been developed which shows the tree-based description model together with the communication graph and the composition graph. The tree-based description model is able to describe the CSP aspects visually. The CSP constructs are shown in a tree structure, like 20-sim uses for its model hierarchy. The communication graph is a graph of processes and their communication relations. The composition graph shows the processes with their compositional relationships. Examples of composition relationships are the sequential and parallel relationships. The compositional graph shows the processes in the same topography as the communication graph. Furthermore the communication graph of a controller is comparable with the graphical models shown in 20-sim. The tool is capable of generating concurrent Java code using the CTJ package. For each process in the model a separate class is generated. The tool can also generate ANSI C code with a sequential framework. For every process in the tree-based description model a separate function is generated. The generated code therefore reflects the hierarchy of the processes in the tree. The code generated by 20-sim reflects the structure of the code the simulator in 20-sim uses to perform the simulations. It is recommended to enhance the code generator of 20-sim to let 20-sim generate code that reflects the structure of the model. The tool shows the two topographical views, based on the tree based description model. This should be the other way around. The user should create and change the model using any topographic view. The tool should then change tree based description model accordingly. This is also how 20-sim handles its user-interface. It is recommended to enhance the software to support this.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:53 electrotechnology
Programme:Electrical Engineering MSc (60353)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page