SlideShare uma empresa Scribd logo
1 de 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
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.
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.
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)
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.
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.
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.
„
Evolution des ADLs
8
Frise chronologique des ADLs ainsi que leurs origines
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.
interfaces
Connecteurs.
Configurations.
ACME
10
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/.
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)
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
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”)
Types d'éléments de conception
15
Eléments d’une description 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.
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.
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.
Rôles
19
Définissent les interfaces des connecteurs.
Chaque rôle d’un connecteur définit un des participants de l’interaction
modélisé par le connecteur.
Chaque connecteur peut avoir 2 a plusieurs rôles.
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.
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).
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.
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.
Styles(familles)
24
Une collection de types et de contraintes appliquée a un système.
Exemples:
Pipe and filter
Client_server
Publish_subscribe
ect
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.
Pipe and filter en ACME
26
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.
Client-serveur en ACME
28
29
Tutoriel par D. Garlan
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.
Fin
31
Merci Pour votre Attention!

Mais conteúdo relacionado

Mais procurados

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
Achraf Manaa
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
MbarkiIsraa
 

Mais procurados (20)

UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Cours java
Cours javaCours java
Cours java
 
La méthode z
La méthode zLa méthode z
La méthode z
 
Chapitre 3 la recherche tabou
Chapitre 3 la recherche tabouChapitre 3 la recherche tabou
Chapitre 3 la recherche tabou
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Chapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdfChapitre 2 -Complexité des problèmes avec correction.pdf
Chapitre 2 -Complexité des problèmes avec correction.pdf
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 

Destaque (6)

Jeux videos
Jeux videosJeux videos
Jeux videos
 
Centres urbains
Centres urbainsCentres urbains
Centres urbains
 
La centralité urbaine
 La centralité urbaine La centralité urbaine
La centralité urbaine
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architectures
 
Centralité urbaine 01
Centralité urbaine 01Centralité urbaine 01
Centralité urbaine 01
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En Pratique
 

Semelhante a Language de description d’architecture ACME

Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
PrinceLankoand
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
Ahmed Mekkaoui
 

Semelhante a Language de description d’architecture ACME (20)

srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
A SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfA SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdf
 
Diagramme de-composants152
Diagramme de-composants152Diagramme de-composants152
Diagramme de-composants152
 
Partie3 cif et dcif
Partie3  cif et dcifPartie3  cif et dcif
Partie3 cif et dcif
 
Cours-SysML
Cours-SysMLCours-SysML
Cours-SysML
 
La technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptxLa technologie des systemes distribués 2 ppt2222.pptx
La technologie des systemes distribués 2 ppt2222.pptx
 
Introduction à Sysml
Introduction à SysmlIntroduction à Sysml
Introduction à Sysml
 
Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptx
 
2-Composants.docx
2-Composants.docx2-Composants.docx
2-Composants.docx
 
Architectures bigdata
Architectures bigdataArchitectures bigdata
Architectures bigdata
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
uml ikram elcaid.pdf
uml ikram elcaid.pdfuml ikram elcaid.pdf
uml ikram elcaid.pdf
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
diagramme de cas d'utilisation
diagramme de cas d'utilisationdiagramme de cas d'utilisation
diagramme de cas d'utilisation
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
Ch2_Les modèles OSI et TCP_IP.pptx
Ch2_Les modèles OSI et TCP_IP.pptxCh2_Les modèles OSI et TCP_IP.pptx
Ch2_Les modèles OSI et TCP_IP.pptx
 
Présentation UML.ppt
Présentation UML.pptPrésentation UML.ppt
Présentation UML.ppt
 
Methodo support
Methodo supportMethodo support
Methodo support
 

Language de description d’architecture ACME

  • 1. Language de description d’architecture ACME Amira Hakim Dept de Mathématique & Informatique Université de Souk-Ahras 1 UNIVERSITE MOHAMED CHERIF MESSADIA SOUK-AHRAS
  • 2. 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.
  • 3. 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.
  • 4. 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)
  • 5. 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.
  • 6. 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.
  • 7. 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. „
  • 8. Evolution des ADLs 8 Frise chronologique des ADLs ainsi que leurs origines
  • 9. 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. interfaces Connecteurs. Configurations.
  • 11. 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/.
  • 12. 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)
  • 13. 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
  • 14. 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”)
  • 15. Types d'éléments de conception 15 Eléments d’une description ACME
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. Rôles 19 Définissent les interfaces des connecteurs. Chaque rôle d’un connecteur définit un des participants de l’interaction modélisé par le connecteur. Chaque connecteur peut avoir 2 a plusieurs rôles.
  • 20. 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.
  • 21. 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).
  • 22. 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.
  • 23. 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.
  • 24. Styles(familles) 24 Une collection de types et de contraintes appliquée a un système. Exemples: Pipe and filter Client_server Publish_subscribe ect
  • 25. 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.
  • 26. Pipe and filter en ACME 26
  • 27. 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.
  • 30. 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.

Notas do Editor

  1. Idempotent:denoting an element of a set that is unchanged in value when multiplied or otherwise operated on by itself.
  2. Throughput:the amount of material or items passing through a system or process.