• Aucun résultat trouvé

CHAPITRE 03: UN PROFIL UML POUR LE MMSA

2. Implémentation du profil

) pour Eclipse. Pour cela, nous choisissons d'utiliser les mécanismes de création de profils de RSM. Ensuite, nous nous concentrons sur ce qui est nécessaire pour que l'outil détecte l'hétérogénéité (type et format de données) d'un système donné et valide sa sémantique.

Dés lors que le méta-modèle MMSA est représenté dans un profil UML2.0, nous pouvons tirer parti des outils développés autour de Rational Software Modeler. Le profil UML 2.0 pour MMSA est implémenté dans IBM Rational Software Modeler pour Eclipse 3.1. Cet outil de modélisation visuelle permet la création et la gestion des modèles UML 2.0 pour les applications logicielles, indépendamment de leur langage de programmation, et fournit un langage commun pour décrire la sémantique formelle du langage OCL.

Le Plug-In est développé avec deux niveaux d'abstraction. Le haut niveau correspond au méta-modèle de MMSA avec toutes les valeurs étiquetées et les contraintes OCL 2.0 définies dans la section 5. Ce diagramme joue un rôle important dans le second niveau quand il est utilisé par le modèle d'architecture logicielle. Il assure que le modèle d’architecture est conforme aux contraintes sémantiques définies par le profil.

Page 112

Figure 3.11. Le profil-MMSA dans RSM pour Eclipse 3.1.

Ce plug-in offre aux utilisateurs la possibilité de vérifier la cohérence structurelle d'un système donné et de valider sa sémantique avec l'approche MMSA. Nous avons d'abord créé un diagramme de composants UML 2.0 pour le système décrit, puis ajouté les contraintes OCL nécessaires. Après cela, le modèle est évalué par le profil-UML en utilisant les mécanismes de création de profils de RSM. La figure 3.11 montre le profil avec ses stéréotypes, les valeurs marquées et les contraintes OCL exprimées dans le méta-modèle UML 2.0 - EMF (Eclipse Modeling Framework).

2.1. Résultats finaux

Après la modélisation de cet exemple de surveillance avec MMSA, Ce modèle sera validé selon les contraintes sémantiques définies par le profil UML, Le système final projeté est illustré dans la figure 3.12. Ce résultat permet de maintenir un lien fort entre l’architecture abstraite MMSA et le modèle

Page 113

d’architecture UML 2.0. Grâce au profil UML 2.0 pour MMSA, l’hétérogénéité par type et format de média est réalisée.

Figure 3.12. Sélection du profil MMSA pour le système Surveillance.

L’un des points forts de cet outil pour le profil MMSA est sa capacité à lier l’espace modèle (UML) à l’espace architectural (MMSA) en utilisant les mécanismes d’extension de modèles.

Page 114

2.2. Discussions et résultats

Notre outil MMSA-Plugin peut être comparé à des outils similaires, tels que le profil UML 2.0 pour π- ADL [OQU06] ou le profil UML 2.0 pour C3 [AMI09]. En effet, ces deux applications permettent la représentation graphique d'architectures et la vérification automatique des contraintes des modèles en utilisant le langage OCL.

L'utilisation de MMSA-Plugin offre plusieurs avantages par rapport aux outils proposés par [OQU06] [AMI09], elle permet :

D’offrir un moyen simple pour décrire les architectures de logiciels complexes dans un éditeur visuel de diagrammes facile à utiliser et à installer.

De mettre en œuvre la plupart des concepts des applications multimédia (ports média comme la vidéo, utilisation des connecteurs d’adaptation, structures telles que les configurations de composants complexes et les connecteurs complexes).

De détecter automatiquement l'hétérogénéité par le contrôle des contraintes de formats et de types de données.

De fournir une représentation adéquate des connecteurs d'adaptation qui sont définis au méta- niveau (notion de classe d'UML 2.0) plutôt que d'utiliser un attribut.

Synthèse

Les architectures logicielles sont le complément indispensable permettant l’organisation fonctionnelle des applications basées composants ainsi que la mise en place des communications. Dans un contexte applicatif multimédia, l’architecture logicielle d’une application multimédia est définie comme un ensemble de composants manipulant différents types de données multimédia, avec des contraintes spécifiques qu’il faut impérativement prendre en compte dès le niveau architectural, afin de : I) maîtriser la complexité du logiciel à partir d’une distinction entre les préoccupations fonctionnelles et non- fonctionnelles, II) éviter les reconfigurations et les réassemblages qui peuvent engendrer des incohérences ou même des incompatibilités. Parmi les langages permettant de représenter les architectures logicielles, UML 2.0 été retenu car il fournit un ensemble de mécanismes d’extension dans le but de documenter les concepts multimédia dans les architectures logicielles.

Dans ce chapitre, nous avons défini un profil UML 2.0 pour exprimer et modéliser le méta modèle MMSA (Meta-model Multimedia Software Architecture). Le tableau suivant présente une comparaison entre les concepts architecturaux d’UML et ceux de MMSA.

Page 115

UML 2.0

MMSA

Composant Une classe enrichie Une classe composée de services

Connecteur Implicite. Il représente une relation de communication entre deux composants

Explicite. C’est un composant spécifique assurant les préoccupations non fonctionnelles des composants métier.

configuration Assemblage des composants (composants composites)

Assemblage de composants et de connecteurs

Interface - Associé à un ou plusieurs ports - Une interface peut être requise, fournie ou les deux

Contient les ports d’un composant ou les rôles d’un connecteur. Il y’a une différence entre interface d’E et interface de S.

Port Permet d’assurer le transfert des flux fournis/requis du composant

- Associé à un ou plusieurs services - Un port peut être requis ou fourni

Rôle / Associé à la glu

Service / Assure un rôle d’un composant/connecteur

Glu / Assure la communication et l’adaptation des flux

Attachement Une relation entre deux composants Une relation entre un composant et un connecteur ou entre deux connecteurs

Liaison / Une relation entre un composant MMSA et une application non-MMSA.

TABLE 3.2. COMPARAISON ENTRE UML ET MMSA

Notre profil UML2.0 pour l’ADL MMSA comporte un ensemble de stéréotypes appliqués à des méta- classes issues du métamodèle UML2.0. Les stéréotypes proposés sont dotés de contraintes d’utilisation exprimées formellement en OCL [WAR03, OMG03a]. Un tel profil est défini pour favoriser :

1. la récupération (ou réutilisation) des architectures logicielles décrites en MMSA;

2. la conception et la réalisation des systèmes logiciels multimédia ayant des architectures

logicielles explicites et documentées ;

3. la transformation de modèles selon l’approche MDA [OMG03b]. Par exemple, la transformation

d’un PIM (Platform Independent Model) décrit dans ce profil vers un autre PIM ou un PSM (Platform Specific Model) décrit à l’aide d’autres profils.

Après avoir présenté l’aspect architectural des applications multimédia et des mécanismes de vérification des configurations de ces derniers, la partie suivante s’intéresse à l’aspect comportemental et dynamique des mécanismes d’adaptation. Nous y aborderons les processus d’adaptation et d’auto- adaptation des flux multimédia et les mécanismes de choix et d’intégration des services d’adaptation.

1. Introduction