Skip to main content
QUICK REVIEW

[論文レビュー] Issues of Architectural Description Languages for Handling Dynamic Reconfiguration

Leonardo Minora, Jérémy Buisson|arXiv (Cornell University)|May 21, 2012
Advanced Software Engineering Methodologies参考文献 26被引用数 4
ひとこと要約

本論文は、ソフトウェアアーキテクチャにおける動的再構成をサポートする4つの代表的なアーキテクチャ記述言語(ADL)—$π$-ADL、ACME、C2SADL、Dynamic Wright—を評価している。その結果、いずれのADLに対しても、型レベルおよびインスタンスレベルの両方で一貫した再構成を完全にサポートしておらず、再構成中のネイティブな動作モデル化が欠如しており、再構成の正しさを検証するための形式的評価メカニズムも提供していないことが判明した。

ABSTRACT

Dynamic reconfiguration is the action of modifying a software system at runtime. Several works have been using architectural specification as the basis for dynamic reconfiguration. Indeed ADLs (architecture description languages) let architects describe the elements that could be reconfigured as well as the set of constraints to which the system must conform during reconfiguration. In this work, we investigate the ADL literature in order to illustrate how reconfiguration is supported in four well-known ADLs: pi-ADL, ACME, C2SADL and Dynamic Wright. From this review, we conclude that none of these ADLs: (i) addresses the issue of consistently reconfiguring both instances and types; (ii) takes into account the behaviour of architectural elements during reconfiguration; and (iii) provides support for assessing reconfiguration, e.g., verifying the transition against properties.

研究の動機と目的

  • 既存のアーキテクチャ記述言語(ADL)が実行時における動的再構成をどの程度サポートしているかを調査すること。
  • ADLがアーキテクチャの型とインスタンスの両方の再構成を一貫して処理できる範囲を分析すること。
  • ADLが再構成中におけるコンポonentおよびコネクタの動作をどのようにモデル化しているかを評価すること。
  • ADLが再構成の正しさを検証または分析するためのメカニズムを提供しているかを評価すること。
  • 動的再構成のためのアーキテクチャ的支援における未解決の研究的課題を特定すること。

提案手法

  • 代表的な4つのADL($π$-ADL、ACME、C2SADL、Dynamic Wright)を比較分析した。
  • 再構成の3つのシナリオ(コンポonentの切り替え、型の挿入(例:IPv6によるIPv4の置換)、動作の更新(例:トランスポート層でのエラーコントロールの向上))を説明するため、簡略化されたTCP/IPスタックを事例として用いた。
  • 各再構成シナリオを、各ADLが利用可能な言語的構成要素にマッピングし、構文、意味、ツール支援の観点から分析した。
  • ADLのサポートを3つの主要な側面に集約して評価した:(1) 型およびインスタンスレベルにおける一貫した再構成、(2) 再構成中の動作モデル化、(3) 再構成特性の形式的評価。
  • 既存のツールおよび形式的記法(例:$π$-AAL、Armani、AML、CSPの変種)を活用して、検証能力を評価した。
  • 各言語と次元ごとの特徴を比較するため、表形式の要約を用いてADLの支援状況を分類した。

実験結果

リサーチクエスチョン

  • RQ1ADLは、アーキテクチャの型とインスタンスの両方を一貫して動的再構成できるようにどのようにサポートしているか?
  • RQ2ADLは、実行時における再構成中に、アーキテクチャ要素の動作をどの程度モデル化しているか?
  • RQ3ADLは、動的再構成遷移の正しさを形式的に評価または検証するためのメカニズムをどのように提供しているか?
  • RQ4$π$-ADL、ACME、C2SADL、Dynamic Wrightの言語パラダイムは、動的再構成サポートにどのように影響を与えているか?
  • RQ5現在のADLに、安全で動作に配慮した、かつ分析可能な実行時再構成を完全にサポートできない主な制限要因は何か?

主な発見

  • $π$-ADL、ACME、C2SADL、Dynamic Wrightの4つのADLすべてが、アーキテクチャの型とインスタンスの両方を同時にネイティブかつ一貫して再構成できるサポートを提供していない。
  • $π$-ADLとACMEは両レベルの再構成をサポートしているが、型レベルの変更を記述するには外部ツールや言語(例:$π$-AAL、CSP、Plastik)を必要としている。
  • C2SADLはAMLで定義された操作を介してインスタンスレベルの再構成をサポートしているが、型レベルの再構成をネイティブにサポートしていない。
  • Dynamic Wrightは型レベルの再構成に言語的構成要素を提供しておらず、インスタンスレベルの変更には拡張子に依存している。
  • どのADLに対しても、動的再構成動作をノーマル動作とは分離・モデル化するネイティブな機能がなく、$π$-ADLおよびDynamic Wrightでは再構成ロジックがノーマル動作と混合されている。
  • 再構成の正しさを検証するための組み込み形式的メカニズムはいずれのADLにも存在せず、一部のツール(例:Armani、$π$-AAL)が部分的な分析支援を提供しているにとどまっている。

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

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

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

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