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

Similar documents
UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2

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

The AADL Behavioural annex 1

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

Generating Petri Nets from AADL descriptions. Thomas Vergnaud

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

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

Towards AADL to SystemC mapping for partitioned systems. Etienne Borde Laurent Pautet Marc Gatti

AADL Generative Implementation Annex

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

AADL v2.1 errata AADL meeting Sept 2014

Plug-in Development for the Open Source AADL Tool Environment Part 4: OSATE Infrastructure & Language Extensions

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

Presentation of the AADL: Architecture Analysis and Design Language

The Ocarina Tool Suite. Thomas Vergnaud

Presentation of the AADL: Architecture Analysis and Design Language

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

An Extensible Open Source AADL Tool Environment (OSATE)

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

This is an author-deposited version published in: Eprints ID: 13515

Introduction to AADL 1

Error Model Meta Model and Plug-in

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

AADL : about code generation

From MDD back to basic: Building DRE systems

AADL Subsets Annex Update

To cite this document

Model-Based Engineering for the Development of ARINC653 Architectures

This is an author-deposited version published in: Eprints ID: 3664

Plug-in Development for the Open Source AADL Tool Environment Part 3: Generation & External Models

Institut Supérieur de l Aéronautique et de l Espace Constraints Annex Implementation Approach

Architecture Analysis and Design Language (AADL) Part 3

AADS+: AADL Simulation including the Behavioral Annex

Modeling and verification of memory architectures with AADL and REAL

ARINC653 and AADL. Julien Delange Laurent Pautet

Model-Based Engineering for the Development of ARINC653 Architectures

timed specifications in the AADL : a synchronous model of computation and communication (recommendations to the SAE committee on AADL)

AADL Tools & Technology. AADL committee 22 April Pierre Dissaux. Ellidiss. T e c h n o l o g i e s. w w w. e l l i d i s s.

An Extensible Open Source AADL Tool Environment (OSATE)

Modelling Avionics Architectures

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.

ARINC653 toolset: Ocarina, Cheddar and POK

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

ARINC653 annex: examples

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

AADL Graphical Editor Design

Learn AADL concepts in a pleasant way

This is an author-deposited version published in: Eprints ID: 9287

Logically timed specifications in the AADL : a synchronous model of computation and communication (recommendations to the SAE committee on AADL)

AADL Meta Model & XML/XMI

SAE Architecture Analysis and Design Language. AS-2C AADL Subcommittee Meeting Feb 3-6, 2014 Toulouse, France

Formal Semantics of Behavior Specifications in the Architecture Analysis and Design Language Standard

A Comparison and Evaluation of Real-Time Software Systems Modeling Languages

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

AADL Simulation and Performance Analysis in SystemC

AO4AADL Compiler. Sihem Loukil. June 2011

Behavior Annex Updates Standard, plugin, and usage inside RAMSES. Etienne Borde

An Efficient Modeling and Execution Framework for Complex Systems Development

AADL Requirements Annex Review

The Montana Toolset: OSATE Plugins for Analysis and Code Generation

COTRE as an AADL profile

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

ADeS presentation. a simulator for AADL v Amélie Schyn Romain Sezestre Jean-François Tilman

Workshop 1: Specification for SystemC-AADL interoperability

PAPYRUS TOOL SUPPORT FOR FMI

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

How to Use the BLESS Plug-in to OSATE

Prototyping of Distributed Embedded Systems Using AADL

Institut Supérieur de l Aéronautique et de l Espace. TASTE Multi-core. ISAE / ONERA Jérôme Hugues / Claire Pagetti December 2016

AADL Application modeling with MARTE Madeleine Faugère, Timothée Bourdeau THALES Research and Technology Robert de Simone INRIA Sébastien Gérard CEA

arxiv: v1 [cs.se] 2 Mar 2015

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

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

Process-Algebraic Interpretation of AADL Models

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

Architecture Analysis and Design Language (AADL) Part 2

AADL performance analysis with Cheddar : a review

Oscar Slotosch, Validas AG. Proposal for a Roadmap towards Development of Qualifyable Eclipse Tools

Update on Behavior Language for Embedded Systems with Software for Proof Based Analysis of Behavior

Update on AADLInspector and Cheddar : new interface and multiprocessors analysis

ECSEL Research and Innovation actions (RIA) AMASS

Analysis and Design Language (AADL) for Quantitative System Reliability and Availability Modeling

EMF course - PACT. Etienne Borde

Towards the Systematic Analysis of Non-Functional Properties in Model-Based Engineering for Real-Time Embedded Systems

Modelling of PnP Weapon Systems with AADL Protocol Behaviour

Dealing with AADL end-to-end Flow Latency with UML Marte.

Design and Implementation of Real-Time Distributed Systems with the ASSERT Virtual Machine

AADL Model Behavior: Rapid-Prototype XOR Exactitude?

TOPCASED. Current status

Semantics-Based Integration of Embedded Systems Models

Using AADL in Model Driven Development. Katholieke Universiteit Leuven Belgium

Formal Verification of AADL models with Fiacre and Tina

The Architecture Analysis and Design Language and the Behavior Annex: A Denotational Semantics

Object-Oriented Design

Requirements and Design Overview

SAE Architecture Analysis and Design Language. AS-2C ADL Subcommittee Meeting June 6-9, 2011 Paris, France

SAE Architecture Analysis and Design Language. AS-2C AADL Subcommittee Meeting Sept 29-Oct 2, 2014 Valencia, Spain

Lab-STICC : Dominique BLOUIN Skander Turki Eric SENN Saâdia Dhouib 11/06/2009

Formal semantics of behavior specifications in the architecture analysis and design language standard

Fine-grained Compatibility and Replaceability Analysis of Timed Web Service Protocols

Transcription:

An implementation of the AADL-BA Behavior Annex front-end: an OSATE2 Eclipse plug-in Etienne Borde Gilles Lasnier Sébastien Gardoll Laurent Pautet Jérôme Hugues Fabien Cadoret borde@telecom-paristech.fr lasnier@telecom-paristech.fr gardoll@telecom-paristech.fr pautet@telecom-paristech.fr jerome.hugues@isae.fr cadoret@telecom-paristech.fr page 1 2011/01/24 AADL meeting, Hollywood FL

Objectives of this presentation Report the advancement of the AADL-BA 1 plug-in development Explain how an OSATE-based tool can interface with this plug-in to treat behavioral specifications Present some tool prototypes that interface with the AADL-BA plug-in 1 AADL-Behavior Annex page 2 2011/01/24 AADL meeting, Hollywood FL

AADL-Behavior Annex Overview Model components behavior thanks to A general purpose behavior specification A thread dispatch behavior specification A component interaction behavior specification A behavior action language A behavior expression specification Current draft: 0.94 plug-in v2.16 page 3 2011/01/24 AADL meeting, Hollywood FL

Objectives of the AADL-BA plug-in Provide an AADL Behavior Annex front-end and its integration into OSATE2 Ease the integration of multiple back-ends to allow the integration of AADL-BA in analysis Use in Telecom ParisTech research activities: Integrated in a model-based transformation process to analyze in depth systems schedulability Integrated in a model-based transformation process to validate in depth High-Integrity (HI) systems (Lasnier s PhD thesis) page 4 2011/01/24 AADL meeting, Hollywood FL

AADL-BA plug-in: status AADL-BA plug-in (beta) First implementation which supports 70% of the AADL-BA std v2.13 Update to AADL-BA std v2.16 (actual release, under development) How to get the AADL-BA plug-in Subversion repository (sources) - AADL-BA std v2.13 https://eve.enst.fr/svn/aadl-eclipse-dev/aadlba/trunk/fr.tpt.aadl.annex.behavior - AADL-BA std v2.16 https://eve.enst.fr/svn/aadl-eclipse-dev/aadlba/branches/fr.tpt.aadl.annex.behavior_current_dev page 5 2011/01/24 AADL meeting, Hollywood FL

AADL-BA plug-in: available information Information and documentation available at: Website: Trac AADL Behavior Annex Eclipse Project https://penelope.enst.fr/aadlba Publication UML&AADL 11: «An Implementaton of the Behavior Annex in the AADL-toolset Osate2». G. Lasnier, L. Wrage, L. Pautet, and J. Hugues. (to be pusblished april 2011) page 6 2011/01/24 AADL meeting, Hollywood FL

Architecture of the AADL-BA plug-in workflow compliant name resolver type checker semantic checker V2.13 V2.16 color code: todo done page 7 24/01/11 AADL meeting, Hollywood FL, 201101/24

AADL-BA plug-in: Integration in OSATE2 aadlbabackend parser resolver workflow compliant extension point extends page 8 24/01/11 AADL meeting, Hollywood FL, 201101/24

How to plug a back-end to this plug-in? develop an OSATE plug-in (1/2) MainCheddar action extends OSATE class AbstractInstanceOrDeclarativeModelReadOnlyAction. MainCheddar overrides analyzeinstancemodel method: automatically called by OSATE when button is performed @Override protected void analyzeinstancemodel(, SystemInstance root, ) {... ExecutionGraphRegistry r = new ExecutionGraphRegistry(root); ExtractionStrategy s = ExtractionStrategy.getStrategyFor(root); s.setregistry(r); aadl2cheddar.setstrategy(s); aadl2cheddar.analyze(root); } page 9 24/01/11 AADL meeting, Hollywood FL, 201101/24

How to plug a back-end to this plug-in? develop an OSATE plug-in (2/2) Extract Behavior Annex from a Component Instance public static BehaviorAnnex getbehaviorannex(componentinstance comp) { Subcomponent s = comp.getsubcomponent(); Classifier c = s.getclassifier(); for(annexsubclause annex : c.getownedannexsubclauses()) { if (annex instanceof BehaviorAnnex) return (BehaviorAnnex) annex; } Classifier return null; } 1 0..* ComponentInstance 1 Subcomponent AnnexSubClause BehaviorAnnex page 10 24/01/11 AADL meeting, Hollywood FL, 201101/24

How to plug a back-end to this plug-in? plug to the BA plug-in Useful if you are interested in the BA specification ONLY (not in the AADL instance tree model) page 11 24/01/11 AADL meeting, Hollywood FL, 201101/24

Back-end example Schedulability analysis with Cheddar (1/2) Task Behavior Annex analysis : Three ways to extract computation time of called subprograms: - Computation_Execution_Time property value - Call sequence analysis - Subprogram behavior annex analysis Subprogram annotation to identify middleware synchronization subprograms: property set Synchronization is Available_Synchronization_Function : type enumeration ( BasicComputation, GetResource, ReleaseResource ); Synchronization_Function : Available_Synchronization_Function applies to (subprogram); end Synchronization; page 12 24/01/11 AADL meeting, Hollywood FL, 201101/24

Back-end example Schedulability analysis with Cheddar (2/2) Scheduling analysis with shared resources thread implementation publisher.impl annex behavior_specification {**... transitions ti : s_init -[]-> s_comp { Init! }; tc : s_comp -[on dispatch]-> s_wait { Randomize!(result); GetResource!(resource1); Compute1!(result); Compute2!(resource1, result); ReleaseResource!(resource1); WriteOn!(dataout, result) }; tw : s_wait -[]-> s_comp { PeriodicWait! }; **}; end publisher.impl; (2) AADL2Cheddar : - scheduling model generation - scheduling simulation (1) Task Behavior Annex analysis : - Automaton to Timed Execution Graph - WCET computation - Critical instants computation... <resource> <name>sender.resource1</name> <address_space_name>sender</address_space_name> <cpu_name>cpu</cpu_name> <protocol>immediate_priority_ceiling_protocol</protocol> <resource_used_by> <resource_user>sender.producer 0 22</resource_user> <resource_user>sender.publisher 3 18</resource_user> </resource_used_by> </resource> page 13 24/01/11 AADL meeting, Hollywood FL, 201101/24

Research activities involving AADL-BA std and its plug-in (1/2) Objectives Allow analysis of the whole distributed systems: application + middleware components Reduce semantic gap between AADL model and generated code Use the same AADL model to perform analysis and code generation How? Require the use of AADL-BA AADL-light profile: restrictions of AADL components to eliminate high-level abstractions PolyORB-HI-AADL: middleware components + behavior integrated at model level Process to make visible the different expansion (iterative refinement) Publication ISORC 11: «A Model-Based Transformation Process to Validate and Implement High- Integrity Systems». G. Lasnier, L. Pautet, and J. Hugues. (to be pusblished march 2011) More information available at http://perso.telecom-paristech.fr/~lasnier page 14 2011/01/24 AADL meeting, Hollywood FL

Research activities involving AADL-BA std and its plug-in (2/2) The AADL-MBT project: a Model-Based Transformation plug-in integrated to Osate2 Restrict AADL components using our AADL-light profile Ease the integration of middleware components Produce intermediate AADL models Produce trace and add traceability information to AADL components The AADL-Code Generator project: an Ada/C code generator plug-in integrated to Osate2 Code generation simplify by our MBT-process Target languages Ada/Ravenscar and C MBT Process Aadl model Aadl model + behavior +middleware Ada/Ravenscar or C files Osate2 AADL2 frontend AADL-BA frontend AADL- MBT AADL Code Generator page 15 2011/01/24 AADL meeting, Hollywood FL

Conclusion and Perspectives A first BA-frontend integrated into OASTE Provides a front-end for any analysis/code generation tool Under development (official release expected soon) AADL community Available plug-in (ask for access wrights) Can give feedback using the AADL-BA Trac website Main issue in the standard: data types correspondence (strict or implicit?) - X:Integer_16 - Y:Integer_8 Is X:=Y authorised? Is X/Y authorised? page 16 24/01/11 AADL meeting, Hollywood FL, 201101/24