• No results found

AADL et la conception des logiciels

N/A
N/A
Protected

Academic year: 2021

Share "AADL et la conception des logiciels"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

Pierre Dissaux, journée Féria/SVF, 2 décembre 2003

AADL et la

conception des

(2)

System

Engineering

System

Integration

Hardware

Engineering

Software

Engineering

System Lifecycle

(3)

Software

Requirements

Analysis

Software Design

Software

Design

Software

Coding

Software

Unit Testing

Software

Functional

Testing

SW requirements

functional tests scenarii

unit tests scenarii coverage generation reverse coverage coverage System Requirements - Hardware - Operating System

from System Engineering to System Integration

Realization Constraints - Team Organization - Technical Choices - Quality Standards

(4)

Les logiciels critiques

“faster, better, cheaper”

Complexity

• General characteristics:

– standardized development process – long term projects and many partners

– collaborative ground & on-board software

– dependable software

• Additional characteristics for on-board software

:

– for avionics: safety

– for space vehicles: environment constraints

• Need for software development

methods

and tools:

– ensure requested high level of quality

– paradox: need for maturity and innovation

– really operational concepts to increase productivity

(5)

• Managing the complexity:

– designing in the large:

• hierarchical decomposition – distributed development: • modularity • interfaces – mixed paradigms: • function oriented • object oriented

• task oriented for real-time SW

• Modeling real-time:

– reaching deadlines:

-> mastering control flows

– no loss of data:

-> mastering data flows

– predefined RT components – supporting RT executives

• “Good” Software Engineering practices:

– well defined architectural & detailed design process

– requirements traceability

– documentation framework, etc...

– model-based engineering

(6)

Les techniques “basées modèle”

• Description du Système

– exemple: Mathlab/Simulink

– utilisation intensive de bibliothèques de composants spécialisés – études paramétriques, dimensionnement, prototypage, simulation – si modèle formel: possibilité de générer du code, mais rarement

• Description du Logiciel

– spécifier avant de concevoir

– concevoir avant de coder

– masquer la complexité: boîtes noires, composants Temps-Réel – automatiser la production du code et de la documentation

Langages de modélisation

AADL

UML2.0

HOOD

(7)

AADL

Avionics Architecture Description Language

• Avionics Architecture Description Language:

– Emerging SAE Standard, AS-2C AADL working group – Specification language for avionics systems

– Software & Hardware components, features & properties

• An AADL specification describes:

– how components are assembled or integrated – the functional interfaces (control and data flows) – the non-functional properties (i.e. timing)

• Field of application: embedded systems with:

– challenging resource (size, weight, power)

– strict real-time response requirements – specialized input/output hardware

(8)

AADL components

• Components categories

– Software: data, threads and processes

– Hardware: memories, processors, devices and buses

– Compound: systems and modes

• Components definition

– Component type: functional interface – Component implementation

– Component instance: a subcomponent in a component implementation

• Features

– Ports: data, event or event data

– Subprograms – Data

(9)

UML2.0

Unified Modeling Language

name <<component>> :name1 provided interface required interface

connectors in a UML 2.0 component

<<component>> :name2

• Emerging OMG standard

• Structure Diagrams:

– new in UML2.0

– modeling Components, Interfaces, Connections – black box and white box views

(10)

HOOD

Hierarchical Object Oriented Design

• Design Method:

– Standardized by ESA

– A set of concepts: Modules, Operations, Types, ... – A set of notations: Graphical and Textual

(11)

HRT-HOOD

Hard Real Time

HRT objects

Real-Time attributes HRT operation

constraints

• Additional design constraints to comply with the Ravenscar profile

(12)

Modélisation Temps-Réel

• Composants

spécialisés

– Objets cycliques, sporadiques ou protégés en HOOD – Process, threads et data en AADL

• Flots

de contrôle et de données

– Relations Use et contraintes d’exécution en HOOD – Ports et connections en AADL

• Propriétés

spécifiques au temps-réel

– Real-time attributes (deadline, wcet, ...) en HOOD – Scheduling properties en AADL

• Prise en compte de

l’environnement d’exécution

– Modélisation explicite: on décrit le RTOS comme une application – Modélisation implicite: règles de conception et de génération de code

(13)

HOOD HOOD HOOD 3.0 (1989) UML 1.1 (1997) Ada 83 Ada 83 HOOD 1.0 (1987) HOOD 3.1 (1992) HOOD 4.0 (1995) HRT-HOOD (1995) Ada 95 Ada 95 OMT (1991) UML 1.4 (2001) Ada 0y Ada 0y AADL (2004) metaH (1993) UML 2.0 (2004 ?) Booch (1986)

History

(14)

All together

AADL

semantics

HOOD

process

AADL

textual notation

UML2.0

graphical notation

UML2.0

semantics

HOOD

semantics

A A D L U M L 2 . 0 H O O D c o m p o n e n t c o m p o n e n t ( p a r e n t ) m o d u l e s u b c o m p o n e n t p a r t ( c h i l d ) m o d u l e p r o v i d e s f e a tu r e s p r o v i d e d i n t e r f a c e p r o v i d e d i n t e r f a c e r e q u i r e d s u b c o m p o n e n t s r e q u i r e d i n t e r f a c e r e q u i r e d i n t e r f a c e ( s e r v e r ) c o n t a i n m e n t c o n n e c t i o n d e l e g a t e ( p r o v i d e d ) i m p l e m e n t e d _ b y ( c l i e n t ) c o n t a i n m e n t c o n n e c t i o n d e l e g a t e ( r e q u i r e d ) u s e ( u n c l e ) c o m p o n e n t s c o n n e c t i o n a s s e m b l y u s e ( s i b l i n g )

m

ap

pi

ng

(15)

Small design example

---OBJECT SYSTEM_CONFIGURATION IS PASSIVE INTERNALS OBJECTS ex1AADL; Display_driver; OS; END SYSTEM_CONFIGURATION ---OBJECT ex1AADL IS ACTIVE

PRAGMA main(operation_name => start) PROVIDED_INTERFACE

OPERATIONS start

OBJECT_CONTROL_STRUCTURE CONSTRAINED_OPERATIONS

start CONSTRAINED_BY ASER ; REQUIRED_INTERFACE OBJECT Display_driver; OPERATIONS refresh; INTERNALS OBJECTS client; server; sensor; refresh; monitor; OPERATIONS

start IMPLEMENTED_BY client.exec; END ex1AADL

(16)

---Generated AADL code (1)

SYSTEM SYSTEM_CONFIGURATION IS

start : IN EVENT;

END SYSTEM_CONFIGURATION;

SYSTEM IMPLEMENTATION SYSTEM_CONFIGURATION.default IS ARINC : SYSTEM system.ARINC;

Ex1aadl : PROCESS Ex1aadl.default;

Display_driver : PROCESS Display_driver.default; standard : PACKAGE standard.default;

CONNECTIONS

EVENT Ex1aadl.start <- start;

EVENT Ex1aadl.sensor_interrupt <- ARINC.sensor_interrupt; EVENT DATA Display_driver.value <- Ex1aadl.value;

(17)

Generated AADL code (2)

PROCESS Ex1aadl IS

start : IN EVENT;

sensor_interrupt : IN EVENT;

value : OUT EVENT DATA NIL.integer; END Ex1aadl;

PROCESS IMPLEMENTATION Ex1aadl.default IS

client : THREAD client( monitor => monitor ).default; server : THREAD server.default;

sensor : THREAD sensor( monitor => monitor ).default; refresh : THREAD refresh( monitor => monitor ).default; monitor : MONITOR monitor.default;

CONNECTIONS

EVENT client.exec <- start;

SUBPROGRAM server.request <- client.request; EVENT sensor.start <- sensor_interrupt;

(18)

Generated AADL code (3)

THREAD client IS exec : IN EVENT;

request : CLIENT SUBPROGRAM

(value : IN monitor.T_value, result : OUT monitor.T_value); REQUIRES

monitor : MONITOR monitor; END client;

THREAD IMPLEMENTATION client.default IS PROPERTIES

Scheduling_protocol => aperiodic; END client.default;

THREAD server IS

request : SERVER SUBPROGRAM

(value : IN monitor.T_value, result : OUT monitor.T_value); END server;

THREAD IMPLEMENTATION server.default IS PROPERTIES

Scheduling_protocol => server; END server.default;

(19)

Generated AADL code (4)

THREAD sensor IS start : IN EVENT; REQUIRES

monitor : MONITOR monitor; END sensor;

THREAD IMPLEMENTATION sensor.default IS PROPERTIES Scheduling_protocol => sporadic; Deadline => 10; Compute_Time => 5; END sensor.default; MONITOR monitor IS T_value : TYPE; END monitor; THREAD refresh IS REQUIRES

monitor : MONITOR monitor; END refresh;

THREAD IMPLEMENTATION refresh.default IS PROPERTIES Scheduling_protocol => periodic; Period => 10; Deadline => 5; Compute_Time => 5; END refresh.default;

(20)
(21)

Stood v5

The HOOD design process,

( + semantics, graphical &

textual notations )

The AADL semantics

( + textual notation )

The UML 2.0 standard graphical notation

(22)

System

Engineering

System

Integration

Hardware

Engineering

Software

Engineering

System Lifecycle

improvement

References

Related documents