Skip to content
  Projet Triskell  

Abstract

Document Actions

Automatic Effective Model Discovery

Sagar Sen

INRIA Rennes, Campus universitaire de beaulieu, 35042 France

 

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 domainsmetamodels 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: Cartier 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.