model-based design and simulation for runtime assurance

25
Model-Based Design and Simulation for Runtime Assurance Xenofon Koutsoukos and Joseph Porter RTA Workshop, June 14, 2012 1

Upload: vuongquynh

Post on 14-Feb-2017

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model-Based Design and Simulation for Runtime Assurance

Model-Based Design and Simulation for Runtime Assurance

Xenofon Koutsoukos and Joseph Porter

RTA Workshop, June 14, 2012 1

Page 2: Model-Based Design and Simulation for Runtime Assurance

Outline

• Research objectives • Modeling frameworks and languages • Software design • Behavioral analysis • Dependability analysis • Model-based testing • Applications and evaluation

2

Page 3: Model-Based Design and Simulation for Runtime Assurance

Simplified Model-Based Design Flow

Plant Dynamics Models

Controller Models

Physical design

Software Architecture

Models

Software Component

Code Software design

System Architecture

Models

Resource Management

Models System/Platform Design

Controller dynamics is developed without considering implementation uncertainties (e.g. word length, clock accuracy ) optimizing performance.

Software architecture models are developed without explicitly considering systems platform characteristics, even though key behavioral properties depend on it.

System-level architecture defines implementation platform configuration. Scheduling, network uncertainties, etc. are introduce time variant delays that may require re-verification of key properties on all levels.

Assumption: Effects of digital implementation can be neglected

Assumption: Effects of platform properties can be neglected

Page 4: Model-Based Design and Simulation for Runtime Assurance

Model-Based Design for RTA

Context

Specification

Implementation

Safety Property Specifications

Functional/Performance Specifications

(Hybrid System)

Resource Constraints

Hardware Description

Model-Based Synthesis

Code

Environment Models

Runtime Monitors

Page 5: Model-Based Design and Simulation for Runtime Assurance

Modeling Frameworks and Languages

• Customizable abstractions for domain specific modeling languages – Model-integrated computing

• Heterogeneous models of computation – Ptolemy

• Flexible design flow – Model transformations – Incremental design

5

G. Karsai, J. Sztipanovits, A. Ledeczi, and T. Bapty. Model-integrated development of embedded software. Proc. of the IEEE, Jan 2003. J. Eker, J. Janneck, E. A. Lee, et al. Taming heterogeneity – the Ptolemy approach. Proc. of the IEEE, Jan 2003. G. Karsai, A. Agrawal, F. Shi, and J. Sprinkle. On the use of graph transformation in the formal specification of model interpreters. J. of Univ. Computer Science, 2003. J. Porter. Compositional and Incremental Modeling and Analysis for High-Confidence Distributed Embedded Control Systems. PhD thesis, Vanderbilt University, 2011.

Page 6: Model-Based Design and Simulation for Runtime Assurance

Modeling and Design Tools

• Commercial tools – Matlab/Simulink/Statflow, SCADE, UML/SysML

• ACME Studio • Architecture Analysis and Design Language

(AADL) • Behavior-Interaction-Priority (BIP) • Embedded Systems Modeling Language

(ESMoL)

6

Page 7: Model-Based Design and Simulation for Runtime Assurance

ESMoL Design Flow

Single iteration of the design and assessment flow:

1. Import a Simulink control design into an ESMoL models.

2. Specify software component functions and interfaces, and instantiate the components into a logical software dataflow model.

3. Specify the hardware topology for a time-triggered distributed processing network.

4. Define deployment of the logical dataflow to the hardware, and

5. give timing parameters . 6. Transform the ESMoL model (via the Stage 1

transformation) into a model in the ESMoL Abstract language, resolving all implied relationships and structural model inferences.

7. Transform ESMoL_Abstract models into analysis models.

8. Import results from the analysis back into the ESMoL Abstract

9. and ESMoL models. 10. Create platform-specific simulations and generate

deployable code using the Stage 2 transformation.

Porter et al, The ESMoL Language and Tools for High-Confidence Distributed Control Systems Design. Part 1: Language, Framework, and Analysis, 2010, ISIS-10-109. Available: http://www.isis.vanderbilt.edu/sites/default/files/ESMoL_TR.pdf

7

Page 8: Model-Based Design and Simulation for Runtime Assurance

Software Design

• Automated software design based on models – Generation of software code for guards – Platform-specific glue code generation

• Model-based integration of schedulability analysis – AADL and ESMoL – Incremental methods

• Performance analysis

8

Page 9: Model-Based Design and Simulation for Runtime Assurance

Simulation-based Analysis

• Research objective: Capture effects of hardware platform and software implementation on the control design

• Hardware/software co-simulation – Register Transfer Level (RTL) – Transaction Level Modeling (TLM)

• System-level performance simulation – Automated synthesis of Simulink models with TrueTime

blocks • Frameworks for simulation integration

– High Level Architecture (HLA) – Functional Mockup Interface (FMI)

9

Page 10: Model-Based Design and Simulation for Runtime Assurance

Integration Framework

Simulink Stateflow Modelica

Restricted Modelica

Bond graphs

TrueTime NS-2

SystemC

Equations

HLA

S-function, FMI/FMU

CyPhy

Restricted Simulink Stateflow

Formal Verification

Simulation

Multimodel Simulation

Port modeling of systems • Power ports • Signal ports

Hardware in the loop

Validation

10 [DARPA AVM META Tool Chain, ISIS, Vanderbilt University, 2012]

Page 11: Model-Based Design and Simulation for Runtime Assurance

Functional Mockup Interface

• The Functional Mockup Interface definition is one result of the ITEA2 project MODELISAR (in support of AUTOSAR)

• The intention is that dynamic system models of different software systems can be used together for software/model/hardware-in-the-loop simulation and for embedded systems

• The Functional Mockup Interface defines (a) C-header files to interact with the equations of a model or to perform co-simulations with other simulators and (b) XML schema files to inquire information about model and interface variables

• FMI Support in Tools: Matlab/Simulink, Modelica, ControlBuild, LabView, SimulationX,…

11

Page 12: Model-Based Design and Simulation for Runtime Assurance

Formal Verification

• Hybrid system verification • Model-based software verification and design

– Transparency and simplicity • Composition platforms

– Time triggered architecture – ARINC 653

• Behavior-Interaction-Priority (BIP) – Verify state invariants such as deadlocks

• Formal verification of code generated from Simulink models

12

Matthew Staats and Mats P. Heimdahl. Partial translation verification for untrusted code-generators. Proc. of the 10th Intl. Conference on Formal Methods and Software Engineering, ICFEM '08, Springer-Verlag.

Page 13: Model-Based Design and Simulation for Runtime Assurance

Fault Adaptive Control Technology

13

Plant (Subsystem)

Fault Adaptive Control Unit

Hybrid Observer

Fault Detector

Hybrid Diagn.

Discrete Diagn.

Fusion

Predicted vs. Measured output

Failure Modes

Fault Magnitude Parameters

Updated Physical Parameters

Controller Selector

Reconfiguration Manager

Plant Models Active State

Model

Monitors

Controller Strategy Models

Controller

Implementation Param. Estim.

Gabor Karsai, Gautam Biswas, et al. Towards Fault-Adaptive Control of Complex Dynamical Systems, John Wiley & Sons, Inc., 2005.

Page 14: Model-Based Design and Simulation for Runtime Assurance

Software Health Management

14

G. Karsai, G. Biswas, S. Abdelwahed, N. Mahadevan, and E. Manders. Model-based software tools for integrated vehicle health management. Space Mission Challenges for Information Technology, 2006. SMC-IT 2006. A. Dubey, G. Karsai, and N. Mahadevan. Model-based software health management for real-time systems. In IEEE Aerospace Conference, March 2011.

Page 15: Model-Based Design and Simulation for Runtime Assurance

Model-Based Testing

• Design model evaluation is complicated – different scales (component, subsystem, system) – in different contexts

• Does nominal behavior meet requirements? • Does the design properly mitigate fault requirements? • Simulation vs. verification

– for different refinements • Initial idealized controller design • Platform effects

• EDA industry uses test bench models to automate evaluation of designs.

15

Page 16: Model-Based Design and Simulation for Runtime Assurance

Test Benches

• Model-Based Test Automation – For RTA similar tests will need to be run on safety

controllers, performance controllers, and guarded controllers

– Test bench abstraction manages the complexity of the design flow and model refinements.

• Test Vector Generation • Test Space Reduction

16

Page 17: Model-Based Design and Simulation for Runtime Assurance

Test Interpretation

• Validating runtime data against simulation • Parameter space exploration • Exhaustive property evaluation • Trajectory-based performance assessment • Debugging implementation models • Defining regression models

17

Page 18: Model-Based Design and Simulation for Runtime Assurance

Challenges in RTA

18

Interactions between design-time hybrid dynamical models and runtime implementations models are not adequately addressed

Context

Specification

Implementation

Safety Property Specifications

Functional/Performance Specifications

(Hybrid System)

Resource Constraints

Hardware Description

Model-Based Synthesis

Code

Environment Models

Runtime Monitors

Page 19: Model-Based Design and Simulation for Runtime Assurance

Modeling Languages and Tools

• Support for specification of functions and behavior of the elements required by RTA

• Support for updating designs based on runtime properties with reasonable time and cost

• Support for incremental design techniques

19

Page 20: Model-Based Design and Simulation for Runtime Assurance

Software Design

• Generation of assured software code for runtime components

• Modeling of the effects of platform and controller timing variances on the bounds represented by the guard

• Capturing platform and deployment models which can be used to assess the validity of design changes on end-to-end analyses (e.g. latency of tasks in a processing chain).

20

Page 21: Model-Based Design and Simulation for Runtime Assurance

Simulation-based Analysis

• Capture effects of hardware platform and software implementation on the control design – New model-based methods that are capable of

refining control models with implementation details

– Efficient and scalable simulation techniques of heterogeneous systems

21

Page 22: Model-Based Design and Simulation for Runtime Assurance

Formal Verification

• Verifiable transformation of design models into verification languages including the translation of properties that need to be verified

• Design-time formal verification techniques for the implementation of the safe controllers

• Formal verification must address the runtime properties of the controlled plants and control platforms

• Automatic control software synthesis that attaches a certificate of correctness to the generated code

22

Page 23: Model-Based Design and Simulation for Runtime Assurance

Dependability Analysis

• Fault detection, isolation, and recovery in complex hybrid control systems

• Runtime software health management • Design of “self-adaptive” systems that are

robust to software, hardware, and physical faults

23

Page 24: Model-Based Design and Simulation for Runtime Assurance

Model-based Testing

• Scaling of test coverage methods to complex RTA designs

• Automatic reduction of the size of the test space, prioritizing tests

• Development of test bench modeling concepts for definition of tests, automation of all kinds of design-time and runtime evaluation, and interpretation of results

24

Page 25: Model-Based Design and Simulation for Runtime Assurance

Conclusions

• Model-based design provides a powerful framework for the development of safety-critical systems

• Analysis methods can be integrated in the design process based on formal models at different levels of abstraction

• The main challenge in RTA lies on the integration of heterogeneous models that allow system evaluation of the control design while incorporating runtime properties that depend on the software and hardware platform

• Define the system architecture of the system before its implementation

• Analyze the constraints imposed on the system by the architecture from the beginning of the design cycle until the final implementation

25