Cyber Physical Systems: Design Challenges

Cyber-Physical Systems (CPS) are integrations of computation and physical processes. Embedded computers and networks monitor and control the physical processes, usually with feedback loops where physical processes affect computations and vice versa. The economic and societal potential of such systems is vastly greater than what has been realized, and major investments are being made worldwide to develop the technology. There are considerable challenges, particularly because the physical components of such systems introduce safety and reliability requirements qualitatively different from those in general- purpose computing. Moreover, physical components are qualitatively different from object-oriented software components. Standard abstractions based on method calls and threads do not work. This paper examines the challenges in designing such systems, and in particular raises the question of whether today's computing and networking technologies provide an adequate foundation for CPS. It concludes that it will not be sufficient to improve design processes, raise the level of abstraction, or verify (formally or otherwise) designs that are built on today's abstractions. To realize the full potential of CPS, we will have to rebuild computing and networking abstractions. These abstractions will have to embrace physical dynamics and computation in a unified way.

[1]  Edward A. Lee,et al.  A Programming Model for Time-Synchronized Distributed Real-Time Systems , 2007, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[2]  Jeannette M. Wing,et al.  A behavioral notion of subtyping , 1994, TOPL.

[3]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[4]  James R. Larus,et al.  Software and the Concurrency Revolution , 2005, ACM Queue.

[5]  Robert Tappan Morris,et al.  Multiprocessor Support for Event-Driven Programs , 2003, USENIX Annual Technical Conference, General Track.

[6]  Odysseas Papapetrou,et al.  An implementation framework for Software Architectures based on the coordination paradigm , 2006, Sci. Comput. Program..

[7]  Neeraj Suri,et al.  Compositional design of RT systems: a conceptual basis for specification of linking interfaces , 2003, Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, 2003..

[8]  Niklaus Wirth,et al.  Toward a discipline of real-time programming , 1977, CACM.

[9]  T. von Eicken,et al.  Parallel programming in Split-C , 1993, Supercomputing '93.

[10]  Edward A. Lee Model-Driven Development - From Object-Oriented Design to Actor-Oriented Design , 2003 .

[11]  Edward A. Lee,et al.  A causality interface for deadlock analysis in dataflow , 2006, EMSOFT '06.

[12]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[13]  David F. Bacon,et al.  Guava: a dialect of Java without data races , 2000, OOPSLA '00.

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

[15]  Thomas A. Henzinger,et al.  INTERFACE-BASED DESIGN , 2005 .

[16]  Thomas A. Henzinger,et al.  An Interface Algebra for Real-Time Components , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[17]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[18]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[19]  Stephen A. Edwards,et al.  Scheduling-independent threads and exceptions in SHIM , 2006, EMSOFT '06.

[20]  Edward A. Lee The problem with threads , 2006, Computer.

[21]  V. T. Rajan,et al.  The Metronome: A Simpler Approach to Garbage Collection in Real-Time Systems , 2003, OTM Workshops.

[22]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[23]  Edward A. Lee,et al.  Pipeline interleaved programmable DSP's: Architecture , 1987, IEEE Trans. Acoust. Speech Signal Process..

[24]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[25]  Antoine Girard,et al.  Time-triggered implementations of dynamic controllers , 2006, EMSOFT '06.

[26]  Andrea C. Arpaci-Dusseau,et al.  Parallel programming in Split-C , 1993, Supercomputing '93. Proceedings.

[27]  Giorgio C. Buttazzo,et al.  Schedulability analysis of periodic fixed priority systems , 2004, IEEE Transactions on Computers.

[28]  S. Johannessen Time synchronization in a local area network , 2004, IEEE Control Systems.

[29]  Thomas A. Henzinger,et al.  Resource Interfaces , 2003, EMSOFT.

[30]  Lothar Thiele,et al.  Real-time interfaces for composing real-time systems , 2006, EMSOFT '06.

[31]  Rajeev Barua,et al.  An optimal memory allocation scheme for scratch-pad-based embedded systems , 2002, TECS.

[32]  Stephen A. Edwards,et al.  The Case for the Precision Timed (PRET) Machine , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[33]  Stephen A. Edwards,et al.  A Processor Extension for Cycle-Accurate Real-Time Software , 2006, EUC.

[34]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.