113
AADL Architecture Analysis & Design Language (SAE AS-5506A Std) An Introduction G. Edward Roberts [email protected] 6/30/2011 1 [email protected] Copyright 2011

AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

  • Upload
    dangque

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

AADL Architecture Analysis & Design

Language(SAE AS-5506A Std)

An Introduction

G. Edward Roberts

[email protected]

6/30/2011 [email protected] Copyright 2011

Page 2: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Freely taken from

Page 3: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 4: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 5: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 6: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

AADL Representation Forms

6/30/2011 [email protected] Copyright 2011

Page 7: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

MetaModel

e.g. For use wthOSATE

6/30/2011 [email protected] Copyright 2011

Page 8: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 9: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

9

TOGAF to the Platform

TOGAF

SysML

AADL

Acceleo

UML2

RT Java 5With Annotations

ATL

ATL

System

Enterprise

“Electronics”

Software

Implementations

Phase D

ATL = Atlas Transform Language6/30/2011 [email protected] Copyright 2011

Page 10: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 11: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

UML2 MARTE Profile

SysML

UML

MARTE

AADL

6/30/2011 [email protected] Copyright 2011

Modeling and Analysis of Real-Time and Embedded Systems (MARTE)

Page 12: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

MARTE Sections• NFP (Non-Functional Properties) Modeling• VSL (Value Specification Language)• Time Modeling• GRM (General Resource Modeling)• Alloc (Allocation) Modeling• GCM (Generic Component Modeling)• HLAM (High-Level Application Modeling)• DRM (Detail Resourced Modeling)• GQAM (Generic Quantitative Analysis Modeling)• SAM (Schedulability Analysis Modeling)• PAM (Performance Analysis Modeling)• RSM (Repetitive Structure Modeling)

6/30/2011 [email protected] Copyright 2011

Page 13: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

NFP (Non-Functional Properties) Modeling

6/30/2011 [email protected] Copyright 2011

Page 14: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

VSL (Value Specification

Language)

6/30/2011 [email protected] Copyright 2011

Page 15: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Time Example

6/30/2011 [email protected] Copyright 2011

Page 16: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

GRM Example

6/30/2011 [email protected] Copyright 2011

Page 17: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Alloc

6/30/2011 [email protected] Copyright 2011

Page 18: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

SRM (Software Resource Modeling)

6/30/2011 [email protected] Copyright 2011

Page 19: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

HRM Primitives

6/30/2011 [email protected] Copyright 2011

Page 20: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

SAM (Schedulability Analysis Modeling)

6/30/2011 [email protected] Copyright 2011

Page 21: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

PAM (Performance Analysis Modeling)

6/30/2011 [email protected] Copyright 2011

Page 22: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Repeative Structure Modeling (RSM)

6/30/2011 [email protected] Copyright 2011

Page 23: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 24: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 25: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

AADL Toolset• OSATE – Open Source

– SEI developed, full language editing and semantic checking, multiple analysis plug-ins,

Eclipse based, integrated text and graphical editing with TOPCASED

• TOPCASED – Open Source

– Airbus led , 20 companies, Metamodeling Framework, AADL Graphics, AADL XML,

model transformation, Behavior Annex, also will support UML, stable July 2007

• STOOD - Commercial

– CASE toolset supporting UML, HOOD and AADL. Includes transformations between

notations, document support. Works with OSATE, TOPCASED, and Cheddar

• OCARINA – Open Source

– ENST AADL graphics and middleware generation and integration to AADL model of

network distributed processors. Creates formal model of executive integrated in AADL.

Generates to network protocols – CORBA, RT, FT

• Fremont – Open Source, Consulting and Toolset support

– AADL to ACRS (process algebra), formal analysis of concurrent resources.

– AADL to Charon, generation and integration of hybrid control systems.

– AADL Architecture Simulator – integrates event driven and schedule driven

• Generic Modeling Environment (GME) – Consortium

– Vanderbilt Univ, DARPA sponsored Metamodeling Framework, AADL capture and role

based system security analysis, model transformation, integration.

• CHEDDAR – Open Source

– Univ of Brest, advanced scheduling analysis toolset6/30/2011 [email protected] Copyright 2011

+6M EurosFrom EU

Page 26: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 27: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 28: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Standard Component Types

•data• subprogram•subprogram group•thread•thread group•process

Software Components Execution Platform Components

•processor,•virtual processor •memory•bus•virtual bus

Compute Hardware:

Physical Environment:

•device

System Component

•system•abstract•prototype

Component

6/30/2011 [email protected] Copyright 2011

Page 29: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Software Components

Subprogram Group - represent subprogram libraries.

6/30/2011 [email protected] Copyright 2011

Page 30: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Execution Platform Components

6/30/2011 [email protected] Copyright 2011

Page 31: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Type vs Implementation

2. the implementation, describes the contents of the component (subcomponents, properties, connections, etc.).

1. Type represents the functional interface of the component, what is visible by other components

Note: Types have thin lines and implementations have thick lines

hierarchical organization of components

6/30/2011 [email protected] Copyright 2011

Page 32: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Inheritance: type and impl

6/30/2011 [email protected] Copyright 2011

Page 33: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

System State Model

6/30/2011 [email protected] Copyright 2011

Page 34: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Properties

This Startup_Deadline applies to onlyInstances of this type

This Startup_Deadline applies to onlyThis instance

6/30/2011 [email protected] Copyright 2011

Page 35: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Property SetsA named group of property types, property definitions, and property constant values.

property set mine isLength_Unit : type units ( mm,

cm => mm * 10,m => cm * 100,

km => m * 1000 );OnOff : type aadlboolean;Car_Length : type aadlreal 1.5 .. 4.5 units Length_Unit ;Speed_Range : type range of aadlreal 0 .. 250 units ( kph );Position : type record (X: aadlinteger; Y: aadlinteger; );Max_Threads : constant aadlinteger => 256;

end mine;

This type declaration references a separately declared units type

This type declaration defines the units in place

6/30/2011 [email protected] Copyright 2011

Page 36: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Property Types

Boolean – aadlbooleanString – aadlstringEnumerations – enumeration ( literal1, literal2, … )Units – units ( unit1, unit2 => unit * factor, … )aadlinteger [lower_bound .. upper_bound] [units units]aadlreal [lower_bound .. upper_bound] [units units]range of number_typeclassifier * ( category1, category2, … ) +reference * ( named_element_kind1, … ) +record ( field_name1: * list of + property_type1; … )

6/30/2011 [email protected] Copyright 2011

Page 37: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Predefined PropertiesThe AADL standard includes 7 pre-declared property sets which areavailable in every AADL specification

1. Deployment_Properties – Binding constraints and actual bindings ofapplication software to execution platform components2. Thread_Properties – Characteristics of active components (threads anddevices): dispatching, concurrency, mode transition3. Timing_Properties – Time related characteristics of active components;runtime system support for thread execution4. Communication_Properties – Properties to specify connection topology andqueuing characteristics5. Memory_Properties – Properties related to memory as storage, and memoryand device access6. Programming_Properties – Properties to specify relationship between AADLmodel elements and elements of an implementation in a programminglanguage or hardware description language7. Modeling_Properties – Properties that relate to the model itself

6/30/2011 [email protected] Copyright 2011

Page 38: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Timing_Properties Example

property set Timing_Properties is…Startup_Deadline: Timeapplies to (processor, virtual processor, process, system);…end Timing_Properties;

One can now see how one could extend these components with propertiesFrom a different domain of interest (in an Annex)

Any namable model element, e.g., components, features, modes, connections,

flows, and subprogram calls

Properties are available for:

6/30/2011 [email protected] Copyright 2011

Page 39: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Subcomponent

system implementation CarSystem.implsubcomponents

braking: system BrakingSystem;end CarSystem.impl;

system CarSystemend CarSystem;

system BrakingSystemend BrakingSystem;

6/30/2011 [email protected] Copyright 2011

Page 40: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Subcomponent Array

6/30/2011 [email protected] Copyright 2011

Page 41: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 42: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 43: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 44: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 45: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

What do we need to describe an Architecture?

Component Component

Feature

describes an interface of a component through which control and data may be provided to or required from other components.

specify interaction between components at runtime.

Connection

6/30/2011 [email protected] Copyright 2011

Page 46: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Feature Typesdata port - connection points for transfer of state data such as sensor data

event port - connection points for transfer of control through raised events that can trigger thread dispatch or mode transition.

event data port - connection points for transfer of events with data, i.e., messages that may be queued.

Provided subprogram access - entrypoints to code sequences in source text that is associated with a data type or a thread that can be called locally or remotely

Subprogram parameters - represent in and out parameters of a subprogram.

Data component access - provided and required access to shared data.

Bus component access - provided and required access to buses for processors, memory, and devices.

6/30/2011 [email protected] Copyright 2011

Page 47: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Ports

6/30/2011 [email protected] Copyright 2011

Page 48: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Ports

6/30/2011 [email protected] Copyright 2011

Page 49: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Subcomponents and Connections

6/30/2011 [email protected] Copyright 2011

Page 50: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

System Connections

The Semantic Connection is from thread1.impl to thread2.impl

6/30/2011 [email protected] Copyright 2011

Page 51: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Port Typing

data Alpha_Typeproperties

Source_Data_Size => 256 Bytes;end Alpha_Type;

thread Pfeatures

Data_Source : out data port Alpha_Type;end P;

6/30/2011 [email protected] Copyright 2011

Page 52: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Pattern: Message Passing

6/30/2011 [email protected] Copyright 2011

Page 53: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 54: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 55: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connection Types

Timing : enumeration (sampled, immediate, delayed) => sampled

6/30/2011 [email protected] Copyright 2011

Page 56: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Sampled Data Port Connection

6/30/2011 [email protected] Copyright 2011

Page 57: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connection Type (cont.)

6/30/2011 [email protected] Copyright 2011

Page 58: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 59: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 60: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 61: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Subprogram/Group Access

thread implementation node.icalls

{call1 : subprogram sp;call2 : subprogram sp;};

connectionsparameter e -> call1.e;parameter e -> call2.e;parameter call1.s -> s;parameter call2.s -> s;

end node.i;

subprogram spfeatures

e : in parameter d;s : out parameter d;

end sp;

data dend d;

thread nodefeatures

e : in event data port d;s : out event data port d;

end node;

6/30/2011 [email protected] Copyright 2011

Page 62: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Execution Semantics: Example

•the first incoming data in e is stored in var1• the second incoming data is passed to call1• call2 uses the first data, stored in var1• call3 uses the output of call1• the output of call1 is stored in var2• the outputs of call2 and call3 are sent through s• the content of var2 is then sent through s

6/30/2011 [email protected] Copyright 2011

Page 63: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Pattern: Remote Procedure Call

6/30/2011 [email protected] Copyright 2011

Page 64: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 65: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Data Component

data implementation Address.otherssubcomponents

street : data Base_Types::String;streetnumber: data Base_Types::Integer;city: data Base_Types::String;zipcode: data Base_Types::Integer;

end Address.others;

data Addressfeatures

getStreet : provides subprogram access;getCity : provides subprogram access;

end Address;

6/30/2011 [email protected] Copyright 2011

Page 66: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Pattern: Object Oriented

data classfeatures

public_method : subprogram;end class;

data implementation class.isubcomponents

attribute : data;private_method : subprogram;

end class.i;

6/30/2011 [email protected] Copyright 2011

Page 67: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 68: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 69: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Data Access

thread Thread1features

A: provides data access Data1;B: required data access Data2;

end Thread1;

thread Thread2features

C: requires data access Data1;end Thread2;

6/30/2011 [email protected] Copyright 2011

Page 70: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 71: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 72: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Bus Shared Accesssystem System1end System1;

system implementation System1.implfeatures

A: provides bus access Bus1;subcomponents

B: processor Processor1;C: device Device1;D: memory Memory1;

connectionsbus access A <-> B.E;

end System1.impl;

processor Processor1features

E: requires bus access Bus1;end Processor1;

6/30/2011 [email protected] Copyright 2011

Page 73: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 74: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Example Flows

6/30/2011 [email protected] Copyright 2011

Page 75: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 76: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 77: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 78: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 79: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Abstract Features

6/30/2011 [email protected] Copyright 2011

Page 80: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Feature Arrays

6/30/2011 [email protected] Copyright 2011

Page 81: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connecting Arrays

6/30/2011 [email protected] Copyright 2011

Page 82: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connection Patterns – One Dimension

6/30/2011 [email protected] Copyright 2011

Page 83: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connection Patterns – Two Dimensions

6/30/2011 [email protected] Copyright 2011

Page 84: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Connection Sets

6/30/2011 [email protected] Copyright 2011

Page 85: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 86: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Feature Group as a plug

feature group xfer_plugfeatures

Alpha : out data port Alpha_Type;Beta : in data port Alpha_Type;

end xfer_plug;

process Afeatures

Produce : feature group xfer_plug;end A;

feature group xfer_socket inverse of xfer_plugend xfer_socket;

6/30/2011 [email protected] Copyright 2011

Page 87: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 88: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 89: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 90: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Binding

thread implementation Producer.Basicproperties

Compute_Execution_Time => 0ms..10ms in binding ( PowerPC.speed_350Mhz );Compute_Execution_Time => 0ms..8ms in binding ( PowerPC.speed_450MHz );

end Producer.Basic ;

processor PowerPCfeatures

Card_Connector : requires bus access VME;end PowerPC;

thread Producerend Producer;

processor implementation PowerPC.speed_350Mhzproperties

Speed => 350Mhz;end PowerPC.speed_350Mhz;

6/30/2011 [email protected] Copyright 2011

Page 91: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 92: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Modeling ARINC 653 Partitions

6/30/2011 [email protected] Copyright 2011

Page 93: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 94: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 95: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 96: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Abstract Component Example

system implementation carRT.impl extends car.genericsubcomponents

PowerTrain : refined to process power_train;ExhaustSystem : refined to process exhaust_system;

end carRT.impl;

abstract carend car;

abstract implementation car.genericsubcomponents

PowerTrain: abstract power_train;ExhaustSystem: abstract exhaust_system;

end car.generic;abstract power_train

featuresexhaustoutput: requires bus access Manifold;

end power_train;abstract exhaust_system

featuresexhaustManifold: provides bus access Manifold;

end exhaust_system;system carRT extends carend carRT;

6/30/2011 [email protected] Copyright 2011

Page 97: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Prototype Consistancy

6/30/2011 [email protected] Copyright 2011

Page 98: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Another Prototype Example

abstract flowComponentprototypes

dt: data;incoming: in feature;

featuresinsignal: in feature incoming;outsignal: out data port dt;

end flowComponent;

process controller extends flowComponent ( dt => data signal.unit16,incoming => event data port signal.unit16 )

end controller;

data implementation signal.unit16end signal.unit16;

data signalend signal;

6/30/2011 [email protected] Copyright 2011

Page 99: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 100: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 101: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 102: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 103: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 104: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 105: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Packageprovide a means to organize the descriptions by the use of namespaces

package carPackagepublic

system CarSystemend CarSystem;

end carPackage;

6/30/2011 [email protected] Copyright 2011

Page 106: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Package

package Aircraft::Cockpitpublic

with Avionics::DataTypes,Safety_Properties;AirData renames Avionics::DataTypes::AirData;system MFD

featuresAirdata: in data port AirData;

propertiesSafety_Properties::Safety_Criticality => high;

end MFD;end Aircraft::Cockpit;

A defining package name must be unique in the global namespace.

A defining package name consists of a sequence of one or more package identifiers separated by a double colon

Provides a structure for organizing component type, component implementation, feature group types, and annex libraries into a separate namespace

Packages can be organized hierarchically by giving them nested package names. this hierarchy does not impose any restrictions on whether a package is accessible by other packages

6/30/2011 [email protected] Copyright 2011

Page 107: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

public and private

Declarations in the private section are visible only within private section of the package, i.e., they cannot be referenced from thepublic section or from other packages.

package Apublic

system Bend B;

private system Cend C;system Dend D;

end A;

package Epublic

system F end F;

end E;

Packages have a public and a private section

Declarations in the public section are visible outside the package, i.e., names declared in the public part can be referenced by declarations in other packages.

6/30/2011 [email protected] Copyright 2011

Page 108: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Annexenable the use of declarations written in another sublanguage.

The AADL core language is extensible through

1. property sets, 2. annex subclauses3. annex libraries (standardized or user-defined)

Annex subclauses consist of annex-specific sublanguages whose constructs can be added to component types and component implementations.

Annex libraries are declarations of reusable annex specificsublanguage elements that are placed in AADL packages and can be referenced in annex subclauses.

You are basically free to define whatever language you want in these libraries.

6/30/2011 [email protected] Copyright 2011

Page 109: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Use of an Annex in Model

thread Collect_Samplesfeatures

Input_Sample : in data port Sampling::Sample;Output_Average : out data port Sampling::Sample;

annex Error_Model {**Model => Transient_Fault_Model;Occurrence => 10e-4 poisson applies to Transient_Fault;

**};end Collect_Samples;

6/30/2011 [email protected] Copyright 2011

Page 110: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

6/30/2011 [email protected] Copyright 2011

Page 111: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Standard AnnexAnnex Document A Code Generation [not normative] provides guidance for automatic generation and integration of runtimesystems and application code in different implementation languages. It defines a standardized set of properties for recording mappings from the AADL model to source text and for automatic code generation.

Annex Document B Data Modeling [not normative] provides guidance on data modeling and how to map relevant data modelinginformation into an AADL model if desirable. It defines a standardized set of properties and basic data types in support of data modeling.

Annex Document C Error Modeldefines a standardized core language extension in the form of a sublanguagenotation and properties the component to support annotating AADL models with safety-criticality and dependability related information of a system.

Annex Document D Behavior Modeldefines a standardized core language extension in the form of asublanguage notation to specify the behavior of AADL components as AADL model annotations.

Annex Document E Mini Annexes6/30/2011 [email protected] Copyright 2011

Page 112: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Error Annex Example

6/30/2011 [email protected] Copyright 2011

Page 113: AADL Architecture Analysis & Design Language ... - ipa.go.jp · AADL Toolset • OSATE –Open Source –SEI developed, full language editing and semantic checking, multiple analysis

Discussion

• Is this a “formal method”?

• What is the advantages and disadvantages of this over VDM?

6/30/2011 [email protected] Copyright 2011 113