An integrated embedded control software design case study using Ptolemy II

The heterogeneous nature, together with the increasing complexity of embedded systems raises the need for design tools that support integrated functional verification. Current design tools focus on one specific step in the design process (e.g. system dynamics modeling, control law design or software design), making integrated verification difficult. Also, manual model transformations need to be performed when moving to the next design phase, which takes a lot of time and can introduce errors. This makes iterative design difficult and error prone. Instead of using different tools for each design step, an integrated approach, using a single modeling framework, can be used. This approach solves the problems of integrated verification and iterative design. In this project a case study on this integrated approach is performed using Ptolemy II as an integrated development platform and the Production Cell setup as a practical test case. First, a feasibility study is conducted to explore the possibilities and limitations of Ptolemy II. A simple version of embedded control software for the Production Cell setup is developed. This shows that Ptolemy II has limited facilities for system dynamics modeling and control law design. Also, automatic code generation is still experimental and cannot be used for all models. However, when taking these limitations into account, correctly working embedded control software for the Production Cell can be created. Next, a well-structured model of the Production Cell setup is created, in order to further explore the Ptolemy approach. This model uses the communication structure proposed in van Zuijlen (2008). Everything essential for integrated functional verification of the behavior of the system is included in this model: a plant dynamics model, a controller model, a kinematic model of the aluminum blocks in the system and a 3D graphical animation. Loop controller performance is evaluated by means of simulation plots. The 3D graphical animation is used to verify correct sequence control and controller synchronization. The final result is a complete integrated model of the Production Cell setup, showing correct behavior. Automatic code generation is used to produce C code which is compiled and run on the target PC/104 platform, resulting in a completely functional real setup. Using an integrated approach for embedded control software solves the problems of integrated testing and iterative design, but requires a generic tool which cannot offer all specific features required for each design step. Therefore, the Ptolemy method (the integrated approach) is compared to four other methodologies used in embedded control software design: the cosimulation approach, the CE-method, theMatlab/Simulink approach and the POOSL approach. Focussing on embedded control software development for mechatronic systems, the CE-method is a good choice, although it still needs improvement. These improvements can be made by using techniques found in Ptolemy II. 20-Sim should be extended to support more models of computation, starting with Finite State Machines (FSM) and Discrete Event (DE), to support the modeling of a broader range of systems. Ptolemy II techniques can be used to ensure formal correctness when combining multiple models of computation in a single model. Incorporating the Ptolemy II code generation framework in 20-Sim and gCSP will allow automatic code generation for a wide range of target languages and language variants. Finally, including object-oriented techniques in modeling and improving the extendability of the CE-toolchain will enhance the usability. Models of computation for closely related tasks should be integrated in a single tool. Integrated verification between tools can then be performed by using co-simulation. Ultimately, tool integration should be transparent to the user. This can be achieved by creating well-defined tool interfaces and a graphical user interface combining these tools. Well-defined tool interfaces also facilitate in-the-loop simulation, further reducing the gap between model and realization.