netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-10-01 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
GPCE2003 その2.
Mariano Cilia, Michael Haupt, Mira Mezini, Alejandro Buchmann:The Convergence of AOP and Active Databases:Towards Reactive Middleware
active database における Event-Condition-Action (特定のイベントに対して条件をテストし,対応するアクションを取るようなデータベース)は AOP に類似しているメカニズムである.しかし,双方で使っている Terminology はまったく異なっている.
対象プログラムを書き換える(invasiveness)度合いについて,active database は non-invasive,AOP は invasive (AspectJ), non-invasive (初期のPROSE, JPDA), Aspect-aware runtime environment (AspectS),などと分類している.
この作者たちは,Active Database と AOP の間のミドルウェアとして Aspect-Oriented Run-Time Architecture というのを作りたいらしい.それ自体はともかく,色々な AOP と Active Database がまとめられているので参考文献として良いかも.active database 知らない人も多いだろうから,個人的には貢献度は高いと思う.
_ 論文 ▲
GPCE 2003 の論文読み.といっても,Proceedings が LNCS で PDF が取れなかったので筆者が PDF を配ってた二本だけ読む.
Jeff Gray, Ted Bapty, Sandeep Neema, Douglas C. Schmidt, Aniruddha Gokhale, Balachandran Natarajan:"An Approach for Supporting Aspect-Oriented Domain Modeling"2nd International Conference on Generative Programming and Component Engineering (GPCE2003),
モデル+制約言語から,制約付きモデルを導出する.Join Point としてモデル内のノード,Pointcut Designator として宣言的記述(モデル内の位置を指定する),アドバイスとして「concern に関わっているよー」という strategy あるいは heuristic の情報が埋め込まれる.コードジェネレータと組み合わせて(C++限定だが)Strategy に対応したコードを生成する.
モデル自体は general で,domain-specific な weaver を使うというアイディアらしい.weaver 作る手間が高そうだ.
_ 論文 ▲
Pascal Costanza:Dynamically Scoped Functions as the Essence of AOPについての議論が続いてる.
AspectJ の pointcut の考え方では,cflow を使って「呼び出しの上のほう」と「下のほう」のそれぞれ独立に定義されたイベント間を接続できるが,dynamically scoped な考え方では「"real" cflow ではなく "predicted" cflow を対象にしている」という主張が出ている.
……まだ議論は続きそう.Kiczales が Non-Invasiveness (Obliviousness) は重要だ,というのを繰り返してるところを見ると,そこが AspectJ の設計時のキーだったらしい.