A Framework for Extensibility-Driven Design of Cyber-Physical Systems
A longstanding problem in the design of cyber-physical systems is the inability and ineffectiveness in coping with software and hardware evolutions over the lifetime of a design or across multiple versions in the same product family. The objective of this project is to develop a systematic framework for designing extensible cyber-physical systems that can enable efficient and correct updates with minimal redesign and re-verification efforts. The intellectual merits are (1) a new and unified framework that optimizes system extensibility by addressing both functional correctness and platform feasibility, and (2) new algorithms for functional verification with platform consideration, software architecture synthesis driven by extensibility metrics, and integration of verification and synthesis for joint design space exploration. The project’s broader significance and importance are (1) enabling engineers to cope with continual changes in cyber-physical design components or operating conditions, thereby significantly reducing redesign and re-verification cost, (2) providing a general framework for designing extensible systems that is applicable to a wide range of systems including robotic, automotive, and avionic systems, and (3) providing new methodologies and techniques that facilitate the training of undergraduate and graduate students to meet the design challenges of cyber-physical systems.
Many cyber-physical systems today are one-off designs – systems designed without future changes in mind. The proposed extensibility-driven design (EDD) framework treats extensibility as a first-class design objective and addresses it with a holistic consideration of functional properties and platform implementation. An EDD design flow provides the following capabilities. At the initial design stage, EDD identifies certain constraints (e.g., timing) that are critical for functional correctness, and explores the design space to maximize the amount of future software and hardware changes that can be made without violating these constraints. During design updates, EDD first determines whether it is possible to accommodate the updates through software architecture re-synthesis, so as to avoid costly re-verification. In the cases where the updates violate existing platform constraints and requirements, EDD selectively modifies some of them to explore feasible changes while minimizing re-verification efforts.