netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2004-07-16 古い日記からの変換データ [長年日記] ▲
_ [論文] アスペクトのインスタンス化 ▲
下滝 亜里: アスペクトのインスタンス化とインスタンス単位でのアスペクトの適用.FIT 2004, to appear.http://noselab.ise.osaka-sandai.ac.jp/~asato/pubs/fit2004.pdf
どちらかというとプログラミング言語なネタか?インスタンスごとに貼りつくアスペクトのインスタンスを簡単に利用できるように,AspectJだけを用いて記述する方法と,クラスタグ付けによる記述法の提案.
オブジェクト1個以上に対してアスペクトが1個貼りつく,どのインスタンスにアスペクトを付加するか自分で決める,というのは Mix-in に近い立場に見える.1個のインスタンスに同じアスペクトのインスタンスが動的に複数貼りつくことがありうるので少し違う?
アスペクト指向的にはやはり複数のクラスのインスタンスにアスペクトを貼り付けたくなるが,そうなると芝浦工大の櫻井さんたちのAssociation Aspectに近いように見える.スペースの都合か,関連研究に対する位置づけが説明されてないので不明.
個人的な思いつきとしては,インスタンスレベルのアスペクトは対象を「この」インスタンス,と手動で特定しているといわゆるベースコードとアスペクトが混ざってしまうので,特定の関係にあるオブジェクト間にアスペクトが貼りつく,みたいな書き方ができるようになればうれしいのかもしれない.これは Association Aspect を適切なタイミングで付けたり外したりするアスペクトを書けば実現可能?
余談だが,インスタンスごとにアスペクトを動的に貼り付けるようになると,干渉のしかたも動的に決まるから,干渉の検出に使うプログラム解析などは難しくなりそう.アスペクトの貼りつき順序の禁止ルールとかを作るのは難しいし一杉さんの「安全な結合ルール」みたいな手法をきちんと考えないと複雑さがすぐに爆発しそうな予感.スライシングは解析コスト高いし,もうちょっと Lightweight な手法に進まないと苦しいか.
_ [hyCalendar] iniファイル読み込み ▲
hyCalendar が Windows 98 上で動かなかったのは,INIファイルから文字列を読み込むために使うGetProfileString (DLL上ではGetProfileStringA)が存在しない項目の一部にアクセスしようとしたときにページ違反を起こすためらしいということが判明.
hyCalendar 0.7.0 で追加された項目の中にどうやら引っかかるものがあるらしい.
とりあえず回避方法は,すべての設定が作られたini ファイルをあらかじめ用意しておくこと.なので,いちおうの対処はできた格好になった.
これで,少し余裕をもって対処できる.