«

»

Partial Model Completion in Model Driven Engineering using Constraint Logic Programming

by Sagar Sen, Benoit Baudry, Doina Precup
Abstract:
In Model Driven Engineering a model is a graph of objects that conforms to a meta-model and a set of constraints. The meta-model and the constraints declaratively restrict models to a valid set. Models are used to represent the state and behaviour of software systems. They are specified in visual modelling environments or automatically synthesized for program testing. In such applications, a modeller is interested in specifying a partial model or a set of partial models which has a structure and associated properties that interests him/her. Completing a partial model manually can be an extremely tedious or an undecidable task since the modeller has to satisfy tightly-coupled and arbitrary constraints. We identify this to be a problem and present a methodology to solve (if a solution can be found within certain time bounds) it using constraint logic programming. We present a transformation from a partial model, its meta-model, and additional constraints to a constraint logic program. We solve/query the CLP to obtain value assignments for undefined properties in the partial model. We then complete the partial model using the value assignments for the rest of the properties.
Reference:
Partial Model Completion in Model Driven Engineering using Constraint Logic Programming (Sagar Sen, Benoit Baudry, Doina Precup), In Proceedings of the International Conference on the Applications of Declarative Programming, 2007.
Bibtex Entry:
@inproceedings{sen07b,
	Abstract = {In Model Driven Engineering a model is a graph of objects that conforms
	to a meta-model and a set of constraints. The meta-model and the
	constraints declaratively restrict models to a valid set. Models
	are used to represent the state and behaviour of software systems.
	They are specified in visual modelling environments or automatically
	synthesized for program testing. In such applications, a modeller
	is interested in specifying a partial model or a set of partial models
	which has a structure and associated properties that interests him/her.
	Completing a partial model manually can be an extremely tedious or
	an undecidable task since the modeller has to satisfy tightly-coupled
	and arbitrary constraints. We identify this to be a problem and present
	a methodology to solve (if a solution can be found within certain
	time bounds) it using constraint logic programming. We present a
	transformation from a partial model, its meta-model, and additional
	constraints to a constraint logic program. We solve/query the CLP
	to obtain value assignments for undefined properties in the partial
	model. We then complete the partial model using the value assignments
	for the rest of the properties.},
	keywords = {MDE},
	Author = {Sagar Sen and Benoit Baudry and Doina Precup},
	Booktitle = {Proceedings of the International Conference on the Applications of Declarative Programming},
	Title = {Partial Model Completion in Model Driven Engineering using Constraint Logic Programming},
	url = {http://www.irisa.fr/triskell/publis/2007/sen07b.pdf},
	Year = {2007},
	X-International-Audience = {yes},
	X-Proceedings = {yes},
	X-Language = {EN},
	x-abbrv = {ICADP},
}