Cyber-physical system design contracts

This paper introduces design contracts between control and embedded software engineers for building Cyber-Physical Systems (CPS). CPS design involves a variety of disciplines mastered by teams of engineers with diverse backgrounds. Many system properties influence the design in more than one discipline. The lack of clearly defined interfaces between disciplines burdens the interaction and collaboration. We show how design contracts can facilitate interaction between 2 groups: control and software engineers. A design contract is an agreement on certain properties of the system. Every party specifies requirements and assumptions on the system and the environment. This contract is the central point of inter-domain communication and negotiation. Designs can evolve independently if all parties agree to a contract or designs can be modified iteratively in negotiation processes. The main challenge lies in the definition of a concise but sufficient contract. We discuss design contracts that specify timing and functionality, two important properties control and software engineers have to agree upon. Various design approaches have been established and implemented successfully to address timing and functionality. We formulate those approaches as design contracts and propose guidelines on how to choose, derive and employ them. Modeling and simulation support for the design contracts is discussed using an illustrative example.

[1]  Alberto L. Sangiovanni-Vincentelli,et al.  A hierarchical coordination language for interacting real-time tasks , 2006, EMSOFT '06.

[2]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[3]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[4]  Rupak Majumdar,et al.  Performance-aware scheduler synthesis for control systems , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[5]  Antonio Iannopollo,et al.  TAMING DR. FRANKENSTEIN: CONTRACT-BASED DESIGN FOR CYBER-PHYSICAL SYSTEMS , 2012 .

[6]  Petru Eles,et al.  Integrated scheduling and synthesis of control applications on distributed embedded systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[7]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[8]  Nicolas Halbwachs,et al.  LUSTRE: a declarative language for real-time programming , 1987, POPL '87.

[9]  Anton Cervin,et al.  Control-scheduling codesign of real-time systems: The control server approach , 2005, J. Embed. Comput..

[10]  Thomas A. Henzinger,et al.  From control models to real-time code using Giotto , 2003 .

[11]  R. Lozano,et al.  Robustness with respect to delay uncertainties of a predictor-observer based discrete-time controller , 2006, Proceedings of the 45th IEEE Conference on Decision and Control.

[12]  Wolfgang Pree,et al.  Modeling with the Timing Definition Language (TDL) , 2006, ASWSD.

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

[14]  Alberto L. Sangiovanni-Vincentelli,et al.  Contract-based system-level composition of analog circuits , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[15]  J. Lygeros,et al.  On the design and control of wireless networked embedded systems , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[16]  Christoph M. Kirsch,et al.  The Evolution of Real-Time Programming , 2007, Handbook of Real-Time and Embedded Systems.

[17]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.

[18]  Karl Johan Åström,et al.  On limit cycles in event-based control systems , 2007, 2007 46th IEEE Conference on Decision and Control.

[19]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[20]  Edward A. Lee,et al.  A Theory of Synchronous Relational Interfaces , 2011, TOPL.

[21]  K.-E. Arzen,et al.  Control loop timing analysis using truetime and jitterbug , 2006, 2006 IEEE Conference on Computer Aided Control System Design, 2006 IEEE International Conference on Control Applications, 2006 IEEE International Symposium on Intelligent Control.

[22]  J. Nilsson,et al.  Timing problems in real-time control systems , 1995, Proceedings of 1995 American Control Conference - ACC'95.

[23]  Stavros Tripakis,et al.  Semantics-preserving multitask implementation of synchronous programs , 2008, TECS.

[24]  Iain Bate,et al.  Establishing timing requirements and control attributes for control loops in real-time systems , 2003, 15th Euromicro Conference on Real-Time Systems, 2003. Proceedings..

[25]  Alberto L. Sangiovanni-Vincentelli,et al.  Period Optimization for Hard Real-time Distributed Automotive Systems , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[26]  Edward A. Lee,et al.  Design Contracts for Cyber-Physical Systems : Making Timing Assumptions Explicit , 2012 .

[27]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[28]  Karl-Erik Årzén,et al.  The Jitter Margin and Its Application in the Design of Real-Time Control Systems , 2004 .

[29]  Martin Törngren,et al.  Fundamentals of Implementing Real-Time Control Applications in Distributed Computer Systems , 1998, Real-Time Systems.

[30]  Karl-Erik Årzén,et al.  A FEEDBACK SCHEDULER FOR REAL-TIME CONTROLLER TASKS , 2000 .

[31]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[32]  Thomas A. Henzinger,et al.  Timed Interfaces , 2002, EMSOFT.

[33]  Edward A. Lee,et al.  Modeling Cyber–Physical Systems , 2012, Proceedings of the IEEE.

[34]  Rajeev Alur,et al.  Regular Specifications of Resource Requirements for Embedded Control Software , 2008, 2008 IEEE Real-Time and Embedded Technology and Applications Symposium.

[35]  Jean-Marc Jézéquel,et al.  Design by Contract: The Lessons of Ariane , 1997, Computer.

[36]  Anton Cervin,et al.  Delay-Aware Period Assignment in Control Systems , 2008, 2008 Real-Time Systems Symposium.