Skip to main content
QUICK REVIEW

[論文レビュー] Context-Oriented Programming: A Programming Paradigm for Autonomic Systems

Guido Salvaneschi, Carlo Ghezzi|arXiv (Cornell University)|Apr 30, 2011
Advanced Software Engineering Methodologies参考文献 48被引用数 25
ひとこと要約

本論文は、自律的システムにおける動的ソフトウェア適応を可能にする、文脈指向プログラミング(COP)という新しいプログラミングパラダイムを導入する。文脈的条件に基づいた実行時動作の変更を可能にする一等級の文脈構造を用いることで、COPは、従来のアスペクト指向アプローチに比べて表現力と保守性に優れた、適応的ソフトウェアの実装を簡素化する。これは、適応的ユーザインタフェースを対象とした事例研究によって実証されている。

ABSTRACT

Dynamic software adaptability is one of the central features leveraged by autonomic computing. However, developing software that changes its behavior at run time adapting to the operational conditions is a challenging task. Several approaches have been proposed in the literature to attack this problem at different and complementary abstraction levels: software architecture, middleware, and programming level. We focus on the support that ad-hoc programming language constructs may provide to support dynamically adaptive behaviors. We introduce context-oriented programming languages and we present a framework that positions the supported paradigm in the MAPE-K autonomic loop. We discuss the advantages of using context-oriented programming languages instead of other mainstream approaches based on dynamic aspect oriented programming languages and present a case study that shows how the proposed programming style naturally fits dynamic adaptation requirements. Finally, we discuss some known problems and outline a number of open research challenges.

研究の動機と目的

  • 運用状態に基づいて実行時に動作を変更するソフトウェアを開発するという課題に対処すること。
  • 動的適応を言語レベルで直接サポートする、プログラミングパラダイム「文脈指向プログラミング」を提唱すること。
  • 自律的コンピューティングのMAPE-KループにCOPを位置づけ、自己管理型システムの原則と整合させること。
  • 表現力と保守性の観点から、特に動的アスペクト指向プログラミングと比較して、COPの優位性を実証すること。
  • 文脈対応ソフトウェアシステムの設計と展開における未解決の研究的課題を特定すること。

提案手法

  • 実行時文脈に応じて動作が動的に束縛される言語レベルのパラダイムとして、文脈指向プログラミングを導入する。
  • COPをMAPE-Kフィードバックループに統合するフレームワークを用い、自律的システムにおける文脈対応適応を可能にする。
  • メソッドが現在の文脈に基づいて再定義可能である一等級の文脈構造を採用し、動的ディスpatchを実現する。
  • 適応的ユーザインタフェースを対象とした事例研究にパラダイムを適用し、文脈の変化に伴う動作の変化を示す。
  • COPと動的アスペクト指向プログラミングを比較し、クロスカuttingな関心事の処理において、より優れたカプセル化とモジュラリティを実現している点を強調する。
  • 文脈束縛とメソッド解決のための形式的モデルを定義し、実行時における文脈切り替えとメソッド再定義を支援する。

実験結果

リサーチクエスチョン

  • RQ1プログラミング言語は、自律的システムにおける動的適応をどのようにより良く支援できるか?
  • RQ2アスペクト指向プログラミングのような従来のアプローチには、文脈依存動作の処理においてどのような限界があるか?
  • RQ3一等級の文脈構造は、適応的ソフトウェアの表現力と保守性を向上させることができるか?
  • RQ4文脈指向プログラミングは、自律的コンピューティングのMAPE-Kフィードバックループにどのように統合されるか?
  • RQ5文脈対応ソフトウェアシステムの設計と展開における主な課題と未解決の問題は何か?

主な発見

  • 動的アスペクト指向プログラミングに比べ、文脈指向プログラミングは、動的適応のためのよりモジュラで保守性の高いアプローチを提供する。
  • 事例研究により、COPが適応的ユーザインタフェースの動作(例えば、文脈に応じたレイアウトや機能の変更)を自然にサポートできることを示している。
  • COPは、細かく文脈に特化したメソッド再定義を可能にし、コードの明確さと関心の分離を向上させる。
  • フレームワークは、COP構造をMAPE-Kループに成功裏にマッピングし、自律的システム設計の原則と整合することを示している。
  • 本論文では、効率的な文脈管理、文脈の相互作用の分析、ツールチェーンの支援といった、いくつかの未解決の課題を特定している。
  • 明示的な文脈束縛により、適応的システムにおけるクロスカuttingな関心事の管理にかかる認知的負荷を軽減できる。

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

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

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

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