language de description d’architecture acme

31
Language de description d’architecture ACME Amira Hakim Dept de Mathématique & Informatique Université de Souk-Ahras 1 UNIVERSITE MOHAMED CHERIF MESSADIA SOUK-AHRAS

Upload: amira-hakim

Post on 21-Jul-2015

177 views

Category:

Engineering


2 download

TRANSCRIPT

Page 1: Language de description d’architecture ACME

Language de description d’architecture

ACMEAmira Hakim

Dept de Mathématique & InformatiqueUniversité de Souk-Ahras

1

UNIVERSITE MOHAMED CHERIF MESSADIASOUK-AHRAS

Page 2: Language de description d’architecture ACME

Introduction

2

Architecture en informatique :

la structure générale d'un système informatique, l'organisation des différents éléments du système (logiciels, matériel, humains, information) et la relation

entre ces éléments.Elle introduit les notions et concepts de découpage en couches, modules,

composants, design patterns et Frameworks.

Page 3: Language de description d’architecture ACME

diagrammes d’architecture

3

Architecture métier : décrit les applications informatiques, les principales bases

de données du système informatique , d'une institution ou d'une entreprise.

Architecture des informations : L'architecture des informations concerne la

manière dont les informations sont organisées et les manières d'accéder à ces

informations.

Architecture matérielle: comprend toutes les caractéristiques générales, la

conception, le choix et l'organisation des différents dispositifs électroniques des

appareils informatiques.

Architecture technique : est une vue tournée sur l'organisation logique de la

plateforme informatique (système d'exploitation utilisé ,les serveur ,les protocoles)

Architecture logicielle : Le diagramme d'architecture logicielle décrit la nature

des différents modules d'un logiciel, les responsabilités et les fonctionnalités de

chaque module.

Page 4: Language de description d’architecture ACME

Architectures logicielles

4

L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs

interrelations et leurs interactions.

La définition d’une architecture logicielle passe donc par la réponse à la question suivante : Quelles règles doit-on suivre pour réussir à développer

des systèmes qui répondent à toutes les exigences fonctionnelles (les services à rendre) et non fonctionnelles performance et extensibilité du

système par exemple)

Page 5: Language de description d’architecture ACME

Architectures logicielles

5

Globalement, une architecture logicielle peut-être vue comme :

un ensemble de briques de base : les composants .

un ensemble de règles d’utilisation de ces briques de base : le mode d’emploi ou gabarit d’utilisation .

un ensemble de recettes et de conseils pour combiner et gérer les interactions entre les différents composants : le savoir faire .

Un ensemble de principes directeurs qui aident le concepteur dans ses décisions si besoin est : les assistants.

Page 6: Language de description d’architecture ACME

Objectifs de l’architecture logicielle

6

Offrir une vue d’ensemble et un fort niveau d’abstraction afin d’être en mesure d’appréhender un système logiciel.

Proposer une organisation grossière du système comme une collection de pièces logicielles.

Favoriser la modélisation de systèmes logiciels de plus en plus complexes.

Réduire les coûts et les délais de développement des systèmes complexes.

Exposer de manière compréhensible et synthétique la complexité d’un système logiciel et faciliter l’assemblage de pièces logicielles.

L’architecture joue le rôle essentielle de passerelle entre l’expression du besoin d’un système et l’étape de codage du logiciel.

Page 7: Language de description d’architecture ACME

Architecture Description Languages

7

Un ADL est un langage qui fournit des fonctionnalités pour la modélisation de l’architecture conceptuelle des systèmes logiciels.

Les ADLs fournissent à la fois un cadre conceptuel et une syntaxe concrète pour la caractérisation des architectures logicielles.

Page 8: Language de description d’architecture ACME

Evolution des ADLs

8

Frise chronologique des ADLs ainsi que leurs origines

Page 9: Language de description d’architecture ACME

Pourquoi a-t-on besoin d’ADLs ?

9

L’architecture formelle est requise afin de:

Modéliser le système.

Tester le système.

Eviter les mauvaises décisions architecturales.

Permettre la réutilisabilité.

Minimiser les couts de développement.

Spécification explicite de:

Composants.interfacesConnecteurs.Configurations.

Page 10: Language de description d’architecture ACME

ACME

10

ACME

Page 11: Language de description d’architecture ACME

ACME

11

Créé au début de 1995 par D. Garlan, R. Monroe, et D. Wile.

Classés dans les langages architectural d’interchange .

Supporte l’interchange de descriptions architecturales entre differents outlis de conception d’architecture.

AcmeStudio web page :http://www.cs.cmu.edu/~acme/.

Page 12: Language de description d’architecture ACME

ACME :définition

12

Le projet ACME, commencé en 1995 ,a pour principal but de fournir un

langage commun permettant l’échange de descriptions architecturales entre

plusieurs outils de conception d’architecture .Il s’agit d’un langage de

description d’architecture logicielle fournissant une base conceptuelle

abstraite et suffisamment générale pour permettre la description de

nouveaux outils et notations .Il fournit un outil de conception graphique

(ACMEStudio),une bibliothèque (ACMElib)fournissant une infrastructure

complète de manipulation de descriptions d’architecture et un outil de

génération de documents html (ACMEweb)

Page 13: Language de description d’architecture ACME

Avantages d’ACME

13

Ontologie architecturale avec 7 éléments de conception.

Mécanisme d'annotation flexible.

Type de mécanisme pour abstraire des idiomes et des styles réutilisables communes.

Cadre sémantique ouvert pour analyser les descriptions architecturales.

Acme est utilisé comme une représentation commune des caractéristiques de base de l'ADL:

• Composants• Connecteurs• Systèmes• Propriétés• Contraintes• Styles

Page 14: Language de description d’architecture ACME

Types d'éléments de conception

14

Composants: éléments élémentaire de calculs ou de stockage d’informations.

Connecteurs: Interactions entre composants.

Systèmes: la configuration des composants et des connecteurs

Ports: interfaces de composants.

Rôles: interfaces de connecteurs.

Représentations: les propriétés de composants.

Rep-maps(abréviation de :“représentation-map”)

Page 15: Language de description d’architecture ACME

Types d'éléments de conception

15

Eléments d’une description ACME

Page 16: Language de description d’architecture ACME

Les composants

16

éléments primaires de calculs et bases de données d’un système:

• Clients• Serveurs• Filtres• Objets• Bases de données

Un composant possède un ensemble d’interfaces, appelés ports, qui définissent les points d’interaction entre cet élément et son environnement.

Page 17: Language de description d’architecture ACME

Les connecteurs

17

Les interactions entre composants:

• tubes(pipes).•Appels de procédure.•Evénement.•Protocoles.•Relations SQL

Les connecteurs ont des interfaces qui définissent les rôles joués par chaque participant dans l'interaction.

Page 18: Language de description d’architecture ACME

Ports

18

Définissent les interfaces de composants. chaque port est un point d’interaction entre le composant et l’environnement. Un composant peut avoir plusieurs ports avec différents types.

Exemple de ports:•Signature de méthodes.•Evénements.•Liste de procédure a appeler.

Page 19: Language de description d’architecture ACME

Rôles

19

Définissent les interfaces des connecteurs.

Chaque rôle d’un connecteur définit un des participants de l’interactionmodélisé par le connecteur.

Chaque connecteur peut avoir 2 a plusieurs rôles.

Page 20: Language de description d’architecture ACME

Attachements

20

Définissent la façon dont les rôles et les ports sont connectés dans une configuration.

Effectue la liaison des rôles de connecteurs aux ports de composants.

Page 21: Language de description d’architecture ACME

Systèmes ,architecture ou configuration

21

Diagrammes de modélisation des configurations de composants.

Les composants et les connecteurs peuvent représenter des sous - systèmes, chacun avec sa propre architecture interne.(Hiérarchie).

Page 22: Language de description d’architecture ACME

Rep‐Map

22

indique la correspondance entre la représentation interne du système et l'interface externe du composant ou connecteur qui est représenté.

par exemple un rep‐map offre une association entre les ports internes et les ports externes.

Page 23: Language de description d’architecture ACME

propriétés

23

Les sept éléments peuvent être annotés avec des propriétés.

Une propriétés a un nom, un type et une valeur.

Page 24: Language de description d’architecture ACME

Styles(familles)

24

Une collection de types et de contraintes appliquée a un système.

Exemples:Pipe and filterClient_serverPublish_subscribeect

Page 25: Language de description d’architecture ACME

Pipes et filtres

25

Architecture de flux de données.

Le filtre(filter) est un composant et le tuyau(pipe) est un connecteur.

Le filtre dispose d'interfaces à partir de laquelle un ensemble d'entrées peut s'écouler à l'intérieur et un ensemble de sorties peut s'écouler en extérieur.

Cette architecture limite les topologies de séquences linéaires de filtre.

Page 26: Language de description d’architecture ACME

Pipe and filter en ACME

26

Page 27: Language de description d’architecture ACME

Client-serveur

27

Le modèle:Le Client : processus demandant l’exécution d’une opération à un autre processus par envoi de message contenant le descriptif de l’opération à exécuter et attendant la réponse de cette opération par un message en retour.Le Serveur : processus accomplissant une opération sur demande d’un client, et lui transmettant le résultat.

La Requête : message transmis par un client à un serveur décrivant l’opération à exécuter pour le compte du client.

La Réponse : message transmis par un serveur à un client suite à l’exécution d’une opération, contenant le résultat de l’opération.

Page 28: Language de description d’architecture ACME

Client-serveur en ACME

28

Page 29: Language de description d’architecture ACME

29

Tutoriel par D. Garlan

Page 30: Language de description d’architecture ACME

Conclusion

30

L 'étape de description architecturale est de plus en plus fréquente dans la phase de conception d’un logiciel.

Elle offre au concepteur un niveau d’abstraction plus élevé en lui permettant de ne pas prendre en compte les détails de l’architecture.

Page 31: Language de description d’architecture ACME

Fin

31

Merci Pour votre Attention!