A methodology for the design and deployment of reliable systems on heterogeneous platforms
Heterogeneous multi-target platforms composed of processors, FPGAs, and specialized I/O are popular targets for embedded applications. Model based design approaches are increasingly used to deploy high performance concurrent applications on these platforms. In addition to programmability and performance, embedded systems need to ensure reliability and availability in safety critical environments. However, prior design approaches do not sufficiently characterize these non-functional requirements in the application or in the mapping on the multitarget platform. In this work, we present a design methodology and associated run-time environment for programmable heterogeneous multi-target platforms that enable design of reliable systems by: (a) elevating reliability concerns to the system modeling level, so that a domain expert can capture reliability requirements within a formal model of computation, (b) modeling platform elements that can be automatically composed into systems to provide a reliable architecture for deployment, and (c) segmenting (in space and time) the run-time environment such that the system captures independent end-user provided reliability criteria. We illustrate the modeling, analysis, and implementation capabilities of our methodology to design fault tolerant control applications. Using the National Instruments PXIe platform and FlexRIO components, we demonstrate a runtime environment that provides desired levels of reliability.