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

AADL Overview: Brief and Pointless

Jan 19, 2015

Download

Documents

Ivan Ruchkin

My short presentation on basics of AADL. Focused on the language and special features.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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!