netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-07-07 古い日記からの変換データ [長年日記] ▲
_ Java ▲
Ant の Taskdef の追加方法が良く分からないので,そのまま ANT_HOME/lib に突っ込んでおくことにした.ant Tasks も数が増えてくると管理が面倒だが…….user.taskdef とか何かで設定するのかなぁ.
_ Java ▲
SableCC をインストールしてみた.
Token 系が Txxx というクラスになっていて,identifier = {single} id | {multiple} id identifier;
というように書くとPIdentifier に共通の実装が定義され,ASingleIdentifier と AMultipleIdentifier で個別のケースにアクセスできるらしい.
で,Analyzer (DepthFirstAdaptor) に自動生成される void caseASingleIdentifier(ASingleIdentifier)
をオーバーライドして Visitor パターンと同様に解析クラスを実装して,root.apply(adaptor) で解析する.
思ったよりシンプル.構文解析系のツール(ANTLRとか)を使うのは苦手なのだが,このぐらいが実装が楽でよいかも.
_ 論文 ▲
A.J.M.M. Weijters, W.M.P van der Aalst:"Rediscovering Workflow Models from Event-Based Data"
ペトリネットで Workflow を記述するとして,Workflow Log からペトリネットを逆に抽出してやろうというもの.Dependency/Frequency なんてものを使ってる.
A が出る頻度,A の出た後に B が出る頻度,A の出る前に B が出る頻度,なんてものを見ることで順序,並行関係にあるかを見てやろうというものらしい.シーケンス長 n に対して O(n^2) な様子.
_ 論文 ▲
Mohammad El-Ramly, Eleni Stroulia, Paul Sorenson:"From Run-time Behavior to Usage Scenarios:An Interaction-Pattern Mining Approach"
画面トレース(画面IDの並び)からシステムの動作パターンを検出しようというもの.ユーザ・システム間のインタラクションを取り出すのが目的.
パターン抽出の基本操作はシーケンスの長さ n,数 k に対して長さ2の組み合わせを取り出すので,O(k * n^2) になる.
メソッドの実行トレースから計算しようとするとこの方法だと n = 10000~ なので大変そうだ.
_ 論文 ▲
Sergey Butkevich, Marco Renedo, Gerald Baumgartner, Michal Young:"Compiler and Tool Support for Debugging Object Protocols"出典は FSE-8, San Diego, CA, USA (2000) らしい. interface 定義に,一緒にプロトコルを定義しようというもの.interface DataInput { protocol { open; read*; close; }}メソッド呼び出しパターンと,状態変数の定義を組み合わせて記述しよう,とか書いてある. 実際には表現力が謎ではある.例示として上がっているのが Stack なせいかも.やはり,もうちょっとオブジェクト内部の記述にも触れるようにしたいところ. 実行時の検査はやっぱりラッパークラスを使うみたい.ラッパーを使うと, self problem が発生するのが難点だが.