AADL Tools & Technology AADL committee 22 April 2013 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. c o m
Independent SW tool editor: Ellidiss Software w w w. e l l i d i s s. c o m UK based company aka.tni Europe Ltd Tools sales office Fr based company New tools development R&D center 20 years support to major industrial projects: HOOD design tools for Ada and C: CP-Hood and Stood Eurofighter Typhoon Airbus A340, A380, A350 Eurocopter Tiger (mission calculator) Rafale (engine control) Legacy Ada code reverse engineering 10 years investement in AADL technology: Contribution to the AADL standardization committee AADL graphical modeling tools: Stood for AADL, Adele, TASTE, DSMs AADL model processing framework: AADL Inspector
AADL Inspector Ellidiss STOOD graphical editors HOOD-AADL-UML ADELE graphical editor TOPCASED/SPICES/QUARTEFT AADL Builder graphical editor UML/MARTE bridge to AADL TOPCASED/LAMBDA TASTE graphical editors ASSERT/ESA TOPCASED http://www.topcased.org bridge to other AADL tools OSATE, DSM tools: Domain Specific graphical editors Ex: GLASSES Modelling AADL tools overview CHEDDAR real-time analysis SIMULATION multi-agent model animation PROOF bridge to FIACRE SAFETY ANALYSIS bridge to COMPASS CODE GENERATORS bridge to RAMSES and OCARINA static rules checkers: - AADL Legality rules - AADL Naming rules - AADL Consistency rules - Metrics - Project specific rules Analysis and Production
Tool selection guide Tool User Expert in AADL and model DSL graphical off the shelf AADL AADL Inspector tool development graphical tool - - - processing tools Expert in AADL, needing support for model processing - - Needing support for both AADL modeling and processing - DSL user, needing support for model - processing
AADL graphical modeling tools STOOD ADELE AADL Builder
AADL graphical DSL modeling front-ends TASTE-IV TASTE-DV GLASSES COMPASS Your DSL
AADL Inspector overview Static rules analysis Real-time performance analysis: Cheddar AADL syntactic analysis AADL runtime simulation: Marzhin
AADL Inspector architecture Modular framework Stable light-weight common kernel AADL project management:.aic files Extendable loosely coupled and linkable plugins Standardized plugins control interface:.aip files Standardized plugins data interface: textual AADL --------- --PRJ.aic --------- F1.aadl F2.aadl F3.aadl --------- --F1.aadl --------- --------- Package --F2.aadl P Public --------- --------- Package --F3.aadl P System Public --------- S --------- End S; Package --F4.aadl P System Public --------- S End End P; S; Package P System Public S End End P; S; System S End End P; S; End P; AADL date = id = Plugin1 cmd date = = input id = Plugin2 name cmd = date = = tooltip input id = Plugin3 graphicaloutput name cmd = = = graphicaloutputkind tooltip input = = = activation graphicaloutput name = = scope graphicaloutputkind tooltip = = = activation graphicaloutput = = scope graphicaloutputkind = = activation = scope = AADL files editor: - AADL files (.aadl) - AADL projects (.aic) Generic AADL toolbox: - AADL parser - AADL printer - XML parser - Prolog engine - Prolog libraries Plugin specific resources: - Plugin manifest file (.aip) - Model transformations - AADL subset filter - External executable files - TCL scripts
AADL Inspector plugins Goals configure builtin features and connections to external tools implement model transformations steps from/to AADL can be linked to set up processing chains can be used to formalize AADL subsets Configuration file:.aip command line definition activation mode (menu, tab, ) result display mode (raw, formatted, ) scope (current file, whole project, loop on each file) Other items test suite AADL subset definition documentation annex.aadl.xml.xmi.pro.sbp.aadl.xml.xmi.txt.pro
AADL Inspector plugins list Current Plugins (v1.1) AADL Syntactic Analyser (aadlrev) Static Rules Analysis Schedulability Analysis (Cheddar v3) Dynamic Simulation (Marzhin v1) Future Plugins FIACRE generator SLIM generator SIGNAL generator Power Consumption Analysis (OpenPeople) Source Code generators I/F (Ocarina, Ramses) UML/Marte reader SysML reader Light weight AADL diagram editor (AADL Builder)
AADL Syntactic Analyser aadlrev.aadl.pro Description Lex/Yacc implementation of the AADL BNF Generates a Prolog AST (Facts Base) Supports AADL 2.1 (with upwards compatibility) Supports the Behavior Annex + Errata Executable file for Windows, Linux, Mac and Solaris Status Current version: v2.3 Used by all the AADL tools developed by Ellidiss: - Stood - Adele - TASTE - AADL Inspector - Domain Specific Model diagram editors
AADL Static Rules Checker.aadl.pro.txt Description Prolog implementation of AADL Naming, Legality, Consistency rules Generates Information, Warning or Error messages Supports AADL 2.1 (SAE AS5506B) Includes Positive/Negative test cases for each rule Easy customization: rules subsets, project specific rules, Status AADL Inspector 1.1 coverage:.sbp Chapter Checked Rules Always true 4.1 AADL specifications N1 N2..N8 4.2 Packages L1..L4; N1,N5..N17 N2..N4,N18 4.3 Component Types L1,L3..L6;N1..N3,N6,N8,N9 L2;N4,N5 4.4 Component Implementations L1,L3..L9; N1..N5 L2 4.5 Subcomponents C1
AADL Schedulability Analysis cheddarkernel.aadl.pro.xml.xml.sbp Description Command-line implementation of Cheddar Imports textual AADL specifications Supports AADL 2.1 and Behavior Annex Generates XML report files Developed in collaboration with the University of Brest (UBO) Status Current version: Cheddar v3 Next steps of the integration into AADL Inspector: - Support of ARINC 653 - Support of multi-core architectures - Display of the static simulation trace - Integration of the real-time patterns analysis tool
AADL Dynamic Simulator marzhin.aadl.pro.xml.xml.sbp Description Multi-agents implementation of the AADL run-time Imports textual AADL specifications Supports AADL 2.1 and Behavior Annex Generates a dynamic simulation trace Developed in collaboration with the Virtualys Status Current version: Marzhin 1.0 Restricted to single processor/core architectures Next steps of the integration into AADL Inspector: - Support of ARINC 653 - Support of multi-processor and multi-core architectures - Enhanced support of the Behavior Annex (data values) - Improvement of the graphical display
FIACRE Generator.aadl.pro.fiacre FIACRE toolchain Description Outcome of the QUARTEFT research project (ended Dec 2012) Collaboration with the University of Toulouse (IRIT and LAAS) Gives access to the FIACRE proof toolchain (TINA).sbp Status Existing model transformation prototypes with Acceleo for AADL v1 + BA draft with TOM for AADL v2 + BA Next steps: new implementation for AADL v2 + BA case studies definition of the FIACRE AADL subset
SLIM Generator.aadl.pro.slim COMPASS FIACRE toolchain.sbp Description Outcome of the CGM ESA project with the University of Aachen SLIM is the AADL-like input language for the COMPASS toolchain Gives access to Safety Analysis tools Status Not started Requires prior implementation of the new Error Annex
Signal Generator.aadl.pro.signal POLYCHRONY FIACRE toolchain.sbp Description Collaboration with INRIA (Rennes) Provides access to Polychrony Work related to the definition of the Synchronous Annex Status Workplan in discussion
Power Consumption Analysis OpenPeople.aadl FIACRE Open toolchain People Description Outcome of the GLASSES research project (ended June 2012) Collaboration with the University of Lorient (UBS) Requires component libraries with consumption data Status Reusability of the GLASSES prototype must be evaluated first Requires an update of tool and interaction with the supporting team
Source Code Generator Ocarina.aadl FIACRE toolchain OCARINA Description Collaboration with ISAE (Toulouse) Access to C/Posix; C/RTEMS; Ada/Ravenscar code generators Status In progress
Source Code Generator Ramses.aadl FIACRE toolchain RAMSES Description Collaboration with Telecom ParisTech Adding C/ARINC653 code generator Include ARINC653 scheduling analysis with CHEDDAR Status In progress by Telecom and Ellidiss Demo planned for the Paris Air Show (June 2013) using an avionic processor board (IC-PPC-VPX3B) using an industrial ARINC 653 OS (Integrity) demo on the Ellidiss booth (Hall 2B, E121)
UML/Marte Reader.xmi.pro.aadl.sbp Description Converts a subset of UML/MARTE into AADL Based on the AADL annex A2 of the MARTE 1.0 profile specification Status Existing prototype developed in ATL for Airbus New implementation has not started yet
SysML Reader.xmi.pro.aadl.sbp Description Converts a subset of SysML into AADL No standard mapping available: requires end users requirements Status Not started yet
Roadmap 2013 2014 Q2 Q3 Q4 Q1 AADL Inspector 1.1 STOOD 5.4 Paris Air Show AADL Inspector 1.2 AeroTech AADL Inspector 1.3 STOOD 5.4: - AADL 2.1 update AADL Inspector 1.2: - ARINC 653 with Cheddar and Ramses - Enhanced graphical display for Cheddar and Marzhin - AADL Inspector 1.3: - UML/MARTE reader -
Products: Stood Adele Taste AADL Inspector AADL Builder Conclusion: an AADL centric company Service: Tool support Custom Tool development (DSM) Technology: «home-made» lightweight frameworks: GMP: for graphical tools LMP: for model processing Projects: ASSERT SPICES GLASSES QUARTEFT PARSEC CHEDDAR SMART ADOSATE