MoScript: A DSL for Querying and Manipulating Model Repositories

Growing adoption of Model-Driven Engineering has hugely increased the number of modelling artefacts (models, metamodels, transformations, ...) to be managed. Therefore, development teams require appropriate tools to search and manipulate models stored in model repositories, e.g. to find and reuse models or model fragments from previous projects. Unfortunately, current approaches for model management are either ad-hoc (i.e., tied to specific types of repositories and/or models), do not support complex queries (e.g., based on the model structure and its relationship with other modelling artefacts) or do not allow the manipulation of the resulting models (e.g., inspect, transform). This hinders the probability of efficiently reusing existing models or fragments thereof. In this paper we introduce MoScript, a textual domain-specific language for model management. With MoScript, users can write scripts containing queries (based on model content, structure, relationships, and behaviour derived through on-the-fly simulation) to retrieve models from model repositories, manipulate them (e.g., by running transformations on sets of models), and store them back in the repository. MoScript relies on the megamodeling concept to provide a homogeneous model-based interface to heterogeneous repositories.

[1]  Renata Pontin de Mattos Fortes,et al.  MOOGLE: A Model Search Engine , 2008, MoDELS.

[2]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[3]  Marie-Pierre Gervais,et al.  Model Bus: Towards the Interoperability of Modelling Tools , 2003, MDAFA.

[4]  Stefano Ceri,et al.  The History of WebML Lessons Learned from 10 Years of Model-Driven Development of Web Applications , 2009, Conceptual Modeling: Foundations and Applications.

[5]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[6]  Frédéric Jouault,et al.  Model Driven Management of Complex Systems: Implementing the Macroscope's Vision , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[7]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[8]  San Murugesan Web engineering , 1999, LINK.

[9]  Henry Muccini,et al.  Realizing architecture frameworks through megamodelling techniques , 2010, ASE.

[10]  LämmelRalf,et al.  Toward an engineering discipline for grammarware , 2005 .

[11]  Jean Bézivin,et al.  Global Model Management in Eclipse GMT/AM3 , 2006 .

[12]  Erhard Rahm,et al.  Rondo: a programming platform for generic model management , 2003, SIGMOD '03.

[13]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[14]  Gerd Wagner,et al.  Ontologies, Meta-models, and the Model-Driven Paradigm , 2006, Ontologies for Software Engineering and Software Technology.

[15]  Eric Yu,et al.  Conceptual Modeling: Foundations and Applications , 2009 .

[16]  Frédéric Jouault,et al.  Typing in Model Management , 2009, ICMT@TOOLS.

[17]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[18]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[19]  Wouter Joosen,et al.  UniTI: a unified transformation infrastructure , 2007, MODELS'07.

[20]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[21]  Bastiaan Stephan Graaf,et al.  Model-Driven Evolution of Software Architectures , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[22]  Ivano Malavolta A model-driven approach for managing software architectures with multiple evolving concerns , 2010, ECSA '10.

[23]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[24]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[25]  Alessandro Bozzon,et al.  Searching Repositories of Web Application Models , 2010, ICWE.

[26]  Stéphane Ducasse,et al.  Supporting simultaneous versions for software evolution assessment , 2011, Sci. Comput. Program..

[27]  Aruna Raja,et al.  Domain Specific Languages , 2010 .

[28]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.

[29]  Jean-Marie Favre,et al.  Towards a Basic Theory to Model Model Driven Engineering , 2004 .

[30]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[31]  Uwe Aßmann,et al.  Safe Composition of Transformations , 2010, ICMT@TOOLS.

[32]  Yolande Berbers,et al.  Applying Megamodelling to Model Driven Performance Engineering , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[33]  Anneke Kleppe,et al.  MCC: A Model Transformation Environment , 2006, ECMDA-FA.

[34]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[35]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[36]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[37]  Manuel Wimmer,et al.  Bridging Grammarware and Modelware , 2005, MoDELS Satellite Events.