Domain-Specific Model Editors with Model Completion

  • Authors:
  • Sagar Sen;Benoit Baudry;Hans Vangheluwe

  • Affiliations:
  • IRISA/INRIA, Rennes, France and School of Computer Science, McGill University, Montreal, Canada;IRISA/INRIA, Rennes, France;School of Computer Science, McGill University, Montreal, Canada

  • Venue:
  • Models in Software Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Today, integrated development environments such as Eclipseallow users to write programs quickly by presenting a set of recommendations for code completion. Similarly, word processing tools such as Microsoft Wordpresent 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 specific model editors. We synthesize the model editor equipped with automatic completion from a modelling language's declarative specification consisting of a meta-model and constraints on it along with a visual syntax. The automatic completion feature is powered by a Prologengine 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 specific language). The Prologengine 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 AToM3and use SWI-Prologfor constraint representation and satisfaction. We present examples using an illustrative visual language of Finite State Machines.