netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-03-17 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
SPLAT2004 残り2本.
Istvan Nagy, Lodewijk Bergmans, Mehmet Aksit:Declarative Aspect Composition.特定の join point に複数のアスペクトがくっつくとき,往々にして「アスペクトAの後に,アスペクトBは動く」とか「アスペクトAが動かないときだけアスペクトBが動く」といった関係が生じることがある.このような関係を,宣言的に記述することであとは言語処理系が勝手に処理しようというもの.Aが動く,動かないというのを boolean メソッドで判定するあたりいい加減なようで,わりと実用的かも.
_ 論文 ▲
Thomas Cottenier, TzillaLinguistic provisions for Aspect/Core semantic interactions.
Aspect と Core(ベースモジュール)の間を橋渡しするような何か(invariants とか)がないと,現在のような Syntax-based で記述する joinpoints になってしまって,Syntax-based ではクラスの改変にあわせて join points も変わってしまうのでうれしくない.
"Semantic" な記述ができるとうれしい,といいたいのだろうが,何をもって semantic と言っているのか分からないので,現状ではなんともいえない.
_ 論文 ▲
splat2004 つづき.
Bert Lagaisse, Wouter Joosen, Bart De Win:Managing semantic interference with aspect integration contracts.
アスペクトはコンポーネントに対して何を要求するか,コンポーネントはアスペクトに対して何を許すか,を記述することでアスペクトが不用意にコンポーネントの状態を破壊したりしないようにするという話.
Kasper B. Graversen:Role collaborations.
コラボレーションごとに,役割(Role)が用意されていて,コラボレーションのインスタンスごとに,その役割にオブジェクトを関連付けることでインタラクションをしようというもの.なんか昔考えた(けれど効果が疑わしいので捨てた)アイディアに近い.
Pengcheng Wu and Mitchell Wand:An Empirical Study of the Demeter System.
いわゆる Adaptive Programming を実際に使って,オブジェクトの Traverse 関連のコードがどれだけ減ったか,という論文.実際に Traverse 処理というのはプログラム中にけっこうあるらしく,結果としては,かなり効果があった,らしい.
Tom Tourwe and Andy Kellens:Inductively Generated Pointcuts to Support Refactoring to Aspects.
プログラム構造が改変されたら pointcut 定義も変更しなければならないので,アスペクトと Refactoring との相性の悪さが問題となっている.プログラムの情報を使って帰納的に pointcut を簡潔な形式に変換してやろう,というもの.ただ,自動生成が本当に正しいかどうか,とかを調べるのが難しいので,必ずしもうまくいっているわけではないよう.
_ 論文 ▲
SPLAT2004 ワークショップ参加前準備として論文読み.
Erik Ernst:Simple, eh?言語の単純さというのはどういう意味があるのか,というワークショップのテーマ的な論文.言語のコンセプト・文法の単純さがcomprehensibilityには重要.また,predictabilityは,「何が起きるか」という意味では言語がハードウェアに近いほど簡単となるが,それは情報隠蔽の性質でもある."semantic interactions"は,変数への代入文がその後のプログラム実行に影響を与えるような状態(依存関係の影響)をあらわしている言葉のつもりだったらしい.
_ 論文 ▲
Jonathan Aldrich:Open Modules: Reconciling Extensibility and Information Hiding.Proceedings of SPLAT 2004 in conjunction with AOSD 2004, March (2004).
アスペクトが追加できる範囲を・モジュールインタフェースとして宣言されたメソッドへの外部からの呼び出し・モジュールインタフェースとして宣言された pointcutに抑えることで,カプセル化を守ろうという提案.
_ 論文 ▲
Gustav Bostrom:A case study on estimating the software engineering properties of implementing Database Encryption as an aspect.
データの暗号化をアスペクトを使ってやってみた,という話.ところが,SQL の LIKE 文による部分文字列のマッチが,暗号化に対応できなくて困ったらしい.Comprehensibility と Evolvability は下がったが,ツールサポートが大きく影響を与えたらしい.また,Evolvability については,インタフェースが安定している(pointcut 定義が変わらない)ことが強く影響するみたい.