[论文解读] Applied Metamodelling: A Foundation for Language Driven Development (Third Edition)
本书第三版通过引入使用XMF语言和XCore元模型的全面元建模方法,为语言驱动开发(LDD)奠定了基础。该方法通过支持抽象语法、具体语法、语义和映射的丰富、可扩展的元模型,实现了领域特定语言(DSLs)的构建,最终通过以语言为中心的抽象实现更易维护、可演化且高效的软件开发。
Modern day system developers have some serious problems to contend with. The systems they develop are becoming increasingly complex as customers demand richer functionality delivered in ever shorter timescales. They have to manage a huge diversity of implementation technologies, design techniques and development processes: everything from scripting languages to web-services to the latest 'silver bullet' design abstraction. To add to that, nothing stays still: today's 'must have' technology rapidly becomes tomorrow's legacy problem that must be managed along with everything else. How can these problems be dealt with? In this book we propose that there is a common foundation to their resolution: languages. Languages are the primary way in which system developers communicate, design and implement systems. Languages provide abstractions that can encapsulate complexity, embrace the diversity of technologies and design abstractions, and unite modern and legacy systems.
研究动机与目标
- 通过促进以语言为中心的开发,应对日益复杂和多样的软件系统。
- 通过元建模提供一种结构化、可扩展的框架,用于定义领域特定语言(DSLs)。
- 通过支持为特定关注点量身定制的多种专用语言,克服传统模型驱动工程(MDE)的局限性。
- 通过丰富且机器可处理的语言定义,为可演化、可维护的软件系统建立基础。
- 通过统一的元建模设施,将多种语言抽象整合到一个连贯的开发环境中。
提出的方法
- 使用XMF语言作为核心元建模设施,以一等支持概念、约束、查询和操作的方式定义元模型。
- 采用XCore元模型作为基础结构,以一致且可扩展的方式表示和操作语言定义。
- 应用EBNF和XBNF定义文本化具体语法,支持解析和抽象语法树的构建。
- 使用图形化语法定义从抽象语法生成可视化表示,支持可视化建模。
- 通过类似OCL的表达式(XOCL)和操作集成语义,实现在元模型内行为规范的定义。
- 通过转换机制支持模型与语言之间的映射,实现双向同步。
实验结果
研究问题
- RQ1元建模如何系统性地用于定义和管理软件开发中的领域特定语言(DSLs)?
- RQ2哪些架构原则能够支持可扩展、可重用且可演化的语言定义的创建?
- RQ3如何将多种语言抽象(文本化、图形化、语义化)整合到一个统一、连贯的元建模框架中?
- RQ4专用元建模设施(如XMF)在实现实际、可扩展的语言工程中扮演何种角色?
- RQ5元建模如何通过语言驱动的抽象支持软件系统的演化?
主要发现
- XMF语言和XCore元模型为定义和管理支持语法、语义和约束的领域特定语言(DSLs)提供了强大且可扩展的基础。
- 黄金编织元模型架构实现了文本化、图形化和语义化等多种语言抽象的无缝集成,形成统一的开发环境。
- 元建模过程支持五个不同的抽象层次,允许从高层次概念到可执行语义的精确语言构造建模。
- 使用EBNF和XBNF定义具体语法,确保了可靠解析和抽象语法树的构建,保障了语言的一致性。
- 在元模型中包含查询、约束和操作,支持运行时验证和行为规范,提升了模型正确性与工具支持能力。
- 该框架支持有效的元模型重用与组合,减少了语言定义中的重复,提高了可维护性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。