Model-based
Programming of Fault Aware Systems:
Model-based
autonomy has the potential to make embedded
systems more robust, including automobiles, air
vehicles, and spacecraft. The challenge is to make it
simple enough for any programmer to use and fast enough
that they are willing to use it. We are creating
increasingly fast and powerful model-based executives,
which are made easy to use through the metaphor of
model-based programming.
We have
developed a compile-time variant of the Reactive
Model-based Programming Language (RMPL). RMPL simplifies
embedded programming by allowing the programmer to read
and set the evolution of state variables hidden within
the hardware. For example, an RMPL program might state,
"produce 10.3 seconds of 35% thrust", rather
than specifying the details of actuating and sensing the
hardware (e.g., "signal controller 1 to open valve
12," and "check pressure and acceleration to
confirm that valve 12 is open").
To
execute RMPL programs we completed Titan 2.0, a
compile-time synthesis and execution system that
automatically turns RMPL programs into hardware control
actions that generate and monitor the desired state
evolution. Titan is safe in the sense that its programs
are formally verifiable, and its generated actions avoid
potentially damaging, irreversible effects. Titan is
fast; it plans and diagnoses quickly by shifting most
reasoning to compile time, which allows it to generate
each action in roughly constant time. RMPL is opening
the software engineering community to the potential of
dynamic languages that reason from models.
Titan’s
compiled Modes Estimation capability was selected for
evaluation by the Mars Science Laboratory Technology
Acceptance Board at JPL.
In addition, Titan was demonstrated on
Simulations of the NASA Earth Observer 1 mission, and on
analogues of the NASA Mars Exploration Rover and the MIT
Spheres spacecraft. Our future research will explore probabilistic verification
of model-based programs, knowledge compilation methods
for achieving real-time performance, and methods for
distributed execution of model-based programs.
Selected
Publications in this area:
-
Brian
C. Williams, Michel Ingham, Seung H. Chung, and Paul
H. Elliott. January 2003. "Model-based
Programming of Intelligent Embedded Systems and
Robotic Space Explorers," invited paper in
Proceedings of the IEEE: Special Issue on
Modeling and Design of Embedded Software, vol. 9,
no. 1, pp. 212-237.
[View abstract] [Paper
PDF]
-
M. Ingham and B. C. Williams.
"Timed Model-based
Programming: Executable Specifications for Robust
Mission-Critical Sequences." In Proceedings of
the Third International Workshop on Self-Adaptive
Software, Washington D.C., 2003. [Paper
pdf]
-
L.
Fesq, M. Ingham, M. Pekala, J. Van Eepoel, D.
Watson, and B. Williams. "Model-Based Autonomy
for the Next Generation of Robotic Spacecraft,"
in Proceedings of the 53rd International
Astronautical Congress, Houston, TX, October
2002. [Paper
pdf]
-
Ingham,
M., R. Ragno and B.C. Williams, "A
Reactive Model-based Programming Language for
Robotic Space Explorers." Int.
Symp. on Artificial Intelligence, Robotics
and Automation in Space, St-Hubert, Canada,
June 2001. [Paper
PDF (160k)]
|