Ingénierie dirigée par les modèles
Terme lié
Est mobilisé par : Chaîne éditoriale numérique
Définition
L'ingénierie dirigée par les modèles est une discipline qui étudie l'exploitation des modèles pour la conception d'artefacts. Elle prône un renversement de l'exploitation des modèles d'une simple définition pour clarifier un aspect de la conception à une réelle ressource opérationnelle pour la production de l'artefact. Les modèles sont alors utilisés comme données d'entrée d'un algorithme de transformation qui produit ainsi tout ou partie de l'artefact désiré.
Une méthode de conception exploitant l'ingénierie dirigée par les modèles s'appuie sur l'usage d'un méta-modèle : une définition formelle et interprétable par un logiciel de modélisation d'un langage de modélisation. La validité des modèles ainsi conçus peut être contrôlée auprès du méta-modèle. Un algorithme de transformation peut ensuite être conçu à partir du méta-modèle afin de transformer n'importe quel modèle en artefact final.
Par son principe de modélisation et de transformation, l'ingénierie dirigée par les modèles permet de concevoir des artefacts en abstrayant les éléments simplifiés par le modèle.
Exploitation par les chaînes éditoriales
Le principe des chaînes éditoriales numériques XML repose sur une approche d'ingénierie dirigée par les modèles. Le modèle documentaire fournit le langage d'expression et de contrôle des fragments. La chaîne éditoriale mobilisée pour l'écriture est le logiciel de modélisation. L'action d'écrire peut alors être rapportée à la modélisation et les fragments de documents sont des morceaux de modèles de documents. L'algorithme de publication qui transforme des fragments de documents écrits dans un langage XML en documents au format standard est l'algorithme de génération.
![](../res/MDD.png)
Cette méthode d'ingénierie dirigée par les modèles permet d'abstraire l'environnement technologique standard d'expression des documents, rendant ainsi possible une approche multi-formats où plusieurs algorithmes de transformation permettront de générer les mêmes fragments de documents dans plusieurs formats standards différents.
Exploitation pour la modélisation des chaînes éditoriales
La suite Scenari exploite une seconde fois ce principe de modélisation et de génération pour la conception des modèles documentaires. Le logiciel de modélisation de chaînes éditoriales SCENARIbuilder intègre un méta-modèle de chaînes éditoriales qui définit les modalités d'expression d'un modèle documentaire, soit des classes de fragments et leurs transformations. SCENARIbuilder permet l'édition des primitives qui constituent le modèle et la transformation de ces primitives en une archive de code source appelée WorkspacePack. Cette archive contient l'ensemble du code source à associer à un atelier pour permettre l'exploitation d'un graphe.
![](../res/MDE_1.png)
Cette méthode d'ingénierie dirigée par les modèles permet d'abstraire la complexité du code source de spécialisation à produire. Au lieu d'écrire du code source à la redondance forte (la définition des classes de fragments est centrale et réutilisée dans de nombreux aspects du code produit), ce code est intégralement généré à partir de la définition des primitives.
Vue d'ensemble
La suite Scenari duplique le même principe de modélisation et génération pour la conception des chaînes éditoriales et la production des documents. Sur le plan conceptuel, les deux méthodes s'imbriquent l'une dans l'autre puisque les primitives mobilisées dans la conception des chaînes éditoriales représentent le méta-modèle de documents exploités à l'écriture des fragments XML.
Sur le plan technologique, cette mutualisation dans l'approche permet également de mutualiser l'architecture du logiciel de modélisation de chaînes éditoriales (SCENARIbuilder) et du logiciel d'écriture des documents (SCENARIchain). Dit autrement, le logiciel de modélisation de chaînes éditoriales peut également être vu comme une chaîne éditoriale de modèles documentaires. Son propre modèle documentaire est écrit à la main par les développeurs de la suite Scenari, les primitives mobilisées sont des fragments XML agencés les uns avec les autres et édités et contrôlés par le même éditeur que celui utilisé dans SCENARIchain. La transformation des fragments XML est faite dans le même environnement technologique et le code produit est une archive de code exprimé dans des fichiers XML. Ce format de sortie s'inscrit dans un contexte technologique similaire à des standards d'écriture des documents comme OpenDocument (OASIS 2005[1]) ou SCORM (ADL[2]).
Références
Bézivin J. « On the unification power of models ». Software & Systems Modeling, 2005. Volume 4, Issue 2, p 171-188. DOI : 10.1007/s10270-005-0079-0
Brambilla M, Cabot J, Wimmer M. Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, 2012. ISBN : 9781608458820
OASIS. Open Document Format for Office. OASIS Standard. 2005. https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office
Advanced Distributed Learning (ADL). Sharable Content Object Reference Model (SCORM). http://www.adlnet.org/scorm