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}, }