netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-06-14 古い日記からの変換データ ▲
2004-06-14 古い日記からの変換データ ▲
_ [ツール]単位換算スクリプト ▲
単位換算スクリプト.長さ,重量などの換算に便利だったのでメモしておく.http://www.motorworks.ne.jp/mwc/utilgp/convcalc.html
仕事率の計算もできるので,100万馬力が何ワットかも計算できる.
_ [論文]サービス指向なコンポーネント ▲
ICSE 2004 Technical Papers, Dynamic Reconfiguration より.
Humberto Cervantes and Richard S. Hall:Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model.Proceedings of ICSE 2004, pp.614-623.
コンポーネントの接続をきちんとContractとして定義してコンポーネントは,自分が提供するサービスをService Registry に登録しに行き,Requester が Registry から目的のサービスを見つけるというブローカーが存在するモデル.サービス間の依存関係なども Registry に登録するときに一緒に登録しておいて,必要なサービスを動的に集めながらプログラムが実行されることになる.
この論文で紹介されている Gravity プロジェクトはhttp://gravity.sf.net/で公開されているらしい.
_ ▲ 本筋とはあまり関係ないが,Reconfiguration系の人たちは,コンポーネントの定義としてSzyperski, C.: Component Software: beyond object-oriented programming.ACM Press/Addison-Wesley Publishing Co., 1998.によるA software component is a binary unit of composition with contractually specified interfaces andexplicit context dependencies only. A softwarecomponent can be deployed independently and is subject tocomposition by third parties.というのをよく引用しているみたい.
_ [論文]動的再構成フレームワーク ▲
ICSE 2004 Technical Papers, Dynamic Reconfiguration より.
Jamie Hillman, Ian Warren:An Open Framework for Dynamic Reconfiguration.Proceedings of ICSE 2004, pp.594-603.
動的にコンポーネント間の接続を変えられるようにするOpenRec というフレームワークを作りました,というもの.
基本的には,システムの状態を監視する方法と接続を再構成するためのスクリプト(OpenRecML)を提供するのであとはその上で自由に再構成のアルゴリズムとかアルゴリズムのコストとかの研究をしましょう,というツールの提示の論文.
ツール本体やらドキュメントやらは以下のURLから取れるみたい.いきなりログインフォームが出ているが,右上のほうに News というリンクがあって,そこから最新情報を見ることができる.http://www.openrec.org/
_ [論文]関係ある変更の提示 ▲
ICSE 2004 Technical Papers, Software Configuration Management and Deployment より.
Thomas Zimmermann, Peter Weissgerber, Stephan Diehl, Andreas Zeller: Mining Version Histories to Guide Software Changes.Proceedings of ICSE 2004, pp.563-572.
協調フィルタリングを使って,「この関数を変更したプログラマはここも変更しています」「この関数は変更しなくていいのか?」などと提示する手法.Eclipse ベースのツールとして実装している.
元になる情報はバージョン履歴で,同時期に変更されたもの,というのが基準になる.正確さなどの点ではかなり怪しげ.今のところ,少しだけ正確なものを出すか,正確性が下がっても数をカバーするか,のどちらかになってしまうらしい.
2005-06-14 ▲
_ [読書] C++ in 2005 ▲
Stroustrup: The Design and Evolution of C++のページに置いてあるC++ in 2005(Added to Japanese translation of D&E) を読んでみた.STLが作られたときの話や,Embedded C++のようなsubset規格に対する態度や,C++の標準に取り込みたいと考えているフィーチャーなどの話が書いてあって,けっこう面白かった.本を買う気は別に起きなかったけど.
_ [論文]実行履歴のベクトル類似度に基づくフェイズ認識 ▲
Steven P. Reiss: Dynamic Detection and Visualization of Software Phases.
Proceedings of Workshop on Dynamic Analysis (WODA 2005), St. Louis, MO, USA, May 2005.
ソフトウェアはいくつかのフェイズによって構成されているので,それをプログラム実行中に認識しようという試み.10ミリ秒を1コマとして,各クラスごとに何回メソッドが呼ばれているかでベクトルを作っておいて,過去何コマぶんかを取り出してきて和を取り,絶対値が1になるように正規化してベクトルを作成する.
パラメータを経験的に決定して,実際のプログラムで見つかった6つのフェイズが,それぞれどのような処理だったかを説明している.時間枠で区切られるので,入力待ちなどがフェイズとして出てくるものの,CPU負荷などに応じて検出されるフェイズが変わってしまうのではないかという恐れもある.そのあたりはちょっと怪しい.