«前の日(10-03) 最新 次の日(10-05)» 追記

netail.net

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

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


2003-10-04 古い日記からの変換データ

_ IEEE

IEEE Computer Society の値段を調べてたら,$160 (IPSJ会員なら1割引で $144) だった.Digital Library 利用したければさらに $109 と,なかなか微妙.ACM は論文などが portal.acm.org で無料で取れるので取るなら IEEE アカウントのような気もするのだが.とりあえず,学生の間はあまり取る必要もなさそうなので見送ることにする.

_ EUC

文字コード自動判別による文字化けを防ぐには第2バイトが 0xfd, 0xfe の文字をページの先頭近くに置いとけばよい,というので調べてみたら,

往時, 応用理工 (応と理), 享保の改革 (享と改),雀の往来,麦の屑,線の幅,方向,入口,収入,向こう傷,増刷 などといったキーワードがいけるらしい.

元々は "美乳効果" で検索するといい,と教えてもらったのだが,サイトは消えていた.響きが悪いせいか.

_ アクセス解析

なぜか文字化けすると思ってたら,Shift_JIS エンコーディング設定になっていた.META タグを EUC に修正.


2004-10-04 古い日記からの変換データ

_ [論文][work]モデルベースでのアスペクトの競合の検出

Francis Tessier, Mourad Badri, Linda Badri:A Model-Based Detection of Conflicts BetweenCrosscutting Concerns: Towards a Formal Approach.Workshop on Aspect-Oriented Software Development 2004.

アスペクトの導入が問題を起こさないかどうか(アスペクト同士が競合しないかどうかなど)を早い段階で(モデルを作ったあたりで)検出しましょう,というもの.

基本的なアイディアとして,アスペクト同士が・同じクラスに作用するが Join Point が異なる→OK・同じクラス,同じ Join Point に作用する→危険 -- アドバイスのタイプ(before/after)が同じ場合は高リスク -- 引数が同じ場合もリスクがある・異なるクラスにしか作用しない,共通部分がない →OKといった感じの分類をして,警告を出しましょうというもの.

この情報は静的解析なので,これをベースに動的解析したりとか,他の手法と組み合わせることも考えているよう.

アプローチとしてはそれなりに単純で分かりやすい.もしソースコード上から解析するのであれば静的に Join Point の共通部分とかをテストするのが(Cflow などを含む場合は)難しそうな気はするが.

モデル記述でテストする場合,モデルの記述に必要なコストがそれなりに低くてモデルとコードの対応付けがきちんとできるのならそれなりに有用そうではある.

ただ,「競合してるかもー」と警告を出すのは簡単だけど,開発者がシステム全体で一貫した解決方法を使っているかとか,その解決方法が正しそうかどうかとかをいかに確認するかも問題になってくるだろうから,その辺で議論できたら面白そう.

_ [論文]合成可能なメタオブジェクトの記述

Philippe Mulet, Jacques Malenfant, Pierre Cointe: Towards a Methodology for Explicit Composition of Metaobjects.Proceedings of the 10th annual Conference on Object-Oriented Programming Systems, Languages, and Applications(OOPSLA95), pp.316-330, Austin, Texas, United States, 1995.

メタオブジェクトを複数使う場合の問題を解決しましょうという論文.複数のメタオブジェクトは,順番に連結されるものとすると,Trace→Delegate→(Basic) というように順番が決まる.

メソッドの呼び出し・実行を Lookup + Apply ととらえて,メタオブジェクトはそれぞれ自分の Lookup を実装するが,このときに連結先のメタオブジェクトの Lookup を利用して,Lookup 処理や,追加の処理(Delegationなど)を実装する.

メタオブジェクト間の関係の取り扱いにはSpecialization と Aggreagation の二つを考えていて,親メタオブジェクトの Self 参照が自分自身を指すか親メタオブジェクトを指すかを選択する.

Lookup が起きると,連結されたメタオブジェクトの中でメッセージを読み替えや Lookup の連鎖などが起こって,最終的に実際のオブジェクトの動作が決まる.

このアプローチでは,メタオブジェクトは,自分自身が,連結相手に対してどのように振舞うかを記述する.汎用的な Mix-in が書ける人ならちゃんと書けそう.Composition Filter では結合演算自体は外部で定義されて通常はフィルタ生成順序などで implicit に扱われる点が異なる.


2005-10-04

_ [work] AO-ASIA 用の position paper とか

作れるかな?と思って過去の資料を漁ると,AOSD2004にポスターで喋るはずだった(が風邪でダウンしてた)ネタが残っているのは発見.APSEC 本会議で発表があるのに position paper の発表まであるとえらいことになりそうなので,まだ確定せずに置いておくことにする(締め切りは20日).

そういえば,APSEC で発表する人は registration を12日までにしてね,という通知が来たが,まだ APSEC の registration がオープンする気配はない.


2006-10-04

_ [ツール] XTMemo のバグレポートを書いてみた

ここ半年くらい愛用しているXTMemoのバグレポートをごそごそ書いて送ってみました.これで報告は2度目だったりします.

Changelogというただのテキストファイルを3ペインの軽快なGUIで見せる,というのが良いところだと思います.このソフトをインストールしてない別PCでもテキストエディタさえあれば普通に中身を読めるし,不足してる機能があっても他のテキスト操作ツール(grep,sed,ほか)が適用できるという安心感もかなり大きいような気がします.

未来のスケジュールはカレンダーで,詳しい内容はテーマ別に区切ったchangelogに記録していくというのが,今のところお気に入りのデータ管理です.

これからも開発がんばってほしいなあ(大変だろうけど……),と思うツールの1つです.