(57)【要約】【課題】マルチタスク方式で動作する装置を誰でも容易に解析できるようにすることを目的とする。【解決手段】解析する対象である基板処理装置の動作をテキスト形式で記録したログ情報６７０を予め取得して、記憶装置２２に記憶させる。ＣＰＵ２１がプログラム１を実行することによって、ログ情報６７０から、複数のタスク間で通信されるコマンドの受信記録（コマンド受信記録）を抽出する。抽出したコマンド受信記録から、コマンド、送信タスクおよび受信タスクを表す文字列を抽出して、それぞれをオペレータに理解しやすい文字列（表示名称）に変換する。さらに、変換後の文字列に基づいてコマンドシーケンス図を描画し、ディスプレイ３に表示する。【選択図】図２
2007122680.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクが協働することで動作する解析対象装置を解析する際に解析作業を支援する支援プログラムであって、コンピュータに、
前記解析対象装置における前記複数のタスクの動作をテキスト形式で記録した動作履歴情報を取得する取得工程と、
前記取得工程において取得された前記動作履歴情報を記憶装置に記憶させる動作履歴情報記憶工程と、
前記記憶装置に記憶された前記動作履歴情報に基づいて、前記複数のタスクに含まれる１のタスクと他の１のタスクとの間のコマンドの通信状況を時系列に従って示すコマンドシーケンス図を描画し、出力装置に出力させる出力工程と、
を実行させることを特徴とする支援プログラム。
【請求項２】
請求項１に記載の支援プログラムであって、
前記コンピュータに、
前記複数のタスクのいずれかが、何らかのコマンドを受信したことを示すコマンド受信記録を前記動作履歴情報から抽出する第１抽出工程と、
前記第１抽出工程において抽出された前記コマンド受信記録から、そのときに受信したコマンドを抽出し、前記コマンドを送信した送信タスクを前記１のタスクとして抽出するとともに、前記コマンドを受信した受信タスクを前記他の１のタスクとして抽出する第２抽出工程と、
をさらに実行させることを特徴とする支援プログラム。
【請求項３】
請求項１または２に記載の支援プログラムであって、
前記コンピュータに、
前記動作履歴情報における文字列を、前記コマンドシーケンス図においてどのように表示するかを定義するための定義ファイルを作成するファイル作成工程と、
前記ファイル作成工程において作成された前記定義ファイルを前記記憶装置に記憶させる定義ファイル記憶工程と、
をさらに実行させ、
前記出力工程は、
前記記憶装置に記憶された前記定義ファイルを参照しつつ、前記コマンドシーケンス図を作成することを特徴とする支援プログラム。
【請求項４】
請求項３に記載の支援プログラムであって、
前記定義ファイルは、前記動作履歴情報においてコマンドを表す文字列を、前記コマンドシーケンス図における前記コマンドの名称を表す文字列に変換するための規則を定義することを特徴とする支援プログラム。
【請求項５】
請求項３または４に記載の支援プログラムであって、
前記定義ファイルは、前記動作履歴情報においてタスクを表す文字列を、前記コマンドシーケンス図における前記タスクの名称を表す文字列に変換するための規則を定義することを特徴とする支援プログラム。
【請求項６】
請求項３ないし５のいずれかに記載の支援プログラムであって、
前記定義ファイルは、前記動作履歴情報においてコマンドを表す文字列を、前記コマンドシーケンス図において表示するか否かを定義することを特徴とする支援プログラム。
【請求項７】
請求項３ないし６のいずれかに記載の支援プログラムであって、
前記定義ファイルは、第１および第２コマンドと、前記第１コマンドが送受信されてから前記第２コマンドが送受信されるまでの活線区間を前記コマンドシーケンス図に表現する場合の表現方法とを定義することを特徴とする支援プログラム。
【請求項８】
請求項１ないし７のいずれかに記載の支援プログラムであって、
前記コンピュータに、
前記コマンドシーケンス図に示される複数のコマンドから特定のコマンドを指定コマンドとして指定するコマンド指定工程と、
をさらに実行させ、
前記出力装置は、前記コマンドシーケンス図を画面に表示するディスプレイ装置を含むことを特徴とする支援プログラム。
【請求項９】
請求項８に記載の支援プログラムであって、
前記コンピュータに、
前記コマンド指定工程において指定された前記指定コマンドを受信したことを示すコマンド受信記録を前記動作履歴情報から検索して、前記コマンド受信記録を前記ディスプレイ装置に表示させる受信記録表示工程をさらに実行させることを特徴とする支援プログラム。
【請求項１０】
請求項８または９に記載の支援プログラムであって、
前記コマンド指定工程において指定された前記指定コマンドの説明を前記ディスプレイ装置に表示させる説明表示工程をさらに実行させることを特徴とする支援プログラム。
【請求項１１】
請求項８ないし１０のいずれかに記載の支援プログラムであって、
前記コンピュータに、
前記コマンド指定工程において指定された前記指定コマンドの前記コマンドシーケンス図における描画箇所を検索し、前記描画箇所を前記ディスプレイ装置に表示させる検索表示工程をさらに実行させることを特徴とする支援プログラム。
【請求項１２】
請求項１ないし１１のいずれかに記載の支援プログラムであって、
前記コンピュータに、
前記コマンドシーケンス図の出力倍率を変更する倍率変更工程をさらに実行させることを特徴とする支援プログラム。
【請求項１３】
請求項１ないし１２のいずれかに記載の支援プログラムであって、
前記出力装置は、前記コマンドシーケンス図を用紙に印刷する印刷装置を含むことを特徴とする支援プログラム。
【請求項１４】
請求項１ないし１３のいずれかに記載の支援プログラムであって、
前記解析対象装置は、基板製造工程における基板を処理する基板処理装置であることを特徴とする支援プログラム。
【請求項１５】
複数のタスクが協働することで動作する解析対象装置をオペレータが解析する際にその解析作業を支援する支援装置であって、
前記解析対象装置における前記複数のタスクの動作をテキスト形式で記録した動作履歴情報を取得する取得手段と、
前記取得手段により取得された前記動作履歴情報を記憶する記憶装置と、
前記記憶装置に記憶された前記動作履歴情報に基づいて、前記複数のタスクに含まれる１のタスクと他の１のタスクとの間のコマンドの通信状況を時系列に従って示すコマンドシーケンス図を描画し、出力する出力装置と、
を備えることを特徴とする支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチタスクで動作する装置の開発・保守を支援する技術に関する。より詳しくは、このような装置から出力されるテキスト形式の動作履歴情報（ログ）をオペレータが解析しやすい状態（図）に変換して出力する技術に関する。
【背景技術】
【０００２】
複数のタスクが互いにコマンドのやり取りをしつつ、並列して動作する装置が知られている。このようなマルチタスク方式を採用する装置は、個々のタスク毎に開発・保守が可能である等、様々な利点があるため、昨今、多くの装置に導入されている。
【０００３】
例えば、基板製造工程で用いられる基板処理装置にもマルチタスクで動作するものが提案されている。基板処理装置では、基板を処理する様々な工程に応じて、「ユニット」と称される装置が設けらている。マルチタスク方式で動作する基板処理装置では、各ユニットが担当する処理（例えば、搬送、洗浄、温調、塗布、露光等）をそれぞれ「タスク」として独立管理しつつ、各ユニットがそれぞれの「タスク」を実行することによって、装置全体としての処理を行う。
【０００４】
これらのユニットは、通常時において、独自に割り当てられた処理を個々に実行している。しかし、例えばユニット間で基板を受け渡す場合や、その為の準備動作を行う場合、あるいは「タスク」の開始タイミングを決定する場合等には、他のユニットとの間でコマンドのやり取りを行う必要がある。
【０００５】
一方、基板処理装置においても、動作時の動作履歴情報（ログ）をファイル化して保存しておくことが普通に行われている。オペレータは、このようにして保存されたログを確認することによって、基板処理装置が動作していた状況を後から確認することができる。すなわち、オペレータは、基板処理装置の問題点等をログによって特定することができる。このような基板処理装置が、例えば特許文献１に記載されている。
【０００６】
【特許文献１】特開２００４−３３６０２４公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところが、マルチタスク方式を採用する装置では、各タスクごとに担当するオペレータが異なる場合も少なくない。そのような場合、各オペレータは担当するタスクについては熟知していたとしても、他のオペレータが担当するタスクについては比較的理解が浅いために、すべてのタスクの情報が含まれるログから必要な情報を抽出することが困難であるという問題があった。
【０００８】
また、一般にログは、装置の動作後に解析されるため、解析するにあたって必要となる可能性のある情報がすべて記録される。したがって、情報量が膨大になりがちであり、解析するオペレータの負担は増大する。
【０００９】
さらに、ログは、装置の動作中にリアルタイムで記録される関係上、高速に記録する必要がある。したがって、ログは、テキスト形式で記録される上に、タスク名やコマンド名も装置内部の識別子（数字の羅列）によって記録される。そのため、オペレータは、対応表を参照しながら、逐一ログを読む必要があり、一見してその内容を把握することは困難である。
【００１０】
本発明は、上記課題に鑑みなされたものであり、マルチタスク方式で動作する装置を誰でも容易に確認できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するため、請求項１の発明は、複数のタスクが協働することで動作する解析対象装置を解析する際に解析作業を支援する支援プログラムであって、コンピュータに、前記解析対象装置における前記複数のタスクの動作をテキスト形式で記録した動作履歴情報を取得する取得工程と、前記取得工程において取得された前記動作履歴情報を記憶装置に記憶させる動作履歴情報記憶工程と、前記記憶装置に記憶された前記動作履歴情報に基づいて、前記複数のタスクに含まれる１のタスクと他の１のタスクとの間のコマンドの通信状況を時系列に従って示すコマンドシーケンス図を描画し、出力装置に出力させる出力工程とを実行させることを特徴とする。
【００１２】
また、請求項２の発明は、請求項１の発明に係る支援プログラムであって、前記コンピュータに、前記複数のタスクのいずれかが、何らかのコマンドを受信したことを示すコマンド受信記録を前記動作履歴情報から抽出する第１抽出工程と、前記第１抽出工程において抽出された前記コマンド受信記録から、そのときに受信したコマンドを抽出し、前記コマンドを送信した送信タスクを前記１のタスクとして抽出するとともに、前記コマンドを受信した受信タスクを前記他の１のタスクとして抽出する第２抽出工程とをさらに実行させることを特徴とする。
【００１３】
また、請求項３の発明は、請求項１または２の発明に係る支援プログラムであって、前記コンピュータに、前記動作履歴情報における文字列を、前記コマンドシーケンス図においてどのように表示するかを定義するための定義ファイルを作成するファイル作成工程と、前記ファイル作成工程において作成された前記定義ファイルを前記記憶装置に記憶させる定義ファイル記憶工程とをさらに実行させ、前記出力工程は、前記記憶装置に記憶された前記定義ファイルを参照しつつ、前記コマンドシーケンス図を作成することを特徴とする。
【００１４】
また、請求項４の発明は、請求項３の発明に係る支援プログラムであって、前記定義ファイルは、前記動作履歴情報においてコマンドを表す文字列を、前記コマンドシーケンス図における前記コマンドの名称を表す文字列に変換するための規則を定義することを特徴とする。
【００１５】
また、請求項５の発明は、請求項３または４の発明に係る支援プログラムであって、前記定義ファイルは、前記動作履歴情報においてタスクを表す文字列を、前記コマンドシーケンス図における前記タスクの名称を表す文字列に変換するための規則を定義することを特徴とする。
【００１６】
また、請求項６の発明は、請求項３ないし５のいずれかの発明に係る支援プログラムであって、前記定義ファイルは、前記動作履歴情報においてコマンドを表す文字列を、前記コマンドシーケンス図において表示するか否かを定義することを特徴とする。
【００１７】
また、請求項７の発明は、請求項３ないし６のいずれかの発明に係る支援プログラムであって、前記定義ファイルは、第１および第２コマンドと、前記第１コマンドが送受信されてから前記第２コマンドが送受信されるまでの活線区間を前記コマンドシーケンス図に表現する場合の表現方法とを定義することを特徴とする。
【００１８】
また、請求項８の発明は、請求項１ないし７のいずれかの発明に係る支援プログラムであって、前記コンピュータに、前記コマンドシーケンス図に示される複数のコマンドから特定のコマンドを指定コマンドとして指定するコマンド指定工程とをさらに実行させ、前記出力装置は、前記コマンドシーケンス図を画面に表示するディスプレイ装置を含むことを特徴とする。
【００１９】
また、請求項９の発明は、請求項８の発明に係る支援プログラムであって、前記コンピュータに、前記コマンド指定工程において指定された前記指定コマンドを受信したことを示すコマンド受信記録を前記動作履歴情報から検索して、前記コマンド受信記録を前記ディスプレイ装置に表示させる受信記録表示工程をさらに実行させることを特徴とする。
【００２０】
また、請求項１０の発明は、請求項８または９の発明に係る支援プログラムであって、前記コマンド指定工程において指定された前記指定コマンドの説明を前記ディスプレイ装置に表示させる説明表示工程をさらに実行させることを特徴とする。
【００２１】
また、請求項１１の発明は、請求項８ないし１０のいずれかの発明に係る支援プログラムであって、前記コンピュータに、前記コマンド指定工程において指定された前記指定コマンドの前記コマンドシーケンス図における描画箇所を検索し、前記描画箇所を前記ディスプレイ装置に表示させる検索表示工程をさらに実行させることを特徴とする。
【００２２】
また、請求項１２の発明は、請求項１ないし１１のいずれかの発明に係る支援プログラムであって、前記コンピュータに、前記コマンドシーケンス図の出力倍率を変更する倍率変更工程をさらに実行させることを特徴とする。
【００２３】
また、請求項１３の発明は、請求項１ないし１２のいずれかの発明に係る支援プログラムであって、前記出力装置は、前記コマンドシーケンス図を用紙に印刷する印刷装置を含むことを特徴とする。
【００２４】
また、請求項１４の発明は、請求項１ないし１３のいずれかの発明に係る支援プログラムであって、前記解析対象装置は、基板製造工程における基板を処理する基板処理装置であることを特徴とする。
【００２５】
また、請求項１５の発明は、複数のタスクが協働することで動作する解析対象装置をオペレータが解析する際にその解析作業を支援する支援装置であって、前記解析対象装置における前記複数のタスクの動作をテキスト形式で記録した動作履歴情報を取得する取得手段と、前記取得手段により取得された前記動作履歴情報を記憶する記憶装置と、前記記憶装置に記憶された前記動作履歴情報に基づいて、前記複数のタスクに含まれる１のタスクと他の１のタスクとの間のコマンドの通信状況を時系列に従って示すコマンドシーケンス図を描画し、出力する出力装置とを備えることを特徴とする。
【発明の効果】
【００２６】
請求項１ないし１５に記載の発明では、記憶装置に記憶された動作履歴情報に基づいて、複数のタスクに含まれる１のタスクと他の１のタスクとの間のコマンドの通信状況を時系列に従って示すコマンドシーケンス図を描画し、出力装置に出力させる。このようにして出力されるコマンドシーケンス図を見ることにより、複数のタスクを開発・保守するオペレータは、これら複数のタスクの動作状況を容易に把握ができる。
【００２７】
請求項３に記載の発明では、記憶装置に記憶された定義ファイルを参照しつつ、コマンドシーケンス図を作成することによって、解析対象装置内部で使用される識別番号や、ローカルな名称を、誰にでも理解できる文字列に変換して表示することによって、オペレータの負担が軽減されるとともに、汎用性が向上する。
【００２８】
請求項７に記載の発明では、第１および第２コマンドと、第１コマンドが送受信されてから第２コマンドが送受信されるまでの活線区間をコマンドシーケンス図に表現する場合の表現方法とを定義することにより、例えば、注目すべきコマンドの送受信区間を活線区間として定義しておけば、コマンドシーケンス図では、その区間の色や線幅を強調して表現できる。したがって、オペレータは、注目すべき箇所を容易に理解できる。
【００２９】
請求項１０に記載の発明では、コマンド指定工程において指定された指定コマンドの説明をディスプレイ装置に表示させることにより、オペレータは、内部における識別番号やコマンドの機能等を、別途表などを参照することなく、容易に確認できる。
【００３０】
請求項１２に記載の発明では、オペレータの指示に従って、コマンドシーケンス図の出力倍率を変更することにより、オペレータとって見やすい大きさで出力できる。
【００３１】
請求項１３に記載の発明では、コマンドシーケンス図を用紙に印刷する印刷装置を含むことにより、紙媒体のコマンドシーケンス図を容易に作成できる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【００３３】
＜１．  実施の形態＞
図１は、本発明に係る支援プログラムであるプログラム１が動作するコンピュータシステム２を示す図である。詳細は後述するが、コンピュータシステム２は、本発明に係る支援装置として機能する。また、図２は、コンピュータシステム２の構成をさらに詳細に示すバス配線図である。
【００３４】
コンピュータシステム２は、本体２０、ディスプレイ３、操作部４および印刷装置５を備えており、一般的なパーソナルコンピュータとしての機能を有している。
【００３５】
本体２０は、ＣＰＵ２１、記憶装置２２、メディアドライブ２６および通信部２７を備えている。
【００３６】
ＣＰＵ２１は、図２に示すように、コンピュータシステム２の各構成とバス配線によって接続されている。ＣＰＵ２１は固定ディスク２５に格納されたプログラム１を読み取り、読み取ったプログラム１に従って動作することによって、コンピュータシステム２に後述の工程を実行させる。
【００３７】
記憶装置２２は、読み取り専用のＲＯＭ２３、ＣＰＵ２１のワーキングエリアとして使用されるＲＡＭ２４およびプログラム１を記憶する固定ディスク２５を備えている。記憶装置２２は、これらの構成を適宜使用することによって、様々なデータを記憶する。ＣＰＵ２１は、必要に応じて、記憶装置２２からデータを読み出すことが可能とされている。
【００３８】
メディアドライブ２６は、可搬性の記憶媒体９１に記憶されたデータを読み取る装置である。例えば、コンピュータシステム２は、プログラム１を記憶した記憶媒体９１からデータを読み取って、固定ディスク２５に記憶させることが可能である。
【００３９】
また、メディアドライブ２６は、データ書き込み可能な記憶媒体９１にデータを書き込む（記憶させる）機能をも有しており、記憶装置２２の機能を一部有している。例えば、コンピュータシステム２は、作成したコマンドシーケンス図を画像データとして記憶媒体９１に記憶させることも可能である。このようにして記憶されたコマンドシーケンス図は、他の任意のコンピュータにおいて使用（出力）されてもよい。すなわち、コマンドシーケンス図を記憶媒体９１に記憶させる場合には、メディアドライブ２６が本発明の出力装置として機能する。
【００４０】
このようなメディアドライブ２６としては、例えば、ＤＶＤドライブ、ＣＤドライブ、あるいはＭＯドライブなどを用いることができる。また、コンピュータシステム２は、様々な形式の記憶媒体９１に対応するために、複数のメディアドライブ２６を備えていてもよい。
【００４１】
通信部２７は、ネットワークインタフェースであり、コンピュータシステム２とネットワーク９０とを接続する機能を有している。通信部２７の機能により、コンピュータシステム２は解析対象装置（例えば、図１に示す基板処理装置６）との間でデータ通信が可能となる。通信部２７の具体例としては、例えばモデム、ＮＣＵ、ルータ等が該当するが、これらは後述するネットワーク９０との間の通信方式等に応じて適宜選択される。
【００４２】
本実施の形態では、基板処理装置６がログ情報をネットワーク９０を介してコンピュータシステム２に送信する。通信部２７は、このログ情報を受信して、ＣＰＵ２１の制御に従って、記憶装置２２に転送する。言い換えれば、コンピュータシステム２は、通信部２７の機能を使用して、基板処理装置６からログ情報をダウンロードすることができる。
【００４３】
ディスプレイ３は、ＣＰＵ２１からの指示に基づいて、画像データを画面に表示する。特に、ディスプレイ３は作成されたコマンドシーケンス図を表示する。すなわち、ディスプレイ３は、本発明の出力装置としての機能を有している。
【００４４】
操作部４は、オペレータの操作を電気信号に変換するハードウェアであり、キーボード４０およびマウス４１から主に構成される。オペレータは、操作部４を操作することによって、コンピュータシステム２に対して指示（あるいはデータ）を入力することができる。
【００４５】
例えば、オペレータは、キーボード４０を操作することによって、コンピュータシステム２に対して、文字やコマンドを入力することができる。また、オペレータは、マウス４１を操作して、ディスプレイ３に表示されたポインタを移動させつつ、同じくディスプレイ３に表示された所定の領域（詳細後述）をクリックすることによって、所望する指示を入力することができる。なお、操作部４を実現するハードウェアとしては、スイッチやボタン、ジョイスティック、タッチパネル等であってもよい。
【００４６】
印刷装置５は、図１に示すようにケーブル５０によって本体２０と接続されている。印刷装置５は、本体２０から送信される画像データに基づいて、図形や文字からなる画像を、用紙に形成（印刷）する。特に、印刷装置５は、作成されたコマンドシーケンス図を用紙に印刷する。すなわち、印刷装置５は、本願発明の出力装置の機能を有している。
【００４７】
図３は、基板処理装置６の構成を示す図である。基板処理装置６は、未処理の基板を収納したカセット９２を搬入する搬入部６０と、搬入後のカセット９２を載置してカセット９２から基板を取り出す取出部６１と、基板に洗浄処理等を行う処理部６２と、処理後の基板をカセット９２に収納する収納部６３と、処理済みの基板を収納したカセット９２を搬出する搬出部６４とを備えている。また、基板処理装置６の前面側（基板の搬送方向に向かって右手側）には、取出部６１から収納部６３にわたって搬送機構６５が配置されている。さらに、基板処理装置６は内部に制御部６６を備えている。
【００４８】
搬入部６０は、カセット移載ロボット６００を備えている。カセット移載ロボット６００は、水平移動、昇降移動、および垂直軸周りの回転運動を行い、カセットステージ６０１上に載置されたカセット９２を取出部６１へ移動させる。
【００４９】
取出部６１は、昇降移動する一対のホルダ６１０，６１１を備える。各ホルダ６１０，６１１の上面にはガイド溝が刻設されており、カセット９２中の複数の基板を起立姿勢で支持することができる。各基板の表裏面は基板の搬送方向に平行となる。取出部６１にカセット９２が載置され、ホルダ６１０または６１１が上昇すると、カセット９２から基板が取り出される。カセット９２から取り出された基板は、搬送機構６５の搬送ロボット６５０に受け渡され、処理部６２へ搬送される。
【００５０】
処理部６２は、薬液槽を備えた薬液処理部６２０と、水洗槽を備えた水洗処理部６２１と、多機能処理部６２２とを有している。薬液処理部６２０と水洗処理部６２１の後方には、浸漬機構６２３が配置されている。浸漬機構６２３は、上下方向および横方向に移動可能なリフタヘッド６２４を備えており、搬送ロボット６５０から受け取った基板を、薬液槽へ浸漬し、薬液処理部６２０と水洗処理部６２１との間で移動させ、水洗槽へ浸漬する。また、多機能処理部６２２の後方には、リフタ６２５が配置されている。リフタ６２５は上下方向に移動可能なリフタヘッド６２６を備えており、搬送ロボット６５０から受け取った基板を、多機能処理部６２２内で昇降移動させる。
【００５１】
収納部６３は、取出部６１と同様の構造を有し、昇降移動する一対のホルダ６３０，６３１によって、搬送ロボット６５０から処理済みの基板を受け取り、カセット９２へ収納する。
【００５２】
カセット搬出部６４は、カセット搬入部６０と同様の構造を有し、移動自在のカセット移載ロボット６４０によって、収納部６３上に載置された一対のカセット９２をカセットステージ６４１上に移載する。
【００５３】
搬送機構６５は、搬送ロボット６５０を備えている。搬送ロボット６５０は一対の回転可能なハンド６５１，６５２によって基板を把持しつつ横行移動し、取出部６１と、処理部６２と、収納部６３との間で基板を搬送する。
【００５４】
図４は、制御部６６の構成を示すブロック図である。制御部６６は、タスク６６０ないし６６７、メインコントローラ６７および通信部６８を備えている。なお、図４において示すタスク６６０ないし６６７は、基板処理装置６が備えるタスクの一部であって、実際には、さらに多くのタスクが設けられている。
【００５５】
各タスク６６０ないし６６７は、互いに独立して割り当てられた処理を行う。一方、各タスク６６０ないし６６７は、必要に応じて他のタスクとの間でコマンドの送受信を行う。例えば、タスク６６３は、搬送機構６５（特に搬送ロボット６５０）の制御を行うタスクであるが、搬送機構６５をいつ駆動させるか、あるいはどこに向けて移動させるか等を決定するために、他のタスクとの間で様々なコマンドの送受信を行う。
【００５６】
タスク６６０ないし６６２は、例えばタスク間において機能するスケジューラやチェッカーのように、制御対象としてのハードウェアを有しないタスクである。一方、タスク６６３ないし６６７は、それぞれが対応付けられたハードウェアを独立して制御するタスクである。例えば、タスク６６３は搬送機構６５を制御し、タスク６６４は浸漬機構６２３を制御する。なお、タスク６６３ないし６６７は、それぞれが独立したハードウェア（マイクロコンピュータ等）で構成されていてもよい。
【００５７】
このように、基板処理装置６がマルチタスク方式を採用することにより、シングルタスク方式を採用する場合に比べて、基板処理装置６における処理の高速化および簡略化を図れる。なお、基板処理装置６がマルチタスク方式で動作するためには、タスクの数が少なくとも２つ以上あればよく、その数は制限されるものではない。
【００５８】
メインコントローラ６７は、図示しないＣＰＵおよび記憶装置から主に構成されている。メインコントローラ６７のＣＰＵが、記憶装置を適宜使用しつつ、プログラムに従って動作することにより、ログ情報６７０の生成と記憶、およびタスク６６０ないし６６２の機能が実現される。先述のように、タスク６６０ないし６６２は、専用のハードウェアを有しておらず、いわばソフトウェアによって実現される機能構成である。
【００５９】
ここで、ログ情報６７０とは、基板処理装置６における複数のタスク６６０ないし６６７の動作をテキスト形式で記録した動作履歴情報である。ログ情報６７０には、実行された個々の処理（動作）について、時刻とともに、その内容が詳細に記録される。すなわち、動作履歴情報であるログ情報６７０は、１以上のレコードから構成され、各レコードはそれぞれ何らかの処理に関する情報を記録した構造である。本実施の形態における基板処理装置６では、動作時にログ情報６７０を自動的に生成する。ただし、オペレータの指示があった場合にのみ、ログ情報６７０を生成してもよい。
【００６０】
通信部６８は、基板処理装置６をネットワーク９０に接続する。これにより、基板処理装置６は、同じくネットワーク９０に接続されているコンピュータシステム２に対して、ログ情報６７０を送信することができる。具体的には、コンピュータシステム２からログ情報６７０についての送信要求を受信した場合に、通信部６８はコンピュータシステム２にログ情報６７０を送信する。
【００６１】
ネットワーク９０は、コンピュータシステム２と基板処理装置６との間でデータ通信を行うためのネットワークである。ネットワーク９０は、コンピュータシステム２と基板処理装置６とを直接ケーブルで接続したピア・ツー・ピア形式のネットワークでもよいし、公衆網、インターネットあるいはＬＡＮなどのように他の様々な装置が同時に接続されるネットワークでもよい。また、その形態は、有線通信に限られるものではなく、無線通信でもよい。すなわち、コンピュータシステム２と基板処理装置６との間で、データ通信（より詳しくはログ情報６７０の受け渡し）が可能であれば、ネットワーク９０はどのような形式でもよい。
【００６２】
図５は、コンピュータシステム２の動作を示す流れ図である。なお、コンピュータシステム２は、主に固定ディスク２５に記憶されているプログラム１を実行することにより、図５に示す動作（工程）を実行する。
【００６３】
まず、コンピュータシステム２は、ディスプレイ３の画面に処理メニューを表示する（ステップＳ１）。この処理メニューは、定義ファイルを作成するか、動作解析処理を実行するか、あるいは動作を終了するかを、オペレータに選択させるためのメニューである。すなわち、オペレータは操作部４を操作しつつ、この処理メニューに従って指示を入力することにより、コンピュータシステム２に所望の処理を実行するように指示することができる。コンピュータシステム２は、処理メニューを表示した後、オペレータからの指示が入力されるまで待機する。なお、この待機状態において、オペレータが終了指示を入力した場合には、コンピュータシステム２は、ステップＳ８においてＹｅｓと判定し、処理を終了する。
【００６４】
オペレータが定義ファイルの作成を行うように指示を入力した場合には、ステップＳ２においてＹｅｓと判定され、ファイル作成処理が実行される（ステップＳ３）。ファイル作成処理とは、オペレータからの入力に従って、ログ情報６７０における文字列を、コマンドシーケンス図においてどのように表示するかを定義するための定義ファイルを作成する処理である。すなわち、ファイル作成処理が、主に本発明のファイル作成工程に相当する。
【００６５】
図６は、ファイル作成処理の詳細を示す流れ図である。ファイル作成処理が選択されると、コンピュータシステム２は、どのファイルを作成するかを選択させるための処理メニューをディスプレイ３に表示する（ステップＳ１０）。
【００６６】
詳細は後述するが、解析する対象となる装置（基板処理装置６）に応じて、オペレータが定義ファイルを作成することにより、基板処理装置６の内部における文字列をオペレータが所望する状態でコマンドシーケンス図に表示させることが可能となる。したがって、基板処理装置６に依存することなく、コマンドシーケンス図を作成でき、プログラム１の汎用性が向上する。
【００６７】
ファイル作成処理において、オペレータは、定義ファイルとして、コマンド定義ファイル、非表示コマンド定義ファイル、タスク定義ファイル、活線区間定義ファイルをそれぞれ作成できる。すなわち、コンピュータシステム２は、作成する定義ファイルとして、コマンド定義ファイルが選択されたか（ステップＳ１１）、非表示コマンド定義ファイルが選択されたか（ステップＳ１３）、タスク定義ファイルが選択されたか（ステップＳ１５）、活線区間定義ファイルが選択されたか（ステップＳ１７）、定義ファイル作成処理の終了が選択されたか（ステップＳ１９）を、それぞれ監視しつつ待機する。
【００６８】
オペレータがコマンド定義ファイルを作成するように指示を入力すると、コンピュータシステム２は、コマンド定義ファイルを作成する（ステップＳ１２）。コマンド定義ファイルとは、ログ情報６７０において送受信された各コマンドを表す文字列（識別番号や、識別名称等）を、コマンドシーケンス図における各コマンドを表す文字列（表示名称）に変換するための規則を定義する定義ファイルである。コマンド定義ファイルによって、例えば「0x1001011」などのように基板処理装置６の内部における識別番号で表された文字列（ログ情報６７０に記録されている文字列であり、通常、オペレータにとって容易に理解できない文字列）を、「CMD_OPEN_REQ（開放要求コマンド）」などのように、オペレータが理解しやすい文字列に変換する。
【００６９】
これにより、コンピュータシステム２は、解析対象装置のシステム内部で使用されるコマンドの識別番号やローカルな名称を、誰にでも理解しやすい名称に変換して、後述するコマンドシーケンス図に表示できるようになる。したがって、オペレータが基板処理装置６の動作解析を行う場合の負担を軽減できる。
【００７０】
また、オペレータが非表示コマンド定義ファイルを作成するように指示を入力すると、コンピュータシステム２は、非表示コマンド定義ファイルを作成する（ステップＳ１４）。非表示コマンド定義ファイルとは、ログ情報６７０において送受信された各コマンドを表す文字列を、コマンドシーケンス図において表示するか否かを定義する定義ファイルである。すなわち、非表示コマンド定義ファイルに「非表示」と定義されたコマンドは、後の処理において、コマンドシーケンス図に表示されない。
【００７１】
これにより、コマンドシーケンス図には、必要なコマンドに関する情報のみが表示されるので、基板処理装置６の動作を解析する際に、オペレータの負担は軽減される。
【００７２】
また、オペレータがタスク定義ファイルを作成するように指示を入力すると、コンピュータシステム２は、タスク定義ファイルを作成する（ステップＳ１６）。タスク定義ファイルとは、ログ情報６７０においてタスクを表す文字列を、コマンドシーケンス図におけるタスクを表す文字列（表示名称）に変換するための規則を定義する定義ファイルである。
【００７３】
これにより、コンピュータシステム２は、解析対象装置のシステム内部で使用されるタスクの識別番号や、ローカルな名称を、後述するコマンドシーケンス図において、誰にでも理解しやすい名称に変換して表示できるようになる。したがって、オペレータが基板処理装置６の動作解析を行う場合の負担を軽減できる。
【００７４】
また、オペレータが活線区間定義ファイルを作成するように指示を入力すると、コンピュータシステム２は、活線区間定義ファイルを作成する（ステップＳ１８）。活線区間定義ファイルとは、始点および終点コマンドと、活線区間をコマンドシーケンス図に表現する場合の表現方法とを定義するファイルである。
【００７５】
コマンドシーケンス図では、表示するタスクのそれぞれについて、時間軸線が描画される。活線とは、各タスクごとに描画される時間軸線の一部として描画される線であって、他の部分と明確に区別できるように強調して表現される部分である。また、活線区間とは、始点コマンドを送受信してから終点コマンドを送受信するまでの期間であり、時間軸線のうち活線で表される区間である。以下、始点コマンドを送受信した時刻を「始点時刻」、終点コマンドを送受信した時刻を「終点時刻」と称する。
【００７６】
また、活線区間の表現方法とは、活線の色、線幅、形状（実線や破線等）等であって、例えば、一組のコマンド（始点および終点コマンド）ごとに設定できる。すなわち、オペレータは、活線区間定義ファイルにおいて、活線区間の表現方法を自由に設定できる。
【００７７】
本実施の形態における活線区間定義ファイルについて、タスク６６１からタスク６６０に対して処理Ａを実行するように要求する場合を例に説明する。
【００７８】
まず、タスク６６１は、処理Ａを実行するように「処理Ａ要求コマンド（CMD_A_REQ）」をタスク６６０に送信する。これをタスク６６０が受信すると、ログ情報６７０にはタスク６６０が処理Ａ要求コマンドを受信したことが記録される。タスク６６０は処理Ａ要求コマンドを受信したことによって処理Ａを実行する。そして処理Ａが完了すると、タスク６６０はタスク６６１に向けて処理Ａが完了したことを通知する「処理Ａ完了コマンド（CMD_A_CPL）」を送信する。これをタスク６６１が受信すると、ログ情報６７０にはタスク６６１が処理Ａ完了コマンドを受信したことが記録される（タスク６６０は送信したタスクとして記録される）。
【００７９】
この例において、活線区間定義ファイルに、処理Ａ要求コマンドが始点コマンド、処理Ａ完了コマンドが終点コマンドとして予め定義されていれば、タスク６６０が処理Ａ要求コマンドを受信した時点が活線区間の始点時刻となる。一方、タスク６６１がタスク６６０から処理Ａ完了コマンドを受信した時点が活線区間の終点時刻となる。そして、タスク６６０の時間軸線のうち始点時刻から終点時刻までの間が活線区間となり、この区間が表現手法として定義されている手法に従って強調されて表現される。すなわち、活線区間とは、始点コマンドを受信したタスク（タスク６６０）が、始点コマンドによって実行する処理（処理Ａ）を実行している期間を示すものとなる。
【００８０】
このように、例えば、基板処理装置６の動作解析において、特に注目したい処理がある場合には、オペレータは、ステップＳ１８において、当該処理を実行させるコマンドと、当該処理が完了したことを示すコマンドとを、活線区間定義ファイルに定義しておく。これによって、コマンドシーケンス図では、当該処理が実行されている箇所(活線区間)が強調して表示される。したがって、オペレータは、コマンドシーケンス図において、注目すべき処理が実行されている箇所を容易に発見できる。
【００８１】
さらに、オペレータがファイル作成処理を終了するように指示を入力した場合は、ファイル作成処理において新たに作成された定義ファイルを記憶装置２２に記憶し（ステップＳ２０）、ファイル作成処理を終了して、図５に示す処理に戻る。すなわち、ステップＳ２０が主に本発明の第２記憶工程に相当する。
【００８２】
図５に戻って、オペレータによって、動作解析処理（ステップＳ４）が選択されると、コンピュータシステム２はリスト作成処理を実行する（ステップＳ５）。
【００８３】
図７は、リスト作成処理の詳細を示す流れ図である。リスト作成処理では、まず、初期化が行われる（ステップＳ２１）。ここでは、後述するポインタＰａ，Ｐｂ１，Ｐｂ２，Ｐｂ３，Ｐｃ，Ｐｄの初期化や、時系列コマンドリスト、あるいは活線区間リスト等の初期化が行われる。
【００８４】
次に、コンピュータシステム２は、コマンドテーブルを初期化して、コマンドデータベースを作成する（ステップＳ２２）。コマンドデータベースは、記憶装置２２に記憶されたコマンド定義ファイルに基づいて作成される。また、コマンドデータベースは、ログ情報６７０に記録されている各コマンドを識別するための文字列をキーとして検索可能である。すなわち、コンピュータシステム２は、コマンドデータベースを検索することにより、各コマンドについて、コマンドシーケンス図における表示名称を取得できる。
【００８５】
コマンドデータベースが作成されると、コンピュータシステム２は、非表示コマンドテーブルを初期化して、非表示コマンドデータベースを作成する（ステップＳ２３）。非表示コマンドデータベースは、記憶装置２２に記憶された非表示コマンド定義ファイルに基づいて作成される。また、非表示コマンドデータベースは、ログ情報６７０に記録されている各コマンドを識別するための文字列をキーとして検索可能である。すなわち、コンピュータシステム２は、非表示コマンドデータベースを検索することにより、各コマンドについて、コマンドシーケンス図に表示するか否かを判定できる。
【００８６】
非表示コマンドデータベースが作成されると、コンピュータシステム２は、タスクテーブルを初期化して、タスクデータベースを作成する（ステップＳ２４）。タスクデータベースは、記憶装置２２に記憶されたタスク定義ファイルに基づいて作成される。また、タスクデータベースは、ログ情報６７０に記録されている各タスク（基板処理装置６が備えるタスク６６０ないし６６７）を識別するための文字列をキーとして検索可能である。すなわち、コンピュータシステム２は、タスクデータベースを検索することにより、各タスクについて、コマンドシーケンス図における表示名称を取得できる。
【００８７】
タスクデータベースが作成されると、コンピュータシステム２は、活線区間テーブルを初期化して、活線区間データベースを作成する（ステップＳ２５）。活線区間データベースは、記憶装置２２に記憶された活線区間定義ファイルに基づいて作成される。また、活線区間データベースは、ログ情報６７０に記録されている各コマンドを識別するための文字列をキーとして検索可能である。すなわち、コンピュータシステム２は、活線区間データベースを検索することにより、コマンドシーケンス図に活線区間を描画できる。
【００８８】
次に、コンピュータシステム２は、基板処理装置６からログ情報６７０を取得する（ステップＳ２６）。本実施の形態では、先述のように、ネットワーク９０を介して、基板処理装置６からログ情報６７０をダウンロードして、記憶装置２２（例えば固定ディスク２５）に記憶させる（ステップＳ２７）。すなわち、ステップＳ２６が主に本発明の取得工程に相当し、ステップＳ２７が主に本発明の第１記憶工程に相当する。なお、ログ情報６７０は複数のファイルに分割されていてもよい。また、複数のファイルのうち、どのログ情報６７０を取得するかを、オペレータが指定するようにしてもよい。
【００８９】
ログ情報６７０が取得されると、コンピュータシステム２は、時系列コマンドリスト作成処理を実行する（ステップＳ２８）。
【００９０】
図８は、時系列コマンドリスト作成処理の詳細を示す流れ図である。
【００９１】
まず、ステップＳ２１において初期化したポインタＰａに基づいて、ログ情報６７０のレコードを１つ読み込み、読み込んだレコードがコマンドの受信を記録したレコード（コマンド受信記録）か否かを判定する（ステップＳ３０）。読み込んだレコードがコマンド受信記録でない場合は、当該レコードの内容をコマンドシーケンス図に表示する必要はないので、ステップＳ３１ないしＳ３７の処理をスキップする。
【００９２】
読み込んだレコードがコマンド受信記録である場合は、このコマンド受信記録を抽出する（ステップＳ３１）。さらに、抽出したコマンド受信記録から、受信されたコマンド（より詳しくは、受信されたコマンドを表現する文字列）を、このコマンド受信記録から抽出し（ステップＳ３２）、非表示コマンドデータベースを検索することによって、当該コマンドが非表示コマンドであるか否かを判定する（ステップＳ３３）。
【００９３】
抽出したコマンドが非表示コマンドである場合は、当該コマンドをコマンドシーケンス図に表示する必要はないので、ステップＳ３４ないしＳ３７の処理をスキップする。
【００９４】
ステップＳ３２において抽出されたコマンドが非表示コマンドでない場合（ステップＳ３３においてＮｏ）、コンピュータシステム２は、コマンドデータベースを検索して、抽出したコマンドのコマンドシーケンス図における表示名称を取得する（ステップＳ３４）。この処理は、ログ情報６７０における当該コマンドを表す文字列を、コマンドシーケンス図における当該コマンドを表す文字列に変換する処理に相当する。
【００９５】
また、ステップＳ３１で抽出したコマンド受信記録から受信タスクを表す文字列を抽出し、タスクデータベースを検索することにより、コマンドシーケンス図における当該受信タスクの表示名称を取得する（ステップＳ３５）。この処理は、ログ情報６７０における当該受信タスクを表す文字列を、コマンドシーケンス図における当該受信タスクを表す文字列に変換する処理に相当する。
【００９６】
さらに、ステップＳ３１で抽出したコマンド受信記録から送信タスクを表す文字列を抽出し、タスクデータベースを検索することにより、コマンドシーケンス図における当該送信タスクの表示名称を取得する（ステップＳ３６）。この処理は、ログ情報６７０における当該送信タスクを表す文字列を、コマンドシーケンス図における当該送信タスクを表す文字列に変換する処理に相当する。
【００９７】
次に、コンピュータシステム２は、時系列コマンドリストに、ステップＳ３１で抽出したコマンド受信記録を登録する（ステップＳ３７）。ただし、コマンド受信記録に示されているコマンド（送受信されたコマンド）、受信タスクおよび送信タスクについては、コマンドシーケンス図におけるこれらを表す文字列（表示名称）を登録する。
【００９８】
このとき、コンピュータシステム２は、当該コマンド受信記録が記録されているログ情報６７０のファイル名、あるいは当該コマンド受信記録が記録されたログ情報６７０における番号（ポインタＰａの値）等を、時系列コマンドリストに登録する。さらに、各コマンド受信記録には、時系列コマンドリストに登録された順序が「番号」として記録される。ただし、コンピュータシステム２が、時系列コマンドリストに登録する情報は、これらに限られるものではない。
【００９９】
次に、コンピュータシステム２は、ステップＳ３０で読み込んだレコードが、ログ情報６７０の最後のレコードか否かを判定する。すなわち、このレコードが、ログ情報６７０のファイルエンドか否かを判定する（ステップＳ３８）。
【０１００】
当該レコードがファイルエンドでない場合は、次のレコードをログ情報６７０から読み込むために、ポインタＰａをインクリメントして（ステップＳ３９）、ステップＳ３０からの処理を繰り返す。
【０１０１】
一方、当該レコードがファイルエンドである場合は、時系列コマンドリスト作成処理を終了して、図７に示す処理に戻る。ただし、指定されたログ情報６７０が複数のファイルである場合は、すべてのファイルのレコードを読み込むまで、時系列コマンドリスト作成処理を継続する。
【０１０２】
なお、通常、ログ情報６７０において、各レコードは時系列に従って作成されている。しかし、ログ情報６７０が複数のファイルである場合には、ステップＳ３０においてレコードを読み込む順序が時系列とならない場合（例えば、先に作成されたファイルが後に処理される場合）もあり得る。その場合、コンピュータシステム２は、時系列コマンドリスト作成処理を終了するときに、時系列コマンドリストのレコードを時系列に従って並び替え、並び変えた順序に従ってレコードの番号を書き換える処理を行う。この処理は、各レコードに記録されている時刻に基づいて実行される。
【０１０３】
このように、時系列コマンドリスト作成処理により、ログ情報６７０に記録されているイベント（処理）のうち、何らかのコマンドを受信した記録（コマンド受信記録）のみが、ログ情報６７０から抽出されて、時系列コマンドリストに時系列に従って登録されることとなる。言い換えると、ログ情報６７０に記録されているイベントのうち、コマンドシーケンス図に表示する必要のないイベント（例えば、あるタスクにおける内部処理に関するイベントや、オペレータが不要と判断したイベント等）は除去され、コマンドシーケンス図に表示する必要のあるイベントのみがレコードとして抽出される。
【０１０４】
図７に戻って、時系列コマンドリスト作成処理（ステップＳ２８）が終了すると、コンピュータシステム２は、活線区間リスト作成処理を実行する（ステップＳ２９）。
【０１０５】
図９ないし図１１は、活線区間リスト作成処理の詳細を示す流れ図である。先述のように、コンピュータシステム２が出力するコマンドシーケンス図には、活線区間が描画される。活線区間リスト作成処理は、この活線区間として描画される部分のリストを作成する処理である。
【０１０６】
活線区間リスト作成処理の処理を詳述する前に、予め処理の流れについて概略を説明する。活線区間リストは、主に時系列コマンドリストに登録されているレコードに基づいて作成される。ここで、時系列コマンドリストに登録されているタスクについては、コマンドシーケンス図において、時間軸線が描画される。
【０１０７】
一方、時系列コマンドリストには、複数のコマンド受信記録が登録されている。したがって、時系列コマンドリストには、複数のタスクが登録されており、また、１つのタスクが複数回登録されている場合もある。
【０１０８】
以下の活線区間リスト作成処理では、時系列コマンドリストに登録されている複数のタスクのうちの１つのタスクに注目して、注目しているタスクの時間軸線ごとに活線区間を登録する。
【０１０９】
このために、活線区間リスト作成処理では、時系列コマンドリストから、未だ注目タスクとなっていないタスクを注目タスクとして抽出する（注目タスクサーチ処理）。次に、時系列コマンドリストから、注目タスクの時間軸線について活線区間の始点を抽出し（始点サーチ処理）、抽出した活線区間の始点に対応する終点を抽出する（終点サーチ処理）。注目タスクの時間軸線についての処理が終了すると、再び、注目タスクサーチ処理に戻って、新たな注目タスクを抽出する。そして、すべてのタスクについて処理が終了すると、活線区間リスト作成処理を終了する。
【０１１０】
以下に詳述する活線区間リスト作成処理で使用するポインタＰｂ１，Ｐｂ２，Ｐｂ３は、いずれも時系列コマンドリストを検索するためのポインタである。これらの役割を概説すると、ポインタＰｂ１は注目タスクをサーチするためのポインタである。また、ポインタＰｂ２は、始点コマンドをサーチするためのポインタであり、ポインタＰｂ３は終点コマンドをサーチするためのポインタである。
【０１１１】
活線区間リスト作成処理が開始されると、まず、コンピュータシステム２は、ポインタＰｂ１に基づいて、時系列コマンドリストのレコードを１つ読み込む（ステップＳ４０）。次に、読み込んだレコードに記録されている受信タスクがすでに注目タスクとして登録済みか否かを判定し（ステップＳ４１）、登録済みでない場合は、当該受信タスクを新たに注目タスクと決定し（ステップＳ４２）、すでに当該受信タスクが注目タスクとして決定されたことを示す情報を登録する（ステップＳ４５）。
【０１１２】
なお、先述のように、時系列コマンドリストに登録されているレコードは、すべてコマンド受信記録であるから、ステップＳ４０において読み込まれるレコードには、必ず、受信されたコマンド、受信タスクおよび送信タスクが記録されている。したがって、コンピュータシステム２は、必ず、ステップＳ４１に示す判定処理を実行することができる。
【０１１３】
また、注目タスクとして決定されたことを示す情報の登録（ステップＳ４５）は、本実施の形態では、別途専用の登録ファイルに登録することで実現する。すなわち、コンピュータシステム２は、この登録ファイルを参照しつつ、ステップＳ４０において読み込んだレコードから抽出した受信タスクがこの登録ファイルにすでに登録されている場合にステップＳ４１においてＹｅｓと判定し、登録されていない場合にＮｏと判定する。
【０１１４】
ステップＳ４１においてＹｅｓと判定した場合は、さらに、ステップＳ４０で読み込んだレコードの送信タスクがすでに注目タスクとして登録済みか否かを判定し（ステップＳ４３）、登録済みでない場合は、当該送信タスクを新たに注目タスクと決定し（ステップＳ４４）、すでに当該送信タスクが注目タスクとして決定されたことを示す情報を登録する（ステップＳ４５）。
【０１１５】
ステップＳ４３においてＹｅｓと判定した場合、コンピュータシステム２は、ステップＳ４０で読み込んだレコードが時系列コマンドリストのファイルエンドか否かを判定する（ステップＳ４７）。言い換えれば、ポインタＰｂ１によって指し示されるレコードが、時系列コマンドリストの最後のレコードであるか否かを判定する。
【０１１６】
当該レコードがファイルエンドである場合（ステップＳ４７においてＹｅｓ）とは、注目タスクに関するサーチが終了したことを意味し、時系列コマンドリストに登録されているすべてのタスクについて活線区間を登録する処理が終了したことを意味している。したがって、この場合、コンピュータシステム２は、活線区間リスト作成処理を終了して、図７に示す処理に戻る。
【０１１７】
一方、当該レコードがファイルエンドでない場合（ステップＳ４７においてＮｏ）、次のレコードを読み込むために、ポインタＰｂ１をインクリメントして（ステップＳ４８）、ステップＳ４０からの処理を繰り返す。
【０１１８】
このような処理によって、先述の注目タスクサーチ処理が実現され、時系列コマンドリストに記録されているタスクは、必ず一回だけ注目タスクに選定される。本実施の形態における時系列コマンドリストには、同じタスクが複数回記録されている場合もあり得る。しかし、ステップＳ４１，Ｓ４３が実行されることによって、同じタスクが二回以上注目タスクとして選択されることはない。
【０１１９】
ステップＳ４５が実行されると、以下の処理において、コンピュータシステム２は、注目タスクの時間軸線について活線区間があるか否かを判定して、これを活線区間リストに登録する処理を開始する。なお、コンピュータシステム２は、始点サーチ処理によって、時系列コマンドリストから、活線区間の始点時刻を記録したレコードが抽出された場合に、活線区間が存在すると判定する。
【０１２０】
まず、ポインタＰｂ２にポインタＰｂ１の値をセットする（ステップＳ４６）。ステップＳ４６を実行する意味は、後述の処理において、始点サーチ処理を、時系列コマンドリストの先頭のレコードから行うのではなく、注目タスクを決定したレコードから行うためである。これは、注目タスクの活線区間として表示しなければならないレコードは、時系列コマンドリストにおいて、当該注目タスクにヒットした位置よりも後にしか存在しないからである。
【０１２１】
次に、図１０に示すように、コンピュータシステム２は、ポインタＰｂ２に基づいて、時系列コマンドリストのレコードを１つ読み込み（ステップＳ５０）、読み込んだレコードが、活線区間の始点時刻を記録したレコードか否かを判定する（ステップＳ５１）。
【０１２２】
本実施の形態では、注目タスクの時間軸線ごとに活線区間の登録処理を行う手法を採用しており、この時間軸線の活線区間の始点時刻を記録したレコードは、この注目タスクが受信タスクとして記録されているレコードに限られる。また、活線区間定義ファイルを作成するときに（図６：ステップＳ１８）、オペレータは、活線で表示したい区間の始点コマンドを登録している。すなわち、活線区間の始点時刻を記録したレコードは、送受信されたコマンドとして記録されているコマンドが始点コマンドであるレコードに限られる。
【０１２３】
したがって、ステップＳ５１において、コンピュータシステム２は、ステップＳ５０で読み込んだレコードに記録されている受信タスクが注目タスクであり、かつ、このレコードに記録されているコマンドが始点コマンドである場合に、このレコードが活線区間の始点時刻を記録したレコードであると判定する。なお、記録されているコマンドが始点コマンドであるか否かは、活線区間データベースを検索することによって判定する。
【０１２４】
コンピュータシステム２は、ステップＳ５１においてＮｏと判定した場合、ステップＳ５０で読み込んだレコードがファイルエンドであるか否かを判定する（ステップＳ５５）。より詳しく言えば、ポインタＰｂ２によって指し示されるレコードが時系列コマンドリストの最後のレコードか否かを判定する。
【０１２５】
当該レコードがファイルエンドでない場合（ステップＳ５５においてＮｏ）、未だ、注目タスクについて活線区間の始点時刻を記録したレコードが残っている可能性がある。したがって、この場合、コンピュータシステム２は、次のレコードを読み込むために、ポインタＰｂ２をインクリメントして（ステップＳ５６）、ステップＳ５０に戻って処理を繰り返す。
【０１２６】
当該レコードがファイルエンドである場合（ステップＳ５５においてＹｅｓ）、注目タスクについて活線区間の始点として登録すべきレコードは残っていない。すなわち、注目タスクについての活線区間の登録がすべて終了したことを意味する。また、ステップＳ５５における判定処理が実行される場合とは、ステップＳ４０において読み込んだレコードについて、ステップＳ４３の処理は終了しているとは限らないが、少なくともステップＳ４１の処理は終了している。そこで、コンピュータシステム２は、ステップＳ５５においてＹｅｓと判定した場合には、ステップＳ４３（図９）に戻って処理を繰り返す。これにより、新たな注目タスクを決定する処理（注目タスクサーチ処理）が開始される。
【０１２７】
このように、ステップＳ５６を実行しつつ、ステップＳ５０，Ｓ５１の処理を繰り返すことは、注目タスクについて、活線区間の始点となる時刻を記録したコマンド受信記録（レコード）を検出するために、時系列コマンドリストをサーチする処理（始点サーチ処理）である。
【０１２８】
このようにしてコンピュータシステム２は始点サーチ処理を継続しつつ、ステップＳ５１においてＹｅｓと判定すると、このレコードの番号を、注目タスクの活線区間の始点として活線区間リストに登録する（ステップＳ５２）。このとき、コンピュータシステム２は、活線区間データベースから、始点コマンドに関連付けて定義されている表現方法（活線区間の表現方法であって、具体的には活線の色、形状、線幅等）を読み出し、活線区間リストに登録する。
【０１２９】
さらに、活線区間データベースから、始点コマンドに対応するコマンドとして登録されている終点コマンドを読み出し、「終点コマンド」を決定する（ステップＳ５３）。
【０１３０】
次に、コンピュータシステム２は、ポインタＰｂ３にポインタＰｂ２の値をセットする（ステップＳ５４）。ステップＳ５４を実行する意味は、後述の処理において、終点サーチ処理を、時系列コマンドリストの先頭のレコードから行うのではなく、始点コマンドを記録したレコードから行うためである。終点コマンドは始点コマンドより後に送受信されるコマンドであるから、終点コマンドを記録したコマンド受信記録は、時系列コマンドリストにおいて、必ず、始点コマンドが記録されたコマンド受信記録より後に登録されているからである。
【０１３１】
なお、ステップＳ５３において決定した終点コマンドとは、後述する処理において、活線区間の終点を決定するための検索キーとなるコマンドである。より詳しくは、コンピュータシステム２は、注目タスクがこの終点コマンドを送信したことを記録したコマンド受信記録を時系列コマンドリストから検索して、このコマンド受信記録が記録された時刻を活線区間の終点時刻とする。
【０１３２】
ステップＳ５４を実行すると、コンピュータシステム２は、図１１に示すように、ポインタＰｂ３に基づいて、時系列コマンドリストのレコードを１つ読み込み（ステップＳ６０）、読み込んだレコードに記録されている送信タスクが注目タスクか否かを判定する（ステップＳ６１）。
【０１３３】
活線区間は、先述のように、あるタスクの時間軸線であるから、コマンドシーケンス図において、活線区間が異なるタスクにまたがることはない。したがって、活線区間の終点は注目タスクの時間軸線上になければならず、送信タスクが注目タスクでないレコードは、ステップＳ５２において始点を登録した活線区間の終点を示すレコードではない。
【０１３４】
すなわち、送信タスクが注目タスクでない場合（ステップＳ６１においてＮｏ）、コンピュータシステム２は、活線区間リストへの登録を行わずに、ステップＳ６０で読み込んだレコードがファイルエンドであるか否かを判定する（ステップＳ６３）。言い換えれば、ポインタＰｂ３によって指し示されるレコードが時系列コマンドリストの最後のレコードか否かを判定する。
【０１３５】
当該レコードがファイルエンドでない場合（ステップＳ６３においてＮｏ）、未だ、注目タスクについて活線区間の終点を示すレコードが残っている可能性がある。したがって、この場合、コンピュータシステム２は、次のレコードを読み込むために、ポインタＰｂ３をインクリメントして（ステップＳ６４）、ステップＳ６０に戻って処理を繰り返す。
【０１３６】
当該レコードがファイルエンドである場合（ステップＳ６４においてＹｅｓ）、活線区間の終点（より詳しくは、ステップＳ５２において登録された始点に対応する終点）を示すレコードは、時系列コマンドリストに登録されていないことを意味する。この場合、本実施の形態におけるコンピュータシステム２は、ステップＳ５２で登録した始点時刻に関連付けて、当該注目タスクの時間軸線の終点を、活線区間の終点として活線区間リストに登録する（ステップＳ６５）。
【０１３７】
このように、ログ情報６７０において、活線区間の始点時刻を記録したレコードは記録されているにもかかわらず、その活線区間の終点時刻を記録したレコードが記録されていない場合がある。この場合、コンピュータシステム２は、ステップＳ６５に示すように、注目タスクの時間軸線の終点を当該活線区間の終点とする。具体的には、時系列コマンドリストの最後のレコードの番号を、活線区間の終点として登録する。これにより、オペレータは、ログ情報６７０の生成が完了した時点（動作記録を終了した時点）で、当該活線で示される処理が完了していなかったことを、容易に確認することができる。
【０１３８】
なお、ステップＳ６０で読み込まれたレコードが時系列コマンドリストのファイルエンドである場合は、注目タスクの時間軸線について、活線区間を登録する処理が最後まで終了したことを意味する。したがって、ステップＳ６５の処理が実行されると、コンピュータシステム２は、ステップＳ４３（図９）に戻って処理を繰り返す。これにより、新たな注目タスクを決定する処理（注目タスクサーチ処理）が開始される。
【０１３９】
一方、ステップＳ６１においてＹｅｓと判定した場合、コンピュータシステム２は、ステップＳ６０において読み込んだレコードに記録されているコマンド（注目タスクが送信したコマンド）を抽出して、このコマンドが、ステップＳ５３において決定した終点コマンドであるか否かを判定する（ステップＳ６２）。
【０１４０】
本実施の形態では、活線区間定義ファイルを作成するときに（図６：ステップＳ１８）、オペレータは、活線で表示したい区間の始点コマンドと終点コマンドとを、互いに対応するコマンドとして登録している。すなわち、ステップＳ６０において読み込んだレコードに記録されているコマンドと、終点コマンドとが異なる場合、当該レコードは活線区間の終点時刻を記録したレコードではない。したがって、この場合、コンピュータシステム２は、活線区間リストへの登録を実行せずに、先述のステップＳ６３の処理を実行する。
【０１４１】
このように、ステップＳ６４を実行しつつ、ステップＳ６０ないしＳ６２の処理を繰り返すことは、始点が存在した活線区間について、終点を記録したコマンド受信記録（レコード）を検出するために、時系列コマンドリストをサーチする処理（終点サーチ処理）である。
【０１４２】
このようにしてコンピュータシステム２は終点サーチ処理を継続し、ステップＳ６２においてＹｅｓと判定すると、ステップＳ５２で登録した始点に関連付けて、ステップＳ６０で読み込んだレコードの番号を、活線区間の終点として、活線区間リストに登録する（ステップＳ６６）。
【０１４３】
活線区間の始点に対応する終点は必ず１つなので、ステップＳ６６が実行された場合には、さらに終点サーチ処理を継続する必要はない。したがって、ステップＳ６６が実行されると、コンピュータシステム２は、ポインタＰｂ２にポインタＰｂ３の値を代入し（ステップＳ６７）、終点サーチ処理を終了して、ステップＳ５６（図１０）に戻って処理を繰り返す。これにより、注目タスクについて、新たな活線区間を登録するための、始点サーチ処理が開始される。
【０１４４】
なお、ステップＳ６７を実行する意味は、一旦、活線区間が登録された後に、次の活線区間の始点サーチ処理は、すでに登録された終点を示すレコードより後から開始すればよいからである。
【０１４５】
以上のように、図９ないし図１１に示す処理が実行されることにより、最後は、すべてのタスクについて活線区間を登録する処理が終了し、ステップＳ４７においてＹｅｓと判定され、活線区間リスト作成処理が終了する。
【０１４６】
図７の活線区間リスト作成処理（ステップＳ２９）が終了すると、図５のリスト作成処理（ステップＳ５）が終了する。
【０１４７】
図５に戻って、リスト作成処理が終了すると、コンピュータシステム２は、描画処理（ステップＳ６）を実行する。描画処理とは、時系列コマンドリストおよび活線区間リストに従って、コマンドシーケンス図を描画する処理であり、主に本発明の出力工程に相当する。
【０１４８】
図１２および図１３は、描画処理の詳細を示す流れ図である。描画処理において、コンピュータシステム２は、コマンドシーケンス図のタスク名称表示欄を描画する処理を実行する。
【０１４９】
まず、ポインタＰｃに基づいて、時系列コマンドリストのレコードを１つ読み込む（ステップＳ７０）。次に、読み込んだレコードに記録されている受信タスクがすでに描画済みか否かを判定する（ステップＳ７１）。
【０１５０】
なお、本実施の形態では、タスクＢＯＸおよびタスクの表示名称の描画が終了したタスクを描画登録ファイルに登録する。コンピュータシステム２は、この描画登録ファイルに登録されているタスクについては、すでに描画済みである判定する。
【０１５１】
受信タスクが描画済みでない場合（ステップＳ７１においてＮｏ）、タスクＢＯＸを一つ描画し、そのタスクＢＯＸに受信タスクの表示名称を描画する（ステップＳ７２）。そして、受信タスクを描画登録ファイルに登録する（ステップＳ７３）。
【０１５２】
一方、受信タスクが描画済みである場合（ステップＳ７１においてＹｅｓ）、コンピュータシステム２は、受信タスクを描画する必要はないので、ステップＳ７２，Ｓ７３の処理をスキップする。
【０１５３】
次に、コンピュータシステム２は、描画登録ファイルを参照して、ステップＳ７０において読み込んだレコードに記録されている送信タスクがすでに描画済みか否かを判定する（ステップＳ７４）。
【０１５４】
送信タスクが描画済みでない場合（ステップＳ７４においてＮｏ）、タスクＢＯＸを一つ描画し、そのタスクＢＯＸに送信タスクの表示名称を描画する（ステップＳ７５）。そして、送信タスクを描画登録ファイルに登録する（ステップＳ７６）。
【０１５５】
一方、送信タスクが描画済みである場合（ステップＳ７４においてＹｅｓ）、コンピュータシステム２は、送信タスクを描画する必要はないので、ステップＳ７５，Ｓ７６の処理をスキップする。
【０１５６】
次に、コンピュータシステム２は、ステップＳ７０で読み込んだレコードが時系列コマンドリストのファイルエンドか否かを判定する（ステップＳ７７）。言い換えれば、ポインタＰｃによって指し示されるレコードが、時系列コマンドリストの最後のレコードであるか否かを判定する。
【０１５７】
当該レコードがファイルエンドでない場合（ステップＳ７７においてＮｏ）、次のレコードを読み込むために、ポインタＰｃをインクリメントして（ステップＳ７８）、ステップＳ７０からの処理を繰り返す。
【０１５８】
一方、当該レコードがファイルエンドである場合（ステップＳ７７においてＹｅｓ）とは、すべてのタスクについて、描画が終了したことを意味している。すなわち、これによって、タスク名称表示欄の描画が終了する。
【０１５９】
タスク名称表示欄の描画が終了すると、図１３に示すように、各タスクＢＯＸに時間軸線を描画する（ステップＳ８０）。時間軸線は、コマンドシーケンス図に示されるすべてのタスクに対して描画される。また、時間軸線は、時系列コマンドリストの最初のレコードを始点とし、最後のレコードを終点とする。すなわち、時間軸線は、いずれも同じ長さで描画され、その長さはコマンドシーケンス図に示されるレコードの数（時系列コマンドリストに登録されているレコードの数）によって決まる。
【０１６０】
次に、コンピュータシステム２は、活線区間リストに登録されているレコード（活線区間）に基づいて、時間軸線に活線を描画する処理を開始する。まず、ポインタＰｄに基づいて、活線区間リストのレコードを１つ読み込み（ステップＳ８１）、活線を描画する（ステップＳ８２）。
【０１６１】
ステップＳ８２の処理を具体的に説明すると、まず、読み込んだレコードに記録されているタスクの表示名称に基づいて、どのタスクの時間軸線に活線を描画するかを特定する。時間軸線が特定されれば、このレコードに記録されている表現手法に従って、同じく記録されている始点から終点まで活線を描画する。
【０１６２】
活線を１つ描画するごとに、このレコードが活線区間リストのファイルエンドであるか否かを判定し（ステップＳ８３）、ファイルエンドでない場合は、次のレコードを読み込むために、ポインタＰｄをインクリメントして（ステップＳ８４）、ステップＳ８１の処理に戻る。一方、このレコードが、ファイルエンドである場合は、活線区間リストに登録されているレコードについて、すべて描画処理が終了したと判定し、活線区間の描画を終了する。
【０１６３】
次に、コンピュータシステム２は、時系列コマンドリストに登録されているコマンドの名称を表示する処理を開始する。すなわち、ポインタＰｃを初期化し（ステップＳ８５）、ポインタＰｃに基づいて時系列コマンドリストのレコードを１つ読み込む（ステップＳ８６）。そして、読み込んだレコードに基づいて、送信タスクの時間軸線から受信タスクの時間軸線までコマンドの送信方向を示す矢印を描画し、その矢印の近傍にコマンドの表示名称を描画する（ステップＳ８７）。
【０１６４】
ステップＳ８６で読み込んだレコードが時系列コマンドリストのファイルエンドか否かを判定し（ステップＳ８８）、ファイルエンドでない場合は、次のレコードを読み込むために、ポインタＰｃをインクリメントして（ステップＳ８９）、ステップＳ８６の処理に戻る。一方、このレコードがファイルエンドである場合は、描画処理を終了して、図５の処理に戻る。
【０１６５】
図１４は、コンピュータシステム２によって描画されたコマンドシーケンス図の一例を示す図である。ここでは、ディスプレイ３の表示領域にコマンドシーケンス図が表示されている例で説明する。
【０１６６】
コマンドーシーケンス図には、タスク名称表示欄７０、イベント表示欄７１、およびレコード記録表示欄７２が設けられる。
【０１６７】
タスク名称表示欄７０は、コマンドシーケンス図の最上行に描画される欄である。タスク名称表示欄７０には、時系列コマンドリストに登録されているタスク（ログ情報６７０のコマンド受信記録に記録されているタスク）が、全て表示される。図１４に示すように、各タスクは、オペレータが所望した表示名称（タスク定義ファイルに定義されている文字列）で描画され、各タスクの表示名称は、各タスクに割り当てられたタスクＢＯＸ内に表示される。
【０１６８】
本実施の形態では、オペレータが所望するタスクの表示名称として、制御対象となるハードウェアを有するタスクについては、このハードウェアの名称（あるいは略称）をタスクの表示名称とする。
【０１６９】
図１４に示す例では、タスク「ＷＴＲ」はタスク６６３の表示名称であり、タスク「ＬＦＴ１」はタスク６６４の表示名称である。また、タスク「ＬＦＴ２」はタスク６６５の表示名称であり、タスク「ＣＨＢ２」はタスク６６７の表示名称である。
【０１７０】
特に、基板処理装置６のオペレータであれば、基板処理装置６が備えるハードウェアについて、ある程度の知識が期待できる。したがって、コマンドシーケンス図において、ハードウェアを識別する文字列で各タスクを表示すれば、オペレータは各タスクをさらに容易に識別できる。
【０１７１】
一方、図１４に示すコマンドシーケンス図において、タスク「MMS」、タスク「SQM」、あるいはタスク「BM2」等は、タスク６６０ないし６６２のように、制御対象となるハードウェアを有しないタスクである。
【０１７２】
このようなタスクであっても、コマンドシーケンス図において、オペレータが所望する文字列で表示されるので、例えば、基板処理装置６における内部識別子で表示される場合に比べて、容易に識別できる。
【０１７３】
なお、本実施の形態では、タスク名称表示欄７０において、各タスクの表示順序は、時系列コマンドリストに登録された順序である。しかし、例えば、タスク定義ファイルにおいて、各タスクの表示順序に関する優先順位を定義しておけば、これに従って描画することもできる。
【０１７４】
イベント表示欄７１（７１ａ，７１ｂ，・・・）は、時系列コマンドリストに登録されている各レコードの内容を表示する行として、コマンドシーケンス図に描画される領域である。したがって、イベント表示欄７１の各行は、時系列コマンドリストに登録されているレコードに対応している。すなわち、イベント表示欄７１の行数は、時系列コマンドリストに登録されているレコード数（ログ情報６７０におけるコマンド受信記録の数）である。
【０１７５】
また、時系列コマンドリストに登録されているレコードには、送受信されたコマンドが１つだけ記録されているので、各イベント表示欄７１にはコマンドの表示名称が１つのみ表示される。
【０１７６】
また、イベント表示欄７１に表示されるコマンドの表示名称（文字列）は、オペレータがコマンド定義ファイルにおいて任意に定義した文字列である。したがって、予め誰でも理解できる表示名称をコマンド定義ファイルに定義しておくことによって、オペレータは、どのようなコマンドが送受信されたか容易に把握することができる。
【０１７７】
また、イベント表示欄７１は、イベント発生時刻に応じて時系列に整列しており、下方の欄ほど後のレコードに対応している。このように、イベント表示欄７１の各行を、発生した順序で描画することにより、オペレータはコマンドの先後を容易に把握することができる。図１４に示す例では、イベント表示欄７１ａに表示されているコマンド「CMD_DOJOB_REQ」は、イベント表示欄７１ｂに表示されているコマンド「CMD_DOJOB_REQ」よりも先に送受信されたコマンドであることが容易に把握できる。
【０１７８】
このようなイベント表示欄７１がコマンドシーケンス図に描画されることにより、オペレータは、順次、イベント表示欄７１を、下方に追うことによって、タスク間のコマンドのやり取りをイベントの発生順序に従って容易に把握することができる。
【０１７９】
また、時系列コマンドリストの各レコードには、それぞれ送信タスクおよび受信タスクが１組み記録されている。これに基づいて、各イベント表示欄７１には、送信タスクの時間軸線７３から、受信タスクの時間軸線７３まで、１本の矢印が描画される。
【０１８０】
このような矢印が描画されることにより、オペレータは、矢印の始点が存在する時間軸線７３を上にたどれば送信タスクの表示名称を知得でき、矢印の終点が存在する時間軸線７３を上にたどれば受信タスクの表示名称を知得できる。したがって、オペレータは、イベント表示欄７１に表示されているコマンドが、どのタスクからどのタスクに送信されたコマンドであるかを容易に把握することができる。
【０１８１】
各イベント表示欄７１の左端の列が割り当てられるレコード記録表示欄７２は、時系列コマンドリストのレコードに記録されている様々な情報を描画する欄である。図１４に示す例では、レコード記録表示欄７２には、各レコードに記録されている時刻（イベント発生時刻）が表示されている。
【０１８２】
これにより、オペレータは、イベント表示欄７１に表示されているコマンドが、いつ、送受信されたものか把握できる。なお、詳細は後述するが、レコード記録表示欄７２に表示される内容は切り替えることができる。
【０１８３】
各タスクＢＯＸからは、破線の縦軸線の時間軸線７３が描画されている。また、時間軸線７３の一部は活線７４として強調されている。図１４に示す例では、タスク「ＬＦ２」の時間軸線７３において、タスク「ＢＭ３」から「CMD_LFT_UNLOADING_REQ」を受信してから、「CMD_LFT_UNLOADING_CPL」を返信するまでの区間が活線区間であり、この活線区間の時間軸線７３は、活線７４として表現されている。
【０１８４】
このように、時間軸線７３の一部を活線７４で表現することにより、オペレータは、コマンドシーケンス図において、特に所望する処理が実行されている部分を迅速に発見することができる。オペレータは、非表示コマンド定義ファイルを作成することによって、予め所望する情報に絞り込む。すなわち、コマンドシーケンス図は、オペレータが所望するコマンドの送受信に関する情報のみが表現されるものであるが、時間軸線７３に活線７４が表現されることによって、その中でも特に注目する部分に迅速に着目することができる。
【０１８５】
コンピュータシステム２は、描画処理によって、コマンドシーケンス図をとともに、後述する動作解析処理で使用する機能ボタンを表示する。
【０１８６】
図１５は、コンピュータシステム２がコマンドシーケンス図とともに、表示する機能ボタンのダイヤログ８を例示する図である（図１５の説明は後述する）。これらを表示すると、コンピュータシステム２は、描画処理を終了して、図５に示す処理に戻る。
【０１８７】
図５に戻って、ステップＳ６の描画処理を終了すると、コンピュータシステム２は付加機能選択処理を実行する（ステップＳ７）。コンピュータシステム２は、コマンドシーケンス図を表示することによってオペレータの動作解析を支援するが、コンピュータシステム２は、この他にもオペレータを支援するための様々な付加機能を有している。付加機能選択処理とは、オペレータが解析対象装置である基板処理装置６の動作を解析するにあたって、コンピュータシステム２がオペレータに様々な付加機能から所望の付加機能を選択させ、実行する処理である。付加機能選択処理が開始される時点では、ディスプレイ３には、コマンドシーケンス図およびダイヤログ８が表示されている。
【０１８８】
先述のように、コマンドシーケンス図を見るだけでも、オペレータは基板処理装置６の動作を把握することはできるが、ダイヤログ８が備える機能ボタンを使用することによって、さらに効率的な解析を行うことができる。
【０１８９】
図１６および図１７は、付加機能選択処理の詳細を示す流れ図である。以下では、コマンドシーケンス図およびダイヤログ８を使用して、オペレータが基板処理装置６の動作を解析する具体例を、主に図１５ないし図１７を用いて説明する。なお、付加機能選択処理において、コンピュータシステム２は、コマンドシーケンス図とダイヤログ８を表示した状態でオペレータによる所定の指示入力があるまで待機する。
【０１９０】
図１５に示すように、ダイヤログ８には、印刷ボタン８０、倍率変更ボタン８１、時間差表示ボタン８４、レコード記録切り替えボタン８５、コマンド検索ボタン８６、ジャンプボタン８７、および説明表示ボタン８８が設けられている。
【０１９１】
これらの機能ボタンは、いわゆるソフトスイッチとしての機能を備えたものであり、オペレータがマウス４１を操作することによって、オペレータが所望する特定の指示をコンピュータシステム２に入力するために使用される。なお、機能ボタンは専用のハードウェアとして構成されていてもよい。例えば、キーボード４０にこれらに対応した専用のボタンが設けられていてもよい。
【０１９２】
印刷ボタン８０は、オペレータがコマンドシーケンス図を紙媒体に印刷しようとする場合に操作される。印刷ボタン８０が操作されると、コンピュータシステム２は、ディスプレイ３に表示したコマンドシーケンス図を印刷装置５に印刷させる。これにより、オペレータは、コマンドシーケンス図を自ら作図することなく、図面を作成することができる。
【０１９３】
倍率変更ボタン８１は、上下変更ボタン８２と左右変更ボタン８３とを備える。倍率変更ボタン８１が操作されると、コンピュータシステム２は、ステップＳ９０においてＹｅｓと判定する。
【０１９４】
このとき、上下変更ボタン８２が操作されると、コンピュータシステム２は、コマンドシーケンス図において、縦方向の表示倍率を変更する（ステップＳ９１）。すなわち、オペレータは、ディスプレイ３の表示領域により多くのイベント（イベント表示欄７１）を表示させる場合には、上下変更ボタン８２によって、縦方向の表示倍率を縮小すればよい。一方、ディスプレイ３の表示領域に表示されているイベント（イベント表示欄７１）の数を減らす場合には、縦方向の表示倍率を拡大すればよい。
【０１９５】
また、左右変更ボタン８３が操作されると、コンピュータシステム２は、コマンドシーケンス図において、横方向の表示倍率を変更する（ステップＳ９１）。すなわち、オペレータは、ディスプレイ３の表示領域により多くのタスクを表示させる場合には、左右変更ボタン８３によって、横方向の表示倍率を縮小すればよい。一方、ディスプレイ３の表示領域に表示されているタスクの数を減らす場合には、横方向の表示倍率を拡大すればよい。
【０１９６】
このように、倍率変更ボタン８１によって、オペレータは、全体の流れを把握する場合や、一つ一つを詳細に把握する場合等、要求に応じて、縦方向および横方向の表示倍率を任意に変更することができる。
【０１９７】
時間差表示ボタン８４は、イベント間の時間を表示させるための機能ボタンである。時間差表示ボタン８４が操作されると、コンピュータシステム２は、オペレータに対して、始点イベントと終点イベントとを入力するように求める。これに対してオペレータは、例えばマウス４１を操作して、始点イベントを示すイベント表示欄７１と、終点イベントを示すイベント表示欄７１とをクリックすることによって指定する。
【０１９８】
コンピュータシステム２は、始点イベントとして指定されたイベント表示欄７１に対応する時系列コマンドリストのレコードから、始点イベントの発生時刻を取得するとともに、終点イベントについても同様に発生時刻を取得する。そして、これらの時間差を計算することによって、始点イベントが発生してから、終点イベントが発生するまでの時間を求め、これを表示する。
【０１９９】
図１８は、コンピュータシステム２が、イベント間の時間を表示するために表示するダイヤログ８９の例を示す図である。ダイヤログ８９には、メッセージとして「時間差」が表示されている。
【０２００】
このような機能は、例えば、処理Ａを完了するまでに要した時間を、オペレータが解析したい場合等に利用することができる。すなわち、あるタスクに対して処理Ａを要求するコマンドが受信されたイベントを始点イベントとして指定し、処理Ａの完了を通知するコマンドが受信されたイベントを終点イベントとして指定すれば、ダイヤログ８９に表示される時間差は処理Ａを完了するまで要した時間である。
【０２０１】
レコード記録切り替えボタン８５は、レコード記録表示欄７２に表示される内容を切り替えるために使用される機能ボタンである。図１９は、レコード記録切り替えボタン８５が操作されるたびに、レコード記録表示欄７２が切り替わる様子を示す図である。
【０２０２】
レコード記録表示欄７２は、図１９に示すように、レコード記録切り替えボタン８５が操作されるたびに、レコード記録表示欄７２ａ，７２ｂ，７２ｃ，７２ｄのように、表示される内容が切り替わる。
【０２０３】
レコード記録表示欄７２ａは、レコード記録表示欄７２にイベント発生時刻が表示されている場合を示している。レコード記録表示欄７２ｂは、レコード記録表示欄７２にイベントが記録されているログ情報６７０のファイル名が表示されている場合を示している。レコード記録表示欄７２ｃは、レコード記録表示欄７２に何も表示されていない場合を示している。さらに、レコード記録表示欄７２ｄは、レコード記録表示欄７２にイベント表示欄７１の行数が表示されている場合を示している。
【０２０４】
コマンド検索ボタン８６とは、コマンド検索用のダイヤログ（図示せず）を表示させるボタンである。オペレータがコマンド検索ボタン８６を操作すると、コンピュータシステム２は、ステップＳ９２においてＹｅｓと判定し、コマンド検索用のダイヤログを表示する。オペレータが、このダイヤログに検索したいコマンドの表示名称を入力すると、コンピュータシステム２は、入力されたコマンドを検索するコマンドとして指定し（ステップＳ９３）、指定されたコマンドの描画箇所であるイベント表示欄７１を強調して表示する（ステップＳ９４）。
【０２０５】
なお、コマンドシーケンス図のサイズが大きいために、ディスプレイ３の表示領域にコマンドシーケンス図の全体を表示できていない場合であっても、強調して表示するイベント表示欄７１が実際に表示されるように、ディスプレイ３の表示領域を設定する。また、イベント表示欄７１を強調して表示する手法としては、このイベント表示欄７１の他の欄と異なる色に変更する、あるいはこのイベント表示欄７１を囲む枠を表示する、もしくはこのイベント表示欄７１が最上行となるようにディスプレイ３の表示領域を設定するなどである。
【０２０６】
これにより、コマンドシーケンス図に描画されるコマンドの数が多い場合でも、オペレータは所望するコマンドに関するイベントを容易に確認することができる。
【０２０７】
オペレータは、イベントをイベント表示欄７１の中からマウス４１を操作して選択する。ジャンプボタン８７がオペレータによって操作されると、コンピュータシステム２は、ステップＳ１００においてＹｅｓと判定し、コマンドシーケンス図に描画されたイベントから、１つを選択する。これにより、コンピュータシステム２は、選択されたイベント表示欄７１に表示されているイベントに対応するコマンド受信記録を指定する（ステップＳ１０１）。さらに、この指定したコマンド受信記録から、このコマンド受信記録が記録されているログ情報６７０のファイル名、およびレコード番号を取得する。そして、当該ログ情報６７０に記録されている当該コマンド受信記録のテキストデータをディスプレイ３に表示する（ステップＳ１０２）。
【０２０８】
図２０は、このようにして表示されるログ情報６７０の内容を例示する図である。選択されたイベントに対応するテキストデータには、アンダーバーが表示され、他のデータと容易に区別することができるようにされている。
【０２０９】
これにより、オペレータは、コマンドシーケンス図を構成するそれぞれのイベントについて、ログ情報６７０の記録を容易に参照することができるので、ログ情報６７０についても詳細な動作解析を行うことができる。すなわち、コマンドシーケンス図だけでは理解できない詳細な記録について、コマンドシーケンス図を索引のように使用することによって、オペレータは目的のレコード（イベント）に容易にアクセスできる。
【０２１０】
説明表示ボタン８８は、コマンドに関する説明を表示させるためのボタンである。説明表示ボタン８８が操作されると、コンピュータシステム２は、ステップＳ１０３においてＹｅｓと判定し、オペレータに、所望するコマンドの表示名称を入力するように要求する。オペレータは、所望するコマンドの表示名称をキーボード４０によって入力する。
【０２１１】
オペレータが所望するコマンドを入力すると、コンピュータシステム２は、入力されたコマンドを説明を表示させるコマンドとして指定し（ステップＳ１０４）、指定されたコマンドについての説明をディスプレイ３に表示する（ステップＳ１０５）。
【０２１２】
図２１は、コンピュータシステム２によって表示されたコマンドの説明である。最上欄には、指定されたコマンドの基板処理装置６における内部識別番号が表示されている。二行目には、指定されたコマンドの表示名称が表示され、最下欄には、このコマンドの意味が簡潔に表示されている。
【０２１３】
このように、指定されたコマンドに関する説明が表示されるので、例えばオペレータがコマンドシーケンス図に表示されている表示名称だけではコマンドを理解することができない場合等に、容易にそのコマンドを確認できる。なお、オペレータは、所望するイベントをイベント表示欄７１の中からマウス４１を操作して選択することによって、所望するコマンドの表示名称を入力できるようにされている。この場合、コンピュータシステム２は、選択されたイベント表示欄７１に表示されているコマンドの表示名称を、指定されたコマンドの表示名称として判断する。
【０２１４】
なお、オペレータが付加機能選択処理を終了する旨の指示を入力すると、コンピュータシステム２は、ステップＳ１０６においてＹｅｓと判定し、付加機能選択処理を終了して、図５の処理に戻る。
【０２１５】
以上のように、本実施の形態におけるプログラム１は、基板処理装置６をオペレータが解析する際にその解析作業を支援する支援プログラムであって、コンピュータシステム２に、記憶装置２２に記憶されたログ情報６７０（動作履歴情報）に基づいて、複数のタスク６６０ないし６６７に含まれる１のタスクと他の１のタスクとの間のコマンドの送受信状況を時系列に従って示すコマンドシーケンス図をディスプレイ３に出力させる。テキスト形式のログ情報６７０は、そのまま文字として出力しても、オペレータにとって難解なものである。しかし、複数のタスクを開発・保守するオペレータは、コンピュータシステム２によって出力されるコマンドシーケンス図を見ることにより、これら複数のタスク６６０ないし６６７の動作状況を容易に把握できる。
【０２１６】
＜２．  変形例＞
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【０２１７】
例えば、印刷装置５は、本体２０に直接接続される形態に限られるものではなく、ネットワーク９０に接続されていてもよい。そのような場合には、コンピュータシステム２は、通信部２７およびネットワーク９０を介して、印刷装置５に画像データを送信しする。ネットワーク９０を介して画像データを受信した印刷装置５は、受信した画像データに基づいて、例えばコマンドシーケンス図を印刷する。
【０２１８】
また、上記実施の形態では、ログ情報６７０をネットワーク９０を介して取得すると説明したが、記憶媒体９１を介して取得してもよい。すなわち、基板処理装置６においてログ情報６７０を記憶媒体９１に書き込み、このログ情報６７０をメディアドライブ２６が読み取って記憶装置２２に転送してもよい。
【０２１９】
また、ログ情報６７０に記録されているコマンド受信記録に基づいてコマンドシーケンス図を出力する例について説明したが、コマンドシーケンス図はコマンド送信記録に基づいて作成してもよい。
【０２２０】
また、上記実施の形態では、コマンドシーケンス図を出力する処理（工程）を、ソフトウェアによって実現する例を説明したが、ソフトウェアによって実現される機能の一部、あるいは全部を専用の論理回路（ハードウェア）で実現することも可能である。
【０２２１】
また、上記実施の形態に示した各ステップは、例示であって、これに限られるものではない。例えば、各ステップの実行順序は上記実施の形態に示す順序に限られない。すなわち、同様の機能および効果を得られる手順であれば、どのように実行されてもよい。
【０２２２】
また、プログラム１は、基板処理装置６とは別の装置であるコンピュータシステム２において実行されると説明したが、基板処理装置６がコンピュータシステム２の機能を有している場合、プログラム１は基板処理装置６において実行されてもよい。
【図面の簡単な説明】
【０２２３】
【図１】図１は、本発明に係る支援プログラムであるプログラムが動作するコンピュータシステムを示す図である。
【図２】コンピュータシステムの構成をさらに詳細に示すバス配線図である。
【図３】基板処理装置の構成を示す図である。
【図４】制御部の構成を示すブロック図である。
【図５】コンピュータシステムの動作を示す流れ図である。
【図６】ファイル作成処理の詳細を示す流れ図である。
【図７】リスト作成処理の詳細を示す流れ図である。
【図８】時系列コマンドリスト作成処理の詳細を示す流れ図である。
【図９】活線区間リスト作成処理の詳細を示す流れ図である。
【図１０】活線区間リスト作成処理の詳細を示す流れ図である。
【図１１】活線区間リスト作成処理の詳細を示す流れ図である。
【図１２】描画処理の詳細を示す流れ図である。
【図１３】描画処理の詳細を示す流れ図である。
【図１４】コンピュータシステムによって描画されたコマンドシーケンス図の一例を示す図である。
【図１５】コンピュータシステムがコマンドシーケンス図とともに、表示する機能ボタンのダイヤログを例示する図である。
【図１６】付加機能選択処理の詳細を示す流れ図である。
【図１７】付加機能選択処理の詳細を示す流れ図である。
【図１８】コンピュータシステムが、イベント間の時間を表示するために表示するダイヤログの例を示す図である。
【図１９】レコード記録切り替えボタンが操作されるたびに、レコード記録表示欄が切り替わる様子を示す図である。
【図２０】コンピュータシステムによって表示されるログ情報６７０の内容を例示する図である。
【図２１】コンピュータシステムによって表示されたコマンドの説明を例示す図である。
【符号の説明】
【０２２４】
１  プログラム
２  コンピュータシステム（支援装置）
２０  本体
２１  ＣＰＵ
２２  記憶装置
２６  メディアドライブ
２７  通信部
３  ディスプレイ
４  操作部
５  印刷装置
６  基板処理装置（解析対象装置）
６６０〜６６７  タスク
６７０  ログ情報
７０  タスク名称表示欄
７１，７１ａ，７１ｂ  イベント表示欄
７２，７２ａ，７２ｂ，７２ｃ，７２ｄ  レコード記録表示欄
７３  時間軸線
７４  活線
８  ダイヤログ
８０  印刷ボタン
８１  倍率変更ボタン
８２  上下変更ボタン
８３  左右変更ボタン
８４  時間差表示ボタン
８５  レコード記録切り替えボタン
８６  コマンド検索ボタン
８７  ジャンプボタン
８８  説明表示ボタン
８９  ダイヤログ
９０  ネットワーク
【図１】
2007122680.tif 000003
【図２】
2007122680.tif 000004
【図３】
2007122680.tif 000005
【図４】
2007122680.tif 000006
【図５】
2007122680.tif 000007
【図６】
2007122680.tif 000008
【図７】
2007122680.tif 000009
【図８】
2007122680.tif 000010
【図９】
2007122680.tif 000011
【図１０】
2007122680.tif 000012
【図１１】
2007122680.tif 000013
【図１２】
2007122680.tif 000014
【図１３】
2007122680.tif 000015
【図１４】
2007122680.tif 000016
【図１５】
2007122680.tif 000017
【図１６】
2007122680.tif 000018
【図１７】
2007122680.tif 000019
【図１８】
2007122680.tif 000020
【図１９】
2007122680.tif 000021
【図２０】
2007122680.tif 000022
【図２１】
2007122680.tif 000023