Visible to the public CAREER: SOlSTICe: Software Synthesis with Timing Contracts for Cyber-Physical SystemsConflict Detection Enabled

Project Details
Lead PI:Qi Zhu
Performance Period:01/15/16 - 12/31/20
Institution(s):University of California-Riverside
Sponsor(s):National Science Foundation
Award Number:1553757
330 Reads. Placed 510 out of 803 NSF CPS Projects based on total reads on all related artifacts.
Abstract: This project aims to develop innovative design automation methodologies and algorithms for software synthesis of cyber-physical systems (CPS), which have applications in key sectors such as automotive, aerospace, healthcare, and industrial automation. Software has become critical and drives future innovations for many such systems, but faces significant challenges in its development, in particular regarding the formulation, exploration and validation of timing constraints. The results from this project will address critical timing challenges in CPS software development, and lead to correct, predictable and efficient software implementations. In addition to disseminating the results through publications and workshops, the PI will collaborate with industry partners on transitioning the research findings into practice. Leveraging the research activities, the PI will develop an integrated education program that focuses on the interdisciplinary education of K-12, undergraduate and graduate students, through Lego Mindstorms labs development and contest organization, new CPS course development, and textbook writing. The project will develop, a software synthesis framework that addresses the timing challenges in CPS by quantitatively exploring timing constraints for multiple conflicting design metrics and across multiple abstraction layers, and using these timing constraints to drive the design space exploration. Developing the framework includes three closely-related research themes: (1) formulating and exploring timing contracts to co-design functionality and software architecture with respect to various design metrics (e.g., performance, security, schedulability) and to carry out hierarchical refinement across abstraction layers, (2) exploring the generation of software tasks from functional models and the mapping of those tasks onto hardware platforms with holistic timing consideration throughout the synthesis process, and (3) co-simulating functional and architectural models with explicit representation and evaluation of timing contracts to complement the proposed analytical synthesis algorithms.