SlideShare une entreprise Scribd logo
1  sur  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!

Contenu connexe

Tendances

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage AutomatiqueNizar Bechir
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireLilia Sfaxi
 
Cours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptCours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptSylia3
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationLilia Sfaxi
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURIMansouri Khalifa
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agilesguesta206aa87
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOSLilia Sfaxi
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
Exercices shell
Exercices shellExercices shell
Exercices shellulratique
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessZakaria Bouazza
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionLilia Sfaxi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQLLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 

Tendances (20)

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
 
UML Diagrammes Statiques
UML Diagrammes StatiquesUML Diagrammes Statiques
UML Diagrammes Statiques
 
Cours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.pptCours1_Architecture_Logicielle.ppt
Cours1_Architecture_Logicielle.ppt
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 1 Prof. Khalifa MANSOURICours  systèmes temps réel partie 1 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 1 Prof. Khalifa MANSOURI
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
 
Les MéThodes Agiles
Les MéThodes AgilesLes MéThodes Agiles
Les MéThodes Agiles
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOS
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
Exercices shell
Exercices shellExercices shell
Exercices shell
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
La méthode z
La méthode zLa méthode z
La méthode z
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 

En vedette

Centres urbains
Centres urbainsCentres urbains
Centres urbainsSami Sahli
 
Génie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesGénie Logiciels : Introduction aux architectures
Génie Logiciels : Introduction aux architecturesMohammed Amine Mostefai
 
Centralité urbaine 01
Centralité urbaine 01Centralité urbaine 01
Centralité urbaine 01Sami Sahli
 
L Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueL Architecture Logicielle En Pratique
L Architecture Logicielle En PratiqueFrançois Trudel
 

En vedette (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
 

Similaire à Language de description d’architecture ACME

srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
A SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfA SIMPLIFIED APPROACH FOR QUALITY.pdf
A SIMPLIFIED APPROACH FOR QUALITY.pdfBabacarDIOP48
 
Diagramme de-composants152
Diagramme de-composants152Diagramme de-composants152
Diagramme de-composants152Sirafina Rosa
 
Partie3 cif et dcif
Partie3  cif et dcifPartie3  cif et dcif
Partie3 cif et dcifLilia Sfaxi
 
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.pptxkaoutarghaffour
 
Introduction à Sysml
Introduction à SysmlIntroduction à Sysml
Introduction à SysmlYassine SIDKI
 
Présentation cours UML.pptx
Présentation  cours UML.pptxPrésentation  cours UML.pptx
Présentation cours UML.pptxPrinceLankoand
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
La technologie net par karim kalti
La technologie net par karim kalti La technologie net par karim kalti
La technologie net par karim kalti Imen Naés
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalAhmed Mekkaoui
 
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.pdfYasushiTsubakik
 
uml ikram elcaid.pdf
uml ikram elcaid.pdfuml ikram elcaid.pdf
uml ikram elcaid.pdfikram679173
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
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.pptxOthmaneMansouri1
 
Présentation UML.ppt
Présentation UML.pptPrésentation UML.ppt
Présentation UML.pptNajiHita1
 

Similaire à 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
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
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
 

Dernier

conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdfSoukainaMounawir
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 

Dernier (7)

conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
optimisation logistique MLT_231102_155827.pdf
optimisation logistique  MLT_231102_155827.pdfoptimisation logistique  MLT_231102_155827.pdf
optimisation logistique MLT_231102_155827.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 

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.

Notes de l'éditeur

  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.