2008 | OriginalPaper | Buchkapitel
Domain-Specific Model Editors with Model Completion
verfasst von : Sagar Sen, Benoit Baudry, Hans Vangheluwe
Erschienen in: Models in Software Engineering
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
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 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
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 specific 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
.