Software Verification for Space Applications Part 2. Autonomous Systems
- G. Brat
Software Verification for Space Applications Part 2. Autonomous - - PowerPoint PPT Presentation
Software Verification for Space Applications Part 2. Autonomous Systems G. Brat USRA/RIACS Main Objectives Implement a sustained and affordable human and robotic program to explore the solar system and beyond; Extend human presence
2000 2010 2020 Moon Mars Outer Moons Extrasolar Planets
Interface to users/operations
Generates plans of activities given high- level goals and activity constraints
Formal execution language that issue low-level commands
Transform plans into scheduled low-level control actions
Interface to users/operations
checking and compositional verification
static analysis, symbolic execution and advanced testing
checking, static analysis
completeness: symbolic model checking
model checking
Interface to users/operations
– PIs: Jeremy Frank & Ari Jonsson – PM: Robert Brummett
– Develop and mature needed automation software – capabilities for Constellation mission operations, onboard – control, crew assistance and robotics.
– Human in-the-loop automation – Monitored execution – Decision support – Operation requirement studies – Simulation and testbeds – Application and prototypes – Verification
independently
interoperability of tools based on standards developed by CSI
warnings
control
debugging
Interfaces PLEXIL Universal Executive Interface to systems
Command sequences, plans, checklists, diagnosis procedures, etc.
– Build Labelled Transition System Analyser (LTSA) models for
– Define safety properties of interest for the procedures – Model check the LTSA models using compositional techniques to alleviate the state explosion problems
– Build SMART models of PLEXIL macros – Check for deadlock and behavioral correctness properties – Investigate scalability of the approach by defining appropriate abstractions
language
Start Cond ition T Ancestor Invariant F Ancestor End T Pre condition 1 2 3 FAILURE true false, unknown WAITIN FINISH FINISH SKIPPE SKIPPE Repeat Until Condition T? WAITIN true false FINISH EXECU
Composed LTSA Model for PLEXIL Plan
PLEXIL node PLEXIL node PLEXIL node PLEXIL node
PLEXIL Plan
Translator
XML Model For System Interface
LTSA Model for System Interface
FireProof1
{enterRPCCenabled, enterRPCclosed, fire} enterRPCopen enterRPCCinhibited fire {enterRPCCenabled, enterRPCclosed, fire} enterRPCopen enterRPCCinhibited {enterRPCCinhibited, enterRPCclosed, fire} enterRPCopen enterRPCCenabled {enterRPCCenabled, enterRPCCinhibited, enterRPCclosed, enterRPCopen, fire} enterRPCclosed {enterRPCCenabled, enterRPCopen, fire} enterRPCCinhibited {enterRPCCinhibited, enterRPCclosed, fire} enterRPCopen enterRPCCenabled fire enterRPCclosed {enterRPCCinhibited, enterRPCopen, fire} enterRPCCenabled enterRPCclosed {enterRPCCenabled, enterRPCopen, fire} enterRPCCinhibited fire
1 2 3 4 5 6 7
System Model PLEXIL Plan Model Safety Property
Compositional Verification
Full LTSA Model
Component A Component B
– establish contracts (assume-guarantee pairs) between components to guarantee key system-level properties
– verify or test each component against its individual contracts
– verify new components against contracts of substituted ones Component C Reconfiguration
satisfies P?
properties of its components
– typically a component is designed to satisfy its requirements in specific contexts / environments
assumption A representing M1’s “context”
“discharge” the assumption
〈P〉
Test Plan
PLEXIL Grammar (XML Schema) Castor Tool Java representati
Test Plan Generator (Java PathFinder Model checking tool) PLEXIL Test plans (XML Files)
<Step stepId="step3"> <StepTitle> <StepNumber>3</StepNumber> <Text>RPCM Firmware Health</Text> </StepTitle> <InstructionBlock> <Instruction instructionID="step3_i1"> <VerifyInstruction> <VerifyGoal> <TargetDescription> <Text>Verify ORU Health OK</Text> </TargetDescription> ….
Original procedure Encoding in PRL
validation components
signoffs, etc.
Interoperation layer
Automated checker and verifier System state simulation with property checking Interactive Procedure test Procedure editor
Logger Playback
State Machine based Simulator Flight Rules Verifier Procedural Display Procedure and Display
Mini AERCam Procedure SYSTEM Power Up and Configuration
Failure mode and fault events injection
Logger Playback
State Machine based Simulator Flight Rules Verifier Procedural Display Procedure and Display
Mini AERCam Procedure SYSTEM Power Up and Configuration
Off Docked Deploy Free Flight Attitude Free Drift Auto. Attitude Control Translation Free Drift Auto. Translation ControlOff On Operational Not Operational
Hangar FreeFlyerGN&C Gyro
Off Docked Deploy Free Flight Attitude Free Drift Auto. Attitude Control Translation Free Drift Auto. Translation ControlOff On Operational Not Operational
Hangar FreeFlyerGN&C Gyro
Failure mode and fault events injection
System Model PLEXIL Plan Model Safety Property
Full JPF Model
Translator
XML Model For System Interface
Off On Operational Not Operational
Hangar FreeFlyerGN&C Gyro
Off Docked Deploy Free Flight Attitude Free Drift Auto. Attitude Control Translation Free Drift Auto. Translation ControlOff On Operational Not Operational
Hangar FreeFlyerGN&C Gyro
Error trace Simulator
– http://sourceforge.net/projects/javapathfinder/
– Definition of a simple planning language, called APPL (A Plan Preparation Language), based on NDDL that is more amenable to formal verification – Automatic translation from APPL models to NDDL models – Automatic translation from APPL models to SAL models
unifying NDDL and Casper
– Investigation issues of representation in SAL so that scalability problem can be avoided
considering others
MC/DC coverage criterion mandated by the FAA
IDE Editor Flight Rules (English) Flight Rules (LTL, ATL) Domain Model (NDDL) Test Case Generator Expand Flight Rules (patterns) Coverage Conditions (set of LTL, ATL) Generate Translate Test Suite (NDDL cmds = goals = partial plans) EUROPA Plans FAIL