Embedded computers interacting with physical systems are increasingly common. Examples include medical devices, factory equipment, automobiles, and satellites. Testing embedded software during development is hard. Interacting with real physical systems, as with humans, may be dangerous or cost-prohibitive. Connecting the embedded computer to a physical mockup, like an electromechanical heart, is limited by the mockup's behavioral range. Simulating the entire system is inaccurate and slow, and does not test the actual embedded computer. Connecting the embedded computer to a digital mockup of the physical system, wherein the embedded computer's sensors/actuators are bypassed and interact instead with a physical system computer model, still suffers from the modeled part being inaccurate and slow.

This project creates digital mockups that are accurate and fast by using modern field-programmable gate array (FPGA) chips. It is the first to develop automated synthesis techniques for converting numerous differential equations, forming the core of physical system models, into circuits on FPGAs. The project evaluates various differential equation solution techniques for FPGA suitability, and develops an interconnected processing element target architecture. The project supports real-time execution and time-controllable execution via lightweight kernel definition on those processing elements. It develops a system synthesis approach to explore the solution space for a given physical model and FPGA device. The project includes expansion of existing embedded systems educational material, and trains numerous graduate and undergraduate students. Ultimately, the project will catalyze use of digital mockups and hence lead to better embedded computers.

Project Report

"Digital Mockups" was a joint UC Riverside/Irvine research project developing real-time observable/controllable executable models of physical systems. Such real-time models can be used during development/test of the cyber device in cyber-physical systems, such as a medical ventilator, as well as for device-user training. As depicted below, a cyber device can be connected to a mathematical model of the physical environment implemented on a computing platform. That model's implementation represents a "digital mockup" of the physical environment. For example, a medical ventilator can connect to a human respiratory system model, a cardiac pacemaker to a model of human heart electrocardiography, or a satellite might think that it is in orbit when really it is being fed sensor data by an environmental model of space. Digital mockups enable easier testing of dangerous or expensive scenarios, more thorough testing of border cases, fully automated testing, faster testing, reproducible testing, and even a view of what's happening inside the physical system. They are useful for test/development of new devices, for training/education (e.g., training of respiratory therapists on ventilator use), and for reproducing field errors. The goals of this project included creating tools for mapping complex physical models to real-time executable systems, facilitating testing of CPS devices, promoting CPS and educating students in proper design of such systems. We have developed advanced synthesis tools to map models of the human physiological systems to a circuit. We have demonstrated our technology via the digital mockup of a human lung. We have integrated material into our courses, in particular we have extended an ebook on embedded systems to include formal modeling of systems using synchronous finite state machines. A number of graduate and undergraduate students were involved in this project. The students gained research experience (how to formulate problems, evaluate existing solutions, conduct experience and write a paper/report). We have developed efficient algorithms for synthesis of highly compute intensive physiological models, captured as a large set of Differential Equations onto an FPGA. The project website at www.cs.ucr.edu/~vahid/digitalmockups/ provides an overview of the project, including a list of publications, and students/faculty involved with the work.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
1016789
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
2010-08-01
Budget End
2014-07-31
Support Year
Fiscal Year
2010
Total Cost
$200,000
Indirect Cost
Name
University of California Irvine
Department
Type
DUNS #
City
Irvine
State
CA
Country
United States
Zip Code
92697