Model-Based Programming: Controlling Embedded Systems by Reasoning About Hidden State

Programming complex embedded systems involves reasoning through intricate system interactions along paths between sensors, actuators and control processors. This is a time-consuming and error-prone process. Furthermore, the resulting code generally lacks modularity and robustness. Model-based programming addresses these limitations, allowing engineers to program by specifying high-level control strategies and by assembling common-sense models of the system hardware and software. To execute a control strategy, model-based executives reason about the models "on the fly", to track system state, diagnose faults and perform reconfigurations. This paper describes the Reactive Model-based Programming Language (RMPL) and its executive, called Titan. RMPL provides the features of synchronous reactive languages within a constraint-based modeling framework, with the added ability of being able to read and write to state variables that are hidden within the physical plant.

[1]  Randall Davis,et al.  Diagnostic Reasoning Based on Structure and Behavior , 1984, Artif. Intell..

[2]  James Kurien,et al.  Continuous Measurements and Quantitative Constraints: Challenge Problems for Discrete Modeling Techniques , 2001 .

[3]  Brian C. Williams,et al.  Mode Estimation of Model-based Programs: Monitoring Systems with Complex Behavior , 2001, IJCAI.

[4]  Brian C. Williams,et al.  Autonomous sequencing and model-based fault protection for space interferometry , 2001 .

[5]  Erann Gat,et al.  ESL: a language for supporting robust plan execution in embedded autonomous agents , 1997, 1997 IEEE Aerospace Conference.

[6]  Radha Jagadeesan,et al.  Models for Concurrent Constraint Programming , 1996, CONCUR.

[7]  P. Pandurang Nayak,et al.  A Model-Based Approach to Reactive Self-Configuring Systems , 1996, AAAI/IAAI, Vol. 2.

[8]  Mark Abramson,et al.  Executing Reactive, Model-based Programs through Graph-based Temporal Planning , 2001, IJCAI.

[9]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[10]  Herbert Wiklicky,et al.  An operational semantics for probabilistic concurrent constraint programming , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[11]  P. Pandurang Nayak,et al.  A Reactive Planner for a Model-based Executive , 1997, IJCAI.

[12]  Brian C. Williams,et al.  Improving Model-based Mode Estimation through Offline Compilation , 2001 .

[13]  R. James Firby,et al.  The RAP language manual , 1995 .

[14]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[15]  Brian C. Williams,et al.  A Reactive Model-based Programming Language for Robotic Space Explorers , 2001 .

[16]  Nicola Muscettola,et al.  Design of the Remote Agent experiment for spacecraft autonomy , 1998, 1998 IEEE Aerospace Conference Proceedings (Cat. No.98TH8339).