(57)【特許請求の範囲】
【請求項１】
標準化されたインタフェースを有するプロトコル層と、
該プロトコル層を含んだプロトコル・スタックの管理用インスタンスとを具え、
上記プロトコル層は、プロトコル層の特性が記述された記述ファイルを有し、
上記特性は、サービス・アクセス・ポイントにより交換されるプリミティブのリストとしてのサービス・アクセス・ポイントの記述と、プロトコル層パラメータと、プロトコル層アクションとを有することを特徴とするプロトコル・スタック生成装置。
【請求項２】
標準化されたインタフェースを有するプロトコル層を使用可能にするステップと、
上記プロトコル層を含んだプロトコル・スタックをランダムにコンパイルするステップと、
上記プロトコル・スタックの管理用のインスタンスを使用可能にするステップとを具え、
上記プロトコル層は、プロトコル層の特性が記述された記述ファイルを有し、
上記特性は、サービス・アクセス・ポイントにより交換されるプリミティブのリストとしてのサービス・アクセス・ポイントの記述と、プロトコル層パラメータと、プロトコル層アクションとを有することを特徴とするプロトコル・スタック生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に、プロトコルの試験に関し、特に、プロトコル・スタックを生成する装置及び方法に関する。
【０００２】
【従来の技術】
プロトコル測定技術は、高度に革新的な分野である。テレコミュニケーション又はネットワーク・プロトコルの新たな開発や、なお一層の開発により、ネットワーク装置及びテレコミュニケーション装置の製造業者及び操作者は、新たなシステムの機能及び適合性をチェックしなければならないという問題に直面している。各社の競争のため、各製造業者は、製品を市場にできるだけ早く出荷しようとしている。この開発ペースは、プロトコル・テスタの製造業者に特別な要求を突きつけている。
【０００３】
プロトコル・テスト・システムの試験時間をできるだけ短くするために、また、試験要員が取得しなければならないプロトコルの知識範囲を最小とするために、プロトコル・テスタの製造業者は、これらプロトコル・テスト・システムに対するプロトコル・エミュレーションをしばしば用いる。実際には、エミュレーションが個別のプロトコル層をコピーするように、しばしばプロトコルのエミュレーションを準備する。エミュレーション・システムを形成するために個別のプロトコル層を接続することにより、全体的なプロトコル・タスク、又はプロトコル・タスクの選択された部分をコピーできる。個別のプロトコル層は、抄録（アブストラクト）的に観察され、この場合、層から層にデータが転送される。このために、プロトコル層の間のコミュニケーションを記述するために、いわゆる基本命令（プリミティブ）をプロトコル規格にしばしば用いる。かかるプロトコル・エミュレーションを作成するには、大量の作業が必要である。
【０００４】
多くの場合、新たなプロトコル・スタックは、完全に、又はほぼ完全に、既知のプロトコル層から構成されている。しかし、これらの場合、プロトコル・テスト・システム用に新たなアプローチをコンパイルする必要がある。この点において、プロトコル・スタックを変更する際には、手順をできるだけ簡単にするために、多くの自由度が望まれている。
【０００５】
今までの最先端技術によれば、この目的のために、プロトコル・システムで標準的に行われてきたことは、プロトコル・エミュレーションをシミュレーションし且つ利用することによって、静的なアプリケーションを提示すること、即ち、ユーザができあいのアプリケーションを呼び出したり利用することであった。この場合、関連資料が、ＩＳＯ／ＩＥＣ１０７３１：１９９４オープン・システム相互接続（ＯＳＩ）基準モデル用に作られている。なお、この場合、ユーザにとって、プロトコル層を追加したり、交換したり、除去したりして、プロトコル・スタックを変更することができない。新たなアプリケーションを準備するには、即ち、複数のプロトコル層エミュレーションを一緒に実行するには、特別なシステム・ノウハウと、通常は製造業者のみが用いるコミュニケーション・メカニズムの知識とが必要となる。これによる問題点は、各々が特定配置のプロトコル・エミュレーションを有する限られた数のアプリケーションを、プロトコル・テスタが扱わなければならないことである。
【０００６】
プロトコル・テスト・システムにおいては、ストリーム概念の如き他の改善方法がうまくいっていない。１つのプロトコル層の位置が他のプロトコル層の上である正確な層状システムの場合にのみ、ストリーム概念が用いられている。いくつかのプロトコルが同じレベルにあって、異なるレベルの間で交差関係を有することが必要となるか、又は、これら関係が２つのレベルにわたる場合、この技術は最早適用できない。
【０００７】
【発明が解決しようとする課題】
よって、プロトコル・テスタのユーザが、自由度があり且つ簡単な方法で、プロトコル層の既存の複数のエミュレーションを一緒にして、プロトコル・スタックを形成できることが望まれている。この場合、ユーザには、プロトコルのわずかな知識が必要となるだけである。
【０００８】
したがって、本発明は、少なくとも１つのプロトコル層が少なくとも１つの標準化インタフェースを有すると共に、かかるプロトコル層を含んだプロトコル・スタックの管理を行うインスタンスを有するプロトコル・スタックを生成する装置及び方法を提供することである。
また、本発明は、プロトコルのユーザが広範な知識を必要とせずに、柔軟性のあるプロトコル・スタックを形成できる装置及び方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明のプロトコル・スタック生成装置は、標準化されたインタフェースを有するプロトコル層と、このプロトコル層を含んだプロトコル・スタックの管理用インスタンスとを具えている。
また、本発明のプロトコル・スタック生成方法は、標準化されたインタフェースを有するプロトコル層を使用可能にし、プロトコル層を含んだプロトコル・スタックをランダムにコンパイルし、プロトコル・スタックの管理用のインスタンスを使用可能にすることを特徴としている。
さらに、本発明のプロトコル・スタック生成装置は、標準化されたインタフェースを有するプロトコル層エミュレーションに各々が結合された複数のローカル・エミュレーション・マネージャーと、このローカル・エミュレーション・マネージャーにリンクされて、管理用インスタンスを形成するグローバル・エミュレーション・マネージャーと、管理用インスタンスと対話して、プロトコル層エミュレーションを含む要素をロードすると共に接続する管理コマンドを発生して、プロトコル・スタックを生成する手段とを具えている。
【００１０】
本発明によれば、標準で一般的なエミュレーション環境を利用でき、ユーザは、必要に応じて、複数のプロトコル層エミュレーションをプロトコル・スタックに統合したり、及び／又は、プロトコル層を他のプロトコル層エミュレーション、スクリプト・インタプリタ又は制御コンポーネントと結合したりできる。複数のプロトコル層を標準インタフェースに設けることにより、複数のプロトコル層を簡単な方法で互いに結合したり、複数のプロトコル層をスクリプト・インタプリタ又は制御コンポーネントと結合できる。また、インタフェースの標準化により、ユーザがプロトコル層をプロトコル・スタックにするのに必要な知識がわずかでよい。
【００１１】
処理において、各プロトコル層及び／又は各スクリプト・インタプリタを基準ファイルに割り当てる。ここでは、プロトコル層及び／又はスクリプト・インタプリタの少なくとも１つの特徴が記述される。プロトコル・スタックを一緒すると、これら複数の記述ファイルが自動的に互いにリンクする。これは、プロトコル・スタックの管理用の上述のインスタンス、又は独立した装置が行う。この処理において、インスタンス又は独立した装置は、プロトコル・エミュレーションに対して、一般的なコミュニケーション及び管理メカニズムを設ける。インスタンスは、好ましくは、少なくとも１つのプロトコル層に割り当てられた少なくとも１つのエミュレーション・マネージャーと、各ローカル・エミュレーション・マネージャーにリンクしたグローバル・エミュレーション・マネージャーとを具えている。
【００１２】
各プロトコル層は、好ましくは、少なくとも１つのいわゆるサービス・アクセス・ポイント（ＳＡＰ）を特徴とし、各ＳＡＰは、他のＳＡＰに入力及び／又は出力を与える。ＳＡＰは、プロトコル層にアクセスする論理ポイントであり、プロトコル・テスタがここにデータを流すか（受信するか）、又はここからデータを利用（送信）できるようにする。プロトコル・エミュレーションに適用するとき、エミュレーションの入力及び出力は、ＳＡＰと呼ばれる。これら入力及び出力の機能に応じて、異なる形式の情報が予測される。これらエミュレーションの適切なＳＡＰを接続することにより、２つのプロトコル・エミュレーションがリンクされる。これらリンクにおいて、１つのエミュレーションの送信ＳＡＰが他のエミュレーションの受信ＳＡＰに接続される。これら両方のＳＡＰは、同じ種類のデータを処理する。
【００１３】
好ましくは、各プロトコル層は、インスタンス、特に、ローカル・エミュレーション・マネージャーと結合された入力及び出力として機能する。１つのプロトコル層が少なくとも２つの高位のプロトコル層及び／又は少なくとも２つの低位のプロトコル層と結合できるように、プロトコル層を構成することが可能である。特に、関連したＳＡＰにより交換されるプリミティブのリストによれば、複数の基準ファイルに蓄積された複数の特徴は、ＳＡＰの記述を有することである。また、これら特徴は、調整可能であり且つ一定であるか、若しくは、調整可能又は一定であるプロトコル層パラメータと共に、プロトコル層アクションを有する。ユーザに必要な従来の知識量を最小にするために、特に好適実施例においては、標準化構造及び標準化コードにより、各プロトコル層のプリミティブを示すことができる。ＳＡＰは、コミュニケーション機能を用いて、インスタンスと同じ形式で作用する。
【００１４】
好適実施例においては、対話要素、即ち、スクリプト・インタプリタを用いる。これにより、ユーザは、少なくとも１つのプロトコル層と対話できる。グラフィカル・ユーザ・インタフェース（ＧＵＩ）を用いることにより、ユーザは、プロトコル・スタックを一緒にできる。ＧＵＩは、プロトコル層特定情報を提供し、これにより、ユーザは、プロトコル層及び／又はプロトコル層のアクションの特定の調整可能及び／又は一定のパラメータを変更できる。ユーザが行うこれら変更は、記述ファイルに加味される。ユーザが入力した後、インスタンス又は付加的な装置が、複数の現在の基準ファイルを望ましく一緒にし、ユーザ側でこれ以上のアクションを必要とせずに、プロトコル・スタックを形成できる。
【００１５】
したがって、本発明によりプロトコル・スタックを形成する方法は、第１ステップにおいて、プロトコル・スタックは、利用可能にできる少なくとも１つの標準化インタフェースを有する。第２ステップにおいて、少なくとも１つのかかるプロトコル層を有するこのプロトコル・スタックをランダムに一緒にする。第３ステップにおいて、プロトコル・スタックの管理用インタフェースを利用可能にする。
【００１６】
本発明のその他の目的、利点及び新規な特徴は、添付図を参照した以下の説明から明らかになろう。
【００１７】
【発明の実施の形態】
図１は、本発明によるプロトコル・テスタの特定のコンポーネントの対話を示すブロック図である。このプロトコル・テスタは、パーソナル・コンピュータ（ＰＣ）ボード１０を具えており、かかるパーソナル・コンピュータ・ボード１０は、例えば、インテル製ペンティアム１３３中央処理装置（ＣＰＵ）であり、Ｗｉｎｄｏｗｓ（商標）ＮＴ４．０オペレーティング・システム、ラム（ＲＡＭ）及びハードディスクと共に動作する。また、プロトコル・テスタは、グラフィカル・ユーザ・インタフェース（ＧＵＩ）１２及びアプリケーション（ＡＰ）ボード１４も具えている。このアプリケーション・ボード１４は、例えば、モトローラ製６８０４０ＣＰＵを有するアプリケーション・プロセッサ・カードであり、ｖｘワークス・リアルタイム・オペレーティング・システム及びＲＡＭと共に動作する。アプリケーション・ボード１４は、グローバル・エミュレーション・マネージャー（ＧＥＭ）１６、アナライザ・バブル１８、ローカル・パイプライン・マネージャー（ＬＰＭ）２０及びグローバル・パイプライン・マネージャー（ＧＰＭ）２２を含んでいる。プロトコル・テスタは、更に、いくつかの、好ましくは６個のインタフェース（ＩＦ）ボード２４ａ〜２４ｎを含んでおり、これらは、例えば、Ｅ１／Ｔ１、Ｓ０／Ｕ２Ｂ１Ｑ／Ｖ／Ｘ及びＡＴＭインタフェース標準である。これらインタフェース・ボードは、ｖｘワークス・リアルタイム・オペレーティング・システムで動作するモトローラ製６８０４０型ＣＰＵ又はインテル製９６０ＣＰＵを用いてもよい。各インタフェース・ボード２４は、ローカル・エミュレーション・マネージャー（ＬＥＭ）２６、リモート・トランスファー層（ＲＴＬ）２８及びドライバ３０の機能を有する。ボード１０、１４及び２４の総ては、ＶＭＥバス３１を介して通信を行う。ローカル・エミュレーション・マネージャー２６及びグローバル・エミュレーション・マネージャー１６からエミュレーション・マネージメント層３３を形成する。エミュレーション・マネージメント層３３は、プロトコル・スタックの協働、インストレーション（導入）及び構成を制御するように作用する。プロトコル・スタックの簡単なコンパイルを可能にし、オペレーティング・システムから独立するために、インタフェース・ボード２４は、均一で標準化された構成である。
【００１８】
図２は、インタフェース・ボード２４を示し、ローカル・エミュレーション・マネージャー２６は、エミュレーション・インタフェース層３２を具えている。このエミュレーション・インタフェース層３２は、オペレーティング・システムとエミュレーション３４ａ〜３４ｃの各々との間に、抽象（アブストラクション）層を構成する。この抽象層は、エミュレーション３４の実施用の外部キュー（待ち行列）を用いて、これらエミュレーション３４への論理コミュニケーション経路を提供する。エミュレーション・インタフェース層３２は、エミュレーション３４に、ストレージを割り当てる機能、バッファを割り振る機能、タイマーを開始及び停止させる機能、シーケンス追従メッセージを送信する機能を与える。エミュレーション３４のインストレーション（導入）及び逆インストレーションのために、エミュレーション・インタフェース層３２は、複数のエミュレーションを初期化し、逆初期化する機能と、エミュレーションを開始する機能とを導入する。
【００１９】
グローバル・エミュレーション・マネージャー１６への管理問い合わせは、特定のプロトコル・スタック内でエミュレーション３４を作成するか又は除去するために機能する。すなわち、エミュレーション・パイプライン内のエミュレーション・レベルで、エミュレーションの構成又は問い合わせパラメータを調べる。また、エミュレーション・パラメータ用のメニュー・システムを問い合わせ、複数のエミュレーション間でのコミュニケーション経路を接続する。機能呼出と、簡単に読み取れるＡＳＣＩＩストリングにより、ローカル・エミュレーション・マネージャー２６への各管理問い合わせを実行する。ユーザ側からローカル・エミュレーション・マネージャー２６への管理問い合わせは、可能な限り、エミュレーション３４のいかなる割り込みもなく処理される。一般的に、かかる１つのエミュレーション３４は、１つ又はいくつかのプロトコル層を有する。
【００２０】
図３は、ローカル・エミュレーション・マネージャー２６を示す。このローカル・エミュレーション・マネージャー２６は、入力端３８を介して個別のエミュレーション３４のエミュレーション・インタフェース層３２に接続されると共に、入力端４０を介してグローバル・エミュレーション・マネージャー１６に接続されて、複数の機能を実施し、プロトコル・スタックをインストレーション及び構成し、外部即ちユーザからの事象を処理する。出力端４２により、エミュレーション・マネージャー２６は、エミュレーションを初期化し、逆初期化し、開始させる。
【００２１】
図４は、１つ又はいくつかのプロトコル層を有するエミュレーション３４を示す。標準化ＳＡＰは、ライン４４を介して高位レベルに配置されたインタフェースとリンクし、ライン４６を介して低位レベルに配置されたインタフェースとリンクし、ライン４８を介してエミュレーション・マネージメント層３３とのリンクすることが可能である。ここでは、インタフェースがプロトコル層、エミュレーション３４及びスクリプト・インタプリタとして理解できよう。
【００２２】
ユーザが個別インタフェースのＳＡＰを任意方法で接続できる。このリンクを実現する詳細は、次の通りである。管理用インスタンスへの管理コマンド、即ち、グローバル・エミュレーション・マネージャー１６及びローカル・エミュレーション・マネージャー２６から形成されたエミュレーション・マネージメント層３３は、読み取り可能なＡＳＣＩＩストリングにより系統化される。以下のキーワードは、要求ストリングに対して定義される。
【００２３】
create<emulname>[,<createname>[,<searchpath>]]
このキーワードを用いて、<emulname>として知られているエミュレーション３４をロードすることをインタフェース層３２に要求する。パラメータ<createname>が与えられると、エミュレーションは、エミュレーション・パイプライン内のこの名称を得るが、そうでない場合は、エミュレーションは、パイプライン内の名称<emulname>を有する。ディジットは、物理インタフェースの出力又は入力のリンク用識別子なので、第１文字がディジットである名称を有するエミュレーションはない。パラメータ<searchpath>が与えられると、対称となるモジュールを所定検索パスのディレクトリ内で検索する。
【００２４】
unload<emulname>
エミュレーション・パイプライン内で、所定名称<emulname>によりパイプライン内で名付けられたエミュレーションを検索する。このエミュレーションが見つかると、これをパイプラインが除去する。
【００２５】
connect<emulname1>.<output1>,<emulname2>.<input2>
connect<logical_link_identifier>,<emulname2.<input2>connect<emulname1>.<output1>,<logical_link_identifier>connect<boardnumber1>.<boardlink1>,<emulname2>.<input2>connect<emulname1>.<output1>,<boardnumber2>.<boardlink2>connect<boardnumber1>.<boardlink1>,<logical_link_identifier>connect<logical_link_identifier>,<boardnumber2>.<boardlink2>この接続キーワードを用いて、次の間の接続を行う。
・エミュレーションの出力と、他のエミュレーションの入力との間；
・エミュレーションの入力への物理的インタフェースの論理的リンク（番号である論理入力リンク識別子で参照する）；
・物理的インタフェースの論理出力リンク（番号である論理入力リンク識別子で参照する）へのエミュレーションの出力；
・内部ボード接続（ローカル・ボード番号と、そのボードのリンク番号０・・・３１を有する）；
・内部ボード接続（ローカル・ボード番号及びボードのリンク番号を有する）へのエミュレーションの出力；
・物理インタフェースの論理出力リンク（番号としての論理リンク識別子で参照）への内部ボード接続（ローカル・ボード番号及びボードへのリンク番号を有する）；
・内部ボード接続（ローカル・ボード番号及びボードのリンク番号を有する）への物理的インタフェースの論理リンク（番号としての論理入力リンク識別子で参照）。
【００２６】
物理的インタフェースへの出力又は入力リンク用の識別子であるので、第１文字としてディジットを有する名称がない点に留意されたい。
disconnect<emulname>.<output>
disconnect<logical_link_identifier>
disconnect<boardnumber>.<boardlink>
切断キーワードを用いて、次の所から出ていく既存の接続を除く。
・１つのエミュレーション、即ち、他のエミュレーションに進む；
・番号としての論理リンク識別子により参照される論理リンク；
・ボード及び内部ボード・リンクの番号による内部ボード接続。
【００２７】
接続の方向のみが次のようになる。
config<emulname>.<parametername>=<value>
このキーワードを用いて、エミュレーションを構成する。このエミュレーションの名称は、<emulname>で与えられ、構成すべきエミュレーションのパラメータが<parametername>で与えられ、パラメータに入れるべき値を<value>により与える。
【００２８】
query<emulname>.<parametername>
このキーワードを用いて、所定エミュレーションが用いるパラメータの値をエミュレーション・マネージメント層３３に依頼する。エミュレーションの名称が<emulname>により与えられ、パラメータの名称が<parametername>で与えられる。エミュレーション・マネージメント層は、ＡＳＣＩＩストリングで構成される応答メッセージを問い合わせアプリケーションに送る。
【００２９】
list
このリスト・キーワードを用いて、エミュレーション・マネージメント層３３にエミュレーション・パイプラインのリストを送り返すように要求する。エミュレーション・マネージメント層は、ＡＳＣＩＩストリングから構成された応答メッセージを質問アプリケーションに送る。
【００３０】
show[<emulname>]
このコマンドを用いて、１つのエミュレーション・パイプラインに関する情報を得る。パイプラインのエミュレーション<emulname>の名称を与えることが可能であり、この応答情報を１つのエミュレーションに減らす。このコマンドに対する応答は、次のフォーマットである。
<modulename> loaded as <emulationname>
<outputname1> -> <destination1>
・・・
<inputname1> <- <source1>
・・・
【００３１】
名称<modulename>のモジュールを用いて実行するエミュレーションは、パイプライン内で<emulationname>と名付けられる。
【００３２】
エミュレーションは、いくつかの出力リンク及び入力リンクを有する。これらリンクは、<outputname1>・・・<outputnameX>及び<inputname1>・・・<inputnameX>と名付けられる。各出力は、デスティネイションに連結される。このデスティネーションは、<destination1>・・・<destinationX>により宣言される。各入力リンクは、ソース・ラインにより宣言される。これらソース・ラインは、<source1>・・・<sourceX>と名付けられる。
【００３３】
デスティネイションの定義は、次のシンタックス・フォーマットの１つを有する。
<destinationemulation>.<destinationinput>
LDD (= Logical Data Destination)
AP (= application that may be connected)
【００３４】
出力リンクのデスティネーションがエミュレーションならば、リモート・エミュレーション<destinationemulation>の名称と、リモート入力<destinationinput>の名称が与えられる。出力リンクがアプリケーション又は論理データ・デスティネーションに直接結合していれば、ワードＬＤＤ又はＡＰが与える。
【００３５】
ソースの定義は、次のシンタックス・フォーマットの１つを具えることができる。
<sourceemulation>.<sourceoutput>
LDS (= Logical Data Source)
AP
【００３６】
入力リンクへのソースがエミュレーションならば、リモート・エミュレーション<sourceemulation>の名称及びリモート出力<sourceoutput>の名称が与えられる。入力リンクがアプリケーション又は論理データ・ソースに直接結合されるならば、ワードＬＤＳ又はＡＰが与える。
【００３７】
menu<emulname>
このコマンドを用いて、名称<emulname>を有するエミュレーションの構成及び質問機能に関する情報を得る。この得た情報を用いて、ユーザに快適なメニュー構造を示せる。このコマンドの応答が変数及びサブメニューを定義する。変数又はサブメニュー宣言は、ラインに分離される。このコマンドの応答は、次のキーワードを有する。
【００３８】
<name>:
type = int<min>. . .<max>;
access = <access>;
default = <default>;
この変数は、整数形式である。この変数の名称は、<name>により付与される。この変数の整数値は、<min>から<max>までの範囲である。
【００３９】
<name>:
type = enum<value1>/<value2>/. . .;
access = <access>;
default = <default>;
この変数は、列挙形式である。この変数の名称は、<name>により付与される。この変数の可能性のある値が、<value1>、<value2>などのリストにより与えられる。
【００４０】
<name>:
type = string<length>;
access = <access>;
default = <default>;
この変数は、ＡＳＣＩＩ文字のストリングである。この変数の名称は、<name>により付与される。このストリングの長さは、<length>により付与される。
【００４１】
<name>:
type = numbers<length>;
access = <access>;
default = <default>;
この変数は、数字（０・・・９）のストリングである。この変数の名称は、<name>により付与される。このストリングの長さは、<length>により付与される。
【００４２】
<name>:
type = hexnumbers<length>;
access = <access>;
default = <default>;
この変数は、１６進数文字（０・・・９、ａ・・・ｆ）である。この変数の名称は、<name>により付与される。このストリングの長さは、<length>により付与される。
【００４３】
<name>:
type = telnumbers<length>;
access = <access>;
default = <default>;
この変数は、電話番号（０・・・０、ａ・・・ｚ、＃、＊）のストリングである。この変数の名称は、<name>により付与される。このストリングの長さは、<length>により付与される。
【００４４】
<name>:
type = bitstring<length>;
access = <access>;
default = <default>;
この変数は、多数のビットである。各ビットは、所定ストリングの１桁（０又は１）により変更される。このストリングの長さは、<length>により付与される。
【００４５】
各変数は、アクセス・クラス<access>に関連する。このアクセス・クラス<access>の形式は、変数形式の宣言の後にパラメータとして与えられる形式「ｒｄ」（読み取り専用）、形式「ｗｒ」（書込み専用）及び形式「ｒｄｗｒ」（読み取り及び書込み）である。総ての変数をフィールドとして配列する。この場合、インデックス宣言が変数の名称を拡張する。各インデックス宣言は、大括弧［及び］に囲まれる。インデックス規格の形式は、通常の整数又は列挙番号である。
【００４６】
定義
<namestring>[int<min>. . .<max>]:
この場合、変数名<namestring>のインデックスは、整数形式である。この変数の範囲は、<min>. . .<max>で決まる。
【００４７】
<namestring>[enum<value1>/<value2>/. . .]:
この場合、名称<namestring>の変数のインデックスは、列挙の形式である。このインデックスに可能性のある値は、<value1>、<value2>のリストとして付与される。
【００４８】
サブメニューの構造をメニューに割り当てることは可能である。このサブメニューのシンタックスは、次の形式である。
<name>:        {
[<variabledeclarations>]
[<menudeclarations>]
}
このサブメニューの名称は、<name>で付与される。実際に宣言したサブメニューに属する別のサブメニューの変数が、括弧｛及び｝内に囲まれる。
【００４９】
bindreq<emulname>.<input>[,<data>]
このコマンドを用いて、バインド（設定）要求プリミティブをエミュレーションの入力に渡す。このエミュレーションは、その名称<emulname>及びその入力リンク<input>により与えられる。このプリミティブを１６進フォーマットのオプション・パラメータ<data>のデータによる埋める。
【００５０】
sendreq<emulname>.<input>,<primid>[,<data>]
このコマンドを用いて、プリミティブをエミュレーションの入力に渡す。このエミュレーションは、その名称<emulname>及びその入力リンク<input>により与えられる。また、このエミュレーションは、所定の識別子<primid>を有するプリミティブを発生し、このプリミティブは、１６進フォーマットのオプション・パラメータ<data>のデータによる埋められる。
【００５１】
exec<filename>
このコマンドを用いて、エミュレーション・マネージメント層３３に、<filename>で決まるファイルから上位インタフェース用のコマンド・ストリングを読み取ることを要求する。
【００５２】
board<boardnumber>:<request>
このコマンドを用いて、リクエスト<request>を、<boardnumber>で決まるボードに送る。
【００５３】
上述の如く、ローカル・エミュレーション・マネージャー１６及びグローバル・エミュレーション・マネージャー２６が形成した管理用インスタンスは、上述では、エミュレーション・マネージメント層３３と呼んだが、この管理用インスタンスは、エミュレーション用の包括的コミュニケーション及び管理メカニズムを提供する。この管理用インスタンスの目的は、抽象構造、即ち、エミュレーション・パイプライン、プロトコル・エミュレーション、スクリプト・インタプリタ及び制御コンポーネントにロードされ、接続される。これらは、プロトコル・スタック、又はこのプロトコル・スタックの所望部分に必要である。このロード及び接続は、プロトコル・テスタのユーザにより、独立に、また、プロトコル・システム構造の充分な知識がなくても制御できる。この制御のために、グラフィカル・ユーザ・インタフェース又はファイル・テキストを用いることができる。
【００５４】
複数のプロトコル層又は複数のプロトコル・エミュレーションに割り当てられた記述ファイルにより、グラフィカル・ユーザ・インタフェースＧＵＩが情報をプロトコル・エミュレーションに表示できる。この情報には、次のものが含まれる。
・プロトコル・エミュレーション、スクリプト・インタプリタ又は制御コンポーネントの一般的な記述；
・入力及び出力方向の総ての既存のＳＡＰの名称；
・各個別ＳＡＰの記述；
・各個別ＳＡＰにより交換できるプリミティブのリスト；
・総てのプリミティブの記述；
・各個別プリミティブ用のパラメータのリスト；
・プリミティブに用いる総てのパラメータの記述；
・プロトコル・エミュレーション内で設定され、質問され又は開始される変数、定数及びアクションの記述でり、この記述は、グループ化をメニュー、サブメニュー及びフィールドで可能にする；
・統計機能用の付加的な詳細；
【００５５】
管理用インスタンスの一般的な概念と、記述ファイルからの情報により、ユーザは、快適な環境で、所望アプリケーション用の複数テスト・システム・モジュールを一緒にできる。この柔軟性により、多くのアプリケーションに対するプロトコル・テスト・システムの利用価値が増し、顕著な開発効果が得られ、テストの過程における遅延を短縮できる。
【００５６】
記述ファイルで利用可能な情報は、プロトコル・テスタの他のツールによっても使用でき、テスト事例ができた際に、ユーザを効果的に導き、プロトコルの限定的な知識しかないユーザをサポートする。各プロトコル・エミュレーション、各スクリプト・インタプリタ及び各制御要素に対して利用可能な記述ファイルは、テキスト・フォーマットである。表１に示す例は、かかる記述ファイルからの抜粋であり、この概念が当業者に対して簡単に示されている。
【００５７】
【表１】
0003887672.tif 000002
【００５８】
実施例でのＧＵＩの一部の如く、プロトコル・スタックを一緒にする際にユーザをサポートするのにエディタが利用可能になる。図５は、一般的に機能するユーザ・インタフェースの例として、いわゆるダイアグラム・ビュー・スクリプトであるエディタ用の第１ユーザ・インタフェース・スクリーンを示す。このユーザ・インタフェース・スクリーンの左側で、ユーザは、制御機能を選択でる。これによって、プロトコル・スタックを作成できる。ユーザ・インタフェース・スクリーンの左側で、ユーザは、プロトコル・スタックを見ることができる。ここで、層「ss7isup1」は、その上に並列形式で配置された２つの層、即ち、「wss7isupterm1」及び「ss7isupmaint1」を有する。
【００５９】
図６は、プロトコル・スタック・エディタの第２ユーザ・インタフェース・スクリーンであり、これは、パラメータ・ビュー用のユーザ・インタフェース・スクリーンである。ここでは、プロトコル層エミュレーションの変数、定数及びアクションを処理できる。このスクリーンの左部分内のウィンドウは、低いレベルに配置された「ss7mtp2a」、「ss7mtp3a」、「ss7isup1」などの種々のプロトコル層を有するスタック・ディレクトリを示している。各層において、いくつかのディレクトリを選択できるが、これらディレクトリには、一般的概念に及ぶジェネラル（General）、タイム・マーク用のタイマー（Timers）及び特殊アクション用のアクション（Action）がある。「ss7mtp3a」に対して、個別のＳＡＰが層４（Layer 4）サブディレクトリ内にある。層「ss7isupmaint1」の下で、プリミティブを選択できる。右側の２つの部分的ウィンドウは、プロトコル層「ss7mtp3a」の層４（Layer 4）のＳＡＰ（０）の情報を示している。
【００６０】
図７は、プロトコル・スタックを他の表現で示している。上から下に向かって、次の層がリンクしている。
・ＴＣＰ／ＩＰ５０；
・ＳＮＤＣＰ（サブネット縦続変換プロトコル）５２；
・ＬＬＣ（論理リンク層）５４；
・ＳＮＤＣＰ５２及びＬＬＣ５４と並列になっているＧＭＭ／ＳＭ（ＧＰＲＳモビリティ・マネージメント（管理）及びセッション制御）５６；
・ＢＳＳＧＰ（ベース・ステーション・システムＧＰＲＳプロトコル）５８；
・ＮＳ（ネットワーク・サービス）６０；
・ＦＲ（フレーム・リレー）６２。
【００６１】
図示されたプロトコル・スタックは、ＧＰＲＳのＧｂインタフェースから得られる。ＬＬＣ／ＢＳＳＧＰ／ＮＳ／ＦＲと名付けられた単一のエミュレーション内で、プロトコル・テスタにて、プロトコル層ＦＲ、ＮＳ、ＢＳＳＧＰ及びＬＬＣを互いにグループ化する。ＦＯＲＴＨスクリプトによって、プロトコル層ＧＭＭ／ＳＭをシミュレーションする。ＴＣＰ／ＩＰパケットをロード・ジェネレータに蓄積する。このロード・ジェネレータは、連続的にパケットを送信できる。
【００６２】
図８は、図７に示したプロトコル・スタックの個別のプロトコル層の相互作用を詳細に示している。図７及び図８のプロトコル・スタックを作成するために、次の管理コマンドを管理用インスタンスに与えなければならない。
0003887672.tif 000003
【００６３】
【発明の効果】
したがって、本発明は、関係したプロトコルのユーザが、広範な知識を必要とせずに、柔軟性のあるプロトコル・スタックを形成する方法を提供できる。
【図面の簡単な説明】
【図１】本発明によるプロトコル・テスタの特定のコンポーネントの対話を示すブロック図である。
【図２】図１によるプロトコル・テスタのインタフェース・ボードを示すブロック図である。
【図３】本発明によるエミュレーション管理層を表す図である。
【図４】本発明によるエミュレーションの可能な出力及び入力を表す図である。
【図５】本発明によるプロトコル・スタック・エディタの第１ユーザ・インタフェースの平面図である。
【図６】本発明によるプロトコル・スタック・エディタの第２ユーザ・インタフェースの平面図である。
【図７】本発明により実現できるプロトコル・スタックを示す図である。
【図８】図７によるプロトコル・スタックの対話を示す詳細な流れ図である。
【符号の説明】
１０  パーソナル・コンピュータ（ＰＣ）ボード
１２  グラフィカル・ユーザ・インタフェース（ＧＵＩ）
１４  アプリケーション（ＡＰ）ボード
１６  グローバル・エミュレーション・マネージャー（ＧＥＭ）
１８  アナライザ・バブル
２０  ローカル・パイプライン・マネージャー（ＬＰＭ）
２２  グローバル・パイプライン・マネージャー（ＧＰＭ）
２４  インタフェース（ＩＦ）ボード
２６  ローカル・エミュレーション・マネージャー（ＬＥＭ）
２８  リモート・トランスファー層（ＲＴＬ）
３０  ドライブ
３２  エミュレーション・インタフェース層
３３  エミュレーション・マネージメント層
３４  エミュレーション
５０  ＴＣＰ／ＩＰ
５２  ＳＮＤＣＰ（サブネット縦続変換プロトコル）
５４  ＬＬＣ（論理リンク層）
５６  ＧＭＭ／ＳＭ（ＧＰＲＳモビリティ・マネージメント及びセッション制御）
５８  ＢＳＳＧＰ（ベース・ステーション・システムＧＰＲＳプロトコル）
６０  ＮＳ（ネットワーク・サービス）
６２  ＦＲ（フレーム・リレー）
【図１】
0003887672.tif 000004
【図２】
0003887672.tif 000005
【図３】
0003887672.tif 000006
【図４】
0003887672.tif 000007
【図５】
0003887672.tif 000008
【図６】
0003887672.tif 000009
【図７】
0003887672.tif 000010
【図８】
0003887672.tif 000011