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 は、インタラクティブで分散型およびサイバーフィジカルシステムにおけるコンポーネントとコネクタアーキテクチャのモデリングを目的としたドメイン固有言語(DSL)です。階層的コンポーネント構成、構造的サブタイプ型、ジェネリック型、および設定可能なコンポーネントを可能にし、構文に配慮したエディタとシミュレーション用の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)を定義すること。
  • 情報フローを表現するための型付きで方向性を持つポートと単方向コネクタを用いたコンポーネントインターフェースを指定すること。
  • ネストされたコンポーネント構造とサブコンポonent宣言を用いた階層的分解をサポートすること。
  • 継承を介した構造的サブタイプ化を実装し、コンポーネント型の特殊化を可能にすること。
  • パラメトリックな再利用を可能にするために、ジェネリックコンポーネント型と設定可能なコンポーネントを導入すること。
  • コネクタのための構文的シュガーと、接続とサブコンポーネントの暗黙的生成を提供し、ボイラープレートを削減すること。

実験結果

リサーチクエスチョン

  • RQ1どのようにすれば、インタラクティブで分散型およびサイバーフィジカルシステムのアーキテクチャを効果的に表現できるモデリング言語を設計できるか?
  • RQ2アーキテクチャモデリングにおいて、階層的構成、サブタイプ、およびコンポーネント再利用を支援するために必要な言語構造は何か?
  • RQ3形式的仕様と実用的ツール支援(コード生成やシミュレーションなど)を両立できるDSLはどのように設計できるか?
  • RQ4モデリング言語およびそのツールチェーンの拡張性と保守性を保証するメカニズムは何か?
  • RQ5構文的シュガーと暗黙的宣言は、明確さや正しさを損なわせることなく、開発生産性をどのように向上させられるか?

主な発見

  • MontiArc は、モジュラリティとスケーラビリティを実現するコンポーネントの階層的分解を効果的にサポートしている。
  • 継承を介した構造的サブタイプ化により、コンポーネント型の型安全な特殊化が可能である。
  • ジェネリックコンポーネント型と設定可能コンポーネントにより、柔軟で再利用可能なアーキテクチャパターンが実現できる。
  • コネクタのための構文的シュガーと、接続およびサブコンポーネントの暗黙的生成が導入されており、冗長性が低減されている。
  • ツール支援には、構文強調表示とコード補完を備えた包括的なエディタが含まれており、使いやすさが向上している。
  • Javaコードジェネレータを備えたシミュレーションフレームワークにより、モデル化されたシステムの実行時検証と実行が可能になっている。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。