人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ソフトウェアの振る舞いの可視化についてなされた、過去の研究や実装について教えてください。論文・実装・説明そのものへのリンクがうれしいですが、論文・実装を特定するのに十分な情報があれば結構です。可視化のアイデアや推測などは求めていません。

コードを書くとき、プログラマの頭の中には何らかの(実装言語にある程度依存した)実行モデルがあると思います。

「ソフトウェアの振る舞いの可視化」をする、とは、この実行モデルを可視化することを、ここでは想定しています。

具体例としては、次のようなものがあり得ると考えています。

* ソースコードのステップ毎に、関連するオブジェクトの変更・生成・破棄が可視化される
* ソースコードのステップ毎に、プログラムのフロー中のどこが実行されているかが可視化される
* ソースコードのステップ毎に、コールスタックの変化(return addressが積まれた、引数が積まれたなど)が可視化される。


●質問者: こじま
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:いるか アイデア オブジェクト コード スタック
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● Hyperion64
●18ポイント

プロジェクトチームやクライエントとの相互理解のための手法というこであれば、

UMLというのがあります。オブジェクト指向言語に特化したツールのようですが。

http://www.keyman.or.jp/search/kaihatu2/30000761_1.html?vos=nkey...

あるいはDFDという可視化手段も知られています。こちらはデータのIOに特化しています。

http://e-words.jp/w/DFD.html

◎質問者からの返答

回答ありがとうございます。

が残念ながらUML/DFDともに知っております。

UMLは主に静的な構造の記述手段です。アクティビティ図もありますが、

振る舞いの静的な構造の記述になります(その意味ではフローチャートと差がありません)。

DFDには詳しくありませんが、これも振る舞いの静的な記述だと理解しています。

わたしの説明が足りなかったかもしれませんが、動的に変化が見えるような可視化手段が、

知りたいことです。

例として書いている「ソースコードのステップ毎に」のようなものをイメージしています。


2 ● noocyte
●52ポイント

アルゴリズム・アニメーションはご存知ですか?

Javaによるソートアルゴリズムの可視化

http://www.fc.u-tokai.ac.jp/~oki/98/argo/

⇒ 4-2. 棒グラフによる可視化


JAWAA:Java アプレットでアルゴリズム・アニメーションを作るツール

http://www.cs.duke.edu/csed/jawaa2/

JAWAA EXAMPLES

http://www.cs.duke.edu/csed/jawaa2/examples.html

Depth First Search (有向グラフの縦型探索)

http://www.cs.duke.edu/csed/jawaa2/examples/DFS.html


ビジュアライゼーション

http://www.vogue.is.uec.ac.jp/~koike/papers/bit/bit.html

⇒ 2.3.3 アルゴリズムアニメーション


"アルゴリズム・アニメーション" で検索.

http://www.google.co.jp/search?q=%22%E3%82%A2%E3%83%AB%E3%82%B4%...

◎質問者からの返答

質問時は失念していましたが、ソートを動的にビジュアライズするものは何度か見たことがあります。

が、「アルゴリズムアニメーション」というジャンルがあるのは知りませんでした。

わたしは、質問で例にあげたような抽象度(実装言語にある程度依存)での可視化を想定していたの

ですが、これもまた、少し高い抽象度でプログラマのあたまの中にできるモデルの、動的な可視化

といえますね。

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ