Thématiques principales

jeudi 21 décembre 2017

Ingénierie Dirigée par les Modèles

L'ingénierie dirigée par les modèles (IDM) [13], [16] et [17]  est un cadre méthodologique permettant d'unifier différents domaines. Elle permet cette unification grâce à l'utilisation importante de modèles (potentiellement exprimables suivant différents domaines) et des transformations automatiques entre ces modèles. L’IDM permet le développement plus souple et plus simple de programmes informatiques dans des contextes comme les IHM  ou les systèmes temps réels distribués.

Système d’étude

L’IDM définit la notion de système [13] comme étant l’entité étudiée dans le cadre d’un processus de modélisation. Un système est vu comme étant un ensemble d’entités en interactions décomposable en sous-systèmes. Cette décomposition amène à une relation de composition entre systèmes et sous-systèmes. Dans [13], comme illustré par la figure 48, trois types principaux de systèmes sont distingués permettant une première classification : les systèmes physiques, les systèmes numériques et les systèmes abstraits. Un système physique représente une entité physique concrète et observable sur lequel l’homme peut d’agir matériellement. Un système abstrait est une entité purement conceptuelle comme un objet mathématique (fonction, ensemble, etc.). Un système numérique est un système appartenant à la classe des objets informatiques. Cette liste n'est pas exhaustive mais elle a le mérite de mettre en avant les limites de la modélisation: le monde physique et le monde conceptuel.


Modèle

Un modèle est l’abstraction d'un système réalisé dans une intention et un contexte particulier. Un modèle doit pouvoir être utilisé pour répondre à des questions sur le système. Un modèle peut décrire ou spécifier un système. Dans le premier cas, le modèle doit respecter le système, dans le second cas, c'est le système qui doit respecter le modèle. La relation existante entre le modèle et le système est définie dans les termes de "est le modèle de" ou "est représenté par" comme illustré par la figure 49. Comme le système, le modèle est composé d'éléments qui sont les abstractions des sous-systèmes donc également des modèles.




Méta-modèle

L'IDM définit le contexte de réalisation de modèles par un meta-modèle. Le meta-modèle est le modèle d'un langage de modélisation qui est l'ensemble des modèles réalisables comportant des caractéristiques communes. Le meta-modèle a un rôle important dans la modélisation car il définit les règles de construction de modèles pour le domaine qu'il définit. Un modèle est alors dit conforme à un meta-modèle s'il appartient à l'ensemble des modèles modélisé par le meta-modèle. Cette relation de conformité est illustrée par la figure 50.



Le système, le modèle, le langage de modélisation et le méta-modèle peuvent être réunis au sein d'un même diagramme en faisant apparaître les relations de conformité, de modélisation ainsi que d'appartenance à un langage de modélisation (figure 51). Ce diagramme porte le nom de pattern "Step" dans [13].





Langage spécifique de domaine

Apres les notions de bases de système, de modèle et de meta-modèle, l'IDM offre une définition de la notion de Langage Spécifique de Domaine (DSL). Un DSL est un langage qui capture les aspects spécifiques à un domaine comme le ferait un meta-modèle. Un DSL intègre cependant plus que cela car il intègre la notion de sémantique.

Transformation de modèles

Une transformation de modèles définie par IDM est la modification d'un modèle suivant des règles définies au niveau de son méta-modèle. Les transformations de modèles sont de deux types, les transformations de modèles endogènes et les transformations de modèles exogènes.

 Les transformations de modèles endogènes sont des transformations sans modification du meta-modèle donc au sein d'un même langage de modélisation. Ces transformations sont généralement dues à l'évolution du modèle dans une exécution.

 Les transformations exogènes permettent le changement de meta-modèle auquel le modèle est conforme afin de passer d'un langage de modélisation à un autre. Ce changement de langage de modélisation permet de bénéficier des avantages de chaque langage ou d'automatiser un processus de développement, ce processus se décomposant en diverses étapes qui peuvent être: une étape de modélisation, une étape de vérification puis une étape de ciblage vers une plateforme spécifique. Le passage d'une étape à une autre se réalisant par transformation de modèles.

 Pour la réalisation des transformations de modèles, l'IDM propose un modèle de transformations, illustré par la figure 52, liant les différents éléments du méta-modèles de façon à établir des règles de correspondances. Ces règles, appliquées au modèle à transformer, vont permettre la réalisation d'un nouveau modèle conforme au meta-modèle ciblé.



Exemple:
Avec l'illustration de la figure 53, considérons un fichier XML de base de données contenant l'identité de Thomas ainsi que des informations confidentielles telles que son adresse. Pour l'affichage des informations non confidentielles en HTML, vient tout de suite à l'esprit XSLT afin de générer de l'HTML automatiquement. Dans le cadre IDM ceci est purement une transformation de modèle par filtrage des informations et par la réalisation d'une mise en page.



Conclusions

L'IDM offre un cadre unifié pour la réalisation et la manipulation de modèles grâce aux notions de meta-modèle, de langage de modélisation, et de relations de :
•    Modélisation entre le système et son modèle ainsi qu'entre le langage de modélisation et le meta-modèle.
•    Conformité entre le modèle et son meta-modèle.

 La notion de transformation de modèles donne la possibilité d'intégrer diverses technologies possédant leur propre langage de modélisation dans le but de réaliser des systèmes complexes et fiables par génération automatique de code, par vérification dans des domaines adaptés à cette tâche etc. L'IDM offre le cadre nécessaire pour la mise en place d'un processus visant le développement d'un système logiciel par transformations de modèles. La dernière phase de ce processus est le ciblage vers une plateforme d'exécution permettant de finaliser la réalisation du système logiciel. La définition d'une plateforme d'exécution doit donc être définie.

 References:


[13] J-M. Favre. J. Estublier, M. Blay-Fornarino; L'ingénierie dirigée par les modèles, 2006, Edition Hermes, Lavoisier, Paris.
[16] A. Rasse, J-M. Perronne, B. Thirion. Ingénierie dirigée par les modèles pour une conception fiable des logiciels de commande, 2005 IDM05, p 231-244
[17] A. Rasse, Approche orientée modèles pour la spécification, la vérification, l'implantation des systèmes logiciels critiques, à paraître (2006), Mémoire de thèse, Université de Haute alsace, Laboratoire MIPS.

Aucun commentaire:

Enregistrer un commentaire