netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-03-23 全国大会3日目 [長年日記] ▲
_ Workshop on Dynamic Analysis ▲
ICSE併設ワークショップの Workshop on Dynamic Analysis は 11/21 で約50%の採択率だったみたい.以前,妙にクオリティが高い(単に好みに合致しているだけかも)論文が固まってた年があった気がしたが,やっぱりそれなりの採択率だったらしい.
_ [論文]デザインパターン上の役割とコードの対応認識によるリファクタリング支援 ▲
Jan Hannemann, Gail C. Murphy, Gregor Kiczales: Role-Based Refactoring of Crosscutting Concerns.
Proceedings of AOSD 2005, pp.135-146, Chicago, Illinois, March 2005.
デザインパターンなどの横断的関心事をアスペクトとして抽出する作業を支援するために,パターンの雛形情報を保持しておく.たとえばObserverパターンなら,SubjectとObserverという2つのクラスがいて,Observerを引数に取るattachメソッドとdetachメソッドを持つ,といった情報を保持しておく.で,開発者が部分的に,抽出したいデザインパターンやクラス名を与えることで,残りの部分をできるだけ自動で補完してデザインパターンの構成要素とコードの対応関係を作成して,実際のリファクタリング作業に移るというもの.
observerとlistener,addやattach,deleteやdetachなど,メソッド名やフィールド名からある程度推測するといった工夫も行っているよう.パターン上の要素と実際のコードの対応関係さえできれば,自動的なコード変換+影響波及解析での変更支援となるらしい.あらかじめ作りたいアスペクトの構造が分かっているのであれば,うまく使える可能性が高い手法のように見える.
_ [論文]既存ソフトウェアのアスペクトでの拡張 ▲
Li-Te Cheng, John Patterson, Steven L. Rohall, Susanne Hupfer, Steven Ross: Weaving a Social Fabric into Existing Software.
Proceedings of AOSD 2005, pp.147-158, Chicago, Illinois, March 2005.
既存アプリケーションにいかに影響を与えずに新しい機能を追加するかということで,AOPを使いましょうという話.既存のアドレス帳アプリケーションに,ユーザがオンライン状態かどうかを表示する機能を追加するという例が載っている.
あんまり特別な話には見えないのだが,レガシーアプリケーションに対するパッチのようなアスペクトの利用を行う場合の利点(対象コードを変えなくてよい,アプリケーションの動作フローに対して機能を付加できる)と弱点(正しいjoin pointsの選択が難しい場合や,アプリケーションの実装に不用意に依存してしまう場合がある)とを参照したい場合にこの論文が登場することになるのかも.