(57)【特許請求の範囲】
【請求項１】
方法において、
詳細なツール記述を含んでいる詳細なツールモデルを、基本ツール記述を含む基本ツールモデルから派生させるステップを備え、
前記詳細なツールモデルは、ツールのテキスト、グラフィック及びソフトウェアプログラムの記述のうちの少なくとも一つを含み、
前記ツールモデルにおける記述に従い、一つ又は複数のテンプレートを使用して、前記ツールに関するマニュアルを自動的に生成するステップ、および／または、前記詳細なツールモデルにおける記述に従い、一つ又は複数のテンプレートを使用して、前記ツールに関するソフトウェアプログラムを自動的に生成するステップと、
を備えている方法。
【請求項２】
前記基本ツールモデルは、前記ツールの記述および／または前記ツールの物理的なハードウェアおよび／または前記ツールのハードウェアモジュールを備える、
請求項１に記載の方法。
【請求項３】
前記詳細なツールモデルは、前記基本ツールモデルおよびデータベースから生成される、
請求項１または２に記載の方法。
【請求項４】
前記基本ツールモデルは、前記データベースにリンクされ、前記データベースは、デフォルトコンポーネント、前記基本ツールモデルから派生したコンポーネントまたは前記基本ツールモデルに関する標準を含む、
請求項３に記載の方法。
【請求項５】
前記基本ツールモデルは、前記詳細なツールモデルに変換され、変換プロセスは、
デフォルトコンポーネントを生成するステップ、および／または、
派生したコンポーネントを生成するステップ、および／または、
付加的な記述を生成するステップ、および／または、
標準コンポーネントを生成するステップ、
を備える、
請求項１から４のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、2013年3月19日に出願された、発明の名称「ツールコンパイラ」の米国仮出願特許第61/803,427号の優先権を主張するものであり、その開示内容全体は参照により本願に組み込まれる。
【背景技術】
【０００２】
コンパイラは、入力された高水準言語を翻訳するコンピュータプログラムである。例えば、プログラミングコンパイラは、高水準言語を特定のコンピュータの内部言語に翻訳する特別なプログラムである。高水準言語は一般的に、その言語におけるステートメントに関する構造を規定する厳密な構文又は文法を有している。プログラムをその高水準言語の形式で含んでいるファイルはソースコードとして知られている。プログラミングされたプログラムのコンパイルされた形態は、一般的にオブジェクトコードとして知られている。プログラミングコンパイラの例として、FORTRANコンパイラ、PASCALコンパイラ、Cコンパイラ、C++コンパイラ及びC#コンパイラが挙げられる。
【０００３】
同様に、ディジタル回路設計者は、ディジタル回路を記述するための標準化された言語としてHDL（Hardware Description Language）を開発した。HDLによって、回路設計者は、種々の抽象度で、例えばアーキテクチャレベル又は動作レベルで、また同様に、トランジスタの比較的下位の実装レベル及び回路ブロックレベルで、電子システムを設計及び記述することができるようになった。集積回路チップのレイアウト及び機能検証のテスト及び最適化が行われれば、HDLでの設計によって電子回路を表すことができる。例えば、プログラミング可能な論理装置、例えばフィールドプログラマブルゲートアレイ又は特定用途向け集積回路において実装されるべき回路の設計を、HDLを使用してモデリングすることができる。
【０００４】
現在のところ、ハードウェハ記述言語コンパイラは、ツール又はイクイップメントに対して利用することができない。従って、イクイップメント又はツールを表現するために、例えばハードウェア記述言語でツールモデル表現を生成することができツールルコンパイラを提供することが所望されている。
【０００５】
概要
幾つかの実施の形態においては、イクイップメント又はツールに関するドキュメンテーション及びソフトウェアを、対応するドキュメンテーション及びソフトウェアとの間で自動的に同期しながら、自動的に生成するためのシステム及び方法が提供される。この方法は、ツールのモデル表現を生成するステップと、それに続いて、対応するドキュメンテーション及びソフトウェアを生成するための入力としてツールモデルを使用してプログラムを実行するステップと、を備えることができる。
【０００６】
幾つかの実施の形態においては、ツールのツールモデル表現を生成するためのシステム及び方法が提供される。ツールモデルは、ツールのテキスト表現、グラフィック表現、シンボル表現及びプログラム表現を含むことができる。例えば、ツールモデルは、ツールが実行することができるコマンドを含む、ツール機能の記述のような、ツールのテキスト記述及びグラフィック記述を含むことができる。ツールモデルは、ソフトウェアプログラム、例えばツールとのインタフェースを提供することができるソースコード又はオブジェクトコードを含むことができるので、ツールはコマンドを実行することができる。
【０００７】
幾つかの実施の形態においては、同一のツールのツールモデル入力に基づいて、より詳細なツールモデル表現を生成するためのシステム及び方法が提供される。単純化されたツールモデル表現を人間によって準備することができる。この単純化ツールモデルを、例えばソフトウェアプログラムによって処理して、より詳細な、又はより完全なツールモデル表現を戻すことができる。
【０００８】
幾つかの実施の形態においては、例えば、ツールモデル入力から、より詳細なツールモデルを生成するテンプレートのためのシステム及び方法が提供される。デフォルトコンポーネント、派生コンポーネント、標準コンポーネント及びその他のコンポーネントを含むファイルを作成し、より詳細なツールモデルの生成を支援することができる。
【０００９】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのドキュメンテーションを生成するためのシステム及び方法が提供される。ドキュメンテーションは、ユーザマニュアル、ソフトウェアオペレーションマニュアル、サービスマニュアル、メンテナンスマニュアル、修理マニュアル、又は、その他のいずれかの種類のドキュメンテーションであってよい。ツールモデルは、ドキュメントを生成できるようにするためのツールのコンポーネントの記述を有する、ジェネリックツールモデルでよい。またツールモデルは、特定のドキュメントを生成できるようにするためのツールのコンポーネントの記述を有する、特化ツールモデルであってよい。
【００１０】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのソフトウェアプログラムを生成するためのシステム及び方法が提供される。ソフトウェアプログラムは、オペレーティングソフトウェア、ビルドソフトウェア、サービスソフトウェア、信頼性試験ソフトウェア、診断ソフトウェア、又はその他のいずれかのソフトウェアプログラムであってよい。ツールモデルは、ハードウェアモジュールを動作させるための考えられるコマンドと共に、ソフトウェアコンポーネント、例えば、ハードウェアコンポーネントにアクセスできるようにするためのオブジェクトコード又はソースコードを含むことができる。
【００１１】
幾つかの実施の形態においては、ツールモデル入力から、ソフトウェアプログラムを生成するソフトウェアテンプレートのためのシステム及び方法が提供される。ソフトウェアテンプレートを、ツールに関する機能を実行するように設定することができる。ソフトウェアテンプレートは、プレースホルダコマンド、グラフィック要素、入力ファイル及び出力ファイルを含むことができる。ツールモデルをソフトウェアテンプレートにマッピングすることによって、そのツールに特化したソフトウェアプログラムを自動的に生成することができる。
【図面の簡単な説明】
【００１２】
【図１】幾つかの実施の形態による、ツールをモデリングするための概略的なプロセスを示す。
【図２】幾つかの実施の形態による、ツールモデルの概略図を示す。
【図３】幾つかの実施の形態による、ツールをモデリングするためのプロセスの概略図を示す。
【図４】幾つかの実施の形態による、ツールモデルの生成の概略図を示す。
【図５】幾つかの実施の形態による、ツールモデルの概略図を示す。
【図６】幾つかの実施の形態による、ツールのマルチモジュールツールモデルへの翻訳の概略図を示す。
【図７】幾つかの実施の形態による、レチクルストッカのモジュール統合体に関するツールモデルの一例を示す。
【図８】幾つかの実施の形態による、回転ステーションモジュールに関するツールモデルの一例を示す。
【図９Ａ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図９Ｂ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１０Ａ】幾つかの実施の形態による、単純化されたツールモデルの種々の実施例を示す。
【図１０Ｂ】幾つかの実施の形態による、単純化されたツールモデルの種々の実施例を示す。
【図１０Ｃ】幾つかの実施の形態による、単純化されたツールモデルの種々の実施例を示す。
【図１１】幾つかの実施の形態による、ツールモデルからのその他の記述の生成を示す。
【図１２】幾つかの実施の形態による、ツールモデルからのその他の記述の生成を示す。
【図１３】幾つかの実施の形態による、ツールモデルからの標準記述の生成を示す。
【図１４】幾つかの実施の形態による、ツールモデルからの状態モデルの生成を示す。
【図１５Ａ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１５Ｂ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１５Ｃ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１５Ｄ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１５Ｅ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１６Ａ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１６Ｂ】幾つかの実施の形態による、ツールモデルを生成するためのフローチャートを示す。
【図１７】幾つかの実施の形態による、ツールモデルからのドキュメントの生成の概略図を示す。
【図１８】幾つかの実施の形態による、別のやり方でのツールモデルからのドキュメントの生成の概略図を示す。
【図１９】幾つかの実施の形態による、別のやり方でのツールモデルからのドキュメントの生成の概略図を示す。
【図２０】幾つかの実施の形態による、ツールモデルからのドキュメンテーションの生成に関するフローチャートを示す。
【図２１】幾つかの実施の形態による、ツールモデルからのオペレーティングソフトウェアの生成の概略図を示す。
【図２２】幾つかの実施の形態による、オペレーティングソフトウェアに関するソフトウェアテンプレートの一例を示す。
【図２３】幾つかの実施の形態による、ツールモデルとソフトウェアテンプレートとの間のオペレーションのマッピングの一例を示す。
【図２４】幾つかの実施の形態による、ツールモデルからのテストソフトウェア又は診断ソフトウェアの生成の概略図を示す。
【図２５】幾つかの実施の形態による、テストソフトウェア又は診断ソフトウェアに関するソフトウェアテンプレートの一例を示す。
【図２６】幾つかの実施の形態による、ツールモデルとソフトウェアテンプレートとの間のオペレーションのマッピングの一例を示す。
【図２７】幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートを示す。
【図２８】幾つかの実施の形態による、ソフトウェアテンプレートへのツールモデルのマッピングに関するフローチャートを示す。
【図２９Ａ】幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートを示す。
【図２９Ｂ】幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートを示す。
【図３０Ａ】幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートを示す。
【図３０Ｂ】幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートを示す。
【図３１Ａ】幾つかの実施の形態による、ソフトウェアの生成に関するフローチャートを示す。
【図３１Ｂ】幾つかの実施の形態による、ソフトウェアの生成に関するフローチャートを示す。
【発明を実施するための形態】
【００１３】
幾つかの実施の形態においては、ハードウェアイクイップメントを表現するための、またハードウェアの表現を複数の言語でドキュメンテーション及びソフトウェアに翻訳するためのシステム及び方法が提供される。
【００１４】
幾つかの実施の形態においては、イクイップメント又ツールの記述をそのツールに関してユーザ定義された機能、例えばツールドキュメンテーション又はツールにおいて実行されるソフトウェアプログラムに翻訳するためのプログラムを含むツールコンパイラのためのシステム及び方法が提供される。
【００１５】
幾つかの実施の形態においては、例えばツールコンパイラによってイクイップメント又はツールを、ユーザ定義された機能、例えばツール表現、ツールマニュアル又はツールソフトウェアに翻訳するために使用することができる、高水準言語記述開発のためのシステム及び方法が提供される。
【００１６】
幾つかの実施の形態においては、データベース、テンプレート又はルールベースコンポーネントを使用して、所望のツール表現の提供を支援し、例えばデフォルトコンポーネント又はデフォルト機能を追加するか、利用可能なコンポーネントからの派生コンポーネント又は派生機能を追加するか、若しくは、例えば安全規則又は標準規則のような規則を満たすためのコンポーネントを追加又は修正する、ツール翻訳における単純化されたオペレータ環境のためのシステム及び方法が提供される。
【００１７】
幾つかの実施の形態においては、イクイップメント又はツールに関するドキュメンテーション及びソフトウェアを、対応するドキュメンテーション及びソフトウェアとの間で自動的に同期しながら、自動的に生成するためのシステム及び方法が提供される。この方法は、ツールのモデル表現を生成するステップと、それに続いて、対応するドキュメンテーション及びソフトウェアを生成するための入力としてツールモデルを使用してプログラムを実行するステップと、を備えることができる。ツールモデルは、ツールが更新されると更新することができ、例えばコンポーネントが追加されるか、あるコンポーネントが異なるコンポーネントに置換されるか、又は、ツールのあるコンポーネントが除去される。プログラムを更新されたツールモデルにおいて、例えば更新されたツールモデルを新たな入力として使用することによって実行し、更新されたドキュメンテーション及び／又はソフトウェアを生成することができる。
【００１８】
幾つかの実施の形態においては、ツールコンパイラプログラムが提供され、このツールコンパイラプログラムは、ツールのツールモデル表現の入力を受け取り、またツールに関するドキュメンテーション又はソフトウェアのようなユーザ定義された機能であってよい所望の出力を生成することができる。ツールモデル入力の要求を単純化するために、ツールコンパイラをライブラリ、データベース、テンプレート又は他のプログラムにリンクさせることができる。例えば、ツールコンパイラを、フォーマッティングテンプレート及び／又はスタイルテンプレートにリンクさせ、所望のフォーマット及びスタイルを有するツールドキュメンテーション又はツールソフトウェアを生成することができる。例えば、テンプレートプログラムは、ツールのグラフィック表現、プレースホルダコマンド及びテキスト情報を有することができる。ツールモデルとのリンケージは、プレースホルダコンポーネントを実際のデータに置換し、ソフトウェアをそのツールに特化したものにすることができる。ツールの標準化要求を満たすツールドキュメンテーション又はツールソフトウェアを生成するために、ツールコンパイラを標準ドキュメンテーション又はプログラムにリンクさせることができる。ツールモデルの生成を単純化するために、ツールコンパイラをデフォルトの又は派生のドキュメント、プログラム又はテンプレートにリンクさせることができ、また、ツールコンパイラは、必要とされるコンポーネント及び要素を有しているツールドキュメンテーション又はツールソフトウェアも生成する。例えば、ツールのシーケンスに関する状態モデルを、ツールの状態又はコンポーネントを知ることによって追加することができる。
【００１９】
ドキュメンテーション及びソフトウェアを、単一のツールモデルから生成することができ、従って自動的な同期を保証することができる。例えば、ツールモデルを更新してツールモデルの新たなヴァージョンを作成することができ、その新たなヴァージョンのツールモデルを、ドキュメンテーション及びソフトウェアの新たなヴァージョンを生成するために使用することができる。更新はソフトウェアの更新でよく、その更新によって、更新されたツールモデルを介して、対応するドキュメンテーションを自動的に更新することができる。また更新は、ドキュメンテーションの更新でもよく、その更新によって、更新されたツールモデルを介して、対応するソフトウェアを自動的に更新することができる。
【００２０】
図１には、幾つかの実施の形態による、ツールをモデリングするためのプロセスが概略的に示されている。イクイップメント又はツール１１０をツールモデル１２０に翻訳することができ、このツールモデル１２０はハードウェア記述言語表現、例えばテキスト表現、図形表現、シンボル表現又はオブジェクトコード表現を含む。ツールモデル１２０を、例えばソフトウェアプログラム又はツールコンパイラ１２２又は１２４によって、それぞれドキュメント１８０又はソフトウェアプログラム１９０に翻訳又は変換することができる。付加的な要素１３０をツールモデル１２０に組み込むことができ、例えばデフォルトコンポーネント、既存のコンポーネントから派生したコンポーネント、又は、標準規則を満たすために追加されるコンポーネントを追加することができる。更には、ドキュメンテーション１８０の自動的な生成に、ドキュメントテンプレート１４０を利用することができる。ソフトウェアプログラム１９０の自動的な生成に、ソフトウェアテンプレート１５０を利用することもできる。
【００２１】
幾つかの実施の形態においては、ドキュメンテーション１８０はソフトウェアプログラム１９０のマニュアルであってよい。ドキュメント１８０及びソフトウェア１９０は同一のツールモデル１２０から生成されるので、マニュアルとプログラムとの間での自動的な同期１８５を保証することができる。自動的な同期を、ソフトウェア又はマニュアルの更新中に達成することができる。
【００２２】
幾つかの実施の形態においては、ツールモデルと、ツールモデルを作成するための方法と、が提供される。ツールモデルは、関連するイクイップメント又はツールの変換可能な表現であってよい。そのような表現は、他の形式のツールモデル、例えば対応する詳細なツールモデル、例えば付加的なデフォルト要素、派生コンポーネント、又は、確立された標準の適合を可能にするコンポーネントを有するツールモデルに翻訳することができる。
【００２３】
幾つかの実施の形態においては、一つの大きいツールをモデリングするために、複数のモデルをリンクさせることができる。例えば、一つの大きいツールに関するツールモデルは、複数のツールモデルモジュールを含むことができ、更にそれらのツールモデルモジュールを、それらのモジュールのサブセットに分割することができる。モジュールのサブセットをリンクさせ、一つの大きいツールモデルに関するツールモデルを作成するための効率的な方法を提供することができる。
【００２４】
幾つかの実施の形態においては、ツールのツールモデル表現を生成するためのシステム及び方法が提供される。ツールモデルは、ツールのテキスト表現、グラフィック表現、シンボル表現及びプログラム表現を含むことができる。例えば、ツールモデルは、ツールが実行することができるコマンドを含む、ツール機能の記述のような、ツールのテキスト記述及びグラフィック記述を含むことができる。ツールのテキスト記述及びグラフィック記述は、ツールのコンポーネント、例えばモータ、センサ、圧力計、ロボットハンドラ等の記述も含むことができる。そのような記述はテキスト及び図形を含むことができる。ツールモデルは、ソフトウェアプログラム、例えば、ツールとのインタフェースを提供することができるソースコード又はオブジェクトコードを含むことができるので、それによりツールはコマンドを実行することができる。例えば、ツールモデルは、ソフトウェアプログラムによるリンケージでもって、ハードウェア通信が確立された後のセンサ状態の読み出しを可能にする、センサに関するオブジェクトコードを含むことができる。
【００２５】
幾つかの実施の形態においては、ツールモデルは、ツールの完全な表現又は部分的な表現を含むことができる。更に、ツールモデルの完全性を、ツールモデルの目的に応じて決定することができる。例えば、ドキュメンテーションを生成するために設計された完全なツールモデルは、プログラムコンポーネントを含まずに、テキスト情報及びグラフィック情報を有することができる。
【００２６】
幾つかの実施の形態においては、ツールモデルは、冗長性を全く持たない、ツールの単純化された表現、例えば、最小限度の記述を含むことができる。例えば、ツールモデルは、ツールの異なる状態又は機能、ツールの安全性に関する記述、又は、ツールの標準適合を含まずに、ツールのコンポーネントの記述を含むことができる。
【００２７】
図２には、幾つかの実施の形態による、ツールモデルが概略的に示されている。ツール２１０、例えば半導体処理ツールのようなイクイップメントを、簡潔なツールモデル２２０に翻訳２４０することができる。簡潔なツールモデル２２０は、機械的な記述、電気的な記述、機能記述、コマンド記述、プログラム２２５を含むことができる。択一的に、ツール２１０をより詳細なツールモデル２６０に翻訳（参照番号２４５）することができる。この翻訳を人間によって、例えばツールの記述を提供することによって実行することができる。変換によって、ツールのハードコピー又はソフトコピー、例えばツールの表現を含むファイルを生成することができる。変換を人間によって実行することができ、つまり、簡潔なツールモデル２２０を生成し、その簡潔なツールモデル２２０を続けて、プログラム２５０によって自動的に変換することができる。プログラム２５０は、より詳細なツールモデル２６０に対する入力としてのデフォルト、派生、標準の要素２３０も受け取ることができる。変換を支援するために、データベース、テンプレート、若しくはその他のファイル又はプログラムを、プログラム２５０にリンクさせることができる。続けて、ツールモデル２２０又は２６０を所望の機能、例えばツール２１０に関するドキュメント又はプログラムへと変換又は翻訳（参照番号２７０又は２７５）することができる。
【００２８】
図３には、幾つかの実施の形態による、ツールをモデリングするためのプロセスが概略的に示されている。イクイップメント又はツールをツールモデル３１０に翻訳することができる。ツールモデル３１０を、例えばソフトウェアプログラム又はツールコンパイラ３４０によって、種々のマニュアル、例えばユーザマニュアル３７０、ソフトウェアマニュアル３７２、サービスマニュアル３７４、メンテナンスマニュアル３７６、修理マニュアル３７８又は他の種類のマニュアルに翻訳又は変換することができる。ツールモデル３１０を、種々のソフトウェアプログラム、例えばオペレーティングソフトウェア３８０、テストソフトウェア３９０、診断ソフトウェア、ビルドソフトウェア又は他の種類のソフトウェアに翻訳又は変換することができる。種々のファイル３２５をプログラム３４０に組み込み、ツールモデルに関する、デフォルトコンポーネント、派生コンポーネント、標準コンポーネント、又はその他の付加的なコンポーネントを提供することができる。更に、データベーステンプレート３６０、例えば、ドキュメントのフォーマット又はスタイルのテンプレートを使用して、ドキュメンテーションに対する所望のフォーマット又はスタイル３７０〜３７８を提供することができる。ソフトウェアのフォーマット又はスタイルのテンプレートを使用して、ソフトウェア３８０又は３９０に対して所望のフォーマット又はスタイルを提供することができる。
【００２９】
択一的に、ツールモデル３１０を、プログラム３２０によって、より詳細なツールモデル３３０に変換することができる。より詳細なツールモデル３３０は、データベース又はファイル３２５から、デフォルトコンポーネント、派生コンポーネント及び標準コンポーネントを取り込むことができる。ツールモデル３３０を、例えばソフトウェアプログラム又はツールコンパイラ３５０によって、種々のマニュアル、例えばユーザマニュアル３７０、ソフトウェアマニュアル３７２、サービスマニュアル３７４、メンテナンスマニュアル３７６、修理マニュアル３７８又は他の種類のマニュアルに翻訳又は変換することができる。ツールモデル３３０を、種々のソフトウェアプログラム、例えばオペレーティングソフトウェア３８０、テストソフトウェア３９０、診断ソフトウェア、ビルドソフトウェア又は他の種類のソフトウェアに翻訳又は変換することができる。データベーステンプレート３６５、例えば、ドキュメントのフォーマット又はスタイルのテンプレートを使用して、ドキュメンテーションに対する所望のフォーマット又はスタイル３７０〜３７８を提供することができる。ソフトウェアのフォーマット又はスタイルのテンプレートを使用して、ソフトウェア３８０又は３９０に対して所望のフォーマット又はスタイルを提供することができる。
【００３０】
幾つかの実施の形態においては、ツールモデルをツールの設計又は解析によって作成することができる。ツールモデル表現を、ツールの要素又はコンポーネントを、対応するテキスト表現、グラフィック表現、シンボル表現、又は、オブジェクトコードによる表現に記述することによって作成することができる。例えばツールの各要素又はコンポーネントを、例えばモータ、センサ等のハードウェア要素に関して、又は、例えば位置０への回転、位置９０への回転等のような機能に関して、又は、例えば位置０、位置９０、位置０から位置９０への回転等のような状態又は状態モデルに関して記述することができる。
【００３１】
幾つかの実施の形態においては、ユーザによって選択された機能に従い、イクイップメントの表現を作成するためにシステム及び方法を実施することができる。例えば、ユーザはシステムを使用して、イクイップメントに関係するドキュメントを作成することができる。例えば、システムは適切なインタフェース、データベース及び／又はテンプレートを使用して、ツールモデル表現をユーザマニュアル、サービスマニュアル、修理マニュアル、オペレーティングソフトウェアのマニュアル及び対応するオペレーティングソフトウェアユーザマニュアル、又は、ビルド／テスト／診断ソフトウェアのマニュアル及び対応するソフトウェアのユーザマニュアルに翻訳することができる。
【００３２】
ツールモデル表現は、ツールの他のターゲットオブジェクトへの翻訳又は変換を容易にすることができる。例えば、ターゲットオブジェクトはマニュアル、例えばツールのドキュメンテーション、又はソフトウェア、例えばツールを実行するためのプログラムを含むことができる。ツールコンパイラは、幾つかの実施の形態において、各オブジェクトの編集、派生及び／又は変更を容易にすることができる。
【００３３】
幾つかの実施の形態においては、イクイップメントにおける各モジュールをツールモデルモジュールとして実施することができる。各ツールモデルモジュールは、例えば、ツールモデルモジュールによって表されるモジュールに関連するメソッド、プロパティ、関数及び／又はその他の特性を表す。ツールモデルベースの表現を、ツールモデルの編集及び変更を容易にするために使用することができる。更に、他の要素又はコンポーネントを、ツールモデル表現におけるモジュールから派生させることができる。
【００３４】
図４には、幾つかの実施の形態による、ツールモデルの生成が概略的に示されている。レチクル保管部４００は、種々のモジュール、例えばロードロックモジュール４１０及び４２０、回転モジュール４３０、ロボットハンドラモジュール４４０、保管モジュール４５０及び支持モジュール４６０を含むことができる。ポッドに保管されているレチクルを、ロードロック４１０又はロードロック４２０に供給することができ、ロボットハンドラ４４０によって拾い上げることができる。レチクルを回転ステーション４３０に置き、位置合わせして、レチクルの識別子を読み取ることができる。その後、レチクルを再び拾い上げて、保管部４５０に置くことができる。支持モジュール４６０は、レチクル保管システム４００の動作に関する、真空による支持、ガス供給、出力制御及びソフトウェア制御を提供することができる。レチクル保管システム４００をツールモデル４０５に翻訳（参照番号４９０）することができ、このツールモデル４０５は、レチクル保管部４００の記述を含むことができる。
【００３５】
図５には、幾つかの実施の形態による、ツールモデルが概略的に示されている。ツールモデル５３０は、名前部分５６０を含むことができ、この名前部分５６０はツールの記述も含むことができる。例えば、レチクル保管部に関しては、この名前部分５６０はレチクルストッカの名前と、そのレチクルストッカがレチクルの保管部であることの記述と、を含むことができる。ツールモデル５３０は、状態モデル部分５６１を含むことができ、この状態モデル部分５６１は、ツールの状態、例えばオンライン状態、オフライン状態、レチクルは搬送の準備ができているという状態、レチクルは回転ステーションにある状態等を含むことができる。また状態の遷移は、オンライン状態からオフライン状態への遷移、又は、レチクルがロードロックにある状態からレチクルが回転ステーションにある状態への遷移を含むことができる。状態モデル５６１は、状態間の種々のリンク及びツールに関する状態遷移を示す図を含むことができる。ツールモデル５３０は、コマンド部分５６２を含むことができ、このコマンド部分５６２は、レチクルを積み入れるコマンド、レチクルを取り出すコマンド、レチクルを回転させるコマンド、レチクルIDを読み取るコマンドを含むことができる。ツールモデル５３０は、ステータス部分５６３を含むことができる。ツールモデル５３０は、イクイップメント部分５６４を含むことができ、このイクイップメント部分５６４は、ロードロックモジュール、回転モジュール、ロボットモジュール、保管モジュール及び支持モジュールを含むことができる。モジュールの個々のイクイップメントを記述することもできる。ツールモデル５３０は、言語部分５６５、例えばi18nファイルを含むことができ、この言語部分５６５は、ツールモデルを種々の言語に機械翻訳して出力することができる。i18nファイルは、ソフトウェアアプリケーションを設計するプロセスを参照するものであり、潜在的には、エンジニアリングを変更することなく、局地的に特化したコンポーネント及び翻訳テキストを追加することによって特定の地域又は言語に国際化ソフトウェアを適合させるプロセスを用いて、種々の言語及び地域に適合させることができる。ツールモデル５３０は、標準部分５６６を含むことができ、この標準部分５６６によって、規則又は標準が要求するコンポーネントを取り込むことができる。ツールモデル５３０は、シミュレーション部分５６７を含むことができ、このシミュレーション部分５６７は、ツールシミュレーションを生成することができ、例えば、幾つかのコンポーネントを必要とせずにツールを実行することができる。ツールモデル５３０は、ツールモデルをソフトウェアプログラムに変換することができるサブルーチン部分５６８、例えばモータを回転させるためのオブジェクトコード又はセンサを読み取るためのオブジェクトコードを含むことができる。それ以外の部分、例えば外部ファイルへのリンケージ、例えばツールモデルを読みやすくするためのリンケージを含むこともできる。
【００３６】
幾つかの実施の形態においては、一つのツールモデルが、異なるモジュールに関する複数のツールモデルのような複数の部分を含むことができる。ツールモジュールは、一つのツールの複数のハードウェアコンポーネントのセットであってよい。例えば、ツールモジュールはモータであってよいが、回転可能なモータ及び動きの位置を検出する複数のセンサを含む回転ステーションであってもよい。
【００３７】
図６には、幾つかの実施の形態による、ツールのマルチモジュールツールモデルへの翻訳が概略的に示されている。レチクル保管部６００は、種々のモジュール、例えばロードロックモジュール６１０及び６２０、回転モジュール６３０、ロボットハンドラモジュール６４０、保管モジュール６５０及び支持モジュール６６０を含むことができる。レチクル保管部６００をツールモデル６０５に翻訳することができ、このツールモデル６０５は、それぞれが一つのツールモジュールに対応する種々のツールモデルモジュールを含んでいる。例えば、ツールモデル６０５は、ツール６００の全てのモジュールの統合体の表現であるツールモデル６７５を含むことができる。ツールモデル６０５は、それぞれがロードロックモジュール６１０及び６２０の記述を含んでいるツールモデル６１５及び６２５を含むことができる。ツールモデル６０５は、回転ステーションモジュール６３０を含んでいるツールモデル６３５を含むことができる。ツールモデル６０５は、ロボットハンドラモジュール６４０の記述を含んでいるツールモデル６４５を含むことができる。ツールモデル６０５は、保管モジュール６５０の記述を含んでいるツールモデル６５５を含むことができる。ツールモデル６０５は、支持モジュール６６０の記述を含んでいるツールモデル６６５を含むことができる。
【００３８】
図７には、幾つかの実施の形態による、レチクルストッカのモジュール統合体に関するツールモデルの一例が示されている。ツールモデル７８０は、モジュール統合体の名前部分７６０、状態部分７６１、コマンド部分７６２、ステータス部分７６３、イクイップメント部分７６４及びエラー部分７６５を含むことができる。ツールモデル７８０は、それら複数のモジュールに特化した記述に関する別個のツールモデルと共に、種々のモジュールの統合体の記述を含んでいる。例えば、ツールモデル７８０の状態部分７６１は、ツール７００の種々の状態、例えばメンテナンス状態、初期設定状態、テスト実行サイクル状態及び生産状態を含むことができる。コマンド部分７６２は、ツールの運転に関するコマンド、例えばレチクルの積み入れに関するコマンド又はレチクルの取り出しに関するコマンドを含むことができる。ステータス部分７６３は、ツールのステータス、例えば、全体ステータス、真空ステータス、出力ステータス、気圧ステータス、メンテナンスステータス、エラーステータス、及び、緊急遮断（EMO：emergency off）ステータスを含むことができる。イクイップメント部分７６４は、ロードロック７１０及び７２０、回転ステーション７３０、ロボットハンドラ７４０、保管チャンバ７５０及び支持モジュール７７０を含むことができる。エラー部分７６５は、ロードロックエラー、回転ステーションエラー、ロボットエラー、保管チャンバエラー、支持エラー、接続エラー、イクイップメントエラー、初期設定エラー及び未知のエラーを含むことができる。
【００３９】
図８には、幾つかの実施の形態による、回転ステーションモジュールに関するツールモデルの一例が示されている。回転ステーション８１０は、回転モータ８１１を含むことができ、この回転モータ８１１は、基板８１６を回転させるように構成されている。回転ステーション８１０は、センサ８１２も含むことができ、このセンサ８１２は、基板８１６の存在を検出するように構成されている。回転ステーション８１０は、複数のセンサ８１３，８１４及び８１５も含むことができ、それらのセンサ８１３，８１４及び８１５は、回転の種々の位置を検出するように構成されている。例えば、レチクルは回転ステーションにおいて、IDを読み取ることができない位置に配置される可能性がある。従って、モータ８１１は、レチクルのIDがカメラのような読み取り機構に晒されるように種々の位置に回転させることができる。
【００４０】
回転モジュール８１０に関するツールモデル８８０は、回転モジュールの名前部分８６０、状態部分８６３、コマンド部分８６１、ステータス部分８６５、イクイップメント部分８６４及びエラー部分８６２を含むことができる。ツールモデル８８０は、回転ステーションの個々のコンポーネントに関する記述と共に、回転ステーション８１０の記述を含むことができる。例えば、ツールモデル８８０の状態部分８６３は、回転ステーション８１０の種々の状態、例えば位置０にある状態、位置９０にある状態、位置１８０にある状態及びレチクルが検出された状態及びレチクルが検出されない状態を含むことができる。コマンド部分８６１は、回転ステーションの運転に関するコマンド、例えば、レチクルを位置０へと回転させるコマンド、レチクルを位置９０へと回転させるコマンド、レチクルを位置１８０へと回転させるコマンド、及び、障害クリアコマンド又は回転停止コマンドのようなその他のコマンドを含むことができる。ステータス部分８６５は、回転ステーション８１０のステータス、例えば、レチクルが存在するか否か、モータが位置０にあるか否か、モータが位置９０にあるか否か、モータが位置１８０にあるか否か、又は、回転ステーションにエラーがあるか否かを含むことができる。イクイップメント部分８６４は、モータ８１１、レチクルセンサ８１２及び位置センサ８１３〜８１５を含むことができる。エラー部分８６２は、モータエラー、位置センサエラー、レチクル検出センサエラー、接続エラー、イクイップメントエラー、初期設定エラー及び未知のエラーを含むことができる。
【００４１】
図９Ａ及び図９Ｂには、幾つかの実施の形態による、ツールモデルを生成するためのフローチャートが示されている。図９Ａにおいては、ツールモデルをツールから提供することができる。ツールモデルはツールの表現を含むことができ、従って、ツールに関する種々の機能、例えばツールドキュメンテーション又はツールソフトウェアを生成することができる。オペレーション９００において、ツールモデルがツールから提供される。ツールモデルは、テキスト記述、イメージ記述、シンボル記述又はプログラム記述を含んでいる。テキスト記述は、ツールを記述するパラグラフ、例えばツール又はコンポーネントの機能を記述するパラグラフ、若しくは、ツールの目的又は状態を記述するパラグラフを含むことができる。イメージ記述は、図形を含むことができるか、又は、プログラムを使用して編集することができるソフトウェアファイル（例えばズーム、移動又は回転を行うことができる３Ｄファイルを）を含むことができる。シンボル記述は、例えば、ツールの付加的な情報又は記述を提供することができる外部のファイル又は要素へのリンクを含むことができる。プログラム記述は、オブジェクトコード又はソースコードを含むことができ、それらのコードによってソフトウェアプログラムは、例えばプログラムとのリンクによって、ツールを運転させることができる。
【００４２】
図９Ｂにおいては、複数のツールモジュールを含んでいるツールモデルをツールから提供することができる。オペレーション９１０においては、それぞれがツールの一つのツールモジュールに対応している、個々の複数のツールモデルを提供することができる。個々のツールモデルは、テキスト記述、イメージ記述、シンボル記述又はプログラム記述を含むことができる。オペレーション９２０においては、統合されたツールモデルが提供される。統合されたツールモデルは、テキスト記述、イメージ記述、シンボル記述又はプログラム記述を含むことができる。統合されたツールモデルは、モジュール間のインタラクションの情報及び記述を含むことができる。オペレーション９３０においては、ツールに関するツールモデルが提供され、その際、ツールモデルは個々のツールモデル及び統合されたツールモデルを含んでいる。
【００４３】
幾つかの実施の形態においては、イクイップメント又はツールをイクイップメントのツールモデル表現、又はイクイップメントのユーザ選択された機能、例えばドキュメンテーション又はソフトウェアに変換するために、ツールコンパイラを提供することができる。ツールコンパイラを高水準言語で提供することができ、また更には、低水準言語、例えば実行可能なアセンブリ言語又は中間言語へとソフトウェアコンパイルすることができる。
【００４４】
コンパイラプログラムは、変換プロセスを、例えばツールモデル表現変換を、所望の機能へと、例えばツールドキュメンテーション又はソフトウェアへと、又は、対応する低水準言語へと、又は、実行可能な言語表現へと、又は、中間言語表現へと変換するためにも使用することができる。コンパイラは、例えば、ツールモデルを例えばドキュメンテーションに変換することができるコンパイラインタフェースを使用することができる。コンパイラインタフェースは、コンパイルプロセスの結果、例えば対応するオブジェクトコード、コンパイルプロセスに関連する何らかのエラーの示唆、及び／又は、生成されたアセンブリについてのポインタ又はファイル名を戻すことができる。
【００４５】
幾つかの実施の形態においては、ツールを対応するツールモデル表現（例えばテキスト表現、グラフィック表現、シンボル表現又は実行可能なプログラム表現）に変換するためにツールコンパイラを使用することができる。例えば、ツールコンパイラは、単純化された又は簡潔なツールモデルをツールの所望のツールモデル表現に変換することができる、関連するインタフェースコンポーネントを有しているインタフェースを使用することができる。例えば、インタフェースコンポーネントは、デフォルトオブジェクト、提供されたオブジェクトからの派生したオブジェクト、及び、規則、例えば標準規則又は安全規則を満たすオブジェクトに関する表現を生成するために各コンポーネントを含むことができる。ツールモデル表現は、いずれかの特定の言語への変換を可能にする国際的なコンポーネント、例えばi18nファイルも含むことができる。
【００４６】
幾つかの実施の形態においては、ツール又はイクイップメントをモデリングするためにツールハードウェア記述言語（THDL：Tool Hardware Description Language）を用いる高水準言語（HLL）のファンクションの使用に関するシステム及び方法が提供される。それらの方法は、HLLのファンクションをツールのツールモデル表現に組み込むステップを備えることができる。またそれらの方法は、ツールのツールモデル表現の属性を識別するステップと、属性の派生物、例えばデフォルトコンポーネント、派生コンポーネント、又は規則を満たすコンポーネントを求めるステップと、を備えている。
【００４７】
幾つかの実施の形態においては、ツールをその記述表現に変換するため、また記述表現をユーザ定義された機能、例えばツールに関するソフトウェアのドキュメンテーションに変換するためのシステム及び方法が提供される。ユーザ定義された機能へのツールモデル表現の変換を、上述の方法を実行するツールコンパイラを使用して達成することができる。
【００４８】
幾つかの実施の形態においては、コンパイラは関連するリンクを読み出すことができるか、又はロードすることができる。リンクファイルは、大きいツールをコンパイルするために使用されるべきモジュール式アプローチ又はインクリメンタルアプローチを容易にすることができ、またそのようなアプローチを実現することができる。またリンクファイルは、その他の必要とされるコンポーネント又は要素を含むことを容易にすることができ、またそれを実現することができる。例えば、複数のモジュールを有している一つのツールを、多数のモデルモジュールによって表現することができる。
【００４９】
幾つかの実施の形態においては、同一のツールのツールモデル入力に基づいて、より詳細なツールモデル表現を生成するためのシステム及び方法が提供される。単純化されたツールモデル表現を人間によって準備することができる。この単純化ツールモデルを、例えばソフトウェアプログラムによって処理して、より詳細な、又はより完全なツールモデル表現を戻すことができる。
【００５０】
幾つかの実施の形態においては、詳細なツールモデルを、ツールモデル入力に基づくプロセスの生成を提供するためにライブラリ、データベース、テンプレート又はその他のコンポーネントにリンクさせることができるプログラムから生成することができる。幾つかの実施の形態においては、詳細なツールモデルを、ユーザからの入力に基づいて付加的な情報を提供することができるインタラクティブなテンプレート又はプログラムから生成することができる。
【００５１】
幾つかの実施の形態においては、単純化されたツールモデル表現はツールの記述を含むことができ、また、人間が要する労力及び時間が最小限となるように設計することができる。例えば、ツールの重要な要素を、単純化されたツールモデルに入力することができる。その他の要素又はコンポーネントを、例えば、ライブラリ、テンプレート又はプログラムによって自動的に生成することができる。
【００５２】
単純化されたツールモデルは、ツールの物理的なハードウェア、例えばモータ、センサ、計器、流量コントローラ、圧力コントローラ、真空ポンプ及びヒータを含むことができる。単純化されたツールモデルは、ツールのハードウェアモジュール、例えば回転ステーション、ロボットハンドラ、保管チャンバ、支持システム、例えば真空アセンブリ、ガス供給アセンブリ、電気的な搬送部、及びホスト通信アセンブリを含むことができる。例えば、回転ステーションを、回転モータ、回転されるように構成されている基板の存在を検出するセンサ、回転モータの位置、例えば回転モータが０°、９０°又は１８０°のいずれかの位置にあることを検出する複数のセンサを有するように記述することができる。レチクル保管部は、ロードロックモジュール、回転ステーションモジュール、ロボットハンドラモジュール、保管チャンバモジュール、及び機械的な支持、電気的な支持、真空による支持及び通信による支持を提供する支持モジュールを有するように記述することができる。
【００５３】
その他の記述、例えばツールの機能又は状態も使用することができる。例えば、回転ステーションを、回転されるように構成されている基板の存在を検出する機能、基板を０°、９０°又は１８０°のいずれかの位置へと回転させる機能を有するように記述することができる。択一的に、回転ステーションを、複数の状態を有するように、例えば基板が存在する状態、基板が存在しない状態、０°の位置へと回転する状態、９０°の位置へと回転する状態又は１８０°の位置へと回転する状態を有するように記述することができる。レチクル保管部を、保管チャンバに保管されるべきレチクルを収容する機能、保管チャンバからレチクルを取り出す機能、保管チャンバに保管されているレチクルを識別する機能、レチクルを保管するために利用可能な保管コンパートメントをカウントする機能、及び、ホストシステムと通信するためのコマンドを有するように記述することができる。
【００５４】
図１０Ａから図１０Ｃには、幾つかの実施の形態による、単純化されたツールモデルの種々の実施例が示されている。図１０Ａにおいて、ツールモデル１０３０は、ツール又はツールモジュールの名前１０６０及びコマンド記述１０６１を含むことができる。他の記述を、ツールモデル１０３０から生成して、より詳細なツールモデルを提供することができる。図１０Ｂにおいて、ツールモデル１０３３は、ツール又はツールモジュールの名前１０６０及びイクイップメント記述１０６２を含むことができる。他の記述を、ツールモデル１０３３から生成して、より詳細なツールモデルを提供することができる。図１０Ｃにおいて、ツールモデル１０３６は、ツール又はツールモジュールの名前１０６０及び状態記述１０６３を含むことができる。他の記述を、ツールモデル１０３６から生成して、より詳細なツールモデルを提供することができる。
【００５５】
幾つかの実施の形態においては、ツールモデルに関する最小限の記述を使用することができる。最小限のツールモデルが十分でないことが分かれば、付加的な記述を追加することもできる。ツールモデルの最小限の記述を、ツールモデルの目的に応じて決定することができる。例えば、ソフトウェアを生成するために設計されている最小限のツールモデルは、ツールのコンポーネントの物理的な記述は含まずに、ツールの種々のコンポーネントと通信するため、また種々のコンポーネントを運転するためのオブジェクトコードを有することができる。
【００５６】
幾つかの実施の形態においては、単純化されたツールモデルを、より詳細なツールモデル又はより完全なツールモデルに変換することができる。この変換は、デフォルトコンポーネント、記述されたコンポーネントから派生したコンポーネント、又は、特定のルール又は規則を順守するために生成されたコンポーネントの取り込みを含むことができる。その他のコンポーネント、例えばホスト通信、イクイップメント通信及びオペレーションプログラム等も変換プロセスに含めることができる。
【００５７】
幾つかの実施の形態においては、ツールモデルに関する完全な記述を、単純化されたツールモデルから生成することができる。ツールモデルの完全な記述を、ツールモデルの目的に応じて決定することができる。例えば、修理ドキュメンテーションのために設計された完全なツールモデルは、プログラムコンポーネントを含まずに、コンポーネントの導入及びテストに関する情報を有することができる。更には、例えばツールモデルコンフィギュレーションの目的であるツールのソフトウェアのコンフィギュレーションのようなアウトプットを生成している間に、付加的な記述を提供することができる。
【００５８】
上述の方法は、ツールのツールモデル表現の合成の間に、属性に関する派生物を使用するステップを備えることができる。派生物の決定は、デフォルトコンポーネント、派生コンポーネント又は標準コンポーネントを自動的に生成するファンクションの呼び出し及び実行を含むことができる。属性は、コンポーネント、モジュール、状態モデル、又は、ツールの機能であってもよく、派生物の決定は、所定の要求に従うツールモデルの提供を含むことができる。
【００５９】
上述の方法は更に、ツールのツールモデル表現のコンパイルの間にアクセスされるべきライブラリを特定するステップを備えることができる。ライブラリは、ツール又はツール産業に関する標準、データベース、ルールドキュメント又はテンプレートを含むことができる。
【００６０】
幾つかの実施の形態においては、変換プロセスは、デフォルトコンポーネントの生成を含むことができる。例えば、回転ステーションの単純化されたツールモデルは、回転モータを位置０へと回転させるためのコマンドを含むことができる。変換プロセスは、モータを回転させるコマンドの他に、例えばコントローラからモータへの通信確立コマンド又は初期設定コマンドを生成することができる。更に、位置０にあるセンサのステータスの変化を検出する検出コマンド及び停止コマンドを生成し、モータを位置０へと回転させるコマンドを完全なものにすることができる。その他のデフォルトコンポーネント、例えば、回転ステーションの経過及びステータスを記録するためのログコマンド；回転動作の間に発せられた何らかの警告を記憶する警告ログコマンド；エラーが深刻なものである場合にオペレータに対して警告するか、若しくは、エラーが深刻でないか又はリカバリ可能である場合にエラーを無視するか又はコマンドを繰り返す、プロセスエラーに対するエラーリカバリコマンド；あらゆるエラーをクリアするための障害クリアコマンドも生成することができる。デフォルトコンポーネントを事前に規定し、変換プロセスにリンクさせることができる。デフォルトコンポーネントは、利用可能なコンポーネントを、その利用可能なコンポーネントに関連するその他の種々のコンポーネントにリンクさせるルールセットから生成することができる。デフォルトコンポーネントの生成は、変換プロセスにリンクされたライブラリ又はデータベースフォーマットに提供することができる付加的な情報を要求することができる。
【００６１】
幾つかの実施の形態においては、変換プロセスは、派生コンポーネント、例えば既存のコンポーネントからの派生する付加的なコンポーネントの生成を含むことができる。例えば、単純化されたツールモデルは、ツールの物理的なハードウェアコンポーネント及び／又はモジュールを含むことができる。変換プロセスは、ツールハードウェアから派生するその他のコンポーネント、例えばコマンド、ステータス、状態、状態モデル又はプログラムコードを生成することができる。例えば、回転ステーションの単純化されたツールモデルは、回転するモータを、そのモータの位置を検出し、また、基板が存在するか否かを検出するための複数のセンサと共に、含むことができる。モータ及びセンサを、コマンドコンポーネントの派生に使用することができる。例えば、変換プロセスは、回転モータを、位置センサによって検出された位置へと回転させるコマンド、及び、基板の存在を検出するコマンドを生成することができる。その他の派生コンポーネント、例えば、回転ステーションのステータス、例えば基板が存在するか否か、又は、モータの位置；回転ステーションの状態、例えば位置０，９０，１８０についての状態０〜２、基板が検出される状態３及び基板が検出されない状態４；種々の状態間の状態遷移、状態及び状態遷移を含む状態モデル、及び、回転モータを運転させるため、またセンサを読み取るためのソフトウェアコードも、生成することができる。
【００６２】
派生コンポーネントを事前に規定し、変換プロセスにリンクさせることができる。派生コンポーネントは、利用可能なコンポーネントを、その利用可能なコンポーネントに関連するその他の種々のコンポーネントにリンクさせるルールセットから生成することができる。派生コンポーネントの生成は、変換プロセスにリンクされたライブラリ又はデータベースフォーマットに提供することができる付加的な情報を要求することができる。
【００６３】
図１１には、幾つかの実施の形態による、ツールモデルからのその他の記述の生成が示されている。図１１には、モータ１１１１、レチクルセンサ１１１２及び複数の位置センサ１１１３〜１１１５を有している、回転ステーション１１１０が示されている。回転ステーション１１１０に関するツールモデル１１８０は、名前１１６０及びコマンドの記述１１６１を含むことができ、このコマンドの記述１１６１は、回転させるコマンド、レチクルを検出するコマンド、障害クリア及び停止コマンドを含んでいる。それらのコマンドに関するプレコンディション、例えば、コマンドを実行できる前にツール又は回転ステーションはイネーブル状態にあるという要求を含ませることができる。その他のプレコンディションは、モータが回転する前に要求されるレチクルの検出であってよい。ツールモデル１１８０を、状態記述１１６３、イクイップメント記述１１６４、ステータス記述１１６５及びエラー記述１１６２のような付加的な記述を含むことができるより詳細なツールモデル１１８２に変換（参照番号１１７０）することができる。
【００６４】
状態記述１１６３は、回転するモータの種々の状態、例えば位置０にある状態、位置９０にある状態及び位置１８０にある状態を含むことができる。状態記述はまた、レチクルが検出された状態又はレチクルが検出されない状態も含むことができる。それらの状態をコマンド記述１１６１から派生させることができる。例えば、位置０へと回転させるコマンドを使用して、位置０にある状態を派生させて追加することができる。レチクルを検出するコマンドを使用して、レチクルが検出された状態又はレチクルが検出されない状態を派生させて追加することができる。
【００６５】
イクイップメント記述１１６４は、回転ステーションの種々のイクイップメント、例えば回転モータ１１１１、レチクルセンサ１１１２、位置０、位置９０及び位置１８０にある複数の位置センサ１１１３〜１１１５を含むことができる。このイクイップメント記述をコマンド記述１１６１から派生させることができる。例えば、位置０へと回転させるコマンドを使用して、モータのイクイップメント及び位置０にあるセンサのイクイップメントを派生させて追加することができる。レチクルを検出するコマンドを使用して、レチクルセンサのイクイップメントを派生させて追加することができる。
【００６６】
ステータス記述１１６５は、回転ステーションの種々のステータス、例えば、レチクルが検出されるか否か、モータが位置０にあるか否か、モータが位置９０にあるか否か、又は、モータが位置１８０にあるか否か、また、回転ステーションにエラーがあるか否かを含むことができる。それらのステータスをコマンド記述１１６１から派生させることができる。例えば、位置０へと回転させるコマンドを使用して、モータが位置０にあるか否かのステータス、またシステムにエラーがあるか否かのステータスを派生させて追加することができる。レチクルを検出するコマンドを使用して、レチクルが存在するか否かのステータスを派生させて追加することができる。
【００６７】
エラー記述１１６２は、回転ステーションの種々のエラー、例えば、モータにエラーがあるか否か、位置０にあるセンサにエラーがあるか否か、位置９０にあるセンサにエラーがあるか否か、位置１８０にあるセンサにエラーがあるか否か、レチクルセンサにエラーがあるか否か、接続エラーがあるか否か、イクイップメントエラーがあるか否か、初期設定エラーが存在するか否か、及び、未知のエラーがあるか否かを含むことができる。それらのエラーをコマンド記述１１６１から派生させることができる。例えば、位置０へと回転させるコマンドを使用して、モータにエラーがあるか否かのエラー、位置０にあるセンサにエラーがあるか否かのエラー、接続エラーがあるか否かのエラー、イクイップメントエラーがあるか否かのエラー、初期設定エラーがあるか否かのエラー、及び、未知のエラーがあるか否かのエラーを派生させて追加することができる。
【００６８】
図１２には、幾つかの実施の形態による、ツールモデルからのその他の記述の生成が示されている。図１２には、モータ１２１１、レチクルセンサ１２１２及び複数の位置センサ１２１３〜１２１５を有している、回転ステーション１２１０が示されている。回転ステーションに関するツールモデル１２８０は、名前１２６０及びイクイップメントの記述１２６４を含むことができ、このイクイップメントの記述１２６４は、回転モータ１２１１、レチクルセンサ１２１２、位置０、位置９０及び位置１８０にある複数の位置センサ１２１３〜１２１５を含んでいる。
【００６９】
ツールモデル１２８０を、状態記述１２６３、コマンド記述１２６１、ステータス記述１２６５及びエラー記述１２６２のような付加的な記述を含むことができるより詳細なツールモデル１２８２に変換（参照番号１２７０）することができる。
【００７０】
状態記述１２６３は、回転するモータの種々の状態、例えば位置０にある状態、位置９０にある状態及び位置１８０にある状態を含むことができる。状態記述はまた、レチクルが検出された状態又はレチクルが検出されない状態も含むことができる。それらの状態をイクイップメント記述１２６４から派生させることができる。例えば、モータ及び位置０にある位置センサを使用して、位置０にある状態を派生させて追加することができる。レチクルセンサを使用して、レチクルが検出された状態又はレチクルが検出されない状態を派生させて追加することができる。
【００７１】
コマンド記述１２６１は、回転ステーションの種々のコマンド、例えば、回転させるコマンド、レチクルを検出するコマンド、障害クリア及び停止コマンドを含むことができる。それらのコマンドに関するプレコンディション、例えば、コマンドを実行できる前にツール又は回転ステーションはイネーブル状態にあるという要求を含ませることができる。その他のプレコンディションは、モータが回転する前に要求されるレチクルの検出であってよい。それらのコマンドをイクイップメント記述１２６４から派生させることができる。例えば、モータ及び位置０にある位置センサを使用して、位置０へと回転させるコマンドを派生させて追加することができる。レチクルセンサを使用して、レチクルを検出するコマンドを派生させて追加することができる。
【００７２】
ステータス記述１２６５は、回転ステーションの種々のステータス、例えば、レチクルが検出されるか否か、モータが位置０にあるか否か、モータが位置９０にあるか否か、又は、モータが位置１８０にあるか否か、また、回転ステーションにエラーがあるか否かを含むことができる。それらの状態をイクイップメント記述１２６４から派生させることができる。例えば、モータ及び位置０にある位置センサを使用して、モータが位置０にあるか否かのステータス、またシステムにエラーがあるか否かのステータスを派生させて追加することができる。レチクルセンサ及びレチクルを検出するコマンドを使用して、レチクルが存在するか否かのステータスを派生させて追加することができる。
【００７３】
エラー記述１２６２は、回転ステーションの種々のエラー、例えば、モータにエラーがあるか否か、位置０にあるセンサにエラーがあるか否か、位置９０にあるセンサにエラーがあるか否か、位置１８０にあるセンサにエラーがあるか否か、レチクルセンサにエラーがあるか否か、接続エラーがあるか否か、イクイップメントエラーがあるか否か、初期設定エラーが存在するか否か、及び、未知のエラーがあるか否かを含むことができる。それらのエラーをイクイップメント記述１２６４から派生させることができる。例えば、モータ及び位置０にある位置センサを使用して、モータにエラーがあるか否かのエラー、位置０にあるセンサにエラーがあるか否かのエラー、接続エラーがあるか否かのエラー、イクイップメントエラーがあるか否かのエラー、初期設定エラーがあるか否かのエラー、及び、未知のエラーがあるか否かのエラーを派生させて追加することができる。
【００７４】
幾つかの実施の形態においては、変換プロセスは、標準コンポーネント、例えば、ルール、規則又は標準を満たすために要求される付加的なコンポーネントを含むことができる。例えば、変換プロセスは、例えば、高温のヒータ又は危険な化学物質に関する安全警報を生成することができる。変換プロセスは、ツールの標準化を満たすために要求されるコンポーネントを生成することもできる。例えば、半導体製造装置に関する標準はホスト通信プロトコルを含むことができ、例えば製造装置のベンダによって管理される製造装置コンピュータ及びコンポーネントにアクセスするために、設備システムによって管理されるリモートホストを半導体製造装置が提供するという要求を含むことができる。変換プロセスは、半導体製造装置に関する標準要求を生成することができ、例えば、例外管理の標準（例えばSemi E41標準）を満たすための警告リカバリアクション、警告タイプ、警告識別；又は、ホストに報告されるべきデータ及びイベントを、種々のコマンドと共に、ホストによって実行し、SECS/GEM（Semi Equipment Communications Standard/Generic Equipment Model, Semi E30 standard）の標準を満たすことができる。
【００７５】
例えば、変換プロセスは、半導体製造装置に関する標準コンポーネント、例えばレチクル保管部、データ、イベント報告、例外又は状態モデルを生成することができる。
【００７６】
例えば、標準変換プロセスは、ホスト通信コマンド、例えばコマンド識別子、コマンドパラメータ、ホストイベントレポート、例えばコマンドが拒絶された、コマンドがまもなく送信される、コマンドが送信された等のレポートを生成することができる。標準変換プロセスは、例外管理、例えば接続の問題、初期設定の問題、コンポーネントの問題等を生成することができ、それらはID番号、メッセージ及びリカバリアクションをそれぞれ有している。標準変換プロセスは、ツールに関する複数の状態及び状態遷移を含んでいる状態モデルを生成することができる。例えば、レチクル保管イクイップメントは、レチクル搬送状態モデル、アクセス状態モデル、レチクルポッド状態モデルのステータス等を有することができる。
【００７７】
標準コンポーネントを事前に規定し、変換プロセスにリンクさせることができる。標準コンポーネントは、例えば、ツールに関連する標準ドキュメントから変換されるルールセットから生成することができる。標準コンポーネントの生成は、変換プロセスにリンクされたライブラリ又はデータベースフォーマットに提供することができる付加的な情報を要求することができる。
【００７８】
図１３には、幾つかの実施の形態による、ツールモデルからの標準記述の生成が示されている。図１３には、モータ１３１１、レチクルセンサ１３１２及び複数の位置センサ１３１３〜１３１５を有している、回転ステーション１３１０が示されている。回転ステーションに関するツールモデル１３８０は、名前１３６０及びその他の記述を含むことができる。
【００７９】
ツールモデル１３８０を、半導体製造装置に関するSemi標準のような標準要求１３６３を満たす付加的な記述を含むことができるより詳細なツールモデル１３８２に変換（参照番号１３７０）することができる。標準記述は、リモートユニークID１３７３、変数１３７１、イベント報告１３７２、警告１３７４、状態モデル１３７５及びリモートコマンド１３７６を含むことができる。標準記述を、半導体製造装置に関するSemi標準、例えばホスト通信に関する標準E30、例外管理に関する標準E41及びレチクル管理に関する標準E109から派生させることができる。
【００８０】
リモートユニークID１３７３を、特定のイベントに関するユニークな識別を提供するために、カウンタから生成することができる。変数記述は、ツールのステータス及び状態を知るために、ホストによってポーリングすることができるデータを含むことができる。変数は、実行されたコマンドを識別することができるコマンド識別子、ツールを識別することができるイクイップメント識別子、コマンドに対して提供されるコマンドパラメータ、コマンドが実行されない理由を識別する、コマンドが拒絶された理由を含むことができる。その他の変数も追加することができる。
【００８１】
イベント報告１３７２は、コマンドが拒絶されたことを報告する、拒絶されたコマンドのイベント、コマンドがまもなく送信されることを報告する、まもなく送信されるコマンドのイベント、コマンドが送信されたことを報告する、送信されたコマンドのイベントを含むことができる。報告のためにその他のイベントも含ませることもできる。
【００８２】
警告１３７４は、PLCコントローラによってエラーが存在することを通知するPLC（programmable logic controller）警告、及び、レチクルがストッカにおいて検出され、従ってストッカを初期状態にできないことを通知する初期設定警告を含むことができる。その他の警告も含ませることができる。
【００８３】
状態モデル１３７５は、レチクルロードポートへのポッドのホストビューを規定する関連性状態モデル、イクイップメントアクセスモードのホストビューを規定するアクセスモード状態モデル、レチクルポッドのホストビューを規定するアクセス状態モデルを含むことができる。その他の状態モデル、例えばレチクル搬送状態モデル、レチクルIDステータス状態モデル、又は、ポッドスロットマップステータス状態モデルを含ませることができる。
【００８４】
リモートコマンド１３７６は、ホストシステムがツールに提供することができるコマンドを含むことができる。リモートコマンドは、レチクルIDのようなパラメータに関連させて、レチクルを配置するコマンドを含むことができる。その他のリモートコマンド、例えばポッドを配置するためのコマンドを含ませることができる。
【００８５】
図１４には、幾つかの実施の形態による、ツールモデルからの状態モデルの生成が示されている。図１４には、モータ１４１１、レチクルセンサ１４１２及び複数の位置センサ１４１３〜１４１５を有している、回転ステーション１４１０が示されている。回転ステーションに関するツールモデル１４８０は、名前１４６０及びその他の記述を含むことができる。
【００８６】
ツールモデル１４８０を、標準要求を満たす付加的な記述を含むことができるより詳細なツールモデル１４８２に変換（参照番号１４７０）することができる。標準記述は、状態モデル１４６３を含むことができる。
【００８７】
状態モデル１４６３は、レチクルロードポートへのポッドのホストビューを規定する結合状態モデル１４２１を含むことができる。関連性状態モデルは、ロードポートに対してポッドの関連性が存在しないことを表す、関連性のない状態を含むことができる。関連性状態モデルは、ポッドIDがレチクルロードポートに関連付けられていることを表す、関連性のある状態を含むことができる。その場合には、そのロードポートを、新たなロードポートの関連付けに対して利用することはできない。関連性状態モデルは、状態間の種々の遷移、例えば、システムリセット遷移を規定する遷移＃１、レチクルロードポートにポッドIDが関連付けられたことを規定する、関連性のない状態から関連性のある状態への遷移＃２、及び、関連性が解消されたことを規定する、関連性のある状態から関連性のない状態への遷移＃３を含むことができる。
【００８８】
状態モデル１４６３は、アクセスモードを切り換えるためのイクイップメントとのホストインタラクションと共に、イクイップメントアクセスモードのホストビューを規定する、アクセスモード状態モデル１４２２を含むことができる。アクセスモード状態モデルは、手動でのみポッド搬送が許可されていることを表すマニュアル状態、及び、自動的なポッド搬送が許可されていることを表すオート状態を含むことができる。アクセスモード状態モデルは、状態間の複数の遷移、例えば、システムリセット遷移を規定する遷移＃１、アクセスサービスのオート状態への変更が実行されたことを規定する、マニュアル状態からオート状態への遷移＃２、アクセスサービスのマニュアル状態への変更が実行されたことを規定する、オート状態からマニュアル状態への遷移＃３を含むことができる。
【００８９】
図１５Ａから図１５Ｅには、幾つかの実施の形態による、ツールモデルを生成するためのフローチャートが示されている。図１５Ａにおいて、オペレーション１５１０では、人間がツールモデルを含んでいるファイルを作成する。ツールモデルは、ツールのテキスト記述、図形記述、シンボル記述又はプログラム記述を含んでいる。
【００９０】
図１５Ｂにおいて、オペレーション１５２０では、人間がツールモデルを含んでいるファイルを作成するためにテンプレートを満たす。ツールモデルは、ツールのテキスト記述、図形記述、シンボル記述又はプログラム記述を含んでいる。
【００９１】
図１５Ｃにおいて、オペレーション１５３０では、人間がツールモデルを含んでいるファイルを作成するためにテンプレートを満たす。ツールモデルは、ツールのテキスト記述、図形記述、シンボル記述又はプログラム記述を含んでおり、またテンプレートは入力に基づいて、プロンプト及びデータの自動生成と相互作用する。
【００９２】
図１５Ｄにおいて、オペレーション１５４０では、入力としての単純化されたツールモデルを使用して、より詳細なツールモデルを含んでいるファイルを作成するためにプログラムが実行される。ツールモデルは、ツールのテキスト記述、図形記述、シンボル記述又はプログラム記述を含んでいる。
【００９３】
図１５Ｅにおいて、オペレーション１５５０では、入力としての単純化されたツールモデルを使用して、より詳細なツールモデルを含んでいるファイルを作成するためにプログラムが実行される。ツールモデルは、ツールのテキスト記述、図形記述、シンボル記述又はプログラム記述を含んでおり、またテンプレートは入力に基づいて、データ及びプロンプトの自動生成と相互作用する。
【００９４】
図１６Ａ及び図１６Ｂには、幾つかの実施の形態による、ツールモデルを生成するためのフローチャートが示されている。図１６Ａにおいて、オペレーション１６００では単純化されたツールモデルが準備される。オペレーション１６１０では、単純化されたツールモデルがデータベースにリンクされる。データベースは、デフォルトコンポーネント、簡潔なツールモデルから派生したコンポーネント、又は、単純化されたツールモデルに関する標準を含んでいる。オペレーション１６２０では、単純化されたツールモデル及びデータベースから、より詳細なツールモデルが生成される。
【００９５】
図１６Ｂにおいて、オペレーション１６５０では、標準がプログラムルールに変換されるか、又は、派生コンポーネントのデフォルトを生成するためにプログラムルールが形成される。オペレーション１６６０では、単純化されたツールモデルをモード詳細ツールモデルに変換するためのプログラムルールを使用してプログラムが生成される。
【００９６】
幾つかの実施の形態においては、例えば、ツールモデル入力から、より詳細なツールモデルを生成するテンプレートのためのシステム及び方法が提供される。デフォルトコンポーネント、派生コンポーネント、標準コンポーネント及び他のコンポーネントを含むファイルを作成し、より詳細なツールモデルの生成を支援することができる。例えば、デフォルトコンポーネント、派生コンポーネント、標準コンポーネント及びその他のコンポーネントを生成するために生成されたルールを、ライブラリ又はテンプレートに組み込むことができる。
【００９７】
幾つかの実施の形態においては、詳細なツールモデルを生成するためにプログラムによってテンプレートをリンクさせることができる。例えば、SECS/GEMテンプレートは、特定のコマンド及びプロトコルと共に、ホスト通信を生成するためのルールを含むことができる。例外管理テンプレートは、コマンド及び情報に関する警告、例えば警告ID、警告タイプ、警告メッセージ又は警告リカバリアクションを生成するためのルールを含むことができる。レチクル管理に関する標準は、イクイップメントに関連するレチクルに対して使用することができ、また、状態、状態遷移及びレチクルの活動に関する状態モデルを生成するためのルールを含むことができる。その他のテンプレートを、安全規則に対して使用することができるか、デフォルトコンポーネントを生成するために使用することができるか、又は、派生コンポーネントを生成するために使用することができる。
【００９８】
幾つかの実施の形態においては、詳細なツールモデルを生成するために相互対話によってテンプレートをリンクさせることができる。例えば、ユーザがツールコンポーネントを入力した後に、相互対話によって、考えられるホスト通信コマンド、考えられる警告条件及び考えられる状態モデルを生成することができる。生成されたコンポーネントを自動的に受け取ることができるか、又は、ユーザは、詳細なツールモデルに含まれるべき適切なコンポーネントを選択することができる。更には、例えば、デフォルトコンポーネント、派生コンポーネント又は標準コンポーネントの生成を完全なものにするために、相互対話はユーザに対して付加的な情報の入力を要求することができる。例えば、対話は、例外管理標準が処理されているか否か、又はホスト通信が含まれるべきか否かを問い合わせることができる。
【００９９】
幾つかの実施の形態においては、ツールモデルをユーザ定義された機能、例えばツールドキュメンテーション又はツールソフトウェアプログラムに変換するためのシステム及び方法が提供される。それらの方法は、イクイップメント又はツールの翻訳、若しくは、ユーザ定義された機能、例えばツールドキュメンテーション又はツールソフトウェアプログラムへの翻訳を含むことができる。
【０１００】
幾つかの実施の形態においては、ツールのハードウェア記述であるツールモデル表現が、ユーザ定義された機能、例えば詳細なツールモデル、ツールのドキュメンテーション又はツールに関するソフトウェアへの変換が行われる。
【０１０１】
幾つかの実施の形態においては、ハードウェア記述ツールモデル表現をユーザ定義された機能に変換又は翻訳するためのツールコンパイラが提供される。幾つかの実施の形態においては、それらの方法は、本方法を実行できるツールコンパイラを使用した、ツールモデルによって表される、ツールの少なくとも一つのセクションの、ユーザ定義された機能への変換を含むことができる。本発明に関して、ツールの「セクション」とは、ツールのコンポーネント、モジュール又は要素のコレクションを表す。
【０１０２】
幾つかの実施の形態においては、ツールコンパイラ又は、本方法のステップを実行するようにプログラミングされているコンピュータプログラムによって本方法を実施することができる。更には、コンパイラは、本発明による方法が実行されるユーザ定義された制約条件を受け取ることができる。そのような制約条件及び、それらの制約条件をコンパイラに引き渡すプロセッサは、デフォルトコンポーネントの追加、利用可能なコンポーネントから派生したコンポーネントの追加、又は、ツール規則を満たすために必要とされるコンポーネントの追加を含むことができる。
【０１０３】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのドキュメンテーションを生成するためのシステム及び方法が提供される。ドキュメンテーションとして、ユーザマニュアル、ソフトウェアオペレーションマニュアル、サービスマニュアル、メンテナンスマニュアル、修理マニュアル、又は、他のいずれかの種類のドキュメンテーションが考えられる。ツールモデルは、ドキュメントを生成できるようにするためのツールのコンポーネントの記述を有する、ジェネリックツールモデルでよい。またツールモデルは、特定のドキュメントを生成できるようにするためのツールのコンポーネントの記述を有する、特化ツールモデルであってよい。例えば、コマンド記述を有しているツールモデルを、ソフトウェアオペレーションマニュアルを生成するために使用することができる。物理的なハードウェアコンポーネントの詳細な記述を有しているツールモデルを、修理マニュアルを生成するために使用することができる。システム又はコンポーネントの信頼性に関する記述を有しているツールモデルを、メンテナンスマニュアルを生成するために使用することができる。
【０１０４】
幾つかの実施の形態においては、ツールモデルは、ドキュメントの生成を可能にする適切な記述を含むことができる。例えば、半導体標準に準拠するユーザマニュアルを生成するために、SECS/GEMコンポーネント、例外管理コンポーネント及び状態モデルコンポーネントを有しているツールモデルを、ドキュメントの生成に使用することができる。
【０１０５】
幾つかの実施の形態においては、ツールモデルは、ドキュメントを生成できるようにするために必要とされる記述を生成することができる。例えば、半導体標準に準拠するユーザマニュアルを生成するために、ツールモデルは、標準コンポーネントは含まれていないことが確認された後に、SECS/GEMコンポーネント、例外管理コンポーネント及び状態モデルコンポーネントを収集するために、ドキュメントのその収集を継続する前に、標準テンプレートにアクセスすることができる。
【０１０６】
図１７には、幾つかの実施の形態による、ツールモデルからのドキュメントの生成が概略的に示されている。ツールモデル１７１０を、例えばソフトウェアプログラム又はツールコンパイラ１７４０によって、ドキュメンテーション１７７０、例えばユーザマニュアル、ソフトウェアマニュアル、サービスマニュアル、メンテナンスマニュアル、修理マニュアル又はその他の種類のマニュアルを作成するために翻訳又は変換することができる。種々のデータベース１７６０をプログラム１７４０に組み込み、ツールモデルに関する、デフォルトコンポーネント、派生コンポーネント、標準コンポーネント、又はその他の付加的なコンポーネントを提供することができる。更に、テンプレート１７６５、例えば、ドキュメントのフォーマット又はスタイルのテンプレートを使用して、ドキュメンテーションに対する所望のフォーマット又はスタイルを提供することができる。
【０１０７】
図１８には、幾つかの実施の形態による、別のやり方でのツールモデルからのドキュメントの生成が概略的に示されている。ツールモデル１８２０を、図形テンプレート１８１０及びテキストテンプレート１８３０と共に、テンプレートエンジン１８４０に提供することができ、このテンプレートエンジン１８４０は、テキストファイル１８６０と図形ファイル１８５０とを別個に形成するソフトウェアプログラムであってよい。テキストファイル１８６０及び図形ファイル１８５０をプロセッサ１８７０に供給し、ドキュメントを、例えばMicrosoft Wordフォーマット１８８０、Adobe Portable Documentフォーマット（PDF）１８８２又はハイパーテキストマークアップ言語（HTML）フォーマット１８８４で提供することができる。
【０１０８】
幾つかの実施の形態においては、ドキュメンテーション生成プロセスは、所望のフォーマットを有しているドキュメントを提供するためにフォーマットテンプレへのリンクを含むことができる。例えば、フォーマットテンプレートは紙面上でのドキュメントの見栄え、例えばフォントタイプ、フォントサイズ、段落間の間隔、見出しの太字等に関する指示を含むことができる。フォーマットテンプレートは、ドキュメントにスタイルを提供するスタイルテンプレートを含むことができる。フォーマットテンプレートは、ドキュメント内の図形を管理する図形テンプレートを含むことができる。フォーマットテンプレートは、ドキュメントを種々の言語で提供するための国際テンプレート、例えばi18nファイルを含むことができる。フォーマットテンプレートは、その他のテンプレート、例えば特定の客層に提供される特殊テンプレート又はカスタムテンプレートを含むことができる。
【０１０９】
幾つかの実施の形態においては、ドキュメンテーション生成プロセスは、テキストテンプレート、例えばDocBookテンプレート、及び、画像テンプレート、例えばdotテンプレートの作成を含むことができる。ツールモデルを、DocBookテンプレート及びdotテンプレートと共に、テンプレートエンジンに入力し、ツールモデルのテキスト情報を含んでいるDocBookドキュメントをDocBookフォーマットで生成し、また、ツールモデルの画像情報を含んでいるdotファイルを生成するために更に処理することができるdotドキュメントを生成することができる。DocBookドキュメント及びdotファイルを、オプションとしてのスタイルシートテンプレート共に、プロセッサに入力して、最終的なドキュメントを形成することができる。
【０１１０】
図１９には、幾つかの実施の形態による、別のやり方でのツールモデルからのドキュメントの生成が概略的に示されている。ツールモデル１９２０を、図形用のdotテンプレート１９１０及びテキスト用のDocBookテンプレート１９１５と共に、テンプレートエンジン１９３０に提供することができ、このテンプレートエンジン１９３０は、DocBookテキストドキュメント１９４５とdot図形ファイル１９４０とを別個に形成するソフトウェアプログラムであってよい。国際テンプレート１９３５、例えばi18nファイルをテンプレートエンジン１９３０に供給し、DocBookドキュメント及びdotファイルを異なる言語で形成することができる。dot図形ファイル１９４０をdotプログラム１９５０によって処理し、DocBookドキュメント１９４５と共に、XSLTプロセッサ１９６０に供給することができる。XSLTプロセッサ１９６０はXSL-FOドキュメント１９７０を作成することができ、このXSL-FOドキュメント１９７０をXSL-FOプロセッサ１９８０に供給し、ドキュメントを、例えばMicrosoft Wordフォーマット１９９０、Adobe Portable Documentフォーマット（PDF）１９９２又はハイパーテキストマークアップ言語（HTML）フォーマット１９９４で提供することができる。
【０１１１】
図２０には、幾つかの実施の形態による、ツールモデルからのドキュメンテーションの生成に関するフローチャートが示されている。オペレーション２０１０では、ツールモデルが受け取られる。オペレーション２０２０では、ドキュメントテンプレートが受け取られる。オペレーション２０３０では、ツールモデルがドキュメントテンプレートにマッピングされて、ツールに関するドキュメントが生成される。ドキュメントは、ユーザマニュアル、ソフトウェアマニュアル、サービスマニュアル及び修理マニュアルのうちの少なくとも一つを含んでいる。
【０１１２】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのソフトウェアプログラムを生成するためのシステム及び方法が提供される。ソフトウェアプログラムは、オペレーティングソフトウェア、ビルドソフトウェア、サービスソフトウェア、信頼性試験ソフトウェア、診断ソフトウェア、又はその他のいずれかのソフトウェアプログラムであってよい。ツールモデルは、ハードウェアモジュールを動作させるための考えられるコマンドと共に、ソフトウェアコンポーネント、例えば、ハードウェアコンポーネントにアクセスできるようにするためのオブジェクトコード又はソースコードを含むことができる。
【０１１３】
幾つかの実施の形態において、ツールモデルは、オブジェクトコードファイル又はソースコードファイルへのリンクを有することができ、このリンクは、ツールのコマンド、コンポーネント又はモジュールに関するソフトウェアの実行を含むことができる。例えば、ツールモデルは、モータコンポーネント、及び、モータを動かすため又はモータを停止するため又はモータに関するパラメータをセットするためのコマンドを含んでいるファイルへのリンクを有することができる。ツールモデルは、センサ、及び、センサを読み出すためのコマンドを含んでいるファイルへのリンクを有することができる。ツールモデルは、ロボットハンドラ、及び、ロボットを動かすためのコマンド、例えばロボットを回転させるため又はロボットアームを伸縮させるため又はロボットに関するパラメータ、例えばロボットの速度又は加速度を設定するためのパラメータをセットするためのコマンドを含んでいるファイルへのリンクを有することができる。
【０１１４】
幾つかの実施の形態においては、ソフトウェア生成プロセスは、所望の機能を有しているソフトウェアプログラムを提供するためにフォーマットテンプレートへのリンクを含むことができる。例えば、フォーマットテンプレートはモニタ画面上でのプログラムの見栄え、例えばフォントタイプ、フォントサイズ、段落間の間隔、太字等に関するグラフィックページを含むことができる。フォーマットテンプレートは、ディスプレイ内の図形を管理する図形テンプレートを含むことができる。フォーマットテンプレートは、ソフトウェアプログラムによって実行される動作を提供するためのプレースホルダコマンドを含むことができる。フォーマットテンプレートは、見栄え、指示又はメッセージを種々の言語で提供するための国際テンプレート、例えばi18nファイルを含むことができる。フォーマットテンプレートは、その他のテンプレート、例えば特定の客層に提供される特殊テンプレート又はカスタムテンプレートを含むことができる。
【０１１５】
幾つかの実施の形態においては、ソフトウェア生成プロセスは、ソフトウェアテンプレートのプレースホルダコマンドの、ツールモデルからのコマンドへの置換を含むことができる。ソフトウェアテンプレートを、ツールモデルからのコマンドでカスタマイズすることができ、従って、特にツールモデルの目的に応じて使用することができる。
【０１１６】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのオペレーティングソフトウェアプログラムを生成するためのシステム及び方法が提供される。オペレーティングソフトウェアプログラムは、ツールを運転させ、データを収集し、ホストシステムに報告するために使用することができる。例えば、レチクル保管部に関するオペレーティングソフトウェアは、レチクルをロードロックから保管チャンバへと搬送するため、レチクルを保管チャンバからロードロックへと戻すため、保管チャンバ内のレチクルの在庫を供給するため、付加的なレチクルを保管するための保管チャンバ内の空場所、例えば利用可能なスペースをカウントするために使用することができる。オペレーティングソフトウェアは、例えば半導体製造装置に関するSECS/GEM標準に準拠するホスト通信を含むことができ、ファシリティのホストコンピュータはツールと通信することができ、例えばツールの状態を検索することができるか、又は、ツールに対するリモートコマンドを発行することができるか、又は、発行されたコマンド又はツールのその他の態様に関するツールの状態を受信することができる。
【０１１７】
幾つかの実施の形態においては、例えば、プレースホルダコマンド、グラフィック要素、ソフトウェアテンプレートの入力ファイル及び出力ファイルを、ツールモデルからの対応する要素で置換することによって、ツールモデルをソフトウェアテンプレートにマッピングすることができる。オペレーティングソフトウェアを、ソフトウェアテンプレートのフォーマット、ツールモデルからのコマンド及び指示を有するように生成することができる。
【０１１８】
図２１には、幾つかの実施の形態による、ツールモデルからのオペレーティングソフトウェアの生成が概略的に示されている。ツールモデル２１１０を、ソフトウェアテンプレート２１２０及びライブラリプログラム２１３０と共に、ソフトウェアプログラム又はツールコンパイラ２１７０に供給して、オペレーティングソフトウェアプログラム２１８０を作成することができる。ソフトウェアテンプレート２１２０は、テンプレートの特別なグラフィック及びコマンドがツールモデルからのデータで置換されている、オペレーティングソフトウェア２１８０に関するフレームワークを提供することができる。ライブラリプログラム２１３０は、ソフトウェアプログラムの作成に関する付加的な情報、例えば、デフォルトコンポーネント、派生コンポーネント、標準コンポーネント、又はその他の付加的なコンポーネントを提供することができる。
【０１１９】
図２２には、幾つかの実施の形態による、オペレーティングソフトウェアに関するソフトウェアテンプレートの一例が示されている。ソフトウェアテンプレート２２００は、プレースホルダコマンド及び情報と共に、オペレーティングソフトウェアのフレームワークを含むことができる。例えば、テンプレートは、ツールモデルからの特定のデータによって置換することができる、企業及びツール名のプレースホルダ情報を含むことができる。テンプレートはプレースホルダコマンド、例えば、コマンド２２３０のコレクション、特定のコマンド２２３１〜２２３３を含むことができ、それらをツールモデルからの特定のデータによって置換することができる。テンプレートは、ツールモデルからの特定のデータによって置換することができる、プレースホルダグラフィック２２２０を含むことができる。テンプレートは、オペレーティングソフトウェアフレームワーク、例えばオペレーション２２１０、レシピ２２１１及びステータス２２１２の複数のページを有しているフレームワークを、ツールの複数の態様、例えばジョブ２２７０、システム２２７１、ログ２２７２、警告２２７８及びヘルプ２２７９間の切換のための複数のボタンと共に含むことができる。テンプレートは、データを入力又は選択するための複数のフィールド、例えばレシピ選択２２４０又はコマンド選択２２５０のためのフィールドを含むことができる。
【０１２０】
図２３には、幾つかの実施の形態による、ツールモデルとソフトウェアテンプレートとの間のオペレーションのマッピングの一例が示されている。レチクルストッカ２３２０を表すツールモデル２３１０を、オペレーティングソフトウェアテンプレート２３８０に関する特定のデータ及び情報を作成するために使用することができる。ツールモデル２３１０は、コマンド２３３０に関するツール記述、例えばレチクルの積み入れ２３３１及びレチクルの取り出し２３３２、及び、グラフィック記述２３４０、例えばロードロック１  ２３４１及びロードロック２  ２３４２を含むことができる。ツールモデル２３１０は、ツールのモジュールに関するツール記述、例えば回転ステーションモジュール２３５０を含むことができ、この回転ステーション２３５０は、コマンド２３６０に関する記述、例えば位置０への回転２３６１及び位置９０への回転２３６２、並びに、ステータス２３７０に関する記述、例えばレチクルは位置０にある２３７１及びレチクルは位置９０にある２３７２を含むことができる。
【０１２１】
コマンド２３３０及び２３６０を、テンプレートのプレースホルダコマンドをツールモデルからの特定のコマンドで置換することによって、ソフトウェアテンプレート２３８０のコマンドセクション２３３１にマッピングすることができる。同様に、グラフィック２３４０を、テンプレートのプレースホルダグラフィックコマンドをツールモデルからの特定のグラフィックで置換することによって、ソフトウェアテンプレート２３８０のグラフィックセクション２３２１にマッピングすることができる。テンプレートのその他のジェネリックセクション、例えばオペレーションセクション２３１０、レシピセクション２３１１及びステータスセクション２３１２は変更せずに維持することができる。
【０１２２】
幾つかの実施の形態においては、ツールモデル入力に基づいて、ツールのテストソフトウェアプログラムを生成するためのシステム及び方法が提供される。テストソフトウェアプログラムを、ツールとそのモジュール及びコンポーネントをテストするために、ツールが完全に構成される前であっても、使用することができる。例えば、モジュールがビルドされると即座に、レチクル保管部に関するテストソフトウェアを、個々のモジュール、例えばロードロックモジュール、回転ステーションモジュール、ロボットモジュール、保管モジュール又は支持モジュールをテストするために使用することができる。更に、テストソフトウェアはビルドされたモジュール間の接続をテストすることができる。コンポーネント、モジュール及びシステムの信頼性を、例えば、テストプロシージャ又はテストシーケンスを繰り返すことによって、評価することができる。更には、カスタムシーケンスを提供して、顧客が何らかの特定のシーケンスを設計及びテストできるようにすることができる。
【０１２３】
幾つかの実施の形態においては、例えば、プレースホルダコマンド、グラフィック要素、ソフトウェアテンプレートの入力ファイル及び出力ファイルを、ツールモデルからの対応する要素で置換することによって、ツールモデルをソフトウェアテンプレートにマッピングすることができる。テストソフトウェアを、ソフトウェアテンプレートのフォーマット、ツールモデルからのコマンド及び指示を有するように生成することができる。
【０１２４】
図２４には、幾つかの実施の形態による、ツールモデルからのテストソフトウェア又は診断ソフトウェアの生成が概略的に示されている。ツールモデル２４１０を、ソフトウェアテンプレート２４２０及びライブラリプログラム２４３０と共に、ソフトウェアプログラム又はツールコンパイラ２４７０に供給して、テストソフトウェアプログラム又は診断ソフトウェアプログラム２４８０を作成することができる。ソフトウェアテンプレート２４２０は、テンプレートの特別なグラフィック及びコマンドがツールモデルからのデータで置換されている、テストソフトウェア又は診断ソフトウェア２４８０に関するフレームワークを提供することができる。ライブラリプログラム２４３０は、ソフトウェアプログラムの作成に関する付加的な情報、例えば、デフォルトコンポーネント、派生コンポーネント、標準コンポーネント、又はその他の付加的なコンポーネントを提供することができる。
【０１２５】
図２５には、幾つかの実施の形態による、テストソフトウェア又は診断ソフトウェアに関するソフトウェアテンプレートの一例が示されている。ソフトウェアテンプレート２５００は、プレースホルダコマンド及び情報と共に、テストソフトウェア又は診断ソフトウェアのフレームワークを含むことができる。例えば、テンプレートは、ツールモデルからの特定のデータによって置換することができる、企業及びツール名のプレースホルダ情報を含むことができる。テンプレートはプレースホルダコマンド、例えば、コマンド２５４０のコレクション、特定のコマンド２５４１〜２５４３を含むことができ、それらをツールモデルからの特定のデータによって置換することができる。テンプレートはプレースホルダステータス２５３０、例えば、ステータス１〜３  ２５３１〜２５３３、モジュール２５２０〜２５２９含むことができ、それらをツールモデルからの特定のデータによって置換することができる。テンプレートは、テストソフトウェアフレームワーク又は診断ソフトウェアフレームワーク、例えば一般的なイクイップメント２５８０のオペレーションの複数のページ及びテストプロシージャを有しているフレームワークを、ツールの複数の態様、例えばジョブ２５７０、システム２５７１、ログ２５７２、警告２５７８及びヘルプ２５７９間の切換のための複数のボタンと共に含むことができる。テンプレートは、データを入力又は選択するための複数のフィールド、例えばコマンド選択２５５０のためのフィールドを含むことができる。テンプレートは、データを報告するためのフィールド、例えばログ選択２５６０のためのフィールドを含むことができる。テンプレートは、コマンドを選択することができるか、又はテストのための新たなコマンドシーケンスを形成することができる。新たなシーケンスを、将来における使用のために保管することができる。並列なシーケンスを形成することができる。
【０１２６】
図２６には、幾つかの実施の形態による、ツールモデルとソフトウェアテンプレートとの間のオペレーションのマッピングの一例が示されている。レチクルストッカ２６１１を表すツールモデル２６１０を、オペレーティングソフトウェアテンプレート２６４０に関する特定のデータ及び情報を作成するために使用することができる。ツールモデル２６１０は、コマンド２６５０に関するツール記述、例えばレチクルの積み入れ２６５１及びレチクルの取り出し２６５２、及び、ステータス記述２６６０、例えばレチクルを積み入れているステータス２６６１及びレチクルを積み入れ終わったステータス２６６２を含むことができる。ツールモデル２６１０は、ツールのモジュールに関するツール記述、例えば回転ステーションモジュール２６１２を含むことができ、この回転ステーション２６１２は、コマンド２６７０に関する記述、例えば位置０への回転２６７１及び位置９０への回転２６７２、並びに、ステータス２６９０に関する記述、例えばレチクルは位置０にある２６９１及びレチクルは位置９０にある２６９２を含むことができる。
【０１２７】
コマンド２６５０及び２６７０を、テンプレートのプレースホルダコマンドをツールモデルからの特定のコマンドで置換することによって、ソフトウェアテンプレートのコマンドセクション２６４１にマッピングすることができる。同様に、ステータス２６６０及び２６９０を、テンプレートのプレースホルダステータス報告をツールモデルからの特定のグラフィックで置換することによって、ソフトウェアテンプレート２６４０のステータスセクション２６３０〜２６３３にマッピングすることができる。また、モジュール２６１１及び２６１２を、テンプレートのプレースホルダモジュールをツールモデルからの特定のモジュール情報で置換することによって、ソフトウェアテンプレート２６４０のモジュールセクション２６２０〜２６２３にマッピングすることができる。テンプレートのその他のジェネリックセクション、例えば一般的なイクイップメントセクション２６８０及びテストプロシージャセクション２６８１は変更せずに維持することができる。
【０１２８】
図２７には、幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートが示されている。オペレーション２７００では、ソフトウェアプログラムの機能、例えばオペレーティングソフトウェア又はテストソフトウェアが規定される。オペレーション２７１０では、機能を実行するためのソフトウェアプログラムテンプレートが生成される。ソフトウェアプログラムは、プレースホルダコマンドと、コマンド構造と、グラフィックインタフェースと、デフォルト機能と、を含んでいる。
【０１２９】
図２８には、幾つかの実施の形態による、ソフトウェアテンプレートへのツールモデルのマッピングに関するフローチャートが示されている。オペレーション２８１０では、ツールモデルが受け取られる。オペレーション２８２０では、ソフトウェアテンプレートが受け取られる。オペレーション２８３０では、ツールモデルがソフトウェアテンプレートにマッピングされる。
【０１３０】
図２９Ａ及び図２９Ｂには、幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートが示されている。図２９Ａにおいて、オペレーション２９００では、ソフトウェアテンプレートが生成される。ソフトウェアテンプレートプログラムは、ツールを運転するように構成されており、またソフトウェアテンプレートプログラムはプレースホルダコマンドを含んでいる。
【０１３１】
図２９Ｂにおいて、オペレーション２９２０では、ツールの複数のモジュールが生成される。オペレーション２９３０では、各モジュールに関するコマンド及びステータスが生成される。オペレーション２９４０では、ツールを実行するためのコマンド及びステータスが生成される。オペレーション２９５０では、データ収集プロシージャが生成される。オペレーション２９６０では、コマンド及びステータスを置換するためのマッピングプロシージャが生成される。
【０１３２】
図３０Ａ及び図３０Ｂには、幾つかの実施の形態による、ソフトウェアテンプレートの生成に関するフローチャートが示されている。図３０Ａにおいて、オペレーション３０００では、ソフトウェアテンプレートが生成される。ソフトウェアテンプレートプログラムは、ツールのコンポーネントをテストするように構成されており、またソフトウェアテンプレートプログラムはプレースホルダコマンドを含んでいる。
【０１３３】
図３０Ｂにおいて、オペレーション３０２０では複数のモジュールが生成される。オペレーション３０３０では、各モジュールに関するコマンド及びステータスが生成される。オペレーション３０４０では、ユーザ定義されたコマンドを作成するためのプロシージャが生成される。オペレーション３０５０では、データ収集プロシージャが生成される。オペレーション３０６０では、コマンド及びステータスを置換するためのマッピングプロシージャが生成される。
【０１３４】
図３１Ａ及び図３１Ｂには、幾つかの実施の形態による、ソフトウェアの生成に関するフローチャートが示されている。図３１Ａにおいて、オペレーション３１１０ではツールのツールモデルが生成される。オペレーション３１２０では、ツールモデルに基づいて、ツールのドキュメンテーションが自動的に生成される。オペレーション３１３０では、ツールモデルに基づいて、ツールのソフトウェアが自動的に生成され、その際に、ドキュメンテーションとソフトウェアが自動的に同期される。
【０１３５】
図３１Ｂにおいて、オペレーション３１５０ではツールのツールモデルが変更される。オペレーション３１６０では、変更されたツールモデルに基づいて、ツールのドキュメンテーションが自動的に生成される。オペレーション３１７０では、変更されたツールモデルに基づいて、ツールのソフトウェアが自動的に生成され、その際に、ドキュメンテーションとソフトウェアがその変更に関して自動的に同期される。
【０１３６】
幾つかの実施の形態においては、ツールモデル入力から、ソフトウェアプログラムを生成するソフトウェアテンプレートのためのシステム及び方法が提供される。ソフトウェアテンプレートを、ツールに関する機能を実行するように設定することができる。ソフトウェアテンプレートは、プレースホルダコマンド、グラフィック要素、入力ファイル及び出力ファイルを含むことができる。ツールモデルをソフトウェアテンプレートにマッピングすることによって、そのツールに特化したソフトウェアプログラムを自動的に生成することができる。
【０１３７】
幾つかの実施の形態においては、本明細書において記載した種々のステップを機械に実行させる、及び／又は、コンポーネント及び／又は構造を機械にインプリメントさせる、複数のコードセクションを有しているコンピュータプログラムが記憶されている、機械読み出し可能な媒体が提供される。
【０１３８】
幾つかの実施の形態においては、上述の方法をハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアを組み合わせたもので実現することができる。上述の方法を、データ処理システム、例えばコンピュータシステムにおいて中央集中的なやり方で実現することができるか、又は、種々の要素が、相互接続されている種々のコンピュータシステムに分散されている分散的なやり方で実現することができる。本明細書に記載した方法の実行に適したものであれば、いずれのコンピュータシステム又はその他の装置も使用することができる。ハードウェア及びソフトウェアの典型的な組み合わせは、コンピュータシステムを制御することができるコンピュータプログラムを有している汎用コンピュータシステムであってよく、それによって、コンピュータシステムは本方法を実行することができる。また本方法を、本方法を実施できる複数の機能を含んでおり、且つ、コンピュータシステムにロードされると本方法を実行することができる、コンピュータプログラム製品に組み込むことができる。
【０１３９】
本明細書の文脈において、用語「コンピュータプログラム」、「ソフトウェア」、「アプリケーション」、それらの変形体及び／又は組み合わせは、情報処理能力を有しているシステムに、特定の機能を直接的に実行させることを意図した一連の命令の、いずれかの言語、コード又は表記法でのあらゆる表現を意味している。それらの機能は、他の言語、コード又は表記法、若しくは複製の、異なる有形形態への変換を含むことができる。例えば、コンピュータプログラムは、サブルーチン、ファンクション、プロシージャ、オブジェクトメソッド、オブジェクトインプリメンテーション、実行可能なアプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ／動的ロードライブラリ、及び／又は、コンピュータのようなデータ処理システムにおける実行のために設計されたその他の一連の命令を含むことができる。
【０１４０】
幾つかの実施の形態において、上述の方法をデータ処理システム、例えば汎用コンピュータシステムを使用して実施することができる。汎用コンピュータシステムは、グラフィック情報及びテキスト情報を表示するための画面を備えているグラフィックディスプレイモニタ、情報をテキスト入力するためのキーボード、グラフィックデータを入力するためのマウス、及びコンピュータプロセッサを含むことができる。幾つかの実施の形態においては、コンピュータプロセッサは、上述の方法を実施するためのプログラムコードを含むことができる。その他のデバイス、例えばライトペン（図示せず）をマウスの代わりに使用することができる。この汎用コンピュータは当業者には公知の種々のタイプの汎用コンピュータ、例えばメインフレームコンピュータ、ミニコンピュータ、ワークステーション又はパーソナルコンピュータのうちの一つであってよい。
【０１４１】
従って、上記においては、本発明の特定の有利な実施の形態について説明したが、特許請求の範囲に記載の事項によって特定される本発明は、上記において述べた特定の詳細な事項によって制限されるべきではなく、それらの多くのヴァリエーションを、特許請求の範囲に記載の事項の精神又は範囲から逸脱することなく実現できると解するべきである。
【図１】
0006461092.tif 000002
【図２】
0006461092.tif 000003
【図３】
0006461092.tif 000004
【図４】
0006461092.tif 000005
【図５】
0006461092.tif 000006
【図６】
0006461092.tif 000007
【図７】
0006461092.tif 000008
【図８】
0006461092.tif 000009
【図９Ａ】
0006461092.tif 000010
【図９Ｂ】
0006461092.tif 000011
【図１０Ａ】
0006461092.tif 000012
【図１０Ｂ】
0006461092.tif 000013
【図１０Ｃ】
0006461092.tif 000014
【図１１】
0006461092.tif 000015
【図１２】
0006461092.tif 000016
【図１３】
0006461092.tif 000017
【図１４】
0006461092.tif 000018
【図１５Ａ】
0006461092.tif 000019
【図１５Ｂ】
0006461092.tif 000020
【図１５Ｃ】
0006461092.tif 000021
【図１５Ｄ】
0006461092.tif 000022
【図１５Ｅ】
0006461092.tif 000023
【図１６Ａ】
0006461092.tif 000024
【図１６Ｂ】
0006461092.tif 000025
【図１７】
0006461092.tif 000026
【図１８】
0006461092.tif 000027
【図１９】
0006461092.tif 000028
【図２０】
0006461092.tif 000029
【図２１】
0006461092.tif 000030
【図２２】
0006461092.tif 000031
【図２３】
0006461092.tif 000032
【図２４】
0006461092.tif 000033
【図２５】
0006461092.tif 000034
【図２６】
0006461092.tif 000035
【図２７】
0006461092.tif 000036
【図２８】
0006461092.tif 000037
【図２９Ａ】
0006461092.tif 000038
【図２９Ｂ】
0006461092.tif 000039
【図３０Ａ】
0006461092.tif 000040
【図３０Ｂ】
0006461092.tif 000041
【図３１Ａ】
0006461092.tif 000042
【図３１Ｂ】
0006461092.tif 000043