(57)【要約】被験ハードウェア装置とプログラム的に通信する方法およびシステムは、ユーザが、業界標準バス（２０）に接続されたハードウェア装置（１８）のための柔軟でカスタマイズ可能なテスト／シミュレーションプログラムを開発できるようにする。入力テストコマンドは、Ｔｃｌなどのスクリプト記述言語で書かれたプロジェクト固有サポートコードコンポーネント（２８）を介して解釈される。拡張スクリプト記述言語ツール（３０）は、業界標準バス（２０）への通信能力を提供するので、拡張スクリプト記述言語ツール（３０）を介して業界標準バス（２０）への通信能力が提供された後で、当該業界標準バス（２０）を通じてテストコマンドを送信できるようになる。次いで、拡張スクリプト記述言語ツール（３０）によって解釈され、業界標準バス（２０）を通じて送信されたプロジェクト固有テストコマンドに基づいて、ハードウェア装置（１８）が駆動される。
2005534109.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア装置とプログラム的に通信する方法であって、
テストコマンドを受け取るステップと、
スクリプト記述言語で書かれたプロジェクト固有サポートコードコンポーネントを介して前記テストコマンドを解釈するステップと、
拡張スクリプト記述言語ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供するステップと、
拡張スクリプト記述言語ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供する前記ステップの後で、前記業界標準バスを通じて前記テストコマンドを送信するステップと、
前記拡張スクリプト記述言語ツールによって解釈され、前記業界標準バスを通じて送信された前記プロジェクト固有テストコマンドに基づいて、前記ハードウェア装置を駆動するステップとを含む方法。
【請求項２】
スクリプト記述言語で書かれたプロジェクト固有サポートコードコンポーネントを介して前記テストコマンドを解釈する前記ステップと、拡張スクリプト記述言語ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供する前記ステップとが、
Ｔｃｌ／Ｔｋスクリプト記述言語で書かれたプロジェクト固有サポートコードコンポーネントを介して前記テストコマンドを解釈するステップと、
拡張Ｔｃｌ／Ｔｋスクリプト記述言語ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供するステップとを含む、請求項１に記載の方法。
【請求項３】
拡張スクリプト記述言語ツールを介して業界標準バスへの通信能力を提供する前記ステップが、拡張スクリプト記述言語ツールを介してＭｉｌ−Ｓｔｄ−１５５３バスへの通信能力を提供するステップを含む、請求項１に記載の方法。
【請求項４】
前記拡張スクリプト記述言語ツール内に配置されたダイナミックリンクライブラリ（ＤＬＬ）およびＴｃｌ／Ｔｋソフトウェアブロックにおいて、Ｍｉｌ−Ｓｔｄ−１５５３のトランスポート及びドライバ層を抽象化するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記拡張言語スクリプト記述ツールに拡張ＤＬＬを追加することによって、１つまたは複数の追加的なテスト関数をサポートするように前記拡張言語スクリプト記述ツールを変更するステップをさらに含む、請求項４に記載の方法。
【請求項６】
拡張スクリプト記述言語ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供する前記ステップが、Ｔｃｌ／Ｔｋプログラミング言語で書かれた高速抽象スクリプト記述ツールを介して前記プロジェクト固有サポートコードコンポーネントに業界標準バスへの通信能力を提供するステップを含む、請求項１に記載の方法。
【請求項７】
前記拡張スクリプト記述言語ツールまたは前記プロジェクト固有サポートコードコンポーネントの再コンパイルの必要なしに、前記拡張スクリプト記述言語ツールに追加的なテスト関数を追加するステップをさらに含む、請求項１に記載の方法。
【請求項８】
業界標準バスを通じてハードウェア装置とプログラム的に通信するシステムであって、
テストコマンドを入力するユーザ入力と、
スクリプト記述言語で書かれた、前記テストコマンドを解釈するプロジェクト固有サポートコードコンポーネントと、
前記業界標準バスへの通信能力を提供して、前記テストコマンドを前記プロジェクト固有サポートコードコンポーネントから前記業界標準バスを通じて送信できるようにする、拡張スクリプト記述言語ツールと、
前記拡張スクリプト記述言語ツールによって解釈され、前記プロジェクト固有サポートコードコンポーネントから前記業界標準バスを通じて送信された前記テストコマンドに基づいてハードウェア装置を駆動する、ハードウェアドライバとを含むシステム。
【請求項９】
前記ユーザ入力が、Ｔｃｌ／Ｔｋスクリプト記述言語で書かれたユーザテストスクリプトグラフィカルユーザインターフェースである、請求項８に記載のシステム。
【請求項１０】
前記業界標準バスがＭｉｌ−Ｓｔｄ−１５５３バスである、請求項８に記載のシステム。
【請求項１１】
前記プロジェクト固有サポートコードコンポーネントが、Ｔｃｌ／Ｔｋスクリプト記述言語で書かれていて、前記テストコマンドを解釈し、
前記拡張スクリプト記述言語ツールが、前記プロジェクト固有サポートコードコンポーネントから前記業界標準バスへの通信能力を提供して、前記業界標準バスを通じて前記テストコマンドを送信できるようにする、Ｔｃｌ／Ｔｋスクリプト記述言語で書かれた高速抽象スクリプト記述ツールであり、
前記ハードウェアドライバが、アセンブリ言語でコンパイルされていて、前記高速抽象スクリプト記述ツールによって解釈され、前記業界標準バスを通じて送信されたテストコマンドに基づいてハードウェア装置を駆動する、請求項９に記載のシステム。
【請求項１２】
前記高速抽象スクリプト記述ツールが、さらに、テストコマンドメッセージバッファをテストコマンドデータおよび変数で満たすためのものである、請求項１１に記載のシステム。
【請求項１３】
前記高速抽象スクリプト記述ツールが、さらに、前記Ｔｃｌ／Ｔｋスクリプト記述言語で書かれた前記プロジェクト固有サポートコードコンポーネントが前記アセンブリ言語でコンパイルされたハードウェアドライバと通信できるようにするためのものである、請求項１１に記載のシステム。
【請求項１４】
前記高速抽象スクリプト記述ツールに、当該高速抽象スクリプト記述ツールが前記プロジェクト固有サポートコードコンポーネントに代わって前記ハードウェアドライバと通信できるようにする、ＤＬＬ層が含まれる、請求項１１に記載のシステム。
【請求項１５】
前記拡張スクリプト記述言語ツールが、前記プロジェクト固有サポートコードコンポーネントから前記テストコマンドを１行ずつ選択的に読み取るためのものであり、かつ、メッセージバッファ内の前記データコマンドをフォーマットして、前記テストコマンドをバス固有の方式で業界標準バスを通じて送信できるようにするためのものである、請求項８に記載のシステム。
【請求項１６】
業界標準バス上のハードウェア装置のテスティングを促進する高速抽象スクリプト記述ツールであって、
バストランスポート及びドライバ層を抽象化するダイナミックリンクライブラリと、
入力テストコマンドに応答して、前記ダイナミックリンクライブラリにおいて抽象化されたバストランスポート及びドライバ層を呼び出してハードウェア装置を駆動する、再構成可能なプロジェクト固有層と、
前記ダイナミックリンクライブラリが業界標準バス標準メッセージングのための汎用サポートを提供できるようにする、スクリプト記述ソフトウェアコードブロックとを含む、高速抽象スクリプト記述ツール。
【請求項１７】
前記再構成可能なプロジェクト固有層が、新しいタイプのハードウェア装置がテストされるたびに変更される唯一のコンポーネントである、請求項１６に記載の高速抽象スクリプト記述ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
政府利益についての記載
合衆国政府は、本発明に一定の権利を有する。
本発明は、バス通信に関し、詳細には、スクリプト記述プログラミング言語とバス固有の機能とを統合することによって、シミュレーション、テスト、および最終使用アプリケーションのためのバストラフィックを生成するソフトウェアツールに関する。
【背景技術】
【０００２】
軍用規格１５５３（Ｍｉｌ−Ｓｔｄ−１５５３）バスは、高性能航空機、戦車、宇宙船、ミサイル、および他のネットワーク化された乗り物に搭載されたコンポーネント内通信（ｉｎｔｒａｃｏｍｐｏｎｅｎｔ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）を促進するために開発されたシリアルバスである。周知のように、Ｍｉｌ−Ｓｔｄ−１５５３バス上のバストラフィックは、固定の始動／停止時間、メッセージアドレッシング、メッセージ長、フォーマッティング、アービトレーションなどを提供する、パケット化されたメッセージプロトコルに準拠する。
【０００３】
従来、エンドユーザは、Ｍｉｌ−Ｓｔｄ−１５５３バスを通じてハードウェア装置にテストコマンドメッセージを送信するソフトウェアテストアプリケーションまたはプロジェクトをコンパイルして実行することによって、当該Ｍｉｌ−Ｓｔｄ−１５５３バス上に移植された当該ハードウェア装置の動作をテストまたはシミュレートする。移植されたハードウェア装置をコマンドメッセージが制御できるようにするために、通常、エンドユーザが、例えばＣなどの下位プログラミング言語によって、パケット化されたメッセージプロトコルの詳細を処理しなければならないので、ユーザは、通常、新しいタイプのハードウェア装置がＭｉｌ−Ｓｔｄ−１５５３バスに移植されるたびに、テストのために、プロジェクトコードのかなりの部分を書き直し、再コンパイルしなければならない。
【０００４】
シミュレートされた動作条件下で航空電子工学データポイントなどのハードウェア装置をテストするために、Ｍｉｌ−Ｓｔｄ−１５５３ドライバ層を抽象化（ａｂｓｔｒａｃｔ）するソフトウェアスクリプト記述ツールの開発が試みられてきた。しかし、そのようなツールは、そのプログラム可能性が限られているので、当該ツールのかなりの量のソースコードを書き直し、再コンパイルしなければ、様々なタイプのＭｉｌ−Ｓｔｄ−１５５３装置のテスティングに使用するために容易に方向付けし直すことができない。加えて、そのようなツールは、考えられる用途すべてに対応するようにかなり汎用的な形態でなければならないので、きわめて複雑であることが多い。ゆえに、スクリプト記述ツール、したがって装置のテストをエンドユーザの視点から実行することは、各テストがユーザに新しい対話体験を提示するので、困難である。
【発明の開示】
【課題を解決するための手段】
【０００５】
前述のことに鑑みて、本発明は、被験ハードウェア装置とプログラム的に通信して、ユーザが様々なタイプのハードウェア装置のための柔軟でカスタマイズ可能なテスト／シミュレーションプログラムを開発できるようにする、方法およびシステムを提供する。入力テストコマンドは、スクリプト記述言語で書かれたプロジェクト固有サポートコードコンポーネントを介して解釈される。拡張スクリプト記述言語ツールは、業界標準バスへの通信能力を提供するので、拡張スクリプト記述言語ツールを介して業界標準バスへの通信能力が提供された後で、当該業界標準バスを通じてテストコマンドを送信できるようになる。次いで、拡張スクリプト記述言語ツールによって解釈され、業界標準バスを通じて送信されたプロジェクト固有テストコマンドに基づいて、ハードウェア装置が駆動される。
【０００６】
拡張スクリプト記述言語ツールは、プロジェクト固有サポートコードコンポーネントが業界標準バスと通信できるようにし、また同時に、特定のテストプロジェクトが単純な関数呼び出しとしてエンドユーザの前に現れるようにする。加えて、当該拡張スクリプト記述言語ツールは、新しいタイプのハードウェア装置が業界標準バスに移植されるとき、または追加的な機能的機構がプロジェクトに追加されるときに、再構成および再コンパイルの必要がない。
【０００７】
本発明の他の目的および利点は、以下の本発明の好ましい実施形態の詳細な説明を添付図面と併せて読めば、容易に明らかになろう。
【発明を実施するための最良の形態】
【０００８】
ここで、類似の数字が類似の部品を参照している諸図面を参照すると、図１は、本発明によるハードウェア装置テスティングシステムおよびテスティング方法の好ましい一実施形態を実装できるテスト環境１０の、例示的なハードウェアブロック図を示す。テスト環境１０には、パーソナルコンピュータなどのテスティングコンピュータ１２が含まれており、当該コンピュータ１２には、ハードドライブ１４、キーボード１５、およびディスプレイ１６が含まれており、当該コンピュータ１２は、Ｗｉｎｄｏｗｓベースのオペレーティングシステムを稼働させることができる。テスト環境１０には、また、Ｍｉｌ−Ｓｔｄ−１５５３バス２０などの業界標準バスを介してテスティングコンピュータ１２に接続された、被験ハードウェア装置（ＤＵＴ：ｈａｒｄｗａｒｅ  ｄｅｖｉｃｅ  ｕｎｄｅｒ  ｔｅｓｔ）１８が含まれる。ハードドライブ１４は、カスタマイズされたいくつかのソフトウェアコンポーネントと、オープンソースＴｃｌ／Ｔｋスクリプト記述言語などのスクリプト記述言語とを格納しており、これらが相まって、ＤＵＴ１８のための柔軟でカスタマイズ可能なテスト／シミュレーションプログラムの開発を可能にする。これについては以下でより詳細に論じる。
【０００９】
ＤＵＴ１８は、例えば、Ｈｏｎｅｙｗｅｌｌ，Ｉｎｃ．によって構築されたタイプの、人工衛星上でポインティングおよび安定化のために使用されるコントロールモーメントジャイロ（ＣＭＧ：ｃｏｎｔｒｏｌ  ｍｏｍｅｎｔ  ｇｙｒｏ）にすることができ、または、航空電子工学ディスプレイ、パイロットジョイスティック、エンジンおよび翼作動装置などの航空電子工学データポイントを含め、業界標準バスに移植可能な他のいずれかのハードウェア装置にすることができる。加えて、ＤＵＴ１８は、代替的に、前述したＣＭＧや、Ｈｏｎｅｙｗｅｌｌ，Ｉｎｃ．によって製造されるタイプの、国際宇宙ステーションおよび宇宙輸送システム（スペースシャトル）で使用されるマルチプレクサ／デマルチプレクサ（ＭＤＭ：ｍｕｌｔｉｐｌｅｘｏｒ−ｄｅｍｕｌｔｉｐｌｅｘｏｒ）コンピュータなどの、シミュレートされた装置を表すことができ、または、業界標準バス上で使用するために開発された他のいずれかのタイプの装置を表すことができる。
【００１０】
Ｍｉｌ−Ｓｔｄ−１５５３バス２０は、高性能航空機、戦車、宇宙船、ミサイル、および他のネットワーク化された乗り物に搭載されたボックス内レベルの通信のために開発されたシリアルバスである。当該技術分野で周知のように、Ｍｉｌ−Ｓｔｄ−１５５３バスは、当該Ｍｉｌ−Ｓｔｄ−１５５３バスで通信する２つの装置について、バス制御装置もしくはノード（図示せず）を通じて通信プロトコルを定義する。バス制御装置は、当該技術分野で周知のように、付属装置のためのハイ／ロー電圧設定、メッセージフォーマッティング、差動／ベースクロック速度、電気的仕様およびタイミング仕様、ビット幅およびビット間隔、メッセージ長およびメッセージ間隔、バスアービトレーションおよび使用パラメータなど、移植されたハードウェア装置の制御変数それぞれに、パケット化されたバス制御メッセージを選択的に送信する。
【００１１】
後述するように、本発明のハードウェア装置テスティングシステムは、例えばＩＥＥＥ−４８８やＣＡＮバスなど、他の産業用インターフェース上でシミュレーション／テストアプリケーションをサポートするように変更することができる。図１には、上記で参照したＭｉｌ−Ｓｔｄ−１５５３バス２０のバスケーブルだけが示されているが、このＭｉｌ−Ｓｔｄ−１５５３バス２０には、また、当該技術分野で周知のように、バスケーブルとコンピュータ１２とをインターフェース接続する、テスティングコンピュータ１２内のバスカード（図示せず）も含まれることが理解されよう。加えて、バスケーブルが単一のＤＵＴ１８に分岐するものとして示されているが、実際の動作環境に実装されるときには、当該バスケーブルは、当該技術分野で周知のように、Ｍｉｌ−Ｓｔｄ−１５５３バスの場合には３２個までのハードウェア装置に接続するように構成可能である。
【００１２】
図２は、本発明によるハードウェア装置テスティングシステムのソフトウェアコンポーネントの全体を２２で示す。ソフトウェアコンポーネント２２は、コンピュータ１２のハードドライブ１４にプログラムされるものであるが、当該コンポーネント２２には、ハードドライブ１４上の実行可能ファイルに格納されたスクリプト記述言語コンポーネント２４が含まれる。スクリプト記述言語コンポーネント２４は、他のコンポーネントのためのプログラミング環境を作り出しており、当該コンポーネント２４が、他のコンポーネントの一部への書込みおよびその実行を可能にする、業界で認められ、商業的にサポートされた、オープンソースのスクリプト記述言語Ｔｃｌ／Ｔｋであることが好ましい。具体的には、ユーザテストスクリプトもしくは対話型シェルコンポーネント２６、プロジェクト固有サポートコードコンポーネント２８、および高速抽象スクリプト記述ツール（ＦＡＳＴ：ｆａｓｔ  ａｂｓｔｒａｃｔ  ｓｃｒｉｐｔｉｎｇ  ｔｏｏｌ）３０が、Ｔｃｌ／Ｔｋコードで書かれる。これらの各コンポーネントならびにドライバコードコンポーネント３２は、プログラミング抽象化の異なる層を表し、ユーザが、本来ならば取扱い困難なテスト／シミュレーションアプリケーションまたはプロジェクトの詳細のセットを、取扱い可能な詳細のサブセットに分割できるようにする。
【００１３】
ユーザテストスクリプトもしくは対話型シェルコンポーネント２６は、ユーザが、テストコマンドをＡＳＣＩＩテキストファイルとしてハードドライブ１４上にプログラムできる、または、キーボード１５を介し、ディスプレイ１６上の単純なテキストベースのユーザインターフェースもしくはより複雑なＧＵＩ（図示せず）を通じてテストコマンドを対話形式で入力できる、ユーザ対話層を表す。
【００１４】
プロジェクト固有サポートコードコンポーネント２８は、関数呼び出しのライブラリがＴｃｌ／Ｔｋスクリプトで書かれ、ＤＵＴ１８など同様のタイプのＤＵＴをテストする際に特に使用されるＴｃｌファイルとしてハードドライブ１４上に格納される、プロジェクト固有層を表す。プロジェクト固有サポートコードコンポーネント２８は、会話文に類似しており、その場合、当該コンポーネント２８が、ユーザテストスクリプトもしくは対話型シェルコンポーネント２６を通じてテストコマンド入力などの解決要求に応じ、またさらに、ＦＡＳＴ３０およびドライバコードコンポーネント３２を通じてＤＵＴ１８またはＭｉｌ−Ｓｔｄ−１５５３バス２０上の他のコンポーネントと通信することによって、解決策を提供する。プロジェクト固有サポートコードコンポーネント２８は、入力テストデータと、それらにプログラムされたテスト情報とに基づいて、Ｍｉｌ−Ｓｔｄ−１５５３バス２０上でメッセージトラフィックを送受信し、ディスプレイ１６上にテスト情報を表示し、ハードドライブ１４上のロギングファイルなどのファイルに書き込み、数値変換を実施して機械コードから人間が読取り可能なテキストおよび数字への翻訳をサポートすることができる。
【００１５】
ＦＡＳＴ３０は、主にＴｃｌ／Ｔｋで書かれたユーティリティまたは関数のライブラリを含めた、プロトコルまたは言語固有層を表しており、これが、プロジェクト固有サポートコードコンポーネント２８にプログラムされた特定のテスト／シミュレーションアプリケーションまたはプロジェクトに関わらず、当該プロジェクト固有サポートコードコンポーネント２８がドライバコードコンポーネント３２と通信できるようにする。これについては以下でさらに詳細に論じる。言い換えれば、ＦＡＳＴ３０は、Ｔｃｌ／Ｔｋで書かれたプロジェクト固有サポートコードコンポーネント２８と、アセンブリやＣなどの言語でコンパイルされたドライバコードコンポーネント３２との間の通信をブリッジし、それによって、プロジェクト固有サポートコードコンポーネント２８からドライバコードコンポーネント３２に直接書き込む必要がある場合よりも、ドライバコードコンポーネント３２との通信に、より高いコンテキストを提供する。
【００１６】
加えて、ＦＡＳＴ３０は、機能的能力を犠牲にすることなく、Ｍｉｌ−Ｓｔｄ−１５５３バスメッセージングプロトコルの詳細の実装をエンドユーザおよびアプリケーションプログラマから隠蔽または抽象化し、大幅な変更なしに多数のプロジェクトを容易に拡張し、変更し、サポートする。したがって、ＦＡＳＴ３０の実装により、ＤＵＴ１８への通信は、Ｗｏｒｌｄ  Ｗｉｄｅ  ＷｅｂがＨＴＭＬ、イーサネット、およびパケット交換網通信を単純化する方式に類似した方式で、アプリケーションユーザの前に、複雑なプロセスとしてではなく、単純な関数呼び出しとして現れる。Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂのユーザは、使用が簡単なブラウザと呼ばれるリッチプログラムによって対話し、背後に隠れたもの（ＨＴＭＬ、イーサネット、パケット交換網）はすべて、エンドユーザにとって透過的である。本発明の好ましい実施形態を用いると、テストユーザおよびテストスクリプト自体は、リッチで有能な環境を見ており、実行されている基礎的動作にはさらされない。
【００１７】
ドライバコードコンポーネント３２は、プリコンパイルされたマシンコードで書かれ、通常は通信バスカード（図示せず）のベンダーによって提供されるものであるが、当該コンポーネント３２は、初めにユーザテストスクリプトもしくは対話型シェルコンポーネント２６においてＭｉｌ−Ｓｔｄ−１５５３バスを通じてＤＵＴ１８に入力されたコマンドを通信する、ハードウェア固有層を表す。
【００１８】
図３に示されるように、ＦＡＳＴ３０には、主要な３つのコンポーネント、すなわち、ＷｉｎｄｏｗｓダイナミックリンクライブラリもしくはＤＬＬ３４、スクリプト記述ソフトウェアコードブロック３６、およびドライバ層３８が含まれる。ＤＬＬ３４は、Ｍｉｌ−Ｓｔｄ−１５５３バスのトランスポート及びドライバ層を抽象化するためのものであり、ユーザが、スクリプト記述ソフトウェアコードブロック３６を使用して、Ｍｉｌ−Ｓｔｄ−１５５３バスメッセージトランザクションの形成、ロギング、およびタイミングのための汎用サポートを提供することによって構築することができる。より具体的には、ユーザが、スクリプト記述ソフトウェアコードブロック３６を使用し、それによって、ＤＵＴ１８など、Ｍｉｌ−Ｓｔｄ−１５５３バス２０に移植されたいずれかのハードウェア装置と対話可能になることによって、Ｔｃｌ／Ｔｋコードのスクリプト、すなわちプロジェクト固有サポートコードコンポーネント２８を作成することができる。結果として、ユーザは、いずれか所望の抽象化レベルでＤＵＴ１８と対話することができる。例えば、ユーザは、プロジェクト固有サポートコードコンポーネント２８を構築して、単純なテキストベースのＩ／Ｏテストメソッド、メッセージ構造およびディスパッチ関数を含む中間レベルのテストメソッド、またはオブジェクト指向プログラミングを使用する高レベルのテストメソッドのいずれかを提供することができる。
【００１９】
ユーザがＤＵＴ１８などのＤＵＴと直接対話することを望むときには、単純なテキストベースのプログラムが、ＤＵＴ１８を操作するための最大のフレキシビリティを提供する。しかし、プロトタイプ環境で同一関数が数回実行される、装置の特性評価の場合、事前に書き込まれたスクリプトのファイルによる複雑な中間レベルのテストが必要である。テスト結果がオペレータに依存しない生産環境では、複雑な高レベルのテストプログラムが、確実に各テストが再現性のある形で完了し、会社のニーズに従って文書化されるように保証することができる。ＦＡＳＴ３０は、ユーザのニーズに円滑に結びつくことのできるインターフェースによって、これらの各動作モードをサポートする。
【００２０】
スクリプト記述ソフトウェアコードブロック３６は、ハードドライブ１４上にプログラムされたＴｃｌファイルの集合であることが好ましく、ＤＬＬ３４が業界標準バス標準メッセージングに汎用サポートを提供できるようにするためのものである。より具体的には、スクリプト記述ソフトウェアコードブロック３６は、メッセージ作成、ロギング、タイミング、およびバスドライバＩ／Ｏ関数などのカスタム関数をＤＬＬ３４に追加できるようにして、ＤＬＬ３４を書き直す、または再コンパイルする必要なしに所望のテスト解決策を作成できるようにする。例えば、ＤＵＴ１８上で実行されたテストの結果をテスティングコンピュータ１２に記録する必要がある場合、ＤＬＬ３４、Ｔｃｌコンポーネント２４、またはプロジェクト固有サポートコードコンポーネント２８の再コンパイルの必要なしにスクリプト記述ソフトウェアコードブロック３６を通じて結果をテスティングコンピュータ１２に記録するように、ＦＡＳＴ３０を拡張することができる。
【００２１】
ＤＬＬ層３４は、入力テストコマンドに応答し、ドライバ層３８を呼び出してＤＵＴ１８を駆動する、例えばＡＳＣＩＩテキストコードとしてＣプログラミング言語で書かれたサポート関数の集合である。ＤＬＬ層３４内のサポート関数は、使用される通信バス２０のタイプに基づいて書き直し、再コンパイルすることができる。したがって、通信バスのタイプが変化したときに、プロジェクト固有サポートコードコンポーネント２８やスクリプト記述ソフトウェアコードブロック３６など、ＦＡＳＴ３０のより高いコンテキスト層を、書き直し、再コンパイルする必要がない。
【００２２】
ここで、本発明によるハードウェア装置テスティングシステム、特にＦＡＳＴ３０の動作を説明するために、図４を参照して、ソフトウェアコンポーネント２２によって実装される例示的なテストアプリケーションについて記載する。この特定のテストアプリケーションでは、テストされるべきハードウェア装置は、コントロールモーメントジャイロ、即ちＣＭＧであり、テストの間のＣＭＧの正しい動作を検証するセンサ（図示せず）とともに、シミュレートされた人工衛星を表すテストプラットフォーム（図示せず）上に据え付けられている。４０では、テストアプリケーションのユーザが、ユーザテストスクリプトもしくは対話型シェル２６を通じてテストコマンドを入力して、例えば、シミュレートされた人工衛星を滑らかに５°回転させるようＣＭＧに命令する。入力テストコマンドは、４２で関数呼び出しを作成し、プロジェクト固有サポートコードコンポーネント２８が、当該テストコマンドについてその関数ライブラリに格納された対応する関数を解決し、その結果をＦＡＳＴ３０に通信する。図のように、プロジェクト固有サポートコードコンポーネント２８の動作は、１つのアクションに委ねられていない。より正確に言えば、その動作は、４２に示したＲｏｔａｔｅ（ｘ）およびＳｐｉｎ（ｘ）コマンドなど、多くのコマンドの融合にすることができる。加えて、コマンドには、ＣＭＧがその目標位置に接近したときにＣＭＧの回転を遅くするための、閉ループフィードバックフィードバックコマンドを含めることもできる。
【００２３】
４４では、プロジェクト固有サポートコードコンポーネント２８から送信された結果が、ＦＡＳＴ３０内の一連の関数呼び出しに入力コマンドをマップする。ＦＡＳＴ３０は、これらの結果を理解し、ドライバコードコンポーネント３２から適切な関数を呼び出し、ドライバコードコンポーネント３２に格納された関数に適切なデータを挿入する。したがって、ＦＡＳＴ３０は、ＦＡＳＴ３０およびプロジェクト固有サポートコードコンポーネント２８の両方において、関数ライブラリを使用してバス制御装置環境をシミュレートできるようにする。ドライバコードコンポーネント３２は、４６で、ＦＡＳＴ３０によって挿入されたデータについてこれらの関数を解決し、４８で、ＣＭＧと通信して、４０でのテストコマンド入力に基づいてＣＭＧを制御する。４６では、ドライバコードコンポーネント３２が、また、ＣＭＧの制御に関してＦＡＳＴ３０にメッセージを送信して戻し、４４では、ＦＡＳＴ３０が、ドライバコードコンポーネント３２からプロジェクト固有サポートコード２８を通じてユーザにメッセージを返す。
【００２４】
上述の内容を考慮すると、本発明によるハードウェア装置テスティングシステムが、Ｍｉｌ−Ｓｔｄ−１５５３バスなどの業界標準バス上で様々なタイプのハードウェア装置をテストできるようにすることを理解されたい。ある通信バスから別の通信バスへとテスティングが切り替えられるときには、ＤＬＬ層３４だけを再コンパイルすればよい。したがって、当該ハードウェア装置テスティングシステム、特にＦＡＳＴ３０は、ユーザの立場からの操作が単純な、ＤＵＴ１８のための柔軟でカスタマイズ可能なテスト／シミュレーションプログラムの開発を可能にする。
【００２５】
以上は、本発明の好ましい実施形態の記述であるが、添付の特許請求の範囲およびその公正な意味から逸脱することなく、本発明を修正、変更、または改変できることを理解されたい。
【図面の簡単な説明】
【００２６】
【図１】本発明による高速抽象スクリプト記述ツールの好ましい一実施形態を実装できるテスト環境の、ハードウェアブロック図である。
【図２】Ｍｉｌ−Ｓｔｄ−１５５３ハードウェア装置のためのテスト／シミュレーション環境を実装するのに必要なソフトウェアモジュールの、ソフトウェアブロック図である。
【図３】図２の高速抽象スクリプト記述ツールをさらに詳細に示すブロック図である。
【図４】図２に示した各ソフトウェアモジュールによる例示的な入力データコマンドの処理を説明するフロー図である。
【図１】
2005534109.tif 000003
【図２】
2005534109.tif 000004
【図３】
2005534109.tif 000005
【図４】
2005534109.tif 000006
【国際調査報告】
2005534109.tif 000007
2005534109.tif 000008