25
System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex) AADL Standards Meeting June 6., 2011 Jean-Pierre Talpin, INRIA Parts of this presentation are joint work with Paul, Thierry, Loïc, Huafeng, Yue (INRIA Espresso), Julien, Sandeep (VT), Dumitru, Yves, Robert (INRIA Aoste), Marc, Frédéric (N7), Martin, Mamoun (IRIT) and partly funded by the ITEA2 project OPEES, Artemisia project CESAR and the Polycore associate project.

System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

  • Upload
    vokien

  • View
    224

  • Download
    1

Embed Size (px)

Citation preview

Page 1: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)

AADL Standards Meeting

June 6., 2011

Jean-Pierre Talpin, INRIA

Parts of this presentation are joint work with Paul, Thierry, Loïc, Huafeng, Yue (INRIA Espresso), Julien, Sandeep (VT), Dumitru, Yves, Robert (INRIA Aoste), Marc, Frédéric (N7), Martin, Mamoun (IRIT) and partly funded by the ITEA2 project OPEES, Artemisia project CESAR and the Polycore associate project.

Page 2: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Heterogeneity of skills, teams, tools, methods

CATIA Nastran Simulink Scade Rhapsody …

CAN Flexray ARINC

653 Profiling Energy AADL …

Motivation

Page 3: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

co-modeling

analyse

test

map

CATIA Nastran Simulink Scade Rhapsody …

CAN Flexray ARINC

653 Profiling Energy AADL …

verify

simulate

Motivation

Page 4: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Simulink

AADL

co-modeling

analyse

test

map …

verify

simulate

Motivation

Page 5: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Case study of a airplane doors control system

Functional specification Structural specification

Simulink AADL

A suitable GALS model of computation Simulation, verification, performance evaluation, scheduling, distribution …

ACM SAC’11 – Artemisa project CESAR

Page 6: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

AADL diagrams (or UML, SysML, MARTE)

Asynchronous architecture models

Asynchrony, synchrony, polychrony

Kahn process networks, CCS, CSP, …

Page 7: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Synchronous behavior models

Elements of Simulink (or Geneauto, Scade, Ptolemy)

Synchrony

Synchronous data-flow, SCCS, …

Page 8: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Signal (or RT-Builder, CCSL, MRICDF)

… and Syndex (for allocation and real-time scheduling)

Polychrony

From synchrony to asynchrony

1. specification

Page 9: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Signal (or RT-Builder, CCSL, MRICDF)

… and Syndex (for allocation and real-time scheduling)

Polychrony

From synchrony to asynchrony

1. specification

2. analysis

Page 10: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Signal (or RT-Builder, CCSL, MRICDF)

… and Syndex (for allocation and real-time scheduling)

Polychrony

From synchrony to asynchrony

1. specification

2. analysis 3. synthesis

Page 11: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Globally asynchronous implementation of a composition of synchronous modules preserving functional correctness

synchronous module

Methodology

synchronous module

synchronous module

synchronous module

A polychronous network

Page 12: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Globally asynchronous implementation of a composition of synchronous modules with multiple clocks preserving functional correctness

synchronous module

synchronous module

synchronous module

synchronous module

Polychrony

c = a default b

b

a c

Ta

Tb Tc

Tc = Ta U Tb

Page 13: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Globally asynchronous implementation of a dataflow network (merge) of synchronous modules with multiple clocks preserving functional correctness

synchronous module

synchronous module

synchronous module

synchronous module

Polychrony

c = a default b

b

a c

Ta

Tb Tc

Tc = Ta U Tb

Page 14: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Globally asynchronous implementation of a dataflow network (sampling) of synchronous modules with multiple clocks preserving functional correctness

synchronous module

synchronous module

synchronous module

synchronous module

Polychrony

c = a when b

b

a c

Ta

Tb Tc

Tc = Ta Tb

U

Page 15: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Globally asynchronous implementation of -  latency insensitive -  scheduling independent

synchronous modules preserving functional correctness

Methodology

synchronous module

synchronous module

synchronous module

synchronous module

Timing refinement

Communication refinement

Page 16: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

synchronous module

Methodology

synchronous module

synchronous module

synchronous module

synchronous module

synchronous module

synchronous module

synchronous module

Co-modeling

Architecture exploration

Page 17: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Outline Case study of the A350 doors management system

System-level model of the Doors and Slides Control System (SDSCS)

A safety-critical system •  High-level modeling •  Early validation & verification

•  Architecture exploration

Function •  Monitor doors status via sensors

•  Control flight lock actuators •  Manage the residual pressure

•  Inhibit incorrect cabin pressure

Page 18: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

SDSCS functional model (Simulink/Geneauto)

Simulink Matlab Simulink and Stateflow, a popular high-level modeling language Gene-Auto A safe subset of Simulink/Stateflow Logical time and synchronized data-flow A transformation tool-chain with Polychrony

Page 19: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

SDSCS architecture model (AADL/Osate)

AADL An SAE standard for high-level, component-based, architecture modeling : application software, execution platform, composites ARINC-653 An API for avionic software supporting the partitioned IMA approach A transformation tool-chain with Polychrony

Page 20: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

SDSCS simulation model

VCD interface - Global simulation clock, interactive and of offline modes

Additional models for open system simulation A simple, non-preemptive, static scheduler Time intervals are abstracted Simulation clocks •  Reference clocks •  Period clocks (periodic threads)

Page 21: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Scheduling and distribution with Syndex

Architecture Mapping

Algorithm Syndex •  Algorithm, architecture, and adequation

•  Scheduling analysis and heuristic for

adequation

•  Automatic code distribution

•  Processor-level scheduling and

communication, synchronization, …

Page 22: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Conclusion and perspectives

Conclusion •  System-level co-modeling with AADL and Simulink/Gene-Auto •  Polychrony as a pivot model-transformation platform

•  Formal polychronous model •  Automatic model transformations

•  Interoperability between tools

•  Simulation with VCD and profiling/scheduling with Syndex

Perspective •  Scheduler synthesis/decompilation with Syndex or RTOS scheduling •  Architecture exploration (performance, energy, ...)

•  Formal verification, control synthesis, fault modeling and analysis

•  Automatic test case generation

Page 23: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

A unified model of computation for architecture exploration of integrated modular avionics •  Data-flow for computation •  Mode automata for control •  Libraries for services •  Model-checking •  Controller synthesis An eclipse interactive interface •  Open import functionalities •  High-level visual editor •  Analysis and transformation visualization and traceability

SME, a synchronous modeling environment and open-source Eclipse front-end for Polychrony

Component of the OpenEmbeDD platform and CESAR RTP v1.0

Tools and applications

Page 24: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

RT-Builder (Geensoft) Real-time, hardware in-the-loop, simulation of electronic equipments

Tools and applications

Page 25: System-level co-modeling AADL and Simulink … · System-level co-modeling AADL and Simulink specifications using Polychrony (and Syndex)! ... Case study of the A350 doors management

Polychrony toolbox

SME model

SME Eclipse Platform

Java, Kermeta, ATL

Simulink/Gene-Auto Functional model

AADL architectural model

SIGNAL Toolbox Compilation

Code distribution

Fiacre XML model

Sigali

C,C++

SIGNAL process

Design

GCC

Signal Library

for AADL

C communication library

Syndex

Binaries Test cases VCD files

Analysis

Scheduling

Simulation

Toolbox