Skip directly to: content | search

ExCAPE: Expeditions in Computer Augmented Program Engineering

Platform-Based Design for Software Synthesis

PI: Sangiovanni-Vincentelli (UC Berkeley)

When synthesizing software from models for control applications, a number of constraints on latency, throughput, and calculation accuracy have to be satisfied. The key aspect of this problem is how to take into account the physical constraints on an abstract representation. The Turing abstraction indeed needs to be modified or even abandoned to do so. Computation time, power consumed and communication network characteristics of the platform that will be used for implementation have to be inserted while trying to maintain the exibility of changing the platform later on if so demanded by the application. Platform-based design offers a framework where the abstract domain of algorithms and the physical aspects of the platform can be considered together for the task of software synthesis. Platform-based design is a meet-in-the-middle methodology where the lower level of the abstraction stack is characterized with macro parameters and the higher level of the stack is mapped onto the lower level. The lower level of the stack is parameterized with a library of components together with their interfaces and models. A platform instance is a selection of a set of components that can be composed according to appropriate rules. The selection of the components is carried out by evaluating the properties of the software mapped onto the platform. We are in the process of developing a complete flow for distributed systems with particular attention to the robotics application considered in ExCAPE.

ExCAPE: Expeditions in Computer Augmented Program Engineering NSF National Science Foundation Award CCF-1138996