• Aucun résultat trouvé

Chapitre III : Analyse préalable en vue de la proposition d’une méthode de génération

III.2. Approche pour la génération automatique de l’IHM

III.2.1. Approche MDA et MDE

81

III.2.1. Approche MDA et MDE

La démarche IDM (Combemale, 2008) est caractérisée par ses concepts fondamentaux et ses architectures aux différents niveaux. La particularité de cette approche est la mise en place d’un modèle comme pilier de la génération d’une application finale. On va voir dans la section suivante les concepts fondamentaux de l’approche MDA.

III.2.1.1. Concepts fondamentaux

L’Ingénierie Dirigée par les Modèles (ou Model Driven Engineering noté MDE en Anglais) est un nouveau paradigme du génie logiciel qui place les modèles comme base de conception et de modélisation au sein du processus du développement du logiciel. Cette approche rend facile et rapide le développement du logiciel sophistiqué dans le but de réduire l’intervention humaine. Elle fournit des moyens permettant de passer d’un niveau d’abstraction à un autre. Ce concept se base sur la création des modèles conceptuels du haut niveau d’abstraction en les transformant en modèles du bas niveau d’abstraction qui décrit l’application finale. Les modèles conceptuels, les modèles abstraits et les modèles concrets font partie de modèles de l’application finale dans différents niveaux d’abstraction et différents espaces technologiques. Pour répondre aux besoins des utilisateurs, il est nécessaire de fournir des outils flexibles et fiables pour la gestion automatique des modèles ainsi que des langages dédiés pour leurs transformations. En effet, le traitement du modèle s’avère important et couteux. L’approche IDM est alors une discipline récente du génie logiciel qui promeut les modèles en entités de première classe dans le développement logiciel (Bézivin & Blanc, 2002), (Bézivin et al., 2006) et (Bézivin et al., 2004).

L’importance du modèle conduit les chercheurs informaticiens et les organismes comme l’Object Managment Group (OMG) à enrichir les modèles pour lever le verrou de l’automatisation du développement du logiciel. L’objectif du concept est d’utiliser les modèles dès la conception d’une application afin de faciliter la création des nouveaux espaces technologiques plus adaptés aux exigences utilisateurs. Cette approche a aussi pour but de faciliter les différentes étapes de modélisation nécessaires à l’élaboration d’une application. Ainsi, les modèles occupent une place très importante dès les phases d’analyse et conception jusqu’à la phase du développement d’une application informatique. Pour que chaque modèle soit capable de répondre aux critères des utilisateurs, les modèles conceptuels doivent être compréhensibles par l’utilisateur et les modèles produits doivent être interprétables par la machine.

---

82

Le processus du développement d’une application peut alors être considéré comme une séquence de transformations des modèles partiellement ordonnée. Chaque transformation prenant un ou des modèles en entrée et produisant un ou des modèles en sortie, jusqu'à l’obtention de la maquette de l’application finale. En bref, l’IDM (Bouchelligua et al., 2010) a proposé la modélisation des applications à haut niveau d’abstraction. Elle vise à placer les modèles au cœur du processus de la conception et de la modélisation d’un logiciel puis à générer le code de l’application à partir de ces modèles. Ce concept rend facile la modélisation et la génération automatique d’une IHM car il permet aussi de :

➢ Cibler plusieurs plateformes d’exécution à partir d’une seule conception ; ➢ Réutiliser l’existant défini entièrement par les modèles conceptuels ; ➢ Automatiser la génération du code à partir de modèles ;

➢ Contrôler, simuler, tester à différents niveaux d’abstraction ; ➢ Transformer des modèles pour passer d’un niveau à l’autre.

L’éventuel défi de cette démarche est d’augmenter la productivité, d’assurer la maintenance et l’adaptation aux changements du contexte. Les travaux de (Sboui et al., 2017) ont eu pour objectif principal de proposer une approche les interfaces utilisateur adaptés au contexte de développement et également aux préférences des utilisateurs. L’approche IDM permet ainsi de concevoir une application en s’abstrayant des technologies cibles. Elle assure la pérennité des applications conçues. S’appuyant sur la démarche IDM, l’Architecture Dirigée par les Modèles (ou Model Driven Architecture (MDA) en Anglais) est une variante particulière de l’IDM.

D’après (Vanderdonckt, 2005), (de Almeida Monte-Mor et al., 2011) et (Sacevski & Veseli, 2007), le concept fondamental de l’approche MDA est de séparer les spécifications fonctionnelles d'un système avec son implémentation sur une plate-forme donnée. Rappelons ici que l'initiative de MDA a donné lieu à une standardisation des approches pour la modélisation sous la forme d’une structure en différents niveaux d’abstraction. S’appuyant sur la notation UML (Unified Modeling Language), l’approche MDA part d’un CIM et transforme ce modèle en PIM, puis en PSM et génère finalement le code de l’application. Centrées sur la notation UML et la démarche IDM, le concept de l’approche MDA a proposé une architecture pyramidale (à quatre niveaux) présentée à la figure 21.

---

83

Figure 21: Architecture à quatre niveaux de l’approche MDA (André, 2004)

Dans (André, 2004), on trouve cette architecture en quatre niveaux des modèle suivantes : ➢ Le niveau M0 (ou instance) : correspond au monde réel, il décrit les informations réelles

de l’utilisateur, instance du modèle M1 ;

➢ Le niveau M1 (ou modèle) : représentation du modèle d’information. Il décrit les informations de M0. Les modèles UML, les PIM et les PSM appartiennent à ce niveau. Les modèles M1 sont des instances du méta-modèle M2 ;

➢ Le niveau M2 (ou méta-modèle) : définit le langage de modélisation et la grammaire de représentation des modèles M1. Le méta-modèle UML qui est décrit dans le standard UML, et qui définit la structure interne des modèles UML, fait partie de ce niveau. Les méta-modèles sont des instances du MOF ;

➢ Le niveau M3 (ou méta métamodèle) est composé d’une entité unique (appelé MOF) qui permet de décrire la structure des méta-modèles, d’étendre ou de modifier les métamodèles existants. Le méta métamodèle MOF est réflexif, il se décrit lui-même.

III.2.1.2. Différents modèles du MDA

D’après (Bézivin & Blanc, 2002), (Hammoudi et al., 2008), l’approche MDA décompose le niveau de modélisation en trois niveaux principaux afin d’automatiser les relations inter/intra niveaux et de formaliser les informations contenues dans les niveaux.

---

84

Afin de bien maîtriser l’impact des nouvelles technologies, l’approche MDA préconise l’utilisation de l’architecture à trois niveaux permettant de créer une nouvelle application et de suivre l’évolution de l’application existante. La démarche MDA est composée de plusieurs modèles qui vont servir à modéliser l’application et à générer du code. La figure 22 décrit l’architecture proposée dans l’approche MDA.

Figure 22: Architecture proposée dans l’approche MDA

Les modèles dans chaque niveau d’abstraction ont de la relation mais la frontière entre eux n’est pas encore bien explicitée, ni formalisée. Ainsi, Sylvain André a décrit les différents modèles dans chaque niveau d’abstraction.

a.

Computational Independent Model (CIM)

Le modèle du niveau CIM est indépendant de tout système informatique (Kardoš & Drozdová, 2010) et (Rhazali et al., 2016b). Il permet la vision du système dans l’environnement sans entrer dans le détail de la structure du système, ni de son implémentation. Il est le modèle métier de l’application pour représenter ce que le système devra exactement faire. Il sert pour comprendre un problème et pour décrire le vocabulaire partagé avec des autres modèles. L’indépendance technique de ce modèle lui permet de garder tout son intérêt au cours du temps. Ce premier modèle est modifié si les connaissances ou les besoins métiers changent. Il se traduit en modèle PIM (Zhang et al., 2005), (Kherraf et al., 2008) et (Rhazali et al., 2016b).

---

85

Et il doit ainsi décrire totalement les exigences à modéliser. Ce modèle conceptuel assure la correspondance totale entre les applications créées et les modèles conceptuels.

b.

Platform Independent Model (PIM)

Le modèle du niveau PIM est indépendant de toute plate-forme technique. Il ne contient pas d’information sur les technologies qui sera utilisée pour déployer l’application. D’après (Crampes & Ferry, 2008), (Kherraf, 2011) et (Kherraf et al., 2008), il est obtenu à partir de la transformation de modèle CIM. Il représente ainsi la logique métier spécifique au système ou le modèle de conception décrivant le fonctionnement des entités et des services. En effet, il décrit le système, mais ne montre pas les détails de son utilisation sur la plateforme.

c.

Platform Specific Model (PSM)

Contrairement au modèle du niveau PIM, le modèle du niveau PSM est dépendant de la plateforme technique spécifiée par l’architecte. Il sert essentiellement à la génération du code exécutable dans différentes plateformes techniques. Le PSM décrit comment le système utilisera ces plateformes. Il existe différents niveaux du PSM (Abd-Ali, 2006) dans l’architecture de l’approche MDA, mais les résultats de la transformation sont obtenus par le raffinement successif du modèle PIM jusqu’à l’obtention du code dans un langage spécifique. On va traiter dans la section suivante tout ce qui concerne la notion théorique sur la transformation de modèle.