"Automatic Effective Model Discovery"
NRIA Rennes, Campus Universitaire de Beaulieu, France
DEI - Conference Room
June 29th, 2010
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 talk, I will 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. 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 talk, I present a model-driven approach to answer this question.
The approach 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, we transform the effective modelling domain defined in possibly different languages to a constraint satisfaction problem in the unique formal specification language Alloy. Finally, we invoke a solver on the Alloy model to generate one or more effective models. Generation of models exalts to the status of discovery when the models are verified for their effectiveness. I will present an overview of experiments in test model generation, partial model completion, product generation in SPLs, and generation of web-service orchestrations that validate the effectiveness of generated models.
Advanced software architectures and methodologies