Timed Model-based Programming: Executable Specifications for Robust Mission-Critical Sequences Michel Ingham, Seung Chung, Paul Elliott, Oliver Martin,

Slides:



Advertisements
Similar presentations
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Advertisements

Timed Automata.
MBD in real-world system… Self-Configuring Systems Meir Kalech Partially based on slides of Brian Williams.
Concurrency: introduction1 ©Magee/Kramer 2 nd Edition Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
Approved for Public Release, Distribution Unlimited Pervasive Self-Regeneration through Concurrent Model-Based Execution Brian Williams (PI) Paul Robertson.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
A survey of techniques for precise program slicing Komondoor V. Raghavan Indian Institute of Science, Bangalore.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Temporal Specification Chris Patel Vinay Viswanathan.
Modeling and Planning with Robust Hybrid Automata Cooperative Control of Distributed Autonomous Vehicles in Adversarial Environments 2001 MURI: UCLA, CalTech,
CPSC 322, Lecture 17Slide 1 Planning: Representation and Forward Search Computer Science cpsc322, Lecture 17 (Textbook Chpt 8.1 (Skip )- 8.2) February,
Statecharts: A Visual Formalism for Complex Systems Jeff Peng Model-based Design Lab.
Programming Fundamentals (750113) Ch1. Problem Solving
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Optimizing Symbolic Model Checking for Constraint-Rich Systems Randal E. Bryant Bwolen Yang, Reid Simmons, David R. O’Hallaron Carnegie Mellon University.
Sheila McIlraith, Knowledge Systems Lab, Stanford University DX’00, 06/2000 Diagnosing Hybrid Systems: A Bayesian Model Selection Approach Sheila McIlraith.
Automation for System Safety Analysis: Executive Briefing Jane T. Malin, Principal Investigator Project: Automated Tool and Method for System Safety Analysis.
Lecture 6 Template Semantics CS6133 Fall 2011 Software Specification and Verification.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Concurrency: introduction1 ©Magee/Kramer Concurrency State Models and Java Programs Jeff Magee and Jeff Kramer.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
A Hierarchical Approach to Model-based Reactive Planning in Large State Spaces Artificial Intelligence & Space Systems Laboratories Massachusetts Institute.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
The Role of Optimization and Deduction in Reactive Systems P. Pandurang Nayak NASA Ames Research Center Brian.
Computer Science CPSC 322 Lecture 3 AI Applications 1.
Advanced Technology Center Slide 1 Requirements-Based Testing Dr. Mats P. E. Heimdahl University of Minnesota Software Engineering Center Dr. Steven P.
Transformation of Timed Automata into Mixed Integer Linear Programs Sebastian Panek.
.1 RESEARCH & TECHNOLOGY DEVELOPMENT CENTER SYSTEM AND INFORMATION SCIENCES JHU/MIT Proprietary Titan MESSENGER Autonomy Experiment.
Probabilistic Reasoning for Robust Plan Execution Steve Schaffer, Brad Clement, Steve Chien Artificial Intelligence.
MIT Dept of Aeronautics and Astronautics March 21, 2003 Graduate Open House Aero/Astro Open House MERS Research Group Model-based Embedded and Robotic.
CS6133 Software Specification and Verification
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
1 Jillian Redfern Orbital Express Presentation TITAN All-Hands 07/08/2003.
16.412J/6.835 Intelligent Embedded Systems Prof. Brian Williams Rm Rm NE Prof. Brian Williams Rm Rm NE43-838
CS 367: Model-Based Reasoning Lecture 5 (01/29/2002) Gautam Biswas.
Aero/Astro Open House MERS Research Group Model-based Embedded and Robotic Systems Group Space Systems Laboratory Massachusetts Institute of Technology.
Conformant Probabilistic Planning via CSPs ICAPS-2003 Nathanael Hyafil & Fahiem Bacchus University of Toronto.
Massachusetts Institute of Technology September 7, 2005 A Tractable Approach to Probabilistically Accurate Mode Estimation Oliver B. Martin Seung H. Chung.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Chapter 1. Cognitive Systems Introduction in Cognitive Systems, Christensen et al. Course: Robots Learning from Humans Park, Sae-Rom Lee, Woo-Jin Statistical.
Model-based Programming of Cooperative Explorers Prof. Brian C. Williams Dept. of Aeronautics and Astronautics Artificial Intelligence Labs And Space Systems.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Discovery and Systems Health Technical Area NASA Ames Research Center - Computational Sciences Division Automated Diagnosis Sriram Narasimhan University.
Robotic Space Explorers: To Boldly Go Where No AI System Has Gone Before A Story of Survival J/6.834J September 19, 2001.
Reachability for Linear Hybrid Automata Using Iterative Relaxation Abstraction Sumit K. Jha, Bruce H. Krogh, James E. Weimer, Edmund M. Clarke Carnegie.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Outline Deep Space One and Remote Agent Model-based Execution OpSat and the ITMS Model-based Reactive Planning Space Robotics.
Space Systems Laboratory Massachusetts Institute of Technology AUTONOMY MIT Graduate Student Open House March 24, 2000.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Autonomy: Executive and Instruments Life in the Atacama 2004 Science & Technology Workshop Nicola Muscettola NASA Ames Reid Simmons Carnegie Mellon.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Mission Data System A Unified Model-based Systems and Software Engineering Approach to ISHM Michel Ingham, Gregory Horvath, David Wagner Jet Propulsion.
Automatic Test Generation
Monitoring Dynamical Systems: Combining Hidden Markov Models and Logic
Reading B. Williams and P. Nayak, “A Reactive Planner for a Model-based Executive,” International Joint Conference on Artificial Intelligence, 1997.
CS b659: Intelligent Robotics
Chapter 1 The Systems Development Environment
Instructor: Rajeev Alur
Planning: Representation and Forward Search
Business System Development
AI in Space – Lessons From NASA’s Deep Space 1 Mission
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Planning: Representation and Forward Search
Autonomous Cyber-Physical Systems: Synchronous Components: II
Robust Belief-based Execution of Manipulation Programs
Model Checking for an Executable Subset of UML
Programming Fundamentals (750113) Ch1. Problem Solving
Planning: Representation and Forward Search
Presentation transcript:

Timed Model-based Programming: Executable Specifications for Robust Mission-Critical Sequences Michel Ingham, Seung Chung, Paul Elliott, Oliver Martin, Tazeen Mahtab, Greg Sullivan and Brian Williams Model-based Embedded Robotic Systems Group Space Systems Laboratory Massachusetts Institute of Technology

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Mission-critical sequences: Launch & deployment Planetary fly-by Orbital insertion Entry, descent & landing Motivation images courtesy of NASA

Problem Statement Traditional programming can lead to “brittle” sequences:  complexity of control specification  complexity of plant interactions  lack of robustness (management of off-nominal behavior) Time is central to the execution of mission-critical sequences:  plant spec: component behavior includes latency and evolution  control spec: hard-coded delays in sequence capture state knowledge Robust executive must consider time in its control and behavior models, in addition to reactively managing complexity Approach: Timed Model-based Programming

Timed Model-based Programming Approach for graphically encoding and executing robust mission-critical spacecraft sequences. Addresses issues of sequence complexity and low-level system interactions Adopts timed, state-based control specifications Reasons through probabilistic, timed models of nominal and off-nominal plant behavior.

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Descent engine to “standby”: off heating sec standby Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude

Mars Entry Example engine to standby Spacecraft approach: 270 mins delay relative position wrt Mars not observable based on ground computations of cruise trajectory planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude

Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude Switch navigation mode: “Earth-relative” = Star Tracker + IMU Switch navigation mode: “Inertial” = IMU only

Mars Entry Example engine to standby Rotate spacecraft: command ACS to entry orientation planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude

Mars Entry Example engine to standby Rotate spacecraft: once entry orientation achieved, ACS holds attitude planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude

Mars Entry Example engine to standby Separate lander from cruise stage: planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude cruise stage lander stage pyro latches

Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude Separate lander from cruise stage: when entry orientation achieved, fire primary pyro latch cruise stage lander stage pyro latches

Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude Separate lander from cruise stage: when entry orientation achieved, fire primary pyro latch cruise stage lander stage

Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude Separate lander from cruise stage: in case of failure of primary latch, fire backup pyro latch cruise stage lander stage

Mars Entry Example engine to standby planetary approach separate lander switch to inertial nav rotate to entry-orient & hold attitude Separate lander from cruise stage: in case of failure of primary latch, fire backup pyro latch cruise stage lander stage

Key Features of Executive engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander simple state-based control specifications models are writable/inspectable by systems engineers handle timed plant & control behavior automated reasoning through low- level plant interactions fault-aware (in-the-loop recoveries)

TMBP for Mars Science Lab Technology Demo 2005 MSL Mission (2009) courtesy NASA JPL

Related Work Model-based Programming Timed Formal Modeling TMBP Williams, Ingham, Chung & Elliott, ‘03 Timed Control Programs, Timed Plant Models, Semi-Markov Semantics RMPL and Control Sequencer Alur & Dill, ‘94 Henzinger, Manna & Pnueli, ‘92 Kwiatkowska, et al., ‘00 Largouet & Cordier, ‘00 State-based Specifications Goal-driven Execution Constraint Programming Synchronous Programming Model-based Execution deKleer & Williams, ‘87-‘89 Williams & Nayak, ‘96-’97 Kurien & Nayak, ‘00 Deductive Estimation & Control Saraswat, Jagadeesan & Gupta, ‘94 Constraint Modeling Closed-loop Control Firby, ‘89; Simmons, ‘98; Gat, ‘96 Harel, ‘87; Kesten & Pnueli, ‘92 Berry & Gonthier, ‘92 Halbwachs, ‘93 Visual Representations Embedded Programming Constructs Mission Data System Dvorak, Rasmussen, et al., ‘00 Non-deterministic Timed Transitions

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Timed Model-based Program

Timed Hierarchical Constraint Automata graphical specification language for control programs in spirit of Timed StateCharts (Kesten & Pnueli, Harel) writable, inspectable by systems engineers composite locations primitive locations  compact encoding: multiple locations can be simultaneously marked

Timed Hierarchical Constraint Automata graphical specification language for control programs in spirit of Timed StateCharts (Kesten & Pnueli, Harel) writable, inspectable by systems engineers goal constraint (hidden state) clock initialization  act on hidden state  clocks provide timing mechanism

Timed Hierarchical Constraint Automata graphical specification language for control programs in spirit of Timed StateCharts (Kesten & Pnueli, Harel) writable, inspectable by systems engineers  conditioned on time & state constraints transition guard maintenance constraint

Timed Hierarchical Constraint Automata graphical specification language for control programs in spirit of Timed StateCharts (Kesten & Pnueli, Harel) writable, inspectable by systems engineers sequential parallel iteration preemption

Timed Model-based Program

Timed Concurrent Constraint Automata variant of factored POSMDP (time continuous, but observations and decisions at discrete points) constraints guarded & timed probabilistic transitions nominal modes fault modes p  (t) t P  = 99.9% modal rewards

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Timed Model-based Executive Architecture

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander Control Sequencer executes THCA

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander Deductive Controller provides state estimates and command sequences that achieve goals t p  (t) obs: goal: Standby

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander Model-based executive provides robustness in the goal-driven control loop obs: goal: Separated primary pyro misfired! backup pyro fired

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Mars Entry Example engine to standby planetary approach switch to inertial nav rotate to entry-orient & hold attitude separate lander

Full Demonstration Proof-of-concept on a representative mission scenario: “Full” Entry, Descent and Landing scenario Control program (57 locations, 16 state vars, 6 clock vars) Plant model (~25 components, avg. 3-4 modes per component)

Demonstration: Highlights Key Capabilities Nominal operations: –execution conditioned on state constraints –execution conditioned on time constraints –nominal mode tracking through commanded and timed transitions –accept configuration goal and generate appropriate command sequence (single-step, multi-step reconfigurations) Operations in the presence of faults: –fault diagnosis through commanded transitions –fault diagnosis through timed transitions –recovery by repair (deductive controller) –recovery by leveraging physical/functional redundancy (control sequencer)

TMBP for Mars Science Lab Technology Demo 2005 MSL Mission (2009) courtesy NASA JPL

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Execution semantics Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Future directions and contributions

TMBP Semantics Plant model: –dense time, discrete states –variables –factored POSMDP full assignments  over all vars in  transitions upon transition, subset of clocks are reset nominal transition initial state probability transition probability observation probability state reward s  o

TMBP Semantics Control program: –program locations –clocks –deterministic automaton initial program location transitions between locations, conditioned on last & current state, current clock values config. goal clock init. assignments  to all clocks in

TMBP Semantics Interleaving model of execution cycle = discrete event + continuous phase Legal execution of TMBP: Cycle start time… Plant state Pgm location Pgm clocks  start with valid

TMBP Semantics Interleaving model of execution cycle = discrete event + continuous phase Legal execution of TMBP: Cycle start time… Plant state Pgm location Pgm clocks  consistent with  in nominal case, is max-reward state in or is prefix of loop-free plant trajectory leading to max-reward state in 

TMBP Semantics Interleaving model of execution cycle = discrete event + continuous phase Legal execution of TMBP: Cycle start time… Plant state Pgm location Pgm clocks  is a legal clock value sequence, i.e. for each active clock in,

TMBP Semantics Interleaving model of execution cycle = discrete event + continuous phase Legal execution of TMBP: Cycle start time… Plant state… Pgm location… Pgm clocks…  and so on…

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Control Sequencer Implementation

THCA Execution Algorithm 1.update active clocks 2.check maintenance constraints 3.assert clock initializations & state goals 4.request MR to take action 5.obtain new state estimate from ME 6.await incomplete goals 7.take enabled transitions 8.mark new set of locations 9.return to step 2 reactive preemption clock persistence goal-driven executionclosed-loop execution progress due to goal achievement or preemption

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Deductive Controller Implementation

Mode Estimation Given latest commands and observations, what is most likely current state? Belief state update to estimate state for POMDPs: state: set of mode assignments for all components state transition: one mode transition for each component

Mode Estimation Full belief state update computationally infeasible –state space too large Need to explore in best-first order –formulate OCSP, to identify likely extensions to current trajectories (“shortest path” problem) –solve with OPSAT – Clause-directed A* 1 OM speedupv– Ragno SM best-first search best-first search most-likelycandidateoptimalfeasiblemodes conflicts (infeasible modes) consistent with model & obs? consistent with model & obs? conflict database conflict database

Timed Mode Estimation For physical plants modeled as TCCA (POSMDP): define “system state” = plant states + plant clocks Good news: can leverage existing OPSAT engine! Bad news: state space gets much larger…

TCCA Mode Estimation Algorithm Given state s (i), control action  (i), observation o (i+1) & current time t abs : 1.update clock t j for each component 2.setup OCSP : decision vars x, such that dom[x j ] = reachable target modes objective function f(x) = prior prob of state x, constraint C(x), such that is consistent 3.compute most likely solution using OPSAT 4.for any component whose mode has changed, reinitialize clock to zero

Objectives & Outline Timed Model-based Execution “in a nutshell” Timed Model-based Programming: a visual programming paradigm Illustration of Timed Model-based Execution Executive implementation: Timed Control Sequencer Executive implementation: Timed Mode Estimation Executive implementation: Symbolic Reactive Planner

Directions for Future Work Formal Verification (Model Checking) for Timed Plant Models, Timed Control Programs Extension to Hybrid Model-based Programming –control programs can specify trajectories in terms of continuous and/or discrete states –fold continuous estimators & controllers into Deductive Controller Compiled Deductive Controller Managing Uncertainty Online –Prediction of Future Unsafe States –Reactive Planning Under Uncertainty –Active Probing to Expose Failures

Eliminate Structural Decomposition Compilation Out1 Out2 Out3 In1 In2 S1 S2 S1S2 Abstraction Projected Prime Implicates In1 Out1 Out3 In2 S1 S2 CSP Smaller sub- problems

Verification of RMPL Model-based Programs Goal: To extract probabilistic information that gives confidence in the likelihood of program’s successful execution. Problem: Given the high-level goal specification of an RMPL control program, find the most likely program executions that fail to achieve goal by time step N. Approach: 1. Convert program + goal to OCSP. 2. Solve for most likely failure trajectories using OpSat. 3. Abstract important information from trajectories e.g. group failures that have a common cause. 4. Present as counterexamples to user.

State Prediction Predict the likelihood of reaching an unsafe state during the execution of a control program. –Why? Anticipate, i.e. react to the likely future events. –How? Using the reactive planner, compute the expected sequence of commands that achieves the goals specified by the control program. Predict the outcome of executing each command through projection. Issue: –State space explosion problem—memory and time. Approach: –Predict the state of each component individually using the transition dependency graph used by the reactive planner. Hazzard

TMBP for Mars Science Lab Technology Demo 2005 MSL Mission (2009) courtesy NASA JPL