MoScript: A DSL for Querying and Manipulating Model Repositories

MoScript: A DSL for Querying and Manipulating Model Repositories
复制标题

MoScript:用于查询和操作模型存储库的 DSL

DOI:
10.1007/978-3-642-28830-2_10
复制
发表时间:
2011
期刊:
Software Language Engineering
影响因子:
--
通讯作者:
Jordi Cabot
Jordi Cabot
中科院分区:
--
文献类型:
--
作者:
Wolfgang Kling;F. Jouault;Dennis Wagelaar;Marco Brambilla;Jordi Cabot

文献摘要

被引文献

相似文献

越来越多的采用模型驱动的工程已经大大增加了建模工件(模型,元模型,转换,.)的数量。需要管理。因此,开发团队需要适当的工具来搜索和操作存储在模型存储库中的模型,例如,从以前的项目中查找和重用模型或模型片段。不幸的是,当前的模型管理方法要么是自组织的(即,绑定到特定类型的储存库和/或模型),不支持复杂的查询(例如,基于模型结构及其与其它建模伪像的关系)或不允许操纵所得到的模型(例如,检查、变换)。这阻碍了有效地重用现有模型或其片段的可能性。在本文中,我们介绍了MoScript,一个文本域特定的语言模型管理。使用MoScript,用户可以编写包含查询的脚本(基于模型内容,结构,关系和通过动态模拟导出的行为),以从模型存储库中检索模型,操作它们(例如,通过在模型集上运行转换),并将它们存储回存储库中。MoScript依赖于megamodeling概念,为异构存储库提供基于模型的同构接口。
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.