笔记:10 years of Model Federation with Openflexo:Challenges and Lessons Learned
10 years of Model Federation with Openflexo: Challenges and Lessons Learned
Abstraction
In the context of complex system development, heterogeneous modeling responds to the need to integrate several domains. This need requires the use of the most appropriate formalism and tooling for each domain to be efficient. Model federation promotes the semantic interoperability of heterogeneous models by providing the means to reify correspondences between different model elements, add custom behaviors and bridge the gap between technological spaces. As such, it can be used as an infrastructure to address many different system engineering problems. This is what we have been doing for over a decade, as part of a close collaboration between a small software engineering startup and academia. This paper reports on this experience.
Concretely, we discuss the context, ambitions, and challenges that led to the inception of our practice of model federation, and we present five use cases experiences, stemming from real industrial and academic needs, and elaborate on lessons learned. In addition, we also report on challenges and lessons learned regarding the development and maintenance of a model-driven model federation tool, the Openflexo framework. Finally, we set up a road map for the future of model federation and Openflexo.
当年的best paper之一。本文是Openflexo团队回顾MDE方面的经验的论文,强调了他们对MDE开发的学术与工程理想——模型联合体,然后讲他们是如何理解相关环节的(四个挑战),怎么为之实践的(五个例子),最后给出了他们最终的愿景。
第二节介绍了四个挑战:
- Preserving existing practices:尽量确保现有的工作模式和工作模型不被破坏或干扰;
- seeing everying as a model:一个系统最终的模型应该是单一来源的;
- Conceptualizing and organizing:不同领域的概念互相独立分隔,但是存在一定的语义连接;
- Mastering evolution:模型的不同侧面应该确保整体系统的一致性。
第三节介绍模型联合体(Model Federation)的概念。第四节就开发过的五个例子来分析,就上面四个挑战分别讨论,并评估了他们分别做到了哪些方面。第五节讨论经验教训:
- Separate business from technology:流程概念和技术建模分开,每个人应该专注做当前层级的模型而不要跨模型建模。
- Tool maintenance & dissemination:开发完的软件工具应该不断维护和向工业界推广。
- Need for many concrete syntax:文本建模在模型多的时候比图建模有用。
- Federation requires organization:模型联合体的概念需要统一。
- Modeling requires flexibility:建模应具有一定的灵活性,在一些方面应该可以自定义。
- Modeling needs model capitalization:好的模型和模型工具应该可以被大量重用,建立一个复用性强的知识库有利于新模型的开发效率。
本文叙述思路明确,表达简明易读,讨论的逻辑也很在理,很符合我对MDE的一些理解和认知,总结的一些内容也值得再日后回头翻阅。