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

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

mapreduceclass.r carolinaalvesdelimasalge Fri Nov 18 15:42:

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.

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

NRAO Proposal Tool (PST) Gustaaf van Moorsel NRAO Community Day 1/13/2012

Altersgruppe: Grade 2 Virginia - Mathematics Standards of Learning (2009): 1.12, 1.16, Virginia - Mathematics Standards of Learning (2016): 3.12.

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

AADL Generative Implementation Annex

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

AADL v2.1 errata AADL meeting Sept 2014

GeoAPI. International OpenSource Geospatial Research Symposium. July 9, Martin Desruisseaux. (Geomatys)

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

Monday Jan 30. Tuesday Jan 31. AADL Standards Meeting Jan 30 Feb 1, 2012 Toulouse, France with ERTS Conference N7 INPT University de Toulouse

How to Use the BLESS Plug-in to OSATE

Zarządzanie sieciami telekomunikacyjnymi

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

AADL Requirements Annex Review

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

Selenium Testing Course Content

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

Introduction to AADL analysis and modeling with FACE Units of Conformance

SAE Architecture Analysis and Design Language. AS-2C AADL Subcommittee Meeting Feb 2-5, 2015 San Diego, USA

II contains Strings made up of letter s. have been removed from this WordList, with the

GeoNURIS GeoSpatial Server Manual Cooperation & Communication International

Label-based Defenses Against Side Channel Attacks in PaaS Cloud Infrastructure

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

Digital Design. Chapter 9: Hardware Description Languages

Différents cas d application de l'analyse Statique avec Frama-C dans un contexte industriel

Dominique Blouin Etienne Borde

Introduction to Programming Using Java (98-388)

Hacking together a FreeBSD presentation streaming box For as little as possible 1 / 68

An Extensible Open Source AADL Tool Environment (OSATE)

Junit. Presentation & Tools (Eclipse, Maven, Mockito, Spring)

6.189 D ay 6. Name: R eadings. E x er cise 6. 1 { W ar mup: F inding B ugs

An Information Model for High-Integrity Real Time Systems

ARINC653 AADL Annex. Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Julien Delange 07/08/2013

fjyswan Dr. Philip Cannata 1

Introducing the new Coqdoc

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

E xpe ri e nc e manipulating triangles on a coordinate grid

4. Fill in your information. Choose an address for your PBworks wiki. Be sure to choose For Education as your workspace type.

Technical Report Intelligent Transport Systems (ITS); Testing; Part 5: IPv6 over GeoNetworking validation report

Error Model Meta Model and Plug-in

1 of AWES_PGT_Comp.Sc_Dec_2015 Computer Science

Experiment 3 3 Basic Input Output

Technical Specification C++ Extensions for Coroutines

Modelling Avionics Architectures

RobertaLab: Configuration, Architecture, Frameworks, Design

ARINC653 and AADL. Julien Delange Laurent Pautet

Semester Review CSC 301

Introduction: Manual Testing :

How to Use the DICOM Uploader

MELDASMAGIC MONITOR OPERATION MANUAL BNP-B2192 (ENG)

The first tim e you use Visual Studio it is im portant to get the initial settings right. Load Visual Studio 2010 from the Start menu:

Automatically adapt Cheddar to users need

ISO. International Organization for Standardization. ISO/IEC JTC 1/SC 32 Data Management and Interchange WG4 SQL/MM. Secretariat: USA (ANSI)

Dominique Blouin Etienne Borde

TOPCASED. Current status

Parser and syntax analyzer. Context-Free Grammar Definition. Scanning and parsing. How bottom-up parsing works: Shift/Reduce tecnique.

Table of Contents. Features... 1 System Requirement... 2 Package Checklist... 2

AO4AADL Compiler. Sihem Loukil. June 2011

Trace-Directed Modelling Mid-Project Meeting Report

Common Logic (ISO 24707)

AADS+: AADL Simulation including the Behavioral Annex

Computing Science 114 Solutions to Midterm Examination Tuesday October 19, In Questions 1 20, Circle EXACTLY ONE choice as the best answer

with openarchitectureware

ADT: Eclipse development tools for ATL

Lesson 9: Custom JavaScript Objects

Java: Classes. An instance of a class is an object based on the class. Creation of an instance from a class is called instantiation.

Chapter 3. Interactive Software Development Assistants Logic-based Software Representation. Logic-based Software Analysis

Semantic Analysis. Lecture 9. February 7, 2018

Figure 28.1 Position of the Code generator

Altersgruppe: Grade 4 Virginia - Mathematics Standards of Learning (2009): 3.10a, 3.9d,

Multi-Touch Frame User Manual

Virginia - Mathematics Standards of Learning (2009): 3.10b, 3.9d,

7. Introduction to Denotational Semantics. Oscar Nierstrasz

COMPUTER SCIENCE TRIPOS

Model-Driven Engineering Approach for Simulating Virtual Devices in the OSATE 2 Environment

Protection Levels and Constructors The 'const' Keyword

Outline. Tutorial III. Eclipse. Basics. Eclipse Plug-in Feature

Presentation of the AADL: Architecture Analysis and Design Language

Assembling, Linking and Executing 1) Assembling: .obj obj .obj.lst .crf Assembler Types: a) One pass assembler:

Import and preprocessing of raw spectrum data

AEROSPACE STANDARD. SAE Architecture Analysis and Design Language (AADL) Annex Volume 3: Annex E: Error Model Annex RATIONALE

SELENIUM TRAINING COURSE CONTENT

ETSI GS MEC-IEG 005 V1.1.1 ( )

NAMESPACES IN C++ You can refer the Programming with ANSI C++ by Bhushan Trivedi for Understanding Namespaces Better(Chapter 14)

The Australian Curriculum: ACM M G088 NSW Mathematics K-10 Syllabus: M A2-15 M G, M A2-15 M G.

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.

Altersgruppe: Ye ar 4 The Australian Curriculum: ACM N A07 5 NSW Mathematics K-10 Syllabus: M A2-6N A, M A2-6N A. Students play.

WordPress site Import/Export Procedure

Winshuttle InfoPath Controls. Adrian Jimenez Winshuttle

Students pract ice. min. E xpe ri e nc e aligning polygons with a grid to determine area

The AADL Behavioural annex 1

ETSI TS V ( )

JavaScript: Sort of a Big Deal,

Update on AADL Requirements Annex

ThingWorx Open Street Map Extension User Guide. Open Street Map Extension User Guide Version 1.0

a. Choose your address: This will become the web address for your wiki page. iii. Workspace purpose: Choose whatever you want.

More About Objects and Methods

Transcription:

Behavior Annex Updates Standard, plugin, and usage inside RAMSES Etienne Borde etienne.borde@telecom-paristech.fr

Behaviour Annex Errata The aadl subcommittee wiki has been updated with the new errata discussed in Toulouse in January 2012. 100% of the 12 errata have been closed: an accepted solution was proposed for each of them. A revised version of the Behavior Annex, in which these solutions are implemented, has been uploaded on the aadl subcommittee wiki. The wiki traces the issues, and rationales for modifications of the standard; thus it is possible to retrieve the reasons for these modifications. https://wiki.sei.cmu.edu/sae-aadlsubcommittee/index.php/errata_from_the_behavior_a nnex page 1 11/28/2012

News about the BA plugin for OSATE News about the Behavior Annex plugin developed at Telecom ParisTech: Update site is available, seehttp://penelope.enst.fr/aadl/wiki for more information Syntax coloring and hyperlinking were added in the BA clauses (explanations hereafter) Continuous integration of our plugins with OSATE, using RAMSES to launch the OSATE and the BA plugin with a command line interfacehttps://circe.enst.fr/hudson/ page 2 11/28/2012

OSATE - Syntax highlighting and hyperlinking How to implement syntax coloring and hyperlinking in an Annex plugin that is not based on Xtext? OSATE provides 2 new extension points: <ext ensi on poi nt =" or g. osat e. annexsuppor t. hi ghl i ght er " > <ext ensi on poi nt =" or g. osat e. annexsuppor t. t ext posi t i onr esol ver " > page 3 11/28/2012

OSATE - Syntax highlighting <ext ensi on poi nt =" or g. osat e. annexsuppor t. hi ghl i ght er " > Requires imlementing interface AnnexHighlighter, defining two methods: 1. publ i c voi d hi ghl i ght AnnexLi br ar y( AnnexLi br ar y l i br ar y, AnnexHi ghl i ght er Posi t i onaccept or accept or ) and 2. publ i c voi d hi ghl i ght AnnexSubcl ause( AnnexSubcl ause subcl ause, AnnexHi ghl i ght er Posi t i onaccept or accept or ). Basically, the idea is to use the following method, defined in AnnexHi ghl i ght er Posi t i onaccept or : publ i c voi d addposi t i on( i nt offset, i nt l engt h, St r i ng i d) When calling addposition, offset is the position (wrt the beginning of the file) of the first character to highlight, length is the number of characters to highlight, and id is a predefined type of highlighting (comment, number, keyword, etc ). See AnnexHighlighterPositionAceptor for the complete list of valid Id page 4 11/28/2012

OSATE BA Plugin - Syntax highlighting See plugin.xml file to have the configuration of extension point: <ext ensi on poi nt ="or g. osat e. annexsuppor t. hi ghl i ght er "> In the BA, we only have Annex Subclauses thus we implement: publ i c voi d hi ghl i ght AnnexSubcl ause( AnnexSubcl ause subcl ause, AnnexHi ghl i ght er Posi t i onaccept or accept or ). Our implementation is straight forward: when parsing the BA, the position of strings to highlight (offset, length, and id) are stored in a list, attribute of the BehaviorAnnex class. When our implementation of highlightannexsubclause is called, subclause is of class BehaviorAnnex. Our code go through this list of elements to highlight, retreive their offset, lenght and id, call: accept or. addposi t i on( offset, l engt h, i d) ; Where offset, length and id have been retreived from the list of elements to highlight. page 5 11/28/2012

OSATE HyperLinking <ext ensi on poi nt =" or g. osat e. annexsuppor t. t ext posi t i onr esol ver " > Requires imlementing interface AnnexTextPositionResolver, defining two methods: 1. publ i c voi d Text Posi t i oni nf o r esol veel ement At ( EObj ect annexroot, i nt of f set ) and 2. publ i c voi d Text Posi t i oni nf o r esol vecr ossref er encedel ement At ( EObj ect annexroot, i nt offset) Offset is the position of the mouse, in the text, when one moves the mouse and pushes the «ctrl» key at the same time. The constructor of TextPositionInfo is: Text Posi t i oni nf o( EObj ect model Obj ect, i nt of f set, i nt l engt h) Basically, the idea is to create a TextPositionInfo, modelobject being the object the hyperlinking should «jump to» when one clicks on the hyperlink (resulting from «ctrl+click»); offset and length being the position wher the hyperlink is created as a result of a «ctrl+mouse over the text». page 6 11/28/2012

OSATE BA Plugin HyperLinking See plugin.xml file to have the configuration of extension point: <ext ensi on poi nt =" or g. osat e. annexsuppor t. t ext posi t i onr esol ver»> Let s consider the implementation of: publ i c voi d Text Posi t i oni nf o r esol veel ement At ( EObj ect annexroot, i nt offset1) Our implementation is not straight forward but we try to describe it here: when parsing the BA, the Position (offset/length) of each BA element is stored in an attribute of Element (Element is a class from the AADL metamodel) when parsing the BA, a map of <Position, Element> stores the destination (Element) of an hypelink put at a significant Position in the text (offset1 being between [offset, offset+length], position of an Element that references another one). when resolveelementat is called, we create a TextPositionInfo: Text Posi t i oni nf o ( EObj ect model Obj ect, i nt of f set 2, i nt l engt h) where modelobject corresponds to the Element from the map, and offset2/length is retreived from the position of the Element at offset1. page 7 11/28/2012

Current limitations We need to improve this implementation, since: Syntax highlighting is turned off when the BA subclause is not syntactically correct (parsing fails); Hyperlinking is turned off when BA subclause is not syntactically correct or when naming resolution of a BA elements fails page 8 11/28/2012

Demo page 9 11/28/2012

subpr ogr am Next _Val ue pr ot ot ypes out put _t ype: dat a; f eat ur es first: r equi r es dat a access I nt eger _16; last: r equi r es dat a access I nt eger _16; buf f er : r equi r es dat a access Ar r aydat atype; out put : r equi r es dat a access out put _t ype; annex behavi or _speci f i cat i on { * * states s: initial f i nal st at e; t r ansi t i ons t : s - []- > s { out put : = buf f er [ f i r st ] ; if( f i r st <l ast ) first := first+1 end if };**}; end Next _Val ue; Behavior Annex in RAMSES code generation In a generic AADL runtime, we define: Is interpreted by the BA plugin as an array of one Dimension, of infinite size. Should be standardized in Data_Model? dat a Ar r aydat atype pr oper t i es Dat a_model : : Dat a_repr esent at i on => Ar r ay; Dat a_model : : Base_Type => ( cl assi f i er ( I nt eger _16) ) ; Dat a_model : : Di mensi on =>( 0) ; end Ar r aydat atype; page 10 11/28/2012

Instantiation in a particular context When instantiated in a particular context, we generate: subpr ogr am Next _Val ue_p_t3_p_i n ext ends Next _Val ue ( out put _t ype => dat a Int) f eat ur es buf f er : r ef i ned to r equi r es dat a access Buf f er Ar r aytype_t3_p_i n; end Next _Val ue_p_t3_p_i n; dat a Buf f er Ar r aytype_t3_p_i n pr oper t i es Dat a_model : : Di mensi on => ( 56) ; end Buf f er Ar r aytype_t3_p_i n; page 11 11/28/2012

Continuous Integration with OSATE Continuous integration on Hudson and Maven: Download and build OSATE sources every night Download and build the BA plugin sources every night Execute some Junit tests (launching osate+ba as command line) Let s have a look at the website https://circe.enst.fr/hudson/ Could be interesting to plug with the validation framework of Alexey Khoroshilov. What would be the best way to proceed? page 12 11/28/2012

Conclusion Identified errata have all been implemented in the revised version of the Behavior Annex. They need to be checked and updated. The Behavior Annex Plugin has been significantly improved, and is used by two (declared) external partners (INRIA and Ellidiss). The Behavior Annex is being used for code generation in RAMSES, taking advantage of prototype and refinement capabilities of AADL (more to come for next meeting) page 13 11/28/2012