Generating Petri Nets from AADL descriptions. Thomas Vergnaud

Similar documents
The Ocarina Tool Suite. Thomas Vergnaud

AADL to build DRE systems, experiments with Ocarina. Jérôme Hugues, ENST

From MDD back to basic: Building DRE systems

From the Prototype to the Final Embedded System Using the Ocarina AADL Tool Suite

An implementation of the AADL-BA Behavior Annex front-end: an OSATE2 Eclipse plug-in

Institut Supérieur de l Aéronautique et de l Espace Ocarina: update and future directions

Rapid Prototyping of Distributed Real-Time Embedded Systems Using the AADL and Ocarina

Architecture Analysis and Design Language (AADL) Part 3

French & American Educational System. Collaboration between Rutgers & Paris 6. M.S. : Distributed Systems & Applications

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

Presentation of the AADL: Architecture Analysis and Design Language

COTRE as an AADL profile

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

Presentation of the AADL: Architecture Analysis and Design Language

AADL Subsets Annex Update

Translating AADL into BIP Application to the Verification of Real time Systems

Architecture Analysis and Design Language (AADL) Part 2

Model-Based Engineering for the Development of ARINC653 Architectures

CHAPTER - 4 REMOTE COMMUNICATION

Model Editing & Processing Tools. AADL Committee, San Diego February 4th, Pierre Dissaux. Ellidiss. Technologies w w w. e l l i d i s s.

AADL performance analysis with Cheddar : a review

MODELING OF MULTIPROCESSOR HARDWARE PLATFORMS FOR SCHEDULING ANALYSIS

Schedulability Analysis of AADL Models

Modelling of PnP Weapon Systems with AADL Protocol Behaviour

ARINC653 and AADL. Julien Delange Laurent Pautet

AADL Inspector Tutorial. ACVI Workshop, Valencia September 29th, Pierre Dissaux. Ellidiss. Technologies w w w. e l l i d i s s.

Ocarina. A Compiler for the AADL for Ocarina 2.0w, 11 November Jér^ome Hugues, Thomas Vergnaud, Bechir Zalila

A Practical Approach for a Workflow Management System

The Concurrency Viewpoint

Research and Implementation of Event Driven Multi Process Collaboration Interaction Platform Xiang LI * and Shuai ZHAO

AADL : about code generation

AADS+: AADL Simulation including the Behavioral Annex

AO4AADL Compiler. Sihem Loukil. June 2011

A System Dependability Modeling Framework Using AADL and GSPNs

Oracle-based Mode-change Propagation in Hierarchical Components.

Object Oriented Programming with Java. Unit-1

Generating high-integrity systems with AADL and Ocarina. Jérôme Hugues, ISAE/DMIA

IWAISE November 12, 2012

Coe628 Midterm Study Guide (2017)

An Information Model for High-Integrity Real Time Systems

Learn AADL concepts in a pleasant way

International Training Workshop on FPGA Design for Scientific Instrumentation and Computing November 2013

Crisis and paradox in distributed-systems development

Updates on the code generation annex. Jérôme Hugues, ISAE

ISO/IEC INTERNATIONAL STANDARD. Software and system engineering High-level Petri nets Part 1: Concepts, definitions and graphical notation

Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater

An Efficient Modeling and Execution Framework for Complex Systems Development

Object-Oriented Design

An Implementation of the Behavior Annex in the AADL-toolset Osate2

AADL Simulation and Performance Analysis in SystemC

Adapting models to model checkers, a case study : Analysing AADL using Time or Colored Petri Nets

CS 431 Introduction to Computer Systems Solutions Mid semester exam 2005

Scalable Performance for Scala Message-Passing Concurrency

June 27, 2014 EuroClojure 2014 Krakow, Poland. Components. Just Enough

Informal Semantics of Data. semantic specification names (identifiers) attributes binding declarations scope rules visibility

Embedded Systems 7. Models of computation for embedded systems

New Logic Modeling Paradigms for Complex System Reliability and Risk Analysis

Hierarchical Petri Net Simulator: Simulation, Design Validation, and Model Checking Tool for Hierarchical Place/Transition Petri Nets

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

these developments has been in the field of formal methods. Such methods, typically given by a

Executable AADL. Real Time Simulation of AADL Models. Pierre Dissaux 1, Olivier Marc 2.

Building Petri nets tools around Neco compiler

AADL v2.1 errata AADL meeting Sept 2014

Involved subjects in this presentation Security and safety in real-time embedded systems Architectural description, AADL Partitioned architectures

SPIN Operating System

Coloured Petri Nets Modelling and Validation of Concurrent Systems. Chapter 1: Modelling and Validation

ARINC653 toolset: Ocarina, Cheddar and POK

To cite this document

Persistent Data Structures and Managed References

Dependability Modeling Based on AADL Description (Architecture Analysis and Design Language)

Motivation and definitions Processes Threads Synchronization constructs Speedup issues

Oracle PLSQL. Course Summary. Duration. Objectives

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

User Defined Types. Babes-Bolyai University Lecture 06. Lect Phd. Arthur Molnar. User defined types. Python scope and namespace

15CS45 : OBJECT ORIENTED CONCEPTS

On the Formal Verification of Middleware Behavioral Properties

Structure of Abstract Syntax trees for Colored Nets in PNML

Coverability Graph and Fairness

The C/C++ Memory Model: Overview and Formalization

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

CA441 BPM - Modelling Workflow with Petri Nets. Modelling Workflow with Petri Nets. Workflow Management Issues. Workflow. Process.

The AADL Behavioural annex 1

Foundations of a New Software Engineering Method for Real-time Systems

Identity, State and Values

CS 480 Fall Runtime Environments. Mike Lam, Professor. (a.k.a. procedure calls and heap management)

Operational Semantics of Cool

Dynamic Workflows for Grid Applications

Composability Test of BOM based models using Petri Nets

A transformation of YAWL to AToMPM Modeling Language

Understanding the Relationship between AADL and Real-Time Embedded Systems Operating Systems

Petri Nets: Properties, Applications, and Variations. Matthew O'Brien University of Pittsburgh

RAMSES. Refinement of AADL Models for the Synthesis of Embedded Systems. Etienne Borde

Embedded Systems 7. Petri net plan coordination for robocup teams G. Kontes and M.G. Lagoudakis BF - ES BF - ES - 2 -

AADL Generative Implementation Annex

Barbara Chapman, Gabriele Jost, Ruud van der Pas

CS 4240: Compilers and Interpreters Project Phase 1: Scanner and Parser Due Date: October 4 th 2015 (11:59 pm) (via T-square)

New Programming Abstractions for Concurrency in GCC 4.7. Torvald Riegel Red Hat 12/04/05

Testing Model Tranformations

COMMUNICATION PROTOCOLS: REMOTE PROCEDURE CALL (RPC)

A- Core Java Audience Prerequisites Approach Objectives 1. Introduction

Transcription:

Generating Petri Nets from AADL descriptions <thomas.vergnaud@enst.fr>

Designing a Distribution Runtime for the AADL work at ENST focuses on the building of communication middlewares manage communication between several application nodes provide facilities to configure the middleware PolyORB: a framework to build adapted middlewares collaboration with University Pierre & Marie Curie, in Paris How to ease the middleware configuration? use a description of the application to capture the configuration parameters AADL is a good solution for that 2

Global Architecture a runtime structure is created from the AADL description built according to the AADL properties & architectural elements everything is on top of the middleware handle the communications manage the AADL threads application code AADL wrapper application code AADL wrapper application code AADL wrapper AADL runtime execution middleware 3

Integration of Source Code Source code = behavioral description encapsulated inside AADL components do not have visibility outside their component do not control the runtime the AADL description provide all the information to run execute the behavioral descriptions interfaces location (binding to processors) dispatch protocols and periods etc. all the execution flows are described using the AADL mappings between AADL and source code 4

Specifications of the Execution Middleware guidelines to help the user in describing an application that can be generated distribution models (message passing, rpc, distributed objects) clear separation application/runtime = subprograms/threads ensure we can produce compilable code from the architecture but does NOT provide any garantee concerning the executability deadlocks? undefined values? idea: use formal methods to perform verify the architecture before the actual code generation 5

Petri Nets formalism for model checking simulation of all the states of an application search for unwanted states test the sequence of some states Petri nets are place/transition oriented graphs tokens can circulate through the graph can be stored in places consumed/produced by transitions initial marking = where the token are in the first state of the network compute initial_state Control listen Class Control is.. ; Var c in Control; 6

Basics of the Petri Net Transformation we model the execution flows circulation of data components through the architecture execution of subprogram call sequences places model component features transitions model the components themselves and the AADL connections process a_process features e_ : in event data port; e_2 : in data port; s_ : out data port; end a_process; e_ e_2 a_process s_ 7

Modeling Subcomponents process implementation a_process.impl subcomponents thread : thread thread_a; thread2 : thread thread_b; connections event data port e_2 -> thread.e; event data port e_2 -> thread2.e_2; data port e_ -> thread2.e_; data port thread2.s_ -> s_; end a_process.impl; thread e_2 <v2> <v2> <v2> <v2> <v> <u> <v2> <v> e_ [v /= u] thread2 thread2_s s_ 8

Describing Call Sequences thread implementation thread_a.i calls seq : {appel : subprogram sp;}; seq2 : {appel2 : subprogram sp2;}; connections parameter e_ -> appel.e_; parameter e_ -> appel2.e_; end thread_a.i; seq2_begin seq_begin appel appel2 init seq_end seq2_end 9

Describing Behaviors 0 mid end seq2 seq begin seq_begin seq2_begin seq_end seq2_end init appel appel2 begin mid end

Conclusion Petri nets can be used to perform model checking on the AADL architecture not suited for time analysis use schedulability analysis tools (Cheddar, ADeS?) verify execution flows no deadlocks no undefined values we reproduce the same runtime specifications as for code generation relevant, since source code implementations do not control our AADL runtime the mapping between AADL and Petri nets will be described in my Ph.D. dissertation