Skip to main content
QUICK REVIEW

[论文解读] MontiArc - Architectural Modeling of Interactive Distributed and Cyber-Physical Systems

Arne Haber, Jan Oliver Ringert|arXiv (Cornell University)|Sep 22, 2014
Advanced Software Engineering Methodologies参考文献 79被引用 63
一句话总结

MontiArc 是一种领域特定语言,用于在交互式、分布式及信息物理系统中建模组件与连接器架构。它支持分层组件组合、结构子类型、泛型类型和可配置组件,工具支持包括语法感知编辑器和 Java 代码生成器(用于仿真),所有功能均通过 MontiCore DSL 框架实现。

ABSTRACT

This report presents MontiArc, a modeling language for the description of Component & Connector architectures. A component is a unit executing computations and/or storing data. Information flow between components is modeled via unidirectional connectors connecting typed, directed ports of the interfaces of components. Language features of the ADL MontiArc include hierarchical decomposition of components, subtyping by structural inheritance, component type definitions and reference declarations for reuse, generic component types and configurable components, syntactic sugar for connectors, and controlled implicit creation of connections and subcomponent declarations. This technical report gives an overview of the MontiArc language and is a reference for the MontiArc grammar intended to enable reuse and extension of MontiArc and MontiArc related tools. MontiArc is implemented using the DSL framework MontiCore. Available tools include an editor with syntax highlighting and code completion as well as a simulation framework with a Java code generator.

研究动机与目标

  • 为复杂、交互式、分布式及信息物理系统提供一种形式化且可扩展的架构建模语言。
  • 支持通过分层分解和结构继承实现组件重用与模块化。
  • 支持可配置组件和泛型类型,以实现灵活的系统实例化。
  • 提供工具支持,包括语法高亮、代码补全以及通过 Java 代码生成实现的仿真。
  • 建立形式化语法和参考规范,以支持 MontiArc 及相关工具的重用与扩展。

提出的方法

  • 基于 MontiCore 框架定义领域特定语言(DSL),以实现精确的架构建模。
  • 通过带类型的、有方向的端口和单向连接器指定组件接口,以表达信息流。
  • 通过嵌套组件结构和子组件声明支持分层分解。
  • 通过继承实现结构子类型,以支持组件类型的专门化。
  • 引入泛型组件类型和可配置组件,以实现参数化重用。
  • 提供连接器的语法糖以及连接和子组件的隐式创建,以减少样板代码。

实验结果

研究问题

  • RQ1如何设计一种建模语言,以有效表达交互式、分布式及信息物理系统的架构?
  • RQ2在架构建模中,支持分层组合、子类型和组件重用所需的语言构造有哪些?
  • RQ3如何设计 DSL 以同时支持形式化规范和实用工具支持(如代码生成和仿真)?
  • RQ4哪些机制可确保建模语言及其工具链的可扩展性和可维护性?
  • RQ5语法糖和隐式声明如何在不牺牲清晰性或正确性的前提下提升开发人员的生产力?

主要发现

  • MontiArc 成功支持组件的分层分解,实现了模块化和可扩展的系统设计。
  • 通过继承实现的结构子类型支持组件类型的类型安全专门化。
  • 泛型组件类型和可配置性支持灵活且可重用的架构模式。
  • 该语言为连接器提供了语法糖,并隐式创建连接和子组件,减少了冗余。
  • 工具支持包括具备语法高亮和代码补全功能的完整功能编辑器,提升了可用性。
  • 仿真框架结合 Java 代码生成器,支持对建模系统进行运行时验证和执行。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。