netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2002-12-15 古い日記からの変換データ ▲
_ Java ▲
finally の中に return 文を書いてもいいらしいという話を聞いて,試しに次のようなコードを書いてみた.
try { return 0;} finally { return 100; }
JDK 1.3.1 添付の JVM で実験した結果は,100が返ってきた.正しいと言えば正しいのだが…….気持ち悪いコードだなぁ.こういうコードも仕様としては正しかったりするので,たちが悪い.
_ wonder-net ▲
Wonder Museum 2 が入金受付開始.今までCD収録されてなかった曲が全収録されてるようなので,さっそく払い込み用紙を書いてみる.
ラジオプログラムを久々に更新当日に聴いてみると,またも投稿を読まれていた.感情を込めて読み上げられるのはさすが本職.書いた側も本望♪しかし,読み上げるSAKURA さんがとても嬉しそうで,聞いてる側も嬉しくなりそうだ ;)
_ LAN ▲
家のファイルサーバを久々に起動してデータのバックアップを取る.ファイルサーバ(Linux)と,デスクトップ(Windows)にデータを分散しているが,最近 Linux の使用頻度が下がっているので,Windows のデスクトップに一本化してもよさそうな気がしてきた.デスクトップもDVD見るのとコンパイラ動かすくらいにしか使ってないが,いい加減あやしくなってきたので,どうしたものだか.
Crusoe の CPU パワー不足を補う外付けコプロセッサでもあればLibretto + コプロセッサ + DVD プレイヤー + 外付けディスク で足りるのになぁ,などとないものねだりをしたくなってしまう.
2003-12-15 古い日記からの変換データ ▲
_ 論文 ▲
APSEC2003 の proceedings を見せてもらったのだが,今回は,読みたいと思うものが少ない.
Jun Han and Ksze Kae Ker:Ensuring Compatible Interactions within Component-based Software Systems,Proceedings of APSEC 2003, pp.436-445 (2003).
インタフェース定義として Rich IDL を使って,それに加えてコンポーネントごとのメソッド呼び出し順序などの規定を記述する言語を追加している.たとえば COMPONENT Account { setupAccount BEFORE (deposit, withdraw);} といった感じ.で,この記述から eFSM を作って実行時にテストしてやろうというもの.
FSM で実現する場合,コンポーネントの「状態」が問題になるが,現実にはインタフェースには状態は現れてこないので,制御に関する条件のほうがユーザには分かりやすい,と言っている.
基本的に記述はあるコンポーネント単体に対して行う(他のコンポーネントに対する条件は限定的にしか記述できない).そのかわり,コンポーネント単体だけで適用できるようになっているので,すべてのコンポーネントに仕様を書かなくても,書いた場所だけチェックしてくれるので導入はしやすい.
_ 論文 ▲
メーリングリストに流れてたので拾ってみた.
Bruno Dufour, Christopher Goard, Laurie Hendren, Clark Verbrugge, Oege de Moor and Ganesh Sittampalam:Measuring the Dynamic Behaviour of AspectJ Programs.Sable Technical Report No. 2003-8 (2003).
AspectJ プログラムの動的メトリクスとして,従来から利用可能な
・実行時間
・実行されたバイトコードの命令数
・ロードされたバイトコードサイズ
・確保されたメモリ
に加えて,AspectJ 独自のメトリクスとして
・Tag Mix(実行されたバイトコードが,Javaコード,AspectJコード,CFlow の準備,アドバイスの実行条件のチェックなど,どの種類に属するかという比率を調べる)
・アドバイスの実行条件のテスト回数 (そのうち常に成功しているものや常に失敗しているものの割合)
・コードのカバレッジ(ロードされたうち実行されたバイトコードのサイズ)
を定義している.いくつかのアプリケーションを実行して,これらの値を計測しているのだが,cflow や args などがアスペクトのオーバーヘッドのかなりの割合を占めている様子.
これらはあくまでパフォーマンス上の話のことで,期待していたような実行時の複雑度の話とかではなかった.残念.