24
1 AADL * Overview Brief and Pointless Ivan Ruchkin November 12, 2012 *Architecture Analysis and Design Language

AADL Overview: Brief and Pointless

Embed Size (px)

DESCRIPTION

My short presentation on basics of AADL. Focused on the language and special features.

Citation preview

Page 1: AADL Overview: Brief and Pointless

1

AADL* OverviewBrief and Pointless

Ivan Ruchkin

November 12, 2012

*Architecture Analysis and Design Language

Page 2: AADL Overview: Brief and Pointless

2

Agenda

● Intro● Elements

– Components

– Ports

– Connections

● Special features– Modes

– Flows

– Annexes

Page 3: AADL Overview: Brief and Pointless

3

Definition

● What it is:– (Systems Engineering) A high-level system

specification language, specialized on real-time and embedded systems.

– (Architecture Description) an ADL for the domain of avionics and automotive.

● What is it not:– Not UML

– Not programming language

Page 4: AADL Overview: Brief and Pointless

4

Use of AADL

● Capture topology of architecture + properties– Specific to embedded real-time systems

● Generate code– C, Simulink, UML

● Do analysis– For example, end-to-end latency

– May extend with annexes

– Tools not included into AADL

Page 5: AADL Overview: Brief and Pointless

5

Timeline

● 2004: the Society of Automotive Engineers (SAE) released AADL v1.0.

– 4 annexes

● 2009: AADL v2.0.– Several major additions and improvements, +3

annexes

● 09/2012: AADL v2.1.– Minor fixes, +3 annexes

* This presentation considers 1.0

Page 6: AADL Overview: Brief and Pointless

6

AADL Notations

● Plain text

● Graphical

● XML

Page 7: AADL Overview: Brief and Pointless

7

AADL Graphic Notation

Page 8: AADL Overview: Brief and Pointless

8

Component Base Types 1 of 2

● Software (“application”):– Thread – a unit of execution

– Process – a unit of protected address space

– Thread group – a logical grouping of threads

– Data – a unit of information

– Subprogram – a callable unit of code

Page 9: AADL Overview: Brief and Pointless

9

Component Base Types 2 of 2

● Hardware (“execution platform”):– Processor – an executer for threads

– Memory – a binary data storage

– Device – a component that interfaces with external environment (transducer)

– Bus – a communication channel

● Composite– System – a composite component

Page 10: AADL Overview: Brief and Pointless

10

Separation of Type and Impl● Component type: externally visible

– Extends

– Features

– Flows

– Properties

● Component impl: externally invisible– Extends, refines

– Subcomponents, calls, connections

– Flows

– Modes

– Properties

Page 11: AADL Overview: Brief and Pointless

11

Example: Component (text)

process control_processing

features

input: in data port sensor_data;

output: out data port command_data;

end control_processing;

process implementation control_processing.speed_control

subcomponents

control_input: thread control_in.input_processing_01;

control_output: thread control_out.output_processing_01;

end control_processing.speed_control;

Page 12: AADL Overview: Brief and Pointless

12

Example: Component (diagram)

Page 13: AADL Overview: Brief and Pointless

13

Example: Thread Lifecycle

Page 14: AADL Overview: Brief and Pointless

14

Example: Device

Page 15: AADL Overview: Brief and Pointless

15

Ports

● Data ports– Typed state data, no queuing

● Event ports– Event data, may be queued

● Both: event data ports– Typed data and event with queuing.

Page 16: AADL Overview: Brief and Pointless

16

Connectors (conceptually)

● Port dataflow● Shared data access (data or bus)● Subprogram call

– By value

– By reference

– Global

* Not first-class elements, unlike e.g. ports

Page 17: AADL Overview: Brief and Pointless

17

Binding

● For a model to be complete:– Each thread bound to processor

– Each process, data, and port bound to memory

– Each interprocessor communication is bound to bus

– …

● No language primitives to bind– Assuming it is done automatically

Page 18: AADL Overview: Brief and Pointless

18

Modes

● State of a component● Part of the component's state machine

Page 19: AADL Overview: Brief and Pointless

19

Example: Modes

Page 20: AADL Overview: Brief and Pointless

20

Flows

● An abstract information path from the source to the sink

● Directional● Type contains source, sink, and path

Page 21: AADL Overview: Brief and Pointless

21

Annexes

● Language extensions (not libraries of types!)● Needs to be approved● Currently around 10:

– Notation annexes (graphical, XML)

– Error model annex

– Behavior annex

– ...

Page 22: AADL Overview: Brief and Pointless

22

Summary for the Language

● Separation of software and hardware● Separation of type and implementation● Specific semantics: properties and constraints● Special features: modes, flows● Generation to code, Simulink, UML● Analysis tools - standalone● Analogy to views: implementations

– Unified through shared types

Page 23: AADL Overview: Brief and Pointless

23

References

● P. Feiler, D. Gluch, J. Hudak, B. Lewis. Embedded System Architecture Analysis Using SAE AADL. CMU/SEI-2004-TN-005. June 2004.

● P. Feiler, D. Gluch, J. Hudak. The Architecture Analysis & Design Language (AADL): An Introduction. CMU/SEI-2006-TN-011. February 2006.

● P. Feiler, J. Hudak. Developing AADL Models for Control Systems: A Practitioner’s Guide. CMU/SEI-2006-TR-019. October 2006.

Page 24: AADL Overview: Brief and Pointless

24

Thank you!