Domain-specific Model Editors with Model Completion

by Sagar Sen, Benoit Baudry, Hans Vangheluwe
Abstract:
Today, integrated development environments such as Eclipse allow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Word present corrections for grammatical errors in sentences. Both of these existing systems use a set of constraints expressed in the form of a grammar to restrict/correct the user. Taking this idea further, in this paper we present an integrated software system capable of generating recommendations for model completion of partial models built in arbitrary domain speciÞc model editors. We synthesize the model editor equipped with automatic completion from a modelling language’s declarative speciÞcation consisting of a meta-model and constraints on it along with a visual syntax. The automatic completion feature is powered by a Prolog engine whose input is a constraint logic program derived from some models. The input logic program is obtained by a model transformation from models in multiple languages: the meta-model (as a class diagram), constraints on it (as constraint logic clauses), and a partial model (in the domain speciÞc language). The Prolog engine solves the generated logic program and the solution(if there is one) is returned to the model editor as a set of recommendations for properties of the partial model. We incorporate automatic completion in the generative tool AToM 3 and use SWI-Prolog for constraint representation and satisfaction. We present examples using an illustrative visual language of Finite State Machines.
Reference:
Domain-specific Model Editors with Model Completion (Sagar Sen, Benoit Baudry, Hans Vangheluwe), In Proceedings of MPM Workshop at MoDELS’07, 2007.
Bibtex Entry:
@inproceedings{Sen07a,
	Abstract = {Today, integrated development environments such as Eclipse allow users
	to write programs quickly by presenting a set of recommendations
	for code completion. Similarly, word processing tools such as Microsoft
	Word present corrections for grammatical errors in sentences. Both
	of these existing systems use a set of constraints expressed in the
	form of a grammar to restrict/correct the user. Taking this idea
	further, in this paper we present an integrated software system capable
	of generating recommendations for model completion of partial models
	built in arbitrary domain speciÞc model editors. We synthesize the
	model editor equipped with automatic completion from a modelling
	language's declarative speciÞcation consisting of a meta-model and
	constraints on it along with a visual syntax. The automatic completion
	feature is powered by a Prolog engine whose input is a constraint
	logic program derived from some models. The input logic program is
	obtained by a model transformation from models in multiple languages:
	the meta-model (as a class diagram), constraints on it (as constraint
	logic clauses), and a partial model (in the domain speciÞc language).
	The Prolog engine solves the generated logic program and the solution(if
	there is one) is returned to the model editor as a set of recommendations
	for properties of the partial model. We incorporate automatic completion
	in the generative tool AToM 3 and use SWI-Prolog for constraint representation
	and satisfaction. We present examples using an illustrative visual
	language of Finite State Machines.},
	Address = {Nashville, TN, USA},
	keywords = {MDE},
	Author = {Sen, Sagar and Baudry, Benoit and Vangheluwe, Hans},
	Booktitle = {Proceedings of MPM Workshop at MoDELS'07},
	Month = {October},
	Title = {Domain-specific Model Editors with Model Completion},
	url = {http://www.irisa.fr/triskell/publis/2007/Sen07a.pdf},
	X-Country = {US},
	X-International-Audience = {yes},
	X-Language = {EN},
	Year = {2007},
	x-abbrv = {MPM},
	}