Skip to main content
QUICK REVIEW

[論文レビュー] Towards Architectural Programming of Embedded Systems

Arne Haber, Jan Oliver Ringert|arXiv (Cornell University)|Sep 8, 2014
Advanced Software Engineering Methodologies参考文献 16被引用数 7
ひとこと要約

本稿では、Javaにアーキテクチャ記述を直接統合することにより、埋め込みシステムにおけるアーキテクチャプログラミングを提案する。これにより、1つの言語ビュー内でアーキテクチャ、データ構造、動作が統合的にモデル化可能となる。プロトタイプコンパイラにより、このアプローチの実現可能性と課題が示され、アーキテクチャビューと実装ビューの間の別個のマッピングの必要性が不要になる。

ABSTRACT

Integrating architectural elements with a modern programming language is essential to ensure a smooth combination of architectural design and programming. In this position statement, we motivate a combination of architectural description for distributed, asynchronously communicating systems and Java as an example for such an integration. The result is an ordinary programming language, that exhibits architecture, data structure and behavior within one view. Mappings or tracing between different views is unnecessary. A prototypical implementation of a compiler demonstrates the possibilities and challenges of architectural programming.

研究の動機と目的

  • 埋め込みシステムにおけるアーキテクチャ設計と低レベル実装の間の断絶を解消すること。
  • Javaのような現代的なプログラミング言語とのシームレスな統合を可能にすること。
  • 別個のアーキテクチャビューとコードビュー間のトレーサビリティまたはマッピングの必要性を排除すること。
  • プロトタイプコンパイラを通じて、アーキテクチャプログラミングの実現可能性を示すこと。
  • アーキテクチャプログラミングにおける型安全性、モジュラリティ、ツールサポートの実用的課題を調査すること。

提案手法

  • システム構造を表現するため、コンポーネント、コネクタ、インタフェースなどのアーキテクチャ構成要素をJavaに拡張する。
  • Javaに埋め込まれたドメイン固有言語(DSL)を導入し、同じソースコード内にシステムアーキテクチャを記述する。
  • コンパイラパイプラインを用いて、アーキテクチャ的コードと動作的コードを一緒に解析・型チェックする。
  • 分散システム向けに、コンポーネントベースの分解とイベント駆動型通信の設計パターンを適用する。
  • メタモデルアプローチを採用し、アーキテクチャ的要素を言語内での一次的市民として表現する。
  • 埋め込みで非同期的に通信するシステムを対象に、プロトタイプ実装を通じてアプローチを検証する。

実験結果

リサーチクエスチョン

  • RQ1一般言語であるJavaに、どのようにしてアーキテクチャ記述をネイティブに統合できるか?
  • RQ21つのプログラミングビューにアーキテクチャ、データ、動作を統合することの利点と妥協点は何か?
  • RQ3コンパイラが、アーキテクチャ的構造と実装論理との一貫性を効果的に強制できるか?
  • RQ4アーキテクチャプログラミングにおける型安全性、モジュラリティ、ツールサポートの実用的課題は何か?
  • RQ5アーキテクチャプログラミングは、分散型埋め込みシステムの開発および検証にどのように影響を与えるか?

主な発見

  • Javaへのアーキテクチャ的構成要素の統合により、別個のモデル化アーティファクトを必要とせず、システム構造、データ、動作の統合的ビューが可能になった。
  • プロトタイプコンパイラは、アーキテクチャ的コードと動作的コードを一緒に検証し、整合性の欠如リスクを低減した。
  • アーキテクチャビューと実装ビュー間のトレーサビリティやマッピングの必要性が排除され、開発が簡素化された。
  • 型安全性およびモジュラリティに関する課題が特定され、特に非同期通信およびコンポーネントの合成処理において顕著であった。
  • アーキテクチャモデルからの形式的検証およびコード生成を可能にすることで、モデル駆動開発の原則を支援した。
  • 評価により、アーキテクチャプログラミングが、とりわけ複雑な分散環境における埋め込みシステムにおいて実現可能で有益であることが確認された。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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