当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the benefits of file-level modularity for EMF models
Software and Systems Modeling ( IF 2.0 ) Pub Date : 2020-06-12 , DOI: 10.1007/s10270-020-00804-7
Karim Jahed , Mojtaba Bagherzadeh , Juergen Dingel

Model-driven development (MDD) tools based on the Eclipse Modeling Framework (EMF) typically store all elements in a model in a single file which arguably is one of the main reasons why these tools do not scale well and cannot take advantage of existing code versioning systems and other related facilities such as Git and Make. In this work, we describe an approach for storing models in multiple files. We argue that EMF-based MDD tools can benefit significantly from this file-level modularity not only by improving the performance and scalability of basic model operations, but also by simplifying many model management activities through the use of existing code versioning systems and build automation tools. We introduce a domain-specific language that allows defining, at the metamodel level: (1) the mapping between models’ elements and the file structure for model storage and (2) the dependencies between model elements that affect the code generation and compilation (if the integration with code-based tools is required). Our suite then generates an API and scripts to provide support for file-level modularity and facilitate using code-based versioning and build tools. We have used our DSL in the context of Papyrus-RT, an MDD tool for real-time and embedded software, and show how file-level modularity can (1) substantially improve performance and scalability of load and save operations, (2) enable collaborative model development, and (3) facilitate MDD-specific activities such as model comparison and incremental code generation. Our implementation and the models used for evaluation are publicly available.



中文翻译:

关于EMF模型的文件级模块化的好处

基于Eclipse建模框架(EMF)的模型驱动的开发(MDD)工具通常将模型中的所有元素存储在单个文件中,这可以说是这些工具无法很好地扩展并且无法利用现有代码的主要原因之一版本控制系统和其他相关设施,例如Git和Make。在这项工作中,我们描述了一种在多个文件中存储模型的方法。我们认为基于EMF的MDD工具不仅可以提高基本模型操作的性能和可伸缩性,而且可以通过使用现有代码版本控制系统和构建自动化工具来简化许多模型管理活动,从而从该文件级模块化中受益匪浅。我们引入一种特定于域的语言,该语言允许在元模型级别进行定义:(1)模型元素与用于模型存储的文件结构之间的映射,以及(2)影响代码生成和编译的模型元素之间的依赖关系(如果需要与基于代码的工具集成)。然后,我们的套件会生成API和脚本,以提供对文件级模块化的支持,并有助于使用基于代码的版本控制和构建工具。我们已经在Papyrus-RT(用于实时和嵌入式软件的MDD工具)的上下文中使用了DSL,并展示了文件级模块化如何(1)显着提高性能和可扩展性以及保存和保存操作,(2)协作模型开发,以及(3)促进特定于MDD的活动,例如模型比较和增量代码生成。我们的实施和用于评估的模型是公开可用的。

更新日期:2020-06-12
down
wechat
bug