Overview of the XML Schema for the SAE AADL Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790
Outline Background: SAE AADL Standard An XML-Based Tool Strategy Defining the XML representation Plug n play tool components Summary 2
SAE Architecture Analysis & Design Language Notation for specification of task and communication architectures of Real-time, Embedded, Fault-tolerant, Secure, Safety-critical, Software-intensive systems Fields of application: Avionics, Automotive, Aerospace, Autonomous systems, Based on 15 Years of DARPA funded technologies Standard approved by SAE in Sept 2004 3
Automatic Target Recognition Guidance & Control Supply Chain Mechanized Sensor Ambulatory & Signal Processing Model-Based Engineering System Analysis Schedulability Performance Reliability Fault Tolerance Dynamic Configurability Model the Architecture Abstract, but Precise Composable Components Application Software Information Fusion Software System Engineer System Integration Runtime System Generation Application Composition System Configuration Execution Platform Predictive System Engineering Reduced Development & Operational Cost GPS DB HTTPS Ada Runtime.......... Devices Memory Bus Processor 4
The AADL Standard Requirements document SAE ARD 5296 Input from aerospace industry Balloted and approved in 2000 SAE AADL document SAE AS 5506 Core language approved by SAE Sept 2004 In review to be balloted late 2004 Graphical AADL notation UML profile of AADL for UML1.4 and UML 2.0 XMI domain model, XML schema Ada and C Annex In development Error Model Annex ARINC 653 Annex 5
Standard Model Interchange Format Benefits (Sub-)Contractor architecture model delivery & exchange Company internal architecture model library Tool interoperability Why is textual AADL not sufficient? 6
An XML-Based Tool Strategy AADL Front-end Textual AADL Semantic Checking Graphical AADL AADL XML Scheduling Analysis Commercial Tool Reliability Analysis Research prototype Safety Analysis AADL Runtime Generator Project-Specific In-House 7
Two-Tier Tool Strategy Open Source AADL Tool Environment (OSATE) Developed by SEI Low entry cost solution (no cost CPL) Multi-platform based on Eclipse 3.0 Prototyping environment for project-specific analysis Architecture research platform Commercial Tool Support UML tool environment extension based on UML profile Extension to existing modeling environment with AADL export/import Analysis tools interfacing via XML or XML to native filter Runtime system generation tools 8
AADL Text Example package edu::cmu::sei::xmiexample public system GPS features init: in event port; signal: out data port GPS_Signal; end GPS; system implementation GPS.basic end GPS.Basic; data GPS_Signal end GPS_Signal; end edu::cmu::sei::xmiexample; 9
AADL XML Example <?xml version="1.0" encoding= UTF-8"?> <core:aadlspec xmi:version="2.0" > <packagespec name="edu::cmu::sei::xmiexample"> <aadlpublic> <systemtype name="gps"> <features> <eventport name="init"/> <dataport name="signal" direction="out" dataclassifier= #//packagespec[@name=edu::cmu::sei::xmiexample]/aa dlpublic/datatype[@name=gps_signal]"/> </features> </systemtype> <systemimpl name="gps.basic" comptype= #//packagespec[@name=edu::cmu::sei::xmiexample]/aadlp ublic/systemtype[@name=gps]"/> <datatype name="gps_signal"/> </aadlpublic> </packagespec> </core:aadlspec> 10
Large-Scale Development Component type and implementation declarations in packages Name scope for component types Public and private package sections Grouping into manageable units Nested package naming Qualified naming to manage name conflicts Supports independent development of subsystems Supports large-scale system of system development 11
Subcontractor Management Subcontractor specific name spaces Separation of public and private package sections package edu::cmu::sei::redundancypatterns public -- publically accessible component interfaces system PrimaryBackupPattern -- features end PrimaryBackupPattern; end edu::cmu::sei::redundancypatterns; -- separate file package edu::cmu::sei::redundancypatterns private -- source not accessible to outsiders end edu::cmu::sei::redundancypatterns; 12
Defining the XML Representation XML Data Type Definition (DTD) Define tags & hierarchical structure XML Schema XMI Better handling of references & typing Meta model definition XML documents with document change information Record of content additions/changes by different tools 13
Leverage of Existing Technology UML Model & Design XMI XSD XML Documents Transformation Tools Database Tools Integrate Testing Tools Model Driven App Development Annotated Java XSD, XMI Java EMF - The Data Integration Foundation of Eclipse MetaData Management Java Tools Etc.. www.eclipse.org/emf 14
AADL Meta Model Defined in Eclipse Modeling Framework (EMF) Collection of meta model packages with graphical views Separate from, but close to UML profile of AADL XML as persistent storage XMI specification from Ecore meta model Generated XML schema In-core AADL model Generated methods for AADL model manipulation Edit history, deep copy, object editor, graphical editor Methods to support AADL extends hierarchy feature inheritance property value inheritance 15
AADL Meta Model Fragment 16
Three Model Components AADL Frontend Textual AADL Semantic Checking Graphical AADL Declarative AADL Model AADL Instance Model Graphical Layout Information Scheduling Analysis Commercial Tool Reliability Analysis Research prototype AADL Runtime Generator Safety Analysis Project-Specific In-House 17
Tool Interoperability AADL Frontend Textual AADL Semantic Checking Graphical AADL Co-resident tool AADL XML Tool Interface Declarative AADL Model AADL Instance Model Persistent XML document Convert Tool-specific XML Representation Graphical Layout information Convert Tool-specific representation 18
An Open Source AADL Tool Environment Embry-Riddle Reliability Analysis AADL Extensions Error model Concurrency behavior Concurrency Analysis OMNET++ Network simulation Object Model Interface Network model Model Export Filters Timing model Architecture Import & Extraction Architecture Export MetaH, TTA System Verification Manager (CMU) Simulink/Matlab, Dymola models MetaH Toolset (Honeywell) Scheduling analysis Reliability analysis Isolation analysis Runtime system generation TimeWeaver (CMU) Distributed resource allocation Multi-platform runtime system generation TimeWiz Commercial Tool Scheduling analysis Execution trace analysis 19
Final Observations Industry-standard architecture modeling notation for embedded systems Abstract but precise modeling Early and repeated predictable analysis Architecture model libraries Industry-standard XML interchange format Architecture model interchange between contractors Lower cost plug n play AADL tools Interoperability of analysis and generation tools 20