Représentation de l’architecture: Les langages de description des Architectures (ADL)

1/32
100%
Rendu du PDF...
Page 1 sur 32Lecteur de document UniversityLib

Représentation de l’architecture: Les langages de description des Architectures (ADL)

Software Architecture and Modeling · notes

Browse all génie logiciel documents

Représentation de l’architecture

Langage

R. MZID KEBEILI

Architectures Logicielles

19

Représentation de l’architecture

Les langages de description des Architectures (ADL)

 Les langages de description d'architecture ont pour but de

décrire formellement les architectures logicielles et matérielles

d'un système informatique

 Un

langage de description d'architecture

comment un ensemble de composants interagissent

(ADL) spécifie

 Une telle description doit permettre d'analyser, de raisonner a

priori sur un système informatique et surtout maitriser leur

complexité

R. MZID KEBEILI

Architectures Logicielles

20

Représentation de l’architecture

Les langages de description des Architectures (ADL)

R. MZID KEBEILI

Architectures Logicielles

21

Représentation de l’architecture

Les langages de description des Architectures (ADL)

-- AADL--

 AADL : Avionics Architecture Description Language

o SAE (Society of Automotive Engineers) Standard

o Version 1.0 publiée en 2004, puis version 2 en 2008

o Un langage de spécification pour les applications avioniques

 Plusieurs représentations possibles d’un modèle AADL

o Représentation graphique (vision globale du modèle)

o Représentation textuelle (focaliser sur les détails d’une partie du

modèle)

o Représentation XML (inter-opérabilité entre outils).

R. MZID KEBEILI

Architectures Logicielles

22

Représentation de l’architecture

Les langages de description des Architectures (ADL)

-- AADL--

 Quelques outils

o OSATE/Eclipse

o Ocarina (Télécom-ParisTech)

o Cheddar (UBO/LISyC)

 AADL fournit

o Composants

logiciels

(mémoire, bus, device)

o Composant système (system, mode)

o Ports (data, event)

(data,

thread, processes)

/Matériel

R. MZID KEBEILI

Architectures Logicielles

23

Représentation de l’architecture

Les langages de description des Architectures (ADL)

-- AADL--

 AADL : Les composants logiciels

R. MZID KEBEILI

Architectures Logicielles

24

Représentation de l’architecture

Les langages de description des Architectures (ADL)

-- AADL--

 AADL : Les composants matériels

R. MZID KEBEILI

Architectures Logicielles

Advertisement

25

Représentation de l’architecture

Les langages de description des Architectures (ADL)

-- AADL--

 AADL : Le composant système

R. MZID KEBEILI

Architectures Logicielles

26

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--AADL--

R. MZID KEBEILI

Architectures Logicielles

27

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML--

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Vue de L’architecture--

 Considérer l’architecture logicielle selon différents points de vue :

o Structurel

 Vue statique de l’architecture (ou logique)

o Déploiement

 Configuration physique de l’architecture logicielle

o Dynamique

Modélise

la communication entre

les composantes de

l’architecture

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de paquetage--

 Officiellement en tant que diagramme avec UML2

 Organisation de l’architecture

o Vue structurelle

o Structure hiérarchique et modulaire

 Un paquetage

 Règles de nommage

o Un paquetage = un espace de noms

o Contient des diagrammes (dont d’autres des paquetages)

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de paquetage--

 Dépendance entre les éléments contenu dans le paquetages

o Relation « use »

 Pas de transitivité entre dépendances

o A dépend de B, qui dépend de C : A ne dépend pas

obligatoirement de C

 Stéréotypes de dépendance

o «import »: utilisation sans préfixe des noms des éléments

importés

o « access » : les éléments sont accessibles

o « merge » : fusion de deux paquetages en un seul

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de paquetage--

 Nommage

o Cohérent

o Unicité des noms au sein du paquetage

Advertisement

 Dépendance

o Pas de cycle, un seul sens

o Une seule

 Faible couplage

o Minimiser les dépendances

o Stabilité des dépendances : A dépend de B, une modification de A

ou de B ne modifie pas la dépendance

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de paquetage--

 Décomposition

R. MZID KEBEILI

Développement des STREs

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Motivation

o Réutilisabilité : l'aptitude d'un logiciel à être réutilisé, en tout ou en

partie, dans de nouvelles applications

o Classe (plus loin les paquetages) : Faible granularité, connexions figées

(associations => liens structurels) => Réponse pas totalement adaptée á

la problématique de réutilisation 

 Component-Based Software Engineering

o Notion du composant : réutilisation  + évolution indépendante de

l’application qui l’utilise

o Pas une nouvelle approche : Toujours OO, facteur d’échelle

o Le composant est à l’architecture du logiciel ce que la classe est à

l’architecture du code

1

R. MZID KEBEILI

Architectures Logicielles

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Le diagramme de composant permet de représenter

les

composants logiciels d’un système ainsi que les liens existant

entre ces composants

 Les composants logiciels peuvent être de deux origines

o Des composants métiers propres à une entreprise (LogicalComponents)

o Des composants disponibles sur le marché comme par exemple les

composants EJB, CORBA, .NET, WSDL (BasicComponents)

 Les composants logiciels

o Vue logique (composants et connecteurs)

o Vue implémentation et déploiement (nœuds et artefacts)

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Un composant est une unité autonome représenté par un

classeur structuré, comportant une ou plusieurs interfaces

requises ou offertes

 Il existe deux types d’interface :

o Interfaces requises : ce sont des interfaces qui fournissent un

service au composant et dont il a besoin pour fonctionner

o Interfaces fournies : ce sont des interfaces par lesquels le

composant fourni lui-même un service

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Un composant peut être remplacé par n’importe quel autre composant

compatible (ayant les mêmes interfaces)

 Un composant peut évoluer indépendamment des applications ou des

Advertisement

autres composants qui l’utilise à partir du moment ou les interfaces sont

respectées

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation général d’un composant en UML

Représentation avec

UML 1

Représentation avec

UML 2

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Deux types de représentation du diagramme de composant

o Représentation « boite noire » : une vue externe du composant

qui présente ses interfaces fournies et requises sans entrer dans

le détail de l’implémentation du composant

o Représentation « boite Blanche » : une vue interne du composant

qui décrit son implémentation à l’aide de classificateurs (classes,

autres composants) qui le composent

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation boite noire du diagramme de composant : plusieurs sont

possibles

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation boite noire du diagramme de composant : plusieurs sont

possibles

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation boite blanche du diagramme de composant : plusieurs sont

possibles (vue interne du composant)

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation boite blanche du diagramme de composant : plusieurs sont

possibles (vue interne du composant)

 Notion de port : point de connexion entre le classeur (composant) et son

environnement

Les ports sont des points de connexions typés par des interfaces

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Représentation boite blanche du diagramme de composant : plusieurs sont

possibles (vue interne du composant)

 Connecteur de délégation: un

lien permettant de modéliser

le

Advertisement

comportement des entités qui réalisent un classeur

La réalisation de l’interface Starter est déléguée á la classe

TorqueManager

1

R. MZID KEBEILI

Architectures Logicielles

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Vue implémentation du diagramme de composant (ancienne approche)

o Utilisation des Stéréotypes applicables sur la méta-classe composant

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Composant--

 Vue implémentation du diagramme de composant (ancienne approche)

o Dépendance entre les composants : Les relations de dépendance

représentent généralement des dépendances de compilation ou

d'exécution

o Exemple

« Component ,

file»

Client

« Component ,

Library»

Java.lang

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Déploiement--

 Le diagramme de déploiement permet de représenter le déploiement

de l’architecture logicielle (les composants) sur les nœuds d’exécution

Une autre vue de L’architecture logicielle : Implémentation physique

 Deux types : Spécification et instance

 Nœud : Une ressource matérielle du système avec le stéréotype

« device » (optionnel)

o Composant physique avec capacité de calcul

o Autres : capteur, serveur, etc.

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Déploiement--

 Représentation d’un nœud

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Déploiement--

 Artéfact : Un artefact correspond à un élément concret existant dans

le monde réel (document, exécutable, fichier, tables de bases de

données, script…)

 Un composant doit être manifesté par un artéfact

R. MZID KEBEILI

Architectures Logicielles

1

Représentation de l’architecture

Les langages de description des Architectures (ADL)

--UML/Diagramme de Déploiement--

 Les artéfacts sont déployés sur les nœuds

R. MZID KEBEILI

Architectures Logicielles

1