Automatic Effective Model Discovery

Les decouvertes scientifiques aboutissent souvent a la representation de structures dans l’environnement sous forme de graphes d’objets. Par exemple, certains reseaux de reactions biologiques visent a representer les processus vitaux tels que la consommation de gras ou l’activation/desactivation des genes. L’extraction de connaissances a partir d'experimentations, l'analyse des donnees et l’inference conduisent a la decouverte de structures effectives dans la nature. Ce processus de decouverte scientifiques peut-il etre automatise au moyen de diverses sources de connaissances? Dans cette these, nous abordons la meme question dans le contexte contemporain de l'ingenierie dirigee par les modeles (IDM) de systemes logiciels complexes. L’IDM vise a accelerer la creation de logiciels complexes en utilisant de artefacts de base appeles modeles. Tout comme le processus de decouverte de structures effectives en science un modeleur cree dans un domaine de modelisation des modeles effectifs, qui represente des artefacts logiciels utiles. Dans cette these, nous considerons deux domaines de modelisation: metamodeles pour la modelisation des langages et des feature diagrams pour les lignes de produits (LPL) logiciels. Pouvons-nous automatiser la decouverte de modeles effectifs dans un domaine de modelisation? Le principal defi dans la decouverte est la generation automatique de modeles. Les modeles sont des  graphes d’objets interconnectes avec des contraintes sur leur structure et les donnees qu'ils contiennent. Ces contraintes sont imposees par un domaine de modelisation et des sources heterogenes de connaissances, incluant plusieurs regles de bonne formation. Comment pouvons-nous generer automatiquement des modeles qui satisfont ces contraintes? Dans cette these, nous presentons un framework dirige par les modeles pour repondre a cette question. Le framework pour la decouverte automatique de modeles utilise des sources heterogenes de connaissances pour construire, dans un premier temps, un sous-ensemble concis et pertinent d’une specification du domaine de modelisation appelee domaine de modelisation effectif. Ensuite, il transforme le domaine de modelisation effectif defini dans differents langages vers un probleme de satisfaction de contraintes dans le langage de specification formel Alloy. Enfin, le framework invoque un solveur sur le modele Alloy pour generer un ou plusieurs modeles effectifs. Nous incorporons le framework dans deux outils: Cartier pour la decouverte de modeles a partir de n’importe quel langage de modelisation et Avishkar pour la decouverte de produits dans une LPL. Nous validons notre framework par des experimentations rigoureuses pour la generation de test, la completion de modeles partiel, la generation de produits, et la generation d’orchestrations web service. Les resultats montrent que notre framework genere systematiquement des solutions effectives dans des domaines de modelisation a partir de cas d’etude significatifs.