スタブとは?/ キャッシュワン
[ 369] スタブ - Wikipedia
[引用サイト] http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%96
|
この項目ではソフトウェア開発について記述しています。電子工学についてはスタブ (回路)をご覧ください。 スタブ (stub) とは、複数のモジュールからなるコンピュータプログラムの検査(ソフトウェアテスト)時における下位モジュールの代用品のこと。元々の意味は、切り株のこと。 呼び出す側(上位)のモジュールを検査する場合に、呼び出される側(下位)の部品モジュールが未完成であることがある。このとき、呼び出される側の部品モジュールの代用とする仮のモジュールを、「スタブ」と呼ぶ。スタブモジュールは設計仕様に定義されている全ての関数を実装してあるが、関数内部は正規の動作をする事無く適当な定数を返すというような作りになっている事が多い。 たとえば複数人でプログラミングをするときなどでは、初めはモジュールごとにプログラムを作成し、後で各モジュールを結合(リンク)して、全体としてうまく動作するかどうかをテストする。この結合テストの前段階で、個々のモジュールは、あらかじめ正当性を検査しておくことが望ましい。その場合、呼び出す部品モジュールがまだ完成していないときには、スタブが用いられる。スタブは、単純で何もしないようなものであってもよく、テストしたい部分とリンクして動作させるのに十分であればよい。 また、このようなスタブは、モジュールの仕様設計の段階で作られる事も多い。とりあえず中身の無いスタブモジュールを書く事によって、モジュール間の結合の設計に問題がないかを具体的に確かめながら仕様設計ができるからである。 一般にテストする対象が上位階層のモジュールであって下位の部品が未完成の場合、その代用となる仮の下位階層モジュールを、「スタブ」と呼ぶ。 逆の場合、すなわち下位階層の部品モジュールをテストするときに、上位階層のモジュールが未完成であるか簡略的に代用したい場合、テスト用の仮の上位階層モジュールを、ドライバ(ソフトウェアの場合)またはコントローラ(ハードウェアの場合)と呼ぶ。ただし、仮のモジュールではなく正規のモジュールについてもドライバ/コントローラと呼ばれる事があるので、区別するために「テストドライバ」や「サンプルドライバ」などと呼ぶ事も多い。 組み込みシステムのソフトウェアを開発する際には、コンパイラなどの開発ツールを動かすコンピュータ(ホストコンピュータ)と、開発対象となるコンピュータ(ターゲットコンピュータ)は全く異なるものであることが多い。この時、プログラムを実際に動かしながら動作を確かめるデバッガは、ユーザインタフェースを必要とする本体部分をホストコンピュータ上で動作させ、ターゲットコンピュータ上では本体部分から通信線による指示を受けてCPUやメモリの状態を読み書きする小さなプログラムを動かしておくという構成になることが多い。この、ターゲット上の小さなプログラムを「スタブ」と呼ぶ。 このようなデバッガのスタブは、当然の事ながらターゲットコンピュータのCPUに強く依存したものになり、しばしばアセンブリ言語を用いて作成される。スタブが行なわなければならない主な内容は、次のようになる。 実行コード中にソフトウェア割り込み命令を埋め込みターゲットソフトウェアの実行を一時的に停止させスタブに制御を戻す 組み込みシステム用ソフトウェア開発においては、このスタブを早い段階で安定動作させる事ができるかどうかが、その後の開発作業がスムーズに進むかどうかに大きく影響する。なお、スタブ自身のデバッグ作業には、一般にはハードウェア的にCPUの動作を制御するインサーキット・エミュレータを用いる。このインサーキット・エミュレータは比較的高価な装置であるため、開発人員全員の分を用意すると、開発コストが高くなってしまう。このため、スタブを開発する際やソフトウェアデバッガではどうしても検出できない事象を確認する際などの要所にのみインサーキット・エミュレータを用い、それ以外はスタブを活用して開発作業を進める事になる。 |
キャッシュワンの銀行系キャッシング。 キャッシュワンの即日キャッシング、審査甘い、 キャッシュワンの信販系キャッシング、消費者金融比較、 キャッシュワンの申込情報サイト。