Towards Domain-specific Model Editors with Automatic Model Completion

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 structure editors use a set of constraints expressed in the form of a natural language grammar to restrict/correct the user ( syntax-directed editing) or formal grammar (language-directed editing ) to aid document completion. 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 editors for domain-specific modeling languages. We present a methodology to synthesize model editors equipped with automatic completion from a modeling language’s declarative specification consisting of a meta-model with a visual syntax. This meta-model directed completion feature is powered by a first-order relational logic engine implemented in ALLOY. We incorporate automatic completion in the generative tool AToM3. We use the finite state machines modeling language as a concise running example. Our approach leverages a correct by construction philosophy that renders subsequent simulation of models considerably less error-prone.

[1]  Hans Vangheluwe,et al.  Domain-Specific Model Editors with Model Completion , 2008, MoDELS.

[2]  Gabriele Taentzer,et al.  Generation of visual editors as eclipse plug-ins , 2005, ASE.

[3]  David Notkin,et al.  Gandalf: Software development environments , 1986, IEEE Transactions on Software Engineering.

[4]  Jordi Cabot,et al.  Verification of UML/OCL Class Diagrams using Constraint Programming , 1899, 2008 IEEE International Conference on Software Testing Verification and Validation Workshop.

[5]  Steven P. Reiss,et al.  Graphical program development with PECAN program development systems , 1984, SDE 1.

[6]  Volker Haarslev,et al.  RACER System Description , 2001, IJCAR.

[7]  Ernest Teniente,et al.  Reasoning on UML Class Diagrams with OCL Constraints , 2006, ER.

[8]  Frank Budinsky,et al.  Eclipse modeling framework : a developer's guide , 2004 .

[9]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[10]  James E. Archer,et al.  Rational's experience using Ada for very large systems , 1986 .

[11]  Sharad Malik,et al.  Zchaff2004: An Efficient SAT Solver , 2004, SAT (Selected Papers.

[12]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[13]  Ian Horrocks,et al.  Using an Expressive Description Logic: FaCT or Fiction? , 1998, KR.

[14]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[15]  Gabor Karsai,et al.  Composing Domain-Specific Design Environments , 2001, Computer.

[16]  Thomas Reps,et al.  Programming Techniques and Data Structures , 1981 .

[17]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[18]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[19]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[20]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[21]  Toni Mancini,et al.  Finite Satisfiability of UML Class Diagrams by Constraint Programming , 2004, Description Logics.

[22]  Hans Vangheluwe,et al.  Domain-Specific Modelling With Atom3 , 2007, ICSOFT.

[23]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[24]  Behzad Bordbar,et al.  MDA and Analysis of Web Applications , 2005, TEAA.

[25]  Gabor Karsai,et al.  Smart Dust: communicating with a cubic-millimeter computer , 2001 .

[26]  Doina Precup,et al.  Partial Model Completion in Model Driven Engineering using Constraint Logic Programming , 2007 .

[27]  Tim Teitelbaum The Cornell Program Synthesizer: a syntax-directed programming environment , 1979, SIGP.

[28]  Gabor Karsai,et al.  Constraint-Based Design-Space Exploration and Model Synthesis , 2003, EMSOFT.

[29]  Krzysztof R. Apt,et al.  Constraint logic programming using Eclipse , 2007 .

[30]  Diego Calvanese,et al.  Reasoning on UML Class , 2003 .

[31]  Behzad Bordbar,et al.  UML2ALLOY: A tool for lightweight modelling of discrete event systems , 2005, IADIS AC.

[32]  Bernard Lang,et al.  Programming Environments Based on Structured Editors: The MENTOR Experience, , 1980 .

[33]  Gail E. Kaiser,et al.  Incremental dynamic semantics for language-based programming environments , 1989, TOPL.

[34]  Achim D. Brucker,et al.  The HOL-OCL Book , 2006 .

[35]  Brad A. Myers,et al.  Design requirements for more flexible structured editors from a study of programmers' text editing , 2005, CHI Extended Abstracts.

[36]  Hans Vangheluwe,et al.  ATOM³: A Tool for Multi-formalism Modelling and Meta-modelling , 2002 .

[37]  Benoit Baudry,et al.  On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.