18
1 Lecturer : Henry Muccini Computer Science Department University of L'Aquila - Italy [email protected] [www.HenryMuccini.com ] Course : Advanced Software Engineering Course Web-site: [www.di.univaq.it/SE+/] Lecturer : Vittorio Cortellessa Computer Science Department University of L'Aquila - Italy [email protected] - [www.di.univaq.it/cortelle ] Lecturer : Vittorio Cortellessa Computer Science Department University of L'Aquila - Italy [email protected] - [www.di.univaq.it/cortelle ] L08: LAB ADL 2 SEA Group © 2008 by H. Muccini and V. Cortellessa SEA Group SEA Group Copyright Notice » The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Henry Muccini

Course: AdvancedSoftware Engineering - UnivAQ/0809/Lectures/8_LabADL… ·  · 2009-11-30DAOP ADL CommUnity C2 SADEL C2 AML C2 ARTECH ArchiTRIO ArchWare ArchJava AESOP ... Management

Embed Size (px)

Citation preview

1

Lecturer:Henry Muccini

Computer Science Department University of L'Aquila - Italy

[email protected] –[www.HenryMuccini.com]

Course:

Advanced Software EngineeringCourse Web-site: [www.di.univaq.it/SE+/]

Lecturer:Vittorio Cortellessa

Computer Science Department University of L'Aquila - Italy

[email protected] -[www.di.univaq.it/cortelle]

Lecturer:Vittorio Cortellessa

Computer Science Department University of L'Aquila - Italy

[email protected] -[www.di.univaq.it/cortelle]

L08: LAB ADL

2SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Copyright Notice

» The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit referenceor acknowledge to the material author is preserved.

Henry Muccini

2

3SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

LILEANNA

KOALA

JACAL

ISDL

HMDES

GEN VOCA

EXPRESSION

EAST ADL

DICAM

DARWIN

DAOP ADL

CommUnity

C2 SADEL

C2 AML

C2

ARTECH

ArchiTRIO

ArchWare

ArchJava

AESOP

ADML

ADLARS

ADAGE

ACME

ABC/ADL

AADL

NOME ADL

xC2

xArch / xADL

xArch / xAcme

WSDL

WRIGHT

WEAVES

UNICON

UDL/i

SKWYRL

SATURN

SADL

RESOLVE

RAPIDE

RADL

PRISMA

PALANTIR

MODE CHART

MIMOLA

META H

Ménage / xADL

MAUDE

MAFIIA

MADL

MAE

LITTLE JIL

LISA

NOME ADL

Existing ADLs

4SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

AADL/OSATEAADL/OSATE ACME/ACME/AcmeStudioAcmeStudio AcmeArchJavaAcmeArchJava DARWIN/SAADARWIN/SAA

EASTEAST--ADL/AutoFocus2ADL/AutoFocus2 xADLxADL//MMéénagenage--PalantirPalantir Prisma/Prisma/PrismaCasePrismaCase xADLxADL//ArchStudioArchStudio

Orientato prevalentemente

all’analisi

Fortemente orientato agli

stili architetturali

Supporto alla generazione di

codice ed architectural programming

Orientato alle architetture dinamiche

tramite FSP

Supporto al model checking

Rappresentazione ed

implementazione di PLA

Supporto allo sviluppo Aspect

Oriented e Component

Based

Estendibilitàper mezzo di XML Schemas

ADL/Tool Support

3

5SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Practical ADLs» xADL 2.0/ArchStudio 4

> Box and Line

» AADL/OSATE

» ACME/ACME STUDIO

> Formal ADL

» UML 2/Magic Draw

> UML semi-formal

» Architectural Programming Language:

- ArchJava

» Dually

6SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

AADL AADL

4

7SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

SAE Architecture Analysis & Design Language (AADL) Standard

» Notation for specification of runtime architecture of real-time, embedded, fault-tolerant, secure, safety-critical, software-intensive systems

» Fields of application: Avionics, Aerospace, Automotive, Autonomous systems, Medical devices

» Based on 15 years of research & industry input

» Standard approved & published Nov 2004

» www.aadl.info

8SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

High level description of AADL

» Developed and standardized under the auspices of the International Society of Automotive Engineers (SAE)

» Support the design and analysis of complex real-time safety-critical systems in avionics, automotive, space, …

» AADL provides a formal mechanism to capture the architecture specification

> AADL -> mathematical analysis of real-time embedded, multiprocessor, safety critical, fault tolerant systems (hardware and software)

» AADL is precise but abstract, incremental, system of systems, extendable

5

9SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Model-based AssurancePredictive Analysis Across Perspectives Security

IntrusionIntegrityConfidentiality

Availability & ReliabilityMTBFFMEAHazard analysis

Real-timePerformanceExecution time/Deadline Deadlock/starvationLatency

ResourceConsumptionBandwidthCPU timePower consumption

Data precision/accuracyTemporal correctnessConfidence

Data Quality

Architecture Model

Reduced model validation cost due to single source model

10SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Model-Based Embedded System Engineering

Execution Platform

Devices Bus Processor

HTTPSGPS Ada Runtime. . . . . . . . . .

Memory

DB

Document the ArchitectureAbstract, but

Precise

NavigationSystem

AirbagDeploymentParking

Assistance

EmissionManagementCruise

Control

AntilockBrakingSystem

Application Software

ElectronicFuel

Injection

System Analysis• Schedulability• Performance• Reliability• Fault Tolerance• Dynamic Configurability

System Construction• AADL Runtime System • Application Software

Integration

ExternalEnvironment

6

11SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

SAE AADL Standard

MetaHHoneywell

DSSA

SAE AADLStandardNov 2004

Industry StandardsIndustrial

Projects

Industrial Initiatives

RMALehoczky

Klein

Simplex Dependable Upgrade

Sha

GMEVanderBilt

MoBIES

ACMEGarlanEDCS

HOODSTOOD

MetaHError ModelHoneywell

AutomotiveUnmanned

Vehicles

OSATEToolset

SEI

AADL Meta Model & XMI

June 2006

AADL Error Annex Standard

June 2006

AADL UML Profile Std

2007

AvionicsAerospace

EmbeddedSystemsResearch Industrial

Tools

Medical

Autom

otiveA

vionicsA

erospace

Eclipse EMF

MBE

www.aadl.info

12SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Industrial Embedded Systems Initiatives

SAE AADLStandardNov 2004

Automotive

OSATEToolset

SEIAADL Meta Model & XMI

June 2006AADL Error

Annex StandardJune 2006

Avionics

Aerospace

MBE

TOPCASEDOpen Source Embedded

Systems Tool Framework28 partners €20+M 2005-2008

ITEA SPICESModel-Driven Embedded

Systems Engineering15 partners €16M 2006-2009

US AVSI Avionics ConsortiumAnalysis-based System Validation

8 partners $12+M 2007-2010

EC ASSERTProof-based Satellite

Architectures ESA + 30 partners€15M 2004-2007

EAST ADLAutoSAR

IST ARTIST2Embedded SystemsCenter of Excellence

2007-2011

OpenGroupReal-Time ForumEU + US partners

7

13SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Two-Tier Tool Strategy» Based on AADL XMI interchange format standard

» Open Source Tool Solution

> Low entry cost solution based on Eclipse & Eclipse Modeling Framework> SEI Open Source AADL Tool Environment (OSATE) integrated with open source

Airbus TOPCASED tools> Vehicle for pilot projects, in-house prototyping, and architecture research

» Commercial Tool Support

> Addition of AADL to existing commercial environment (ElliDiss)> Interface with in-house & commercial tools (Dassault, Airbus, Rockwell,

Honeywell)> UML tool environment extension & integration (Telelogic, Rational, Artisan,

MARTE)

14SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Look and Feel

8

15SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Application Components

» System: hierarchical organization of components

» Process: protected virtual address space

» Thread group: organization of threads in processes

» Thread: an active unit of concurrent execution

» Data: potentially sharable data

» Subprogram: Callable unit of sequential code

16SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Implementation of the “process”component

» Allowed internal elements:

> Data> Thread> Thread group

9

17SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Textual Implementation of the “process”component

Type.name

Name: element

18SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

ADL driven Software Design in AADL

» An AADL design:

- It does notnot enforce any specific style- It doesdoes require a clear distinction between component

types and instances- It doesdoes permit component nesting- It doesdoes support both a textual and a graphical notation- It doesdoes allow both structural and (some form of)

behavioral specification- It does notnot use XML for storing architectural

information

10

19SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Implementation of the “thread”component

20SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Implementation of the “thread group”component

11

21SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Implementation of the “data”component

22SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Ports & Connections

Data port

out

in

in out

Event port

Event data port

Port group

Ports: directional transfer of data & control

Data port: state, sampled data streams

Event port: Queued, thread dispatch & mode switch trigger

Event data port: queued messages

Port group: aggregation of ports into single connection point

Connection: connects ports in the direction of their flow. Two types: Immediate, delayed

12

23SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Ports & Connections implementation

24SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Component type & Component implementation

» A component type contains:

- features;- flow specifications;- property associations.

» A component implementation must conform to the description of the corresponding component type

» A type can inherit from another type

» An implementation can inherit from another implementation

13

25SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Execution Platform Components» Processor – provides thread scheduling and execution

services

» Memory – provides storage for data and source code

» Bus – provides physical connectivity between execution platform components

» Device – interface to external environment

Processor

Device

Bus

Memory

26SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Hardware ComponentsPilot

Multifunction Display1

Pilot Multifunction

Display2

CoPilotMultifunction

Display1

CoPilotMultifunction

Display2

Display Processor

Display Processor

Display Processor

Display Processor

MissionProcessor

MissionProcessor

MissionProcessor

High speed network

1553 bus

Auto-Pilot GPS Nav Radio

1553 bus

High speed network

14

27SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Summary of AADL elements

28SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Other modeling issues: Timing & Concurrency Issues

Navigation Sensor

Processing

Integrated Navigation

Guidance Processing

Flight PlanProcessing

Aircraft Performance Calculation

20Hz

10Hz

20Hz

5Hz

2Hz

From other Partitions

Dec

reas

ing

Prio

rity

Periodic I/O20Hz

To otherPartitions

Shared data area

Pr 1

Pr 2

Pr 3

Pr 4

Pr 6

Pr 9Potential priority inversion due to priority assignmentLower rate thread has higher

priority

Shared data access may

require locking

15

29SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Warning

» AADL/Osate comes with a textual notation and a graphical user interface for architectural modeling

» There are still problems with the GUI

- Misalignment between the textual and the graphical specs

» Be aware of this issue

30SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Riferimento

» The Architecture Analysis & Design Language (AADL): An Introduction .Peter H. Feiler, David P. Gluch,John J. Hudak February 2006

16

31SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Using AADL: taking a look to an existingexample

How to use AADLTo be done together

44SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

ADL ADL SummarySummary

17

45SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Summary

» No “one true approach”

» Flexibility, interchange, evolvability of ADLs is still unachieved

- But we’re getting there, and hopefully will be there soon!

46SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

Problems with Existing ADLs» High degree of formality

- making difficult their integration in industrial life-cycles

» Specialized semantic basis:

- Different analysis require different ADLs- Impossible to construct an ADL which supports every kind of

analysis

» Limited tool support

» Lack of lifecycle-wide support

» Very limited industry buy-in to date

18

47SEA Group

© 2008 by H. Muccini and V. CortellessaSEA GroupSEA Group

A Compromise: UML

»UML is emerging as the de facto standard design notationof choice in industrial software development

» Understood by many industrial software developers

»Reasonably applicable to software architectures

- UML can be adapted for use as an ADL, but> Less formal and much more ambiguous than existing ADLs> Mature design environments, but lack of powerful analysis tools

»Nowadays, 20 + approaches to extend the UML for SA modeling