C#プログラム実行時書き換えによるコンテキスト指向プログラミングの実現
書誌事項
- タイトル別名
-
- A C# Framework of Dynamic Program Rewriting at Runtime for Practical Context Oriented Programming
この論文をさがす
説明
本発表では,コンテキスト指向プログラミング(Context Oriented Programming: COP)のためのC#実行時書き換えフレームワークを提案する.COPとはシステムを取り巻く外部環境の状況,すなわちコンテキストに応じて実行時にソフトウェアを再構築し,振舞いを変化させるプログラミング技術である.本フレームワークは,COPのプログラム書き換えに関する2つの問題を解決する.「(1)書き換え命令がプログラム中に散在し振舞いを複雑にする問題,(2)システムの整合性を保つ安全な書き換えは容易ではない問題」.(1)は書き換え処理をどこでも記述可能なため発生する.(2)は書き換え時のシステムの振舞いを予測することが困難であることから起こる.以上の問題を解決するために,提案フレームワークは次の特徴を持つ.(1)コンテキストの状況を判定し,書き換え指示を行う部分をコンテキスト判定プログラムとして独立させる.(2)ベースとなるクラスとメソッドが書き換え可能かを判定する条件をC#のアノテーションを用いて記述する.我々のフレームワークでは,システムの主要な処理部分をC#プログラムで記述するが,文法的な拡張を加えず,アノテーション記述方法の規定にとどまっている.したがって,上記2点の問題に加え,既存プログラムの再利用,学習の容易さが見込める.最後に適用事例により評価検討する.
Towards practical Context Oriented Programming (COP), we will present a framework of dynamic programming rewriting at runtime and its supporting system. Context oriented programming (COP) treats context explicitly, and provides mechanisms to dynamically adapt behavior in reaction to changes in context at runtime. We will focus on the following problems of COP: (1) behavior of system is too complex to expect, since rewriting program instructions are scattered in the program and (2) as keeping consistency and safety, dynamic program rewriting is difficult. To overcome these problems, we propose a framework with the following features: (1) supporting independent context decision part and (2) classes or methods are attached with guard conditions on C# annotation to decide to invoke program rewriting. In our framework, programmer enables to write the mainstream program of system by using C# which is not extending grammar. The point of extending original C# is limited annotation rule. Therefore, in addition to previous problems, our framework contributes to be reusing legacy program and to learn easily how to use COP. Finally, to discuss novelty and usefulness, we will apply our framework to a case study.
収録刊行物
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 8 (1), 15-15, 2015-06-02
情報処理学会
- Tweet
キーワード
詳細情報 詳細情報について
-
- CRID
- 1050001337905796736
-
- NII論文ID
- 170000147332
-
- NII書誌ID
- AA11464814
-
- ISSN
- 18827802
-
- 本文言語コード
- ja
-
- 資料種別
- journal article
-
- データソース種別
-
- IRDB
- CiNii Articles