«前の日(04-26) 最新 次の日(04-28)» 追記

netail.net

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

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


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

_ Java

今日のはまり.

Javaで,更新したデータファイルを読み込んでくれないので調べてみたら,if (File.canRead(project_dir + "/hoge")) { f = new FileInputStream(CONSTANT + "/hoge");}というようなコードになっていた.CONSTANT -> project_dir で置き換えたときに,そのまま放置していたらしい.

_ 来客……のはずが

来るはずの人が風邪をひいたとかで,来客の予定はキャンセル.午後は丸々空けていたので,意外と暇だ.読書用の本が部室に置きっぱなしなので,取りに行くことにする.

_ マシン整備

マシンといっても単にパソコンだが.そろそろ無用になりつつあった SCSI 1GB をはずして,以前はNLXマシンに収めていた60GB IDEを追加.

このSCSI 1GBのディスク,今はなきICMの外付けSCSIで(中身はIBM製だが),買った当時は3万円くらいしたもの.今となっては,ほとんどゴミかもしれない.

_ 選挙

市議会議員選挙.とりあえず,車で音を鳴らさなかった人,という基準で大まかにふるいをかけてから投票.選挙が終わったので,少しは静かになるだろう.


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

_ 読書

「AspectJ によるアスペクト指向プログラミング入門」読了.

感想はというと:・2章,3章が「振る舞いへの作用」「構造への作用」として dynamic crosscutting と inter-type declaration (と Static crosscutting)を区別していて親切. 特に,pointcut ごとの this, target, args などの内容が 日本語で解説されているのはリファレンスとして便利そう. 応用例として挙がっているのは・コンテキストの識別・キャッシュ・アクセス制御など.やっぱりこのあたりが自然に受け入れられるみたい.

面白いと思ったのが,MDA との関連性.ビジネスモデルと実装技術の統合をウィービングと考えて,MOF, QVT がウィービング記述だ,という考え方は,以前聞いた,ビジネスルールをアスペクトとして書いて~という話なんかよりはだいぶ自然に感じられる.

最後の7章は,パッチとしてのアスペクトの話.~tail/aspectj/ ではちょっとだけ,使えそう,という程度しか書いてないけれど,それをそこそこの規模のソフトウェアに適用するというケーススタディっぽいことをやっていて面白い.

やっぱり問題は統合開発環境からの支援が落ちること,理解容易性・予測可能性の低下あたりだろうか.こういうのを読むと,やっぱりアスペクトを使った表明記述の話とかをもう少し進めないとなぁ,と思うのだが,他の論文読みやら作業もたくさん.けっこう忙しくなりそう.

_ テンキー

テンキーの仮想キーコードは VK_NUMPADx で VK_x とは違った.当たり前といえば当たり前かもしれないが.

外付けテンキーの NUMLOCK が入力したときだけ瞬間的に ON/OFF されるのが怪しいけれど.

_ 読書

「AspectJ によるアスペクト指向プログラミング入門」が研究室に届いたのでさっそく読むことにする.感想などは AspectJ 側の紹介ドキュメントとして更新される……予定.

鷲崎先生ありがとうございます.

_ 論文

Baowen Xu, Zhenqiang Chen:Dynamic Slicing Object-Oriented Programs for Debugging.

動的スライスへの適用論文.使っている手法は静的スライスの場合と変わってない.メソッドを,出力パラメータが依存する入力パラメータの集合,という形で各出力パラメータへの依存関係を設定している点とフィールドなどローカル変数以外の要素を入出力パラメータ扱いするところがいちおう新しいところなのだろうか.

_ 論文

Zhenqiang Chen, Baowen Xu:Slicing Object-Oriented Java Programs.ACM SIGPLAN Notices, Vol.36, No.4, pp.33-40, April 2004.

プログラムスライシングをオブジェクト指向プログラムに適用しようという論文.メソッド単位で PDG を構築して,メソッド呼び出し文が登場するごとに,そのメソッドの出力パラメータを基点にスライスを取った結果を加えていくという形になるらしい.内部実装が存在しない場合はすべての入力値がすべての出力値に依存するとみなす.フィールドは全部パラメータ扱い.

それ以外にも,スライス範囲をしぼったスライシングも提案している.Object Slicing が1個のオブジェクトに,Class Slicing が1個のクラスに注目したものらしい.どのくらい役立つのかは不明だが.

_ Calendar

謎のバグ報告が一つ.EXE と同一のディレクトリにあるデータファイルが読めないor読む途中でエラーが出ているらしい.

とりあえず Exception.Message を吐かせるコードを追加して使ってもらうしかなさそう.WinXP Pro 環境で使っているのであまり間違いはないはずだが….ファイルの配置されているディレクトリと中身のどちらが原因だろう?

_ Calendar

フリーウェア収録した雑誌が2冊ほど届く.あんまりこの手の雑誌は買わないのでもらってみたのだが,もらっても読まない雑誌は読まない,という気がしてきた.