(57)【要約】【課題】大規模なＳＴＩＬファイルに対して効率的に編集操作を行うことができる編集システムを提供する。【解決手段】フリーフォーマットな言語で記述されたテストデータを編集する編集画面を表示する表示装置５と、テストデータを、テストデータを構成する複数のブロックに分割するブロック分割手段１０２と、複数のブロックを解析するブロック解析手段１１１と、解析の結果に基づいて、複数のブロックを階層構造で表示装置に表示するブロック構造表示手段１１２を備える。【選択図】      図１
2008065537.tif 000002
【特許請求の範囲】
【請求項１】
フリーフォーマットな言語で記述されたテストデータを編集する編集画面を表示する表示装置と、
前記テストデータを、前記テストデータを構成する複数のブロックに分割するブロック分割手段と、
前記複数のブロックを解析するブロック解析手段と、
前記解析の結果に基づいて、前記複数のブロックを階層構造で前記表示装置に表示するブロック構造表示手段
とを備える編集システム。
【請求項２】
前記ブロック構造表示手段が、
前記複数のブロック毎に割り付けられたタブと、
前記複数のブロックを構成する下位ブロック毎に割り付けられたタブ
とを表示することを特徴とする請求項１に記載の編集システム。
【請求項３】
前記編集画面として、前記テストデータをテキストで表示する画面と、前記テストデータを前記階層構造で表示する画面とを切り替える編集画面切替手段を更に備えることを特徴とする請求項１又は２に記載の編集システム。
【請求項４】
前記ブロック解析手段が、
前記テストデータにおいて、前記複数のブロックの少なくともいずれかで参照されており定義が無いブロックの有無、及び前記複数のブロックのすべてに参照されていない定義がなされているブロックの有無をそれぞれ判断し、
前記定義が無いブロックがあれば該ブロックを追加し、且つ前記参照されていない定義がなされているブロックがあれば該ブロックを削除する
ことを特徴とする請求項１〜３のいずれか１項に記載の編集システム。
【請求項５】
前記ブロック分割手段が、前記複数のブロックのうち特定のブロックを、該ブロックよりも更に細かく分割することを特徴とする請求項１〜４のいずれか１項に記載の編集システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＴＩＬ（Standard Test Interface Language）等のフリーフォーマットな言語で記述されたテストデータを編集する編集システムに関する。
【背景技術】
【０００２】
ＳＴＩＬは、米国電気電子協会（ＩＥＥＥ）において標準化された、フリーフォーマットで記述ができるテストデータ記述言語である（例えば、特許文献１参照。）。ＳＴＩＬファイルに対して、編集システムを用いて編集操作を行う場合、記述情報量に比例して、記述情報の取得作業に、より多くの時間を要する。即ち、例えば１Ｇバイトを超えるような大規模なＳＴＩＬファイルでは応答速度が遅くなるような問題が発生する。このため、編集システムにおいて、大規模なＳＴＩＬファイルを扱う場合、編集システムには、操作応答を低下させずに利用できることが求められる。
【０００３】
編集操作の操作応答に関して、一般的なテキストエディタで大規模ＳＴＩＬファイルを扱う場合、ファイルの読込みに時間がかかるという問題がある。また、ＳＴＩＬの記述を構成するステートメントブロック内の記述量が多いために、ブロック開始位置と終了位置が判断しづらい。また、テキスト量が多いためスクロール範囲が広く、ＳＴＩＬ記述のうち、参照したい箇所を画面に表示することが難しい。また、ＳＴＩＬの記述が正しいか否かを判断したり、記述間違いがあったときにどこが間違いなのか探しだしたりすることが困難である。
【０００４】
従来、大規模なテキストファイルを扱えるテキストエディタにおいて、例えばオープンの速度を高速化するために使用されている技術として、マルチスレッドを用いたオープン処理がある。「マルチスレッド」とは、一つのアプリケーションソフトがスレッドと呼ばれる処理単位を複数生成し、並行して複数の処理を行うことであり、いわばアプリケーションソフト内でのマルチタスク処理である。マルチタスクと同じように、ＣＰＵの処理時間を非常に短い単位に分割し、複数のスレッドに順番に割り当てることによって、複数の処理を同時に行っているようにみせている。テキストファイルのオープンについては、簡単に言えば、オープンしながら、オープンしたテキストファイルを画面に表示するという並行処理を行うことで、あたかも高速にオープンできたように見せかける手法である。一般的なテキストエディタでは、ＳＴＩＬファイルのオープンに関しては、テキストファイルをオープンするという点で同じであるため、ファイルの読み込みの時間を短縮できるといえる。
【０００５】
しかしながら、従来のテキストエディタでは、大規模なＳＴＩＬファイル等のデータ量の大きいファイルに対しては、情報検索や参照したい箇所の表示等が困難である。したがって、操作応答が低下して、効率的に編集操作を行うことができない。
【特許文献１】特開２００５−１８１１３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、データ量が大きいフリーフォーマットな言語で記述されたファイルに対して操作応答を低下させることなく効率的に編集操作を行うことができる編集システムを提供する。
【課題を解決するための手段】
【０００７】
本願発明の一態様によれば、（イ）フリーフォーマットな言語で記述されたテストデータを編集する編集画面を表示する表示装置と、（ロ）テストデータを、テストデータを構成する複数のブロックに分割するブロック分割手段と、（ハ）複数のブロックを解析するブロック解析手段と、（ニ）解析の結果に基づいて、複数のブロックを階層構造で表示装置に表示するブロック構造表示手段とを備える編集システムが提供される。
【発明の効果】
【０００８】
本発明によれば、データ量が大きいフリーフォーマットな言語で記述されたファイルに対して操作応答を低下させることなく効率的に編集操作を行うことができる編集システムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
次に、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものである。また、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１０】
本発明の実施の形態に係る編集システムは、図１に示すように、中央処理装置（ＣＰＵ）１、データ一時記憶装置２、データ記憶装置３、入力装置４、表示装置５を備える。データ一時記憶装置２及びデータ記憶装置３としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が採用可能である。データ記憶装置３は、ＳＴＩＬファイル及びステートメント情報を保存する。データ一時記憶装置２は、大規模なＳＴＩＬファイルを扱うためにＳＴＩＬファイルを分割したブロックの情報を一時的に記憶する。データ一時記憶装置２では、ブロックの情報をテンポラリファイルとしてディスクに一時記憶したり、メモリに一時記憶したりする記憶方法等があるが、その方法は特に限定されない。
【００１１】
ＣＰＵ１は、データ管理部１０、ブロック情報解析管理部１１、テキスト編集部１２、及び編集画面表示切替部１３を備える。データ管理部１０は、ＳＴＩＬデータ読込及び保存手段１０１、ブロック分割手段１０２、及びブロック情報保存手段１０３を備える。
【００１２】
ＳＴＩＬデータ読込及び保存手段１０１は、データ記憶装置３に格納されたＳＴＩＬファイルをオープンしてテストデータを読込む。更に、ＳＴＩＬデータ読込及び保存手段１０１は、テストデータを編集した場合、編集したテストデータをＳＴＩＬファイルとしてデータ記憶装置３に保存する。
【００１３】
ブロック分割手段１０２は、ＳＴＩＬデータ読込及び保存手段１０１により読み込まれたテストデータを、テストデータを構成する複数の最上位ブロックに分割する。ここで、「ブロック」とは、ルーチン等の基本的な機能のまとまりを意味し、「最上位ブロック」とは、ブロックのうち、最上位のまとまりである。最上位ブロックの分割の手法としては、例えば、テストデータを先頭から行単位で、空白を除く文字列（トークン）が、データ記憶装置３等に格納された最上位ブロックを示すキーワードと一致するか否かを判断することによって最上位ブロックの情報を検索していき、テストデータから最上位ブロックをリストアップする。
【００１４】
テストデータを最上位ブロックに分割することにより、最上位ブロック内の定義情報が取得しやすい形式にすることができる。最上位ブロックは、最上位ブロック内の記述情報に関係なく、最上位ブロックでの基本的な構造情報のチェックができるため、オープン時点での構文解析も可能になる。
【００１５】
また、ＳＴＩＬファイルにおいては、フリーフォーマットでテキストの追加、削除、及び変更がなされるので、ブロックの開始位置及び終了位置が随時変化する。このため、テキストで編集操作を行うにあたっては、常にブロックの開始位置及び終了位置の情報の保持及び更新作業を要し、もしくは編集実行時にブロックの開始位置及び終了位置の解析を要する。これに対して、ブロック単位で分割することにより、最上位ブロックの開始位置及び終了位置を見つけることで、何の最上位ブロックが記述されているかを容易に解析することができ、ＳＴＩＬ構文情報を容易に得ることができる。
【００１６】
ブロック情報保存手段１０３は、ブロック分割手段１０２により分割された複数の最上位ブロックの情報を、データ一時記憶装置２に保存する。データ一時記憶装置２に格納された複数の最上位ブロックの情報は、必要なときに必要な情報が定義されているブロックを検索するのみで参照することができる。このため、ＳＴＩＬファイルのデータ容量が大きければ大きいほど、必要な情報へのアクセスをより高速に実現する。即ち、大規模なＳＴＩＬファイルにおいて、利用者は編集操作のために必ずしもすべてを表示することを必要としていないことから、利用者が表示したい箇所を容易に指定できることで、あたかも大規模なＳＴＩＬファイルのすべてがいつでも簡単に表示できる環境を提供している。これにより、参照を要求された場合にのみ、必要な情報が記述されている部分のみを読み込むので、表示が不要な情報を読み込むための時間を削減でき、表示に要する時間を短縮することが出来る。
【００１７】
ブロック情報解析管理部１１は、ブロック解析手段１１１、ブロック構造表示手段１１２、及び構造編集支援手段１１３を備える。ブロック解析手段１１１は、ブロック分割手段１０２により分割された複数の最上位ブロックの情報を解析して、最上位ブロック及びその最上位ブロックの下層のブロックにおける定義と参照の関係を求める。
【００１８】
ブロック構造表示手段１１２は、ブロック解析手段１１１により解析された複数の最上位ブロックの情報を階層構造で視覚的（グラフィカル）に表示装置５の画面に表示する。例えば、図２に示すように、ブロックをそれぞれ一つの箱（ボックス）で示し、着色された色の違いや線の太さ、線種等によって、最上位ブロック群１００を構成する最上位ブロックＢ0〜Ｂ7、階層的にはその最上位ブロックＢ0〜Ｂ7に属する中位ブロックＢ11〜Ｂ17、更にその中位ブロックＢ11〜Ｂ17に属する下位ブロックＢ21〜Ｂ24を階層構造でツリー状に示す。図２において、最上位ブロックＢ0〜Ｂ7，Ｂ11〜Ｂ17は単線で表し、下位ブロックＢ21〜Ｂ24は二重線で表している。
【００１９】
最上位ブロックＢ0〜Ｂ7及び最上位ブロックＢ0〜Ｂ7の下層の中位ブロックＢ11〜Ｂ17のうち同じタイプを区別できるように、最上位ブロックＢ0〜Ｂ7を点線で囲んで斜線で表示し、中位ブロックＢ11〜Ｂ17と区別して表示されている。ここで、“Timing”ブロックＢ3は、複数個最上位ブロックとして記述しても構わない仕様がＳＴＩＬでは提供されているが、“Timing”ブロックＢ3の同じ種類に属する“Global”ブロックＢ14及び“TIM1”ブロックＢ15を、同じ「タイプ」と称する。また、複数個同じ最上位ブロックがあっても、同じレベル位置での表示を行っても構わない。また、表示形式をツリー構造によって示しているが、階層を有するＳＴＩＬファイルの構造を示すには、表示形式を特定するものではない。
【００２０】
また、ブロック構造表示手段１１２が、表示装置５に、図３に示すように、ブロック構造の編集画面を表示する。編集画面の上部には“TOP”タブ４０が表示されている。図３に示すように“TOP”タブ４０を選択したとき、ブロック構造表示手段１１２が、ＳＴＩＬファイル全体のブロックの階層構造を表示する。
【００２１】
更に、編集画面の下部に、ＳＴＩＬファイル毎に割り付けられたタブ４１，４２，４３，４４が表示される。タブ４１，４２，４３，４４をマウスによりクリックした場合、ブロック構造表示手段１１２が、クリックしたタブ４１，４２，４３，４４に対応するＳＴＩＬファイルの編集画面を表示する。
【００２２】
更に、編集画面の上部に、最上位ブロックＢ0〜Ｂ7毎に割り付けられたタブ４５，４６，４７，４８，・・・が表示される。タブ４５，４６，４７，４８，・・・をマウスによりクリックした場合、ブロック構造表示手段１１２が、クリックしたタブ４５，４６，４７，４８，・・・に対応する最上位ブロックの編集画面を表示する。
【００２３】
更に、編集画面の右部に、最上位ブロックＢ0〜Ｂ7に属するグローバルブロックＢ11，Ｂ14又はドメインブロックＢ12，Ｂ13，Ｂ15，Ｂ16，Ｂ17単位で区分されたタブ５１，５２，５３，５４，・・・を表示する。タブ５１，５２，５３，５４をマウスによりクリックした場合、ブロック構造表示手段１１２が、クリックしたタブ５１，５２，５３，５４に対応するグローバルブロック又はドメインブロックの編集画面を表示する。
【００２４】
更に、編集画面の左部に、最上位ブロックの一つである“Pattern”ブロックＢ7を更に分割した範囲毎に区分されたタブ６１，６２，６３、６４，・・・，７０を表示する。タブ６１，６２，６３、６４，・・・，７０をマウスによりクリックした場合、ブロック構造表示手段１１２が、“Pattern”ブロックＢ7内を分割したそれぞれの範囲の記述を表示する。“Pattern”ブロックＢ7の分割は後述する。
【００２５】
なお、上述したタブ４０、タブ４１，４２，４３，４４、タブ４５，４６，４７，４８，・・・、タブ５１，５２，５３，５４，・・・、タブ６１，６２，６３、６４，・・・，７０の位置は一例であって特に限定されず、編集画面に対して各位置に必ずしも固定である必要はない。タブ４０、タブ４１，４２，４３，４４、タブ４５，４６，４７，４８，・・・、タブ５１，５２，５３，５４，・・・、タブ６１，６２，６３、６４，・・・，７０によって、ＳＴＩＬファイル、最上位ブロック、グローバルブロック又はドメインブロック、及び“Pattern”ブロックの分割された範囲を切り替えて表示することができる。なお、“Pattern”ブロックの分割された範囲は、必ずしもタブ６１，６２，６３、６４，・・・，７０によって分割されて参照できるようにすることを限定しておらず、必要に応じてタブ割り当てが行われ、分割された範囲への表示切り替えが行えれば良い。
【００２６】
更に、図３に示した編集画面において、利用者は、マウス等の入力装置４を用いて、選択した箱（ボックス）を自由に摘んで放す（ドラッグ＆ドロップ）操作、及び箱（ボックス）を追加・削除するための編集操作を容易に行うことができる。構造編集支援手段１１３は、入力装置４から入力された編集操作に応じて、ブロック間及びブロック内の定義情報を構築する。即ち、利用者による箱の追加、削除又は移動等の編集操作は、複数の最上位ブロックの情報としてＳＴＩＬファイルへ変換される。
【００２７】
テキスト編集部１２は、ＳＴＩＬ表示手段１２１、及びＳＴＩＬ編集手段１２２を備える。ＳＴＩＬ表示手段１２１は、オープンした既存のＳＴＩＬファイルや、新規作成を開始したＳＴＩＬファイルをテキストで編集画面に表示する。ＳＴＩＬ編集手段１２２は、入力装置４から入力された編集操作にしたがって、ＳＴＩＬファイルに対して、種々の編集を行うことができる。
【００２８】
編集画面表示切替部１３は、編集画面切替手段１３１、及びブロック構造及びＳＴＩＬ変換手段１３２を備える。編集画面切替手段１３１は、入力装置４から入力される画面切り替え指示に応じて、図４に示すようなブロックの階層構造を表示した編集画面（以下、「ブロック表示画面」という。）と、図５に示すようなＳＴＩＬで記述されたテキストデータを表示した編集画面（以下、「テキスト表示画面」という。）と切り替える。画面の切り替え指示は、利用者が、編集画面に用意された切り替えボタン６０をクリックすることにより入力される。切り替えボタン６０としては、図４及び図５に示すように編集画面上にボタンとして表示しても良く、図４及び図５と異なるが、メニューの項目又はアイコンとして表示しても良い。したがって、ブロック表示画面とテキスト表示画面を切り替えることにより、利用者にとって編集し易い編集画面で編集操作が行うことや、編集作業のチェックを容易に行うこともできる。
【００２９】
ブロック構造及びＳＴＩＬ変換手段１３２は、ブロック表示画面における編集操作を、ＳＴＩＬファイルに反映させる。例えば、図４に示したブロック表示画面において、最上位ブロックの“Signal Groups”ブロックＢ2に対して、ドメインブロックとして“GRP1”ブロックを新たに追加する編集操作を行った場合、テキスト表示画面において、ブロック内が空の状態の文字列情報“Signal Groups  GRP1  ｛...｝”（文字列を囲んでいる二重引用符は含まない）が追加される。更に、ブロック構造及びＳＴＩＬ変換手段１３２は、テキスト表示画面における編集操作をブロック表示画面に反映させることも可能である。
【００３０】
入力装置４としては、例えばマウス、トラックパッド又はトラックボール等のポインティングデバイスと、キーボードとの組み合わせが使用可能である。更に、光学式読取装置（ＯＣＲ）等の認識装置、イメージスキャナ等の図形入力装置、音声入力装置等の特殊入力装置等を含んでいても良い。表示装置５は、ＳＴＩＬファイルのテキストデータやブロック構造等を表示する画面を有する。表示装置５としては、液晶ディスプレイ（ＬＣＤ）又はＣＲＴディスプレイ等が使用可能である。
【００３１】
なお、ＣＰＵ１は、データ一時記憶装置２に保持されたＳＴＩＬファイルの分割された情報へのアクセス（読み書き）、データ記憶装置３に保持された既存のＳＴＩＬファイルへのアクセス（読み書き）、又はＳＴＩＬのステートメントの判定のために必要に応じて参照されるステートメント一覧が示されたステートメント情報へのアクセス（読み）、入力装置４、及び表示装置５とのインタフェースを更に備える。
【００３２】
次に、本発明の実施の形態に係る編集方法を、図６のフローチャートを参照しながら説明する。
【００３３】
（イ）ステップＳ１０において、ＳＴＩＬデータ読込及び保存手段１０１は、データ記憶装置３に格納されたＳＴＩＬファイルをオープンして、テストデータの読込む。ステップＳ１１において、ブロック分割手段１０２は、テストデータを複数の最上位ブロックに分割する。ステップＳ１２において、ブロック解析手段１１１は、ブロック分割手段１０２により分割された複数の最上位ブロックの情報を解析して、最上位ブロック間及びその最上位ブロックの下層のブロックにおける定義と参照の関係を求める。
【００３４】
（ロ）ステップＳ１３において、ブロック解析手段１１１が、解析結果の確認として、不要なブロックの有無及び必要なブロックの有無を判別したり、必須のブロックが不足していないか判断する。解析結果に問題がなければ、ステップＳ１５に進む。一方、解析結果に問題があれば、ステップＳ１４に進む。
【００３５】
（ハ）ステップＳ１４において、ブロック解析手段１１１が、最上位ブロックの詳細解析処理を行う。解析結果を確認した際、最上位ブロック群に必須のブロックが検出されなかった場合、不足するブロックの記述位置を、予めそのブロックの記述可能な位置が示されているブロック定義可能範囲情報と、検出されたブロック群との相対位置情報から検索範囲を絞り込み、絞り込まれたその対象範囲の全文検索を行う。不足しているブロックが検出できた時点で検索を終了する。不足するブロックがある場合には、自動的に挿入する。不要なブロックがある場合には、不要なブロックを削除する。
【００３６】
（ニ）ステップＳ１５において、ブロック情報保存手段１０３は、ブロック分割手段１０２により分割された複数の最上位ブロックの情報をデータ一時記憶装置２に保存する。
【００３７】
（ホ）ステップＳ１６において、ブロック構造表示手段１１２は、ブロック解析手段１１１により解析された複数の最上位ブロックの情報を階層的に下層のフロックまで、グラフィカルにブロック表示画面に表示する。
【００３８】
（ヘ）ステップＳ１７において、編集画面切替手段１３１が、ブロック表示画面をテキスト表示画面に切り替えるか確認する。入力装置４から画面切り替え指示が入力された場合、ステップＳ１８に進み、編集画面切替手段１３１がブロック表示画面からテキスト表示画面に切り替える。入力装置４から画面入力指示がない場合、ブロック表示画面を表示したまま、ステップＳ１９に進む。
【００３９】
（ト）ステップＳ１９において、テキスト表示画面が表示されている場合、ＳＴＩＬ編集手段１２２が、入力装置４から入力されたフリーフォーマットでの編集操作に応じて、ＳＴＩＬファイルを編集する。一方、ブロック表示画面が表示されている場合、構造編集支援手段１１３が、入力装置４から入力されたブロックの削除、追加又は変更等の編集操作に応じて、ブロックの階層構造に対して編集を行う。編集した後、ブロック構造及びＳＴＩＬ変換手段１３２は、編集されたブロックの階層構造をＳＴＩＬファイルに反映させたり、編集したテキストデータをブロックの階層構造に反映させたりする。ステップＳ２０において、ＳＴＩＬデータ読込及び保存手段１０１が、編集されたブロックの情報をデータ一時記憶装置２に格納する。
【００４０】
（チ）ステップＳ２１において、ＳＴＩＬ編集手段１２２又は構造編集支援手段１１３が、編集を続行するか、編集結果を保存するか、編集を終了するか確認する。編集を続行する場合、ステップＳ１７の手順に戻る。一方、編集結果を保存、或いは編集を終了する場合にはステップＳ２２に進む。
【００４１】
（リ）ステップＳ２２において、ＳＴＩＬ編集手段１２２又は構造編集支援手段１１３が、編集結果を保存するか、編集を終了するか、保存・終了処理をキャンセルするか確認する。編集結果を保存する場合、ステップＳ２３に進み、ＳＴＩＬデータ読込及び保存手段１０１が、ＳＴＩＬファイルに保存する。一方、ステップＳ２２において、編集を終了する場合には、ステップＳ２４に進む。また、ステップＳ２２において、保存・終了処理をキャンセルする場合には、ステップＳ２１の手順に戻る。
【００４２】
（ヌ）更に、ステップＳ２４において、ＳＴＩＬ編集手段１２２又は構造編集支援手段１１３が、最終確認として、編集を終了するか判断する。編集を終了しないと判断されたら、ステップＳ１７の手順に戻り、ステップＳ１７〜Ｓ２４の手順が繰り返される。一方、ステップＳ２４において、編集を終了すると判断されたら、編集処理を完了する。
【００４３】
本発明の実施の形態に係る編集システム及び編集方法によれば、大規模なＳＴＩＬファイルに対して、複数のブロックに分割して、利用者が分かりやすいよにブロックの階層構造を編集画面に表示することにより、効率的に編集操作を行うことができる。
【００４４】
更に、大規模なＳＴＩＬファイルに対して複数のブロックに分割し、ブロック単位で解析・表示を行うことで、ＳＴＩＬファイルをテキストデータのまま解析・表示する場合に比べて、応答速度を低下させる原因であるメモリ使用量を大幅に抑えることができる。また、大規模なＳＴＩＬファイルに対する編集操作において、テストデータを分割したブロックに対して必要最小限の検索やデータ解析手法を用いているために、テキストデータに対して検索・解析を行う場合と比べて、ＣＰＵ使用時間を低減できる。したがって、操作応答を低下させずに編集システムを利用できる。よって、大規模なＳＴＩＬファイルに対して編集操作を容易に行うことができることで、テストデータの開発期間が短縮でき、結果的に開発コストを抑制できる効果が期待できる。
【００４５】
図６に示した一連の手順、即ち：ブロック分割手段１０２が、フリーフォーマットな言語で記述されたテストデータを、テストデータを構成している複数のブロックに分割する命令；ブロック解析手段１１１が、複数のブロックを解析する命令；ブロック構造表示手段１１２が、解析の結果に基づいて、複数のブロックを階層構造で表示装置の編集画面に表示する命令；等は、図６と等価なアルゴリズムのプログラムにより、図１に示した編集システムを制御して実行出来る。このプログラムは、データ記憶装置３に記憶させればよい。また、このプログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体をデータ記憶装置３に読み込ませることにより、図６に示した一連の手順を実行することができる。
【００４６】
ここで、「コンピュータ読取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープ等のプログラムを記録することができるような媒体等を意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ及びＭＯディスク等が「コンピュータ読取り可能な記録媒体」に含まれる。
【００４７】
（第１の変形例）
本発明の実施の形態の第１の変形例では、ブロック表示画面において、不要なブロックが有るか、必要なブロックが不足していないかを視覚的に表示する一例を説明する。
【００４８】
図１に示したブロック解析手段１１１が、定義だけであり参照されていない不要なブロック、及び定義が無く参照だけが行われており不足しているブロックを判別する。例えば、図７に示すテキスト表示におけるＳＴＩＬ記述例において、図８の“TIM1”のブロックＢ15を有する“Timing”ブロックＢ3では定義は行われているが、その定義されている情報が、他の最上位ブロックＢ0，Ｂ1，Ｂ2のいずれにも参照されていないので、不要なブロックとみなせる。
【００４９】
また、“Pattern”ブロック内において、“Waveform Table”ブロックに定義されたタイミング情報のセットの情報を、違う“Waveform Table”ブロックから参照するために、Ｗステートメントで切り替えを行っているが、切り替えを行った“Wft2”の“Waveform Table”ブロックが、“Timing”ブロックに定義されていない記述になっており、参照先として必要な“Wft2”ブロックが不足している。
【００５０】
更に、図１に示したブロック構造表示手段１１２が、ブロック解析手段１１１の解析の結果に基づいて、複数のブロックの階層構造において、不要と判別されたブロック、及び必要と判別されたブロックを、他のブロック群と区別できるように、図８に示すようなブロック表示画面に表示する。図８においては、不要と判別された“TIM1”ブロックＢ15、及び実際には存在していないが必要と判別された“Wft2”ブロックＢ22がそれぞれ斜線の箱で表されている。ここでは斜線で示したが、例えば“TIM1”ブロックＢ15の箱を緑色で表示し、“Wft2”ブロックＢ22の箱を赤色で表示しても良い。なお、箱の色は特に限定されず、他の色を用いても構わない。また、箱を着色する代わりに、箱の形状を変えたり、箱の線を二重線にしたり等、様々な表示方法を用いても良い。
【００５１】
図７に示すように、テキスト表示画面に表示する場合、色や線種を変更することにより編集システムの利用者に識別させることが可能となるが、大規模なＳＴＩＬファイルに対しては、不足しているブロック又は不要なブロックの情報を探し出すことは困難である。また、不要なブロックを削除する場合、テキスト記述上で不要なブロックの範囲を選択して削除の操作を行わなければいけない。
【００５２】
これに対して、図８に示すように、ブロック表示画面により、ブロック構造をツリー情報で表示すれば、利用者にとって分かりやすい。更に、不要なブロックがあれば、不要なブロックを示す箱を選択して削除する操作によって、不要なブロックの削除が容易に実現できる。このため、操作は非常に簡単且つ直感的なものになるため、余計なブロックを削除する等の誤操作を防止することができる。
【００５３】
また、ブロックを追加する操作も手作業で行うことは可能であるが、ブロック構造による編集画面を用いた場合、定義ブロックが不足するときには、ブロック構造表示手段１１２が、ブロックを自動的に挿入するか否かの確認ダイアログを示す。これにより、利用者はその確認ダイアログを確認することで、挿入操作が完了できる。それらの操作は、ＳＴＩＬのシンタックスを理解していなくても可能な操作であるため、利用者による間違いを防止することができる。
【００５４】
（第２の変形例）
本発明の実施の形態の第２の変形例では、大規模なＳＴＩＬファイルを最上位ブロック毎に分割して、テストデータの情報アクセスを効果的に行う方法において、大規模なＳＴＩＬファイルから、更に高速に最上位ブロックを取得する方法を説明する。
【００５５】
図９に、テキスト表示によるＳＴＩＬ記述例を示す。ＳＴＩＬファイルからブロック構造を取得するために、「最上位ブロックは、他の最上位ブロックとは同じ行で記述されない」、又は「最上位ブロックは、他のブロックの一部の記述がある同じ行に記述されない」という仮定に基づいて、ＳＴＩＬファイル内に記述された最上位ブロックの構造解析及び分割処理を行っている。ＳＴＩＬファイルは、フリーフォーマットの記述が許されている言語であるが、テストデータの設計者又は自動テストパターン生成（ＡＴＰＧ）ツールによって生成されたＳＴＩＬファイルの場合、仮定を基に編集システムが解析を行っても通常は何ら問題がない。即ち、最上位ブロックの検索が、無駄な箇所を解析する必要がない分だけ、高速に処理を完了させることが可能になる。
【００５６】
図１０は、図９に示したテキスト表示によるＳＴＩＬ記述例に対応するブロック構造表示画面を示す。図９に示したテキスト構造において、“Signals ｛...｝”、“SignalGroups GROUP1｛...｝”、“Timing TIM1 ｛...｝”は、それぞれ“Header ｛...｝”、“Signal Groups ｛...｝”、“Timing ｛...｝”という最上位ブロックが同じ行で記述されているので、上述した仮定に基づいた場合に認識されず、結果として図１０に示したツリー構造には表示されていない。
【００５７】
ブロック解析手段１１１が解析処理を行い、必須の最上位ブロックの認識・検出が行えなかったブロックがあった場合、更に詳細解析処理を行う。予めそのブロックの記述可能な位置が示されているブロック定義可能範囲情報と、検出されたブロック群との相対位置情報から、認識・検出が行えなかった最上位ブロックの記述位置の検索範囲を絞り込み、絞り込まれたその対象範囲の全文検索を行う。利用者が、テキスト表示画面を視認して最上位ブロックの認識・検出が行えなかったブロックを検索しても良い。
【００５８】
ＳＴＩＬ編集手段１２２等が自動で、あるいは利用者が入力装置４を介して手動により、図９に示すテキスト表示において、“Signals ｛...｝”、“SignalGroups GROUP1｛...｝”、“Timing TIM1 ｛...｝”のそれぞれの前に改行を入れる等の編集操作を図１２に示すように行う。この結果、図１に示すように、ブロック表示画面において“Signals”ブロックＢ9、“GROUP1”ブロックＢ12、、及び“Timing TIM1”ブロックＢ15を表示することができる。
【００５９】
本発明の実施の形態の第２の変形例によれば、ブロック解析手段１１１が、最上位ブロック検索することで、如何なるＳＴＩＬファイルであっても、最上位ブロックを検出することが可能となる。また、ブロック表示画面に切り替えた場合、不足するブロック及び不要なブロックが存在するという結果になるので、そのブロック表示画面を参照することで不足するブロックの追加及び不要なブロックの削除等、効率的に編集を行うことができる。
【００６０】
（第３の変形例）
本発明の実施の形態の第３の変形例では、ＳＴＩＬファイルを最上位ブロックに分割して、テストデータの情報アクセスを効果的に行う方法において、特定のブロックを更に分割する一例を説明する。
【００６１】
最上位ブロックの一つである“Pattern”ブロックは、パターン実行時刻やパターンステップ数等のパターン情報が記述されている。このため、“Pattern”ブロックは、他の最上位ブロックのデータ量に比べて非常に大きなデータ量になる。よって、ＳＴＩＬファイルのテストデータを単に最上位ブロックに分割しただけでは、“Pattern”ブロックがネックとなってしまい、編集システムの応答時間を抑え、且つ高速に参照したい情報へのアクセスができるとは限らない。
【００６２】
そこで、ブロック分割手段１０２が、“Pattern”ブロックを、他の最上位ブロックに属するドメインブロック及びグローバルブロックと同じ位置づけで分割する。分割方法は、一般的には、テスト実行に影響が出ないように、“Pattern”ブロックを分割するための専用のツールが提供・用意されているため、その分割ツールを用いて分割されるように実装されている。ただし、分割ツールに限定するものではなく、特定のサイズで自動的に分割する方法等を用いても構わない。この場合、ＳＴＩＬのシンタックスに違反しないように分割するものとする。具体的には、一つのVecterステートメントを分割してしまわないことに注意すれば、通常は問題ない。
【００６３】
ブロック構造表示手段１１２が、“Pattern”ブロックを更に分割した一塊のブロック（以下、「小ブロック」という。）を、図１３に示すように編集画面の左側に用意されたタブ６１，６２，６３，６４，・・・，７０に順番に割り当てを行っていく。通常小ブロックのすべてを参照する必要はないため、先頭から１０個分の小ブロックを割り当てていく。小ブロックの分割数は特に限定されず、１０個でなくても良い。もし１０番目のタブに割り当てた小ブロックより後ろに記述されているパターンデータを参照したい場合には、タブの１０番目の下にある逆三角形のボタン７２をクリックする。これにより、１１番目のタブが表示され、１番目のタブの表示が無くなり、次のブロックが編集画面に表示される。上方向に戻る場合も、三角形のボタン７１をクリックして、参照したいテストデータが記述されていると思われるタブをクリックする。窓８１は、選択しているタブ６１，６２，６３，６４，・・・，７０の番号を表示する。
【００６４】
ブロック構造表示手段１１２が、編集操作を行うために参照したい位置にあるパターンデータを編集画面に表示する。図１４に示すように、小ブロックである“MAIN”ブロックＢ30に記述されているパターンデータは、各小ブロックＢ31，Ｂ32，Ｂ33，Ｂ34単位での実行時刻がどれだけあるかを情報管理している例を示したものである。図１４において、「タブ番号」「パターンステップ数」「パターン実行時刻（先頭からの累積時刻）」をコロン“；”で区切り示している。なお、図１４に示した情報は、一例であり、記述フォーマットを限定するものではない。この情報は、各タブをクリックして、編集画面に表示された“Pattern”ブロックの一部に対して、編集操作を行い、テストデータの追加や削除等を行ったときに、一緒に更新を行う。この情報は、あるパターンステップ（時刻）位置に対するテストデータの挿入や削除、置換、又は指定された時刻に対応するテストパターンを検索する等の処理を高速に行うことができるようにするために用いられる。
【００６５】
本発明の実施の形態の第３の変形例によれば、“Pattern”ブロックを更に分割した指定時刻が含まれる小ブロックＢ30，Ｂ31，Ｂ32，Ｂ33，Ｂ34が容易に判別できる。このため、小ブロックＢ30，Ｂ31，Ｂ32，Ｂ33，Ｂ34内の情報を解析するだけで、時刻検索やパターンステップ数の情報が容易に取得できる。つまり、必要最小限のデータアクセスによって、処理が実現できる。
【００６６】
なお、“Pattern”ブロックの他にも、他の最上位ブロックと比べてデータ量が膨大な最上位ブロックがあれば、“Pattern”ブロックと同様に更に分割しても良い。
【００６７】
（その他の実施の形態）
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。例えば、本発明の実施の形態において、フリーフォーマットな言語としてＳＴＩＬを一例として説明したが、他の言語を使用しても良い。このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００６８】
【図１】本発明の実施の形態に係る編集システムの一例を示すブロック図である。
【図２】本発明の実施の形態に係るＳＴＩＬ構造で分割されたブロック群の一例を示す概略図である。
【図３】本発明の実施の形態に係るブロックの階層構造の編集画面の一例を示す概略図ある。
【図４】本発明の実施の形態に係るブロックの階層構造の編集画面の他の一例を示す概略図である。
【図５】本発明の実施の形態に係るＳＴＩＬテキストの編集画面の一例を示す概略図である。
【図６】本発明の実施の形態に係る編集方法の一例を説明するためのフローチャートである。
【図７】本発明の実施の形態の第１の変形例におけるブロック不要・不足を容易に識別できるテキストの編集画面の一例を示す概略図である。
【図８】本発明の実施の形態の第１の変形例におけるブロック不要・不足を容易に識別できるブロックの階層構造の編集画面の一例を示す概略図である。
【図９】本発明の実施の形態の第２の変形例における編集前のテキストの編集画面の一例を示す概略図である。
【図１０】本発明の実施の形態の第２の変形例における編集前のブロックの階層構造の一例を示す概略図である。
【図１１】本発明の実施の形態の第２の変形例における編集後のテキストの編集画面の一例を示す概略図である。
【図１２】本発明の実施の形態の第２の変形例における編集後のブロックの階層構造の一例を示す概略図である。
【図１３】本発明の実施の形態の第３の変形例における“Pattern”ブロックの編集画面の一例を示す概略図である。
【図１４】本発明の実施の形態の第３の変形例における“Pattern”ブロックのブロックの階層構造の一例を示す概略図である。
【符号の説明】
【００６９】
１…中央処理装置（ＣＰＵ）
２…データ一時記憶装置
３…データ記憶装置
４…入力装置
５…表示装置
１０…データ管理部
１１…ブロック情報解析管理部
１２…テキスト編集部
１３…編集画面表示切替部
４０〜４７，５１〜５４，６１〜６３…タブ
６０…切り替えボタン
１０１…ＳＴＩＬデータ読込及び保存手段
１０２…ブロック分割手段
１０３…ブロック情報保存手段
１１１…ブロック解析手段
１１２…ブロック構造表示手段
１１３…構造編集支援手段
１２１…ＳＴＩＬ表示手段
１２２…ＳＴＩＬ編集手段
１３１…編集画面切替手段
１３２…ブロック構造及びＳＴＩＬ変換手段
【図１】
2008065537.tif 000003
【図２】
2008065537.tif 000004
【図３】
2008065537.tif 000005
【図４】
2008065537.tif 000006
【図５】
2008065537.tif 000007
【図６】
2008065537.tif 000008
【図７】
2008065537.tif 000009
【図８】
2008065537.tif 000010
【図９】
2008065537.tif 000011
【図１０】
2008065537.tif 000012
【図１１】
2008065537.tif 000013
【図１２】
2008065537.tif 000014
【図１３】
2008065537.tif 000015
【図１４】
2008065537.tif 000016