LUSTRE: a declarative language for real-time programming
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
An axiomatic basis for computer programming
Communications of the ACM
Computer
Interface Theories for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
A hierarchical coordination language for interacting real-time tasks
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Control-scheduling codesign of real-time systems: The control server approach
Journal of Embedded Computing - Real-Time Systems (Euromicro RTS-03)
Period optimization for hard real-time distributed automotive systems
Proceedings of the 44th annual Design Automation Conference
Semantics-preserving multitask implementation of synchronous programs
ACM Transactions on Embedded Computing Systems (TECS)
Regular Specifications of Resource Requirements for Embedded Control Software
RTAS '08 Proceedings of the 2008 IEEE Real-Time and Embedded Technology and Applications Symposium
Delay-Aware Period Assignment in Control Systems
RTSS '08 Proceedings of the 2008 Real-Time Systems Symposium
Contract-based system-level composition of analog circuits
Proceedings of the 46th Annual Design Automation Conference
Integrated scheduling and synthesis of control applications on distributed embedded systems
Proceedings of the Conference on Design, Automation and Test in Europe
A Theory of Synchronous Relational Interfaces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Performance-aware scheduler synthesis for control systems
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
Proceedings of the Eleventh ACM International Conference on Embedded Software
Hi-index | 0.00 |
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 interdomain 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.