«前の日(03-17) 最新 次の日(03-19)» 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2005-03-18 論文読み.

_ AOSD 2005

論文は全部で20本くらいと,数は少ないものの,相変わらず密度が高い.

_ [論文]AOP設計の分析

Cristina Videira Lopes, Sushil Krishna Bajracharya: An Analysis of Modularity in Aspect Oriented Design.

Proceedings of AOSD 2005, pp.15-26, Chicago, Illinois, March 2005.

Design Structure Matrix とかいう設計道具と評価枠組みの上で,あるWebサービスを対象に,設計を評価してみましたという話.アスペクトを含んだ設計のほうがよい値となるという話らしい.

アスペクトとして使われているのはロギングと認証だけなので,何をアスペクトを作れば効果が大きいとかいった話ではないらしい.

_ [論文]AspectCOBOL

Ralf Lammel, Kris De Schutter: What does Aspect-Oriented Programming Mean to Cobol ?

Proceedings of AOSD 2005, pp.99-110, Chicago, Illinois, March 2005.

AspectCOBOL があったとしたらどんな言語で,何に使えるのか,という普通の論文とちょっと構成が違う感じの論文.同期制御や永続化などはCOBOLだとあんまり嬉しくなくて,ポリシーの強制,やり取りしたデータの記録および再生による回帰テストの実現,などのほうが嬉しいのでは,と挙げられている.

_ [論文]アスペクトのためのDbC

Therapon Skotiniotis, David H. Lorenz: Cona: Aspects for Contracts and Contracts for Aspects.

Companion to the 19th OOPSLA, pp.196-197, 2004.

AOPとDbCを同時に使うという場合に,いつ表明を検査すればよいのか,という問題について記述したもの.

要は,メソッドの事前条件をチェック→beforeアドバイス実行→メソッドの事前条件をもう一度チェック→メソッド実行,となる.事後条件についても同様に,afterアドバイス実行前後に2回検査することになる.こうして,アスペクトがオブジェクトの振る舞いに影響を与えないようにしよう,というもの.

メソッドの事前条件成立から,beforeアドバイスの事前条件が成立しない場合は,そこにbeforeアドバイスを配置することが間違っている,となるらしい.

_ [論文]abc: AspectJコンパイラの別実装

Pavel Avgustinov, Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhotak, Ondrej Lhotak, Oege de Moora, Damien Sereni, Ganesh Sittampalam, Julian Tibble: abc: An extensible AspectJ compiler.

Proceedings of AOSD 2005, pp.87-98, Chicago, Illinois, March 2005.

abc コンパイラの実装のお話.いちおう,eaj という AspectJ を拡張した言語の処理部分を作るのに行数が少なくてよい,といった感じで評価を行っている.

あんまり論文読んでどうこう,というのはなくて,abc を研究のツールとして使ったら引用しよう,というくらいか.

_ [論文]リファクタリングのための基本操作の定義

Leonardo Cole, Paulo Borba: Deriving Refactorings for AspectJ.

Proceedings of AOSD 2005, pp.123-134, Chicago, Illinois, March 2005.

メソッドやフィールドのアスペクトへの移動とか,アドバイスの追加とか,色々な変更操作それぞれについて,いつならそれを行ってもプログラムの意味が変わらないかを定義しましたという話.実際に,「ポイントカットの抽出」のようなリファクタリングが,この操作上でどのような作業なのか,というのを考えている.

やっぱりリファクタリングが「元のプログラムの意味を保存していること」を保証するのが難しいので,かなり自明な「等価なコード片」の条件を規定している様子.ただ,実際にリファクタリングをこのような操作列で定義したときに,「各操作を適用するための条件」を,初期状態から成立させることができるかどうか,いつ誰が判定するの?という問題は消えなかったり.