netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-11-15 古い日記からの変換データ ▲
_ [論文][work]アスペクトの振る舞いの認識 ▲
Martin Rinard, Alexandru Salcianu, and Suhabe Bugrara:A Classification System and Analysis for Aspect-Oriented Programs.Proceedings of the 12th FSE (FSE2004), pp.147-158,Oct.31-Nov.6, 2004, Newport Beach, CA, USA.
関連研究.アスペクトがシステムに与える振る舞いの影響をAugmentation (アスペクトは常に実行される),Narrowing (ある条件下でアスペクトは実行される),Replacement (static crosscutting などシステムの一部を置換するもの),Combination (その他の振る舞い)に分類して,またデータに関する影響をOrthogonal (クラスとアスペクトは別個のフィールドを触る),Independent (一方が書き込んだフィールドには,他方は書き込まない),Observation (メソッドだけが書き込み,アドバイスが読むだけ),Actuation (アスペクトが書き込み,メソッド側は読むだけ),Interference(アスペクトもメソッドも同じものに書き込む)に分類し,あとは依存関係解析によって,メソッド-アドバイス間,アドバイス-アドバイス間での影響を調べようというもの.
フィールドの集合を適当に抽象的な「structure フィールド」といった名前を付けたものにマッピングしているようで,わりと面白いアイディアな気がする.
静的解析ベースで,レポートとして出力されてくるので,コンパイルした後に実行するとかいう使い方ができそう.
アドバイスがどのメソッドを呼んでて,その結果どんな作用を起こしているかについてはメソッドごとのサマリのようなものを作っているみたい.ただ,アドバイスの中で他のアドバイスの実行まで検出してたら解析がきちんと終了できるのかどうか良く分からない.
2005-11-15 ▲
_ [hyCalendar] 1.3.2 リリース. ▲
バグが1件,1.3.1 で見つかったので修正してリリース.
単に Copy(string, index, length) の呼び出しで Copy(string, index+1, length) になってただけなので,修正自体は一瞬だった.DUnitとかちゃんと使っていれば事前に防げたバグなだけに,少し悲しい.
次の機能拡張を入れる前に,一度DUnitのテストを追加してコード整理しないとなー,と思う.iCalendarオブジェクトをhyCalendar上にマップする方法についての調査もそろそろ始めておきたいところ.