Component-based analysis of embedded control applications

The widespread use of embedded systems requires the creation of industrial software technology that will make it possible to engineer systems being correct by construction. That can be achieved through the use of validated (trusted) components, verification of design models, and automatic configuration of applications from validated design models and trusted components. This design philosophy has been instrumental for developing COMDES—a component-based framework for distributed embedded control systems. A COMDES application is conceived as a network of embedded actors that are configured from instances of reusable, executable components—function blocks (FBs). System actors operate in accordance with a timed multitasking model of computation, whereby I/O signals are exchanged with the controlled plant at precisely specified time instants, resulting in the elimination of I/O jitter. The paper presents an analysis technique that can be used to validate COMDES design models in SIMULINK. It is based on a transformation of the COMDES design model into a SIMULINK analysis model, which preserves the functional and timing behaviour of the application. This technique has been employed to develop a feasible (light-weight) analysis method based on runtime observers. The latter are conceived as special-purpose actors running in parallel with the application actors, while checking system properties specified in Linear Temporal Logic. Observers are configured from reusable FBs that can be exported to SIMULINK in the same way as application components, making it possible to analyze system properties via simulation. The discussion is illustrated with an industrial case study—a Medical Ventilator Control System, which has been used to validate the developed design and analysis methods.

[1]  Thomas A. Henzinger,et al.  Event-Driven Programming with Logical Execution Times , 2004, HSCC.

[2]  Maurice Nivat,et al.  Algebraic Methodology and Software Technology (AMAST '93), Proceedings of the Third International Conference on Methodology and Software Technology, University of Twente, Enschede, The Netherlands, 21-25 June, 1993 , 1994, AMAST.

[3]  Yu Guo,et al.  Building a Software Development Environment for Embedded Systems , 2010, 2010 IEEE/ACM Int'l Conference on Green Computing and Communications & Int'l Conference on Cyber, Physical and Social Computing.

[4]  Feng Zhou,et al.  Component-Based Design of Software for Embedded Control Systems: The Medical Ventilator Case Study , 2009, 2009 International Conference on Embedded Software and Systems.

[5]  Wolfgang Pree,et al.  Simulink Integration of Giotto/TDL , 2004, ASWSD.

[6]  Steve Heath,et al.  Embedded Systems Design , 1997 .

[7]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[8]  Christo Angelov,et al.  A Component-Based Framework for Distributed Control Systems , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[9]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[10]  Yu Guo,et al.  Formal Design Models for Distributed Embedded Control Systems , 2009, ACES-MB@MoDELS.

[11]  Axel Jantsch,et al.  Modeling embedded systems and SoCs - concurrency and time in models of computation , 2003, The Morgan Kaufmann series in systems on silicon.

[12]  Gerhard Fohler Embedded Systems Design - The ARTIST Roadmap for Research and Development , 2005 .

[13]  Joseph Sifakis,et al.  Tools for Verification and Validation , 2005 .

[14]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[15]  Donal Heffernan,et al.  Runtime verification and monitoring of embedded systems , 2007, IET Softw..

[16]  Wei Guan,et al.  Developing a Toolset Supporting the Construction of Reusable Components for Embedded Control Systems , 2010, 2010 IEEE/ACM Int'l Conference on Green Computing and Communications & Int'l Conference on Cyber, Physical and Social Computing.

[17]  Christo Angelov,et al.  A Run-Time Environment Supporting Real-Time Execution of Embedded Control Applications , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[18]  Edward A. Lee,et al.  Timed multitasking for real-time embedded software , 2003 .

[19]  Christoph M. Kirsch,et al.  Giotto: a time-triggered language for embedded programming , 2003 .

[20]  Dimitra Giannakopoulou,et al.  Runtime Analysis of Linear Temporal Logic Specifications , 2001 .

[21]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .