xuml and AADL xuml, AADL and Beyond Chris Raistrick www.kc.com
xuml and AADL xuml Overview Chris Raistrick www.kc.com
Platform Independent Model A Platform Independent Model (PIM) is a technology agnostic model of some aspect of the system under study. A PIM contains no information about any of the following: Hardware Architecture Operating System Programming Language Database Technology Internal Communication Technology It is therefore much simpler than a Platform-Specific Model (PSM) Use of Executable UML (xuml) allows construction of PIMs that are: Precise Complete PIMs built using xuml can be: Executed to demonstrate compliance with functional requirements Automatically translated into a complete Platform Specific Implementation using a suitable model translator Used as executable specifications, forming the basis for contract-based procurement 3
Built by application experts The MDA Process Overview MDA with xuml Development Build PIM (xuml) Define PIM-PSI Mapping Rules Built by technology experts PIM PIM-PSI Mapping Rules Translate PIM To PSI PSI (AADL/C++/Ada/ ) 4
Service Layers on the Domain Model Network Level Services Mission Level Services Store Control Services (API) Store OSI Services (API) Specific Comms Services UML Execution Services 8
Classes Classes identify the things that exist with a domain. Ideally, they represent things in the real world of that domain. They establish the vocabulary of the domain, or area of expertise. For example, the Effectors domain might contain this class 10
Attributes Attributes specify what we know about each thing (or class). They are analogous to data. 11
Operations Operations specify what we can do to each thing. They are analogous to code. 12
Operations and Methods Every operation has a method, comprising the ASL to specify that operation. Use of ASL makes the model executable while preserving platform independence. Find a set of objects Invoke an object-scoped operation Create a link 13
Associations Associations capture real-world connections between classes. 14
Internal and External Interfaces The Class Collaboration Diagram shows the interfaces within the system, and between the system and the outside world. In this view, Actors are represented as <<Terminator>> classes. Internal interface Class Collaboration Diagram Use Case Diagram External interface 15
Signals on The Class Collaboration Diagram The Class Collaboration Diagram shows this signal is generated by the Weapon class and received by the Target class 16
State Machines and Signals The Weapon class has a state machine, represented using this statechart The Target class has a state machine, represented using this statechart 17
The Primary xuml Models Domains Classes States Actions 18
xuml and AADL Chris Raistrick xuml to AADL www.kc.com
21 A Translation-Based MDA Process PIM to PSM Mapping Apply the PIM to PSM Mapping PSM (AADL) Hardware Hardware and and software software architecture architecture experts experts build build this this Existing ALWI Docs Software Software experts experts build build this this Requirements Build Store API PIM PIM (xuml) PSM to PSI Mapping Weapon Weapon experts experts build build this this Apply the PSM to PSI Mapping Only the PIM is maintained PSMs and PSIs are automatically generated PSI (Ada)
Aircraft Platform Characteristics E2 JSF F16 Aircraft Platform Specification We could specify the hardware architecture, and existing software and bus loadings, of each aircraft type and generate one or more Aircraft Platform Specific Models from each PIM 22
An xuml-aadl Process Requirements Build Platform Independent xuml API Model Platform Independent xuml API Model Automatically Generate Target Code Target Code Automatically Generate AADL from xuml PIM E2 JSF F16 Aircraft Platform Specification Refine xuml API Model E2 JSF F16 AADL Specification AADL Problems Analyse AADL Specification Identify Problems in AADL AADL Analysis Results 23
(Simplified) AADL Metamodel 24
(Simplified) AADL Metamodel Regions Software Components Hardware Components Hardware-Software Allocations 25
Configure the AADL Model for the Hardware Components Aircraft hardware architecture The AADL model is configured with data to capture the aircraft platform hardware architecture Platform Independent xuml API Model Automatically Generate AADL from xuml PIM Aircraft Platform Specification AADL Specification 26
Populate the AADL Metamodel with Software Components xuml Aircraft Model Platform Independent xuml API Model Automatically Generate AADL from xuml PIM Aircraft Platform Specification AADL Specification 27
PIM-PSM-PSI Mappings Are Defined at the Metamodel Level (part of) PIM Metamodel (xuml) (part of) PSM Metamodel (AADL) (part of) PSI Metamodel (Ada 83) Class SW Component Package Attribute Data Port Data Type Signal Event Port Spec Subprogram xuml xuml Metamodel Metamodel Define Mapping PSM PSM Metamodel Metamodel Define Mapping PSI PSI Metamodel Metamodel 28
Apply Mappings to Generate AADL (part of) xuml Metamodel Class Attribute SignalGeneration The system experts define mappings onto AADL (part of) AADL Metamodel Software Component Data Port Event Port The application experts instantiate the xuml Metamodel classes the AADL mappings are applied to the xuml objects to generate the AADL Nav signal data From Partitions Navigation Sensor Processing 20Hz Nav sensor data 10Hz Integrated Nav Nav sensor Navigation data data Phase delay of Periodic I/O 20Hz Guidance Processing Guidance To Partitions 5Hz Flight Plan Processing FP data Fuel Flow FP data Nav data 2Hz Aircraft Performance Calculation Performance data Aircraft System PIM Generated Aircraft System AADL 29
Apply Mappings to Generate Code (part of) xuml Metamodel Class Attribute SignalGeneration The Ada experts define mappings onto Ada (part of) Ada Metamodel Package BodyVariable SubprogramCall The application experts instantiate the xuml Metamodel classes the Ada mappings are applied to the xuml objects to generate the application Ada Aircraft System PIM Generated Aircraft System Ada 30
Apply Mappings to Generate AADL and Code Nav signal data From Partitions Navigation Sensor Processing 20Hz Nav sensor data 10Hz Integrated Nav Nav sensor Navigation data data Phase delay of Periodic I/O 20Hz Guidance Processing Guidance To Partitions Aircraft System PIM 5Hz Flight Plan Processing FP data Fuel Flow FP data Nav data 2Hz Aircraft Performance Calculation Performance data Generated Aircraft System AADL 31
xuml and AADL Summary www.kc.com
MDA to Capture Application and Design Expertise Formalised Intellectual Property This approach ensures that all expertise is formalised, and made reusable, in xuml. Application Domains Build & Test xuml models Generate AADL and Ada Components Aircraft Platform-Specific Implementations AADL/Ada Generation Domains 33
MDA Benefits Captures intellectual property valuable subject matter expertise is captured in a standardised, reusable, readily shared and easily maintainable manner; Executable and testable models early verification that requirements are understood and early demonstration of required system behaviour lowers through-life costs, reduces risk and increases confidence; Resilience to change changes in functional requirement are isolated from changes in technology and platform, therefore giving the ability to migrate to the next generation platform without model rework; 100% code generation from models so models are maintained and code is a derived product, models never become obsolete and are guaranteed to always be up-to-date; Reduced lifecycle costs through early defect identification, maintained separation of concerns and minimised impact of change; 34
xuml and AADL The End www.kc.com