Skip to main content
QUICK REVIEW

[論文レビュー] Architecture and Behavior Modeling of Cyber-Physical Systems with MontiArcAutomaton

Jan Oliver Ringert, Bernhard Rumpe⋆|arXiv (Cornell University)|Sep 15, 2015
Advanced Software Engineering Methodologies参考文献 32被引用数 40
ひとこと要約

本論文では、Cyber-Physical Systems (CPS) のための自動機ベースの動作モデル化を拡張するドメイン固有言語 MontiArcAutomaton を紹介する。この言語は、状態、変数、遷移を用いて、構成要素の動作を正確かつ文法的に制約された形で指定可能であり、時間同期型とイベント駆動型の動作をサポートする2つの言語プロファイルを備え、EMF、Java、Mona、Python へのコード生成を含む包括的なツールチェーンを提供する。

ABSTRACT

This book presents MontiArcAutomaton, a modeling language for architecture and be- havior modeling of Cyber-Physical Systems as interactive Component & Connector mod- els. MontiArcAutomaton extends the Architecture Description Language MontiArc with automata to describe component behavior. The modeling language MontiArcAutomaton provides syntactical elements for defin- ing automata with states, variables, and transitions inside MontiArc components. These syntactical elements and a basic set of well-formedness rules provide the syntax for a fam- ily of modeling languages for state-based behavior modeling in Component & Connector architectures. We present two concrete language profiles with additional well-formedness rules to model time-synchronous component behavior and untimed, event-driven behav- ior of components. This book gives an overview of the MontiArcAutomaton language including examples, a language reference, and a context-free grammar for MontiArcAutomaton models. It also provides syntax definition, well-formedness rules, and semantics for two language profiles. We summarize projects and case studies applying MontiArcAutomaton. MontiArcAutomaton is implemented using the DSL framework MontiCore. Available tools include a textual editor with syntax highlighting and code completion as well as a graphical editor and a powerful and extensible code generation framework for target languages including EMF, Java, Mona, and Python.

研究の動機と目的

  • Cyber-Physical Systems (CPS) の統合的アーキテクチャおよび動作モデル化のニーズに対応し、システム設計の明確さと正しさを向上させること。
  • モノリシックまたは分離されたモデル化手法の限界を克服し、コンポーネントアーキテクチャと状態ベースの動作仕様を統合すること。
  • 時間的要因を含む・含まない両方のコンポーネント動作を1つのフレームワーク内で形式的かつ拡張可能にモデル化できる言語を提供すること。
  • 構文認識エディタおよび複数のターゲット言語向けコード生成を含む包括的なツールチェーンを介したツール支援開発を可能にすること。
  • 形式的構文および整合性ルールを用いて、CPS の動作モデルを一貫性を持たせ、整合性のとれた形でモデル化する基盤を確立すること。

提案手法

  • コンポーネント内での状態、変数、遷移の定義を可能にする構文的構成要素を、MontiArc アーキテクチャ記述言語に拡張すること。
  • 時間同期型動作と非時間的イベント駆動型動作の2つの言語プロファイルを定義し、それぞれに特化した整合性ルールを設定すること。
  • MontiArcAutomaton モデルの文脈自由文法を指定することで、構文的正しさとツール間相互運用性を保証すること。
  • MontiCore DSL フレームワークを用いて言語を実装し、既存のソフトウェア工学ツールチェインとの統合を可能にすること。
  • 構文強調表示およびコード補完を備えたテキストエディタに加え、視覚的モデル化を可能にするグラフィカルエディタを提供すること。
  • EMF、Java、Mona、Python への出力が可能な強力で拡張可能なコード生成フレームワークを統合し、ターゲットシステムの実装を可能にすること。

実験結果

リサーチクエスチョン

  • RQ1コンポーネントベースのアーキテクチャと状態ベースの動作を、Cyber-Physical Systems において一貫してモデル化する方法は何か?
  • RQ2コンポーネントアーキテクチャ内での動作モデル化において、整合性と正しさを保証するための構文的および整合性ルールは何か?
  • RQ3時間同期型とイベント駆動型のコンポーネント動作を、1つの言語内で形式的に区別し、モデル化する方法は何か?
  • RQ4このようなモデル化言語を産業的 CPS 開発で実用的に採用するためには、どのようなツール支援が必要か?
  • RQ5MontiArcAutomaton モデルからのコード生成を、既存のソフトウェア工学スタックと相互運用可能かつ拡張可能にするにはどうすればよいか?

主な発見

  • MontiArcAutomaton は、コンポーネントアーキテクチャと自動機ベースの動作モデル化を成功裏に統合し、CPS コンポーネントの正確かつ一貫した仕様化を可能にした。
  • 時間同期型とイベント駆動型の2つの異なる動作プロファイルを、それぞれに特化した整合性ルールによりサポートすることで、モデル化の表現力が向上した。
  • MontiCore を用いた実装により、構文認識エディタ、グラフィカルモデリング、EMF、Java、Mona、Python へのコード生成を含む包括的なツールチェイン支援が実現された。
  • 文脈自由文法および形式的構文定義により、モデルの整合性が保証され、ツール統合および解析が容易になった。
  • ケーススタディおよびプロジェクト応用を通じて、MontiArcAutomaton が実世界の CPS モデリングシナリオにおいて実用的であることが示された。
  • 本言語およびツールキットスタックは、CPS 開発パイプラインにおける形式的検証および自動実装生成の基盤を提供する。

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

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

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

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