Découverte automatique de modèles effectifs
Automatic Effective Model Discovery
Résumé
Scientific discovery often culminates into representing structure in nature as networks (graphs) of objects. For instance, certain biological reaction networks aim to represent living processes such as burning fat or switching genes on/off. Knowledge from experiments, data analysis and mental tacit lead to the discovery of such effective structures in nature. Can this process of scientific discovery using various sources of knowledge be automated? In this thesis, we address the same question in the contemporary context of model-driven engineering (MDE) of complex software systems. MDE aims to grease the wheels of complex software creation using first class artifacts called models. Very much like the process of effective structure discovery in science a modeler creates effective models, representing useful software artifacts, in a modelling domain. In this thesis, we consider two such modelling domains: metamodels for modelling languages and feature diagrams for Software Product Lines (SPLs). Can we automate effective model discovery in a modelling domain? The central challenge in discovery is the automatic generation of models. Models are graphs of inter-connected objects with constraints on their structure and the data contained in them. These constraints are enforced by a modelling domain and heterogeneous sources of knowledge including several well-formedness rules. How can we automatically generate models that simultaneously satisfy these constraints? In this thesis, we present a model-driven framework to answer this question. The framework for automatic model discovery uses heterogeneous sources of knowledge to first setup a concise and relevant subset of a modelling domain specification called the effective modelling domain. Next, it transforms the effective modelling domain defined in possibly different languages to a constraint satisfaction problem in the unique formal specification language Alloy. Finally, the framework invokes a solver on the Alloy model to generate one or more effective models. We embody the framework in two tools: Pramana for model discovery in any modelling language and Avishkar for product discovery in a SPL. We validate our framework through rigorous experiments in test model generation, partial model completion, product generation in SPLs, and generation of web-service orchestrations. The results qualify that our framework consistently generates effective findings in modelling domains from commensurate case studies.
Les découvertes scientifiques aboutissent souvent à la représentation de structures dans l'environnement sous forme de graphes d'objets. Par exemple, certains réseaux de réactions biologiques visent à représenter les processus vitaux tels que la consommation de gras ou l'activation/désactivation des gênes. L'extraction de connaissances à partir d'expérimentations, l'analyse des données et l'inférence conduisent à la découverte de structures effectives dans la nature. Ce processus de découverte scientifiques peut-il être automatisé au moyen de diverses sources de connaissances? Dans cette thèse, nous abordons la même question dans le contexte contemporain de l'ingénierie dirigée par les modèles (IDM) de systèmes logiciels complexes. L'IDM vise à accélérer la création de logiciels complexes en utilisant de artefacts de base appelés modèles. Tout comme le processus de découverte de structures effectives en science un modeleur crée dans un domaine de modélisation des modèles effectifs, qui représente des artefacts logiciels utiles. Dans cette thèse, nous considérons deux domaines de modélisation: métamodèles pour la modélisation des langages et des feature diagrams pour les lignes de produits (LPL) logiciels. Pouvons-nous automatiser la découverte de modèles effectifs dans un domaine de modélisation? Le principal défi dans la découverte est la génération automatique de modèles. Les modèles sont des graphes d'objets interconnectés avec des contraintes sur leur structure et les données qu'ils contiennent. Ces contraintes sont imposées par un domaine de modélisation et des sources hétérogènes de connaissances, incluant plusieurs règles de bonne formation. Comment pouvons-nous générer automatiquement des modèles qui satisfont ces contraintes? Dans cette thèse, nous présentons un framework dirigé par les modèles pour répondre à cette question. Le framework pour la découverte automatique de modèles utilise des sources hétérogènes de connaissances pour construire, dans un premier temps, un sous-ensemble concis et pertinent d'une spécification du domaine de modélisation appelée domaine de modélisation effectif. Ensuite, il transforme le domaine de modélisation effectif défini dans différent langages vers un problème de satisfaction de contraintes dans le langage de spécification formel Alloy. Enfin, le framework invoque un solveur sur le modèle Alloy pour générer un ou plusieurs modèles effectifs. Nous incorporons le framework dans deux outils: PRAMANA pour la découverte de modèles a partir de n'importe quel langage de modélisation et AVISHKAR pour la découverte de produits dans une LPL. Nous validons notre framework par des expérimentations rigoureuses pour la génération de test, la complétion de modèles partiel, la génération de produits, et la génération d'orchestrations web service. Les résultats montrent que notre framework génère systématiquement des solutions effectives dans des domaines de modélisation à partir de cas d'étude significatifs.
Fichier principal
thesisFinal.pdf (19.63 Mo)
Télécharger le fichier
thesisFinal.pptx (7 Mo)
Télécharger le fichier
Format | Autre |
---|
Loading...