(57)【要約】　　　（修正有）【課題】プロセス制御システムにおいて無承認のソフトウエアがダウンロードされるのを防ぐものである。【解決手段】　ソフトウェアオブジェクト認可システムは、ソフトウェアオブジェクトがプロセス制御システムにダウンロードされる前に、該ソフトウェアオブジェクトの承認をしなければならない署名者を選択する機能を備えている。前記署名者は、ユーザ名およびパスワードを利用して本人であることを証明することができるフォームが与えられる。本人であることを証明した署名者は前記ソフトウェアオブジェクトを承認または拒絶しうる。ソフトウェアオブジェクトは、該ソフトウェアオブジェクトに必要なすべての承認が受信された場合に認可される。そして、認可されたソフトウェアオブジェクトは、前記プロセス制御システムにダウンロードされうる。【選択図】図２
2004133900.tif 000002
【特許請求の範囲】
【請求項１】
　プロセス制御システムにおいて利用されるソフトウェアオブジェクト承認方法であって、
　前記プロセス制御システム内にソフトウェアオブジェクトを実装する前に、承認を必要とする一群のエンティティを表す識別情報を電子的に生成することと、
　前記識別情報内に表される各エンティティから前記ソフトウェアオブジェクトの承認に関する電子指示を受信することと、
　前記識別情報内に表される各エンティティが前記ソフトウェアオブジェクトを承認するまで、前記プロセス制御システムが前記ソフトウェアオブジェクトを実装するのを防ぐべく第１のソフトウェアルーチンを使用することと、
　前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能にすべく第２のソフトウェアルーチンを使用することと
　を有する方法。
【請求項２】
　前記ソフトウェアオブジェクトの承認を依頼すべく前記一群のエンティティのうちの各エンティティに電子的に通知することをさらに有する請求項１記載の方法。
【請求項３】
　前記一群のエンティティのうちの各エンティティに電子的に通知することは、通信ネットワークを介して各エンティティに電子的に通知することを含む請求項２記載の方法。
【請求項４】
　前記一群のエンティティのうちの各エンティティに電子的に通知することは、各エンティティに電子メールを送信することを含む請求項２記載の方法。
【請求項５】
　前記ソフトウェアオブジェクトは、レシピ、ユニット、およびフェイズのうちの一つと関連している請求項１記載の方法。
【請求項６】
　前記ソフトウェアオブジェクトの承認に関する前記電子指示を受信することは、前記レシピの少なくとも一つの拒絶を受信することを含む請求項１記載の方法。
【請求項７】
　前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能にすべく前記第２のソフトウェアルーチンを使用することは、前記一群のエンティティのうちの各エンティティが前記レシピを承認する場合に、前記プロセス制御システムへ前記ソフトウェアオブジェクトをダウンロードすべく前記第２のソフトウェアルーチンを使用することを含む請求項１記載の方法。
【請求項８】
　前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能にすべく前記第２のソフトウェアルーチンを使用することは、前記一群のエンティティのうちの少なくとも一つのエンティティが前記レシピを拒絶する場合に前記プロセス制御システムへ前記ソフトウェアオブジェクトをダウンロードすることを防ぐべく前記第２のソフトウェアルーチンを使用することを含む請求項１記載の方法。
【請求項９】
　前記一群のエンティティに一つのエンティティを追加することに関連する電子選択アイテムを受信することをさらに有する請求項１記載の方法。
【請求項１０】
　前記ソフトウェアオブジェクトの承認を自動的に前記ソフトウェアオブジェクトに関連する別のソフトウェアオブジェクトに進展させることをさらに有する請求項１記載の方法。
【請求項１１】
　プロセス制御システムにおいて利用されるソフトウェアオブジェクト承認方法であって、
　ソフトウェアオブジェクトが一群のエンティティにより承認されているか否かを判定することと、
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されている場合に前記プロセス制御システム内に前記ソフトウェアオブジェクトを実装することと
　を有する方法。
【請求項１２】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することとは、前記一群のエンティティのうちの各エンティティから前記ソフトウェアオブジェクトの承認または拒絶のうちの一つに関連する電子指示を受信することと、該電子指示が前記一群のエンティティのうちの各エンティティからの承認を含んでいる場合には前記ソフトウェアオブジェクトを承認することとを含んでいる請求項１１記載の方法。
【請求項１３】
　前記プロセス制御システム内に前記ソフトウェアオブジェクトを実装することは、前記プロセス制御システム内で実行すべく前記ソフトウェアオブジェクトをダウンロードすることを含む請求項１１記載の方法。
【請求項１４】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することは、前記一群のエンティティのどのエンティティも前記ソフトウェアオブジェクトの変更を承認していない場合に、前記ソフトウェアオブジェクトは承認されていないと判定することを含む請求項１１記載の方法。
【請求項１５】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することは、前記制御システム内に前記ソフトウェアオブジェクトを実装する前に前記一群のエンティティのいずれかのエンティティに関連する認可パラメータが変更されている場合に、前記ソフトウェアオブジェクトは承認されていないと判定することを含む請求項１１記載の方法。
【請求項１６】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することは、前記制御システム内に前記ソフトウェアオブジェクトを実装する前に前記一群のエンティティが変更されている場合に、前記ソフトウェアオブジェクトは承認されていないと判定することを含む請求項１１記載の方法。
【請求項１７】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することは、レシピ、ユニット、およびフェイズのうちの一つが前記一群のエンティティにより承認されているか否かを判定することを含む請求項１１記載の方法。
【請求項１８】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定することは、前記ソフトウェアオブジェクトの承認を依頼すべく前記一群のエンティティのうちの各エンティティに電子的に通知することを含む請求項１１記載の方法。
【請求項１９】
　前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されていると判定することに応答して別のソフトウェアオブジェクトに承認を進展させることをさらに有する請求項１１記載の方法。
【請求項２０】
　プロセス制御システムにおいて利用されるソフトウェアオブジェクト承認方法であって、
　複数のエンティティのうちの少なくとも一つが前記ソフトウェアオブジェクトを承認していないという電子指示の受信に応答して、該ソフトウェアオブジェクトは承認されていないと判定することと、
　前記複数のエンティティのうちの各一つが前記ソフトウェアオブジェクトを承認したという別の電子指示の受信に応答して、前記ソフトウェアオブジェクトは承認されていると判定することと、
　前記ソフトウェアオブジェクトが承認されている場合に、前記プロセス制御システムに前記ソフトウェアオブジェクトをダウンロードすることを可能にすることと
　を有する方法。
【請求項２１】
　前記複数のエンティティのうちの前記少なくとも一つが前記ソフトウェアオブジェクトを承認していないという前記電子指示の受信に応答して、前記ソフトウェアオブジェクトは承認されていないと判定することは、レシピが承認されていないと判定することを含む請求項２０記載の方法。
【請求項２２】
　前記複数のエンティティのうちの各一つが前記ソフトウェアオブジェクトを承認したという前記別の電子指示の受信に応答して、前記ソフトウェアオブジェクトは承認されていると判定することは、前記複数のエンティティのうちの各一つからの承認を有する電子通信を受信することを含む請求項２０記載の方法。
【請求項２３】
　電子キー情報の受信に応答して、前記プロセス制御システムに前記ソフトウェアオブジェクトをダウンロードすることを可能にすることをさらに有する請求項２０記載の方法。
【請求項２４】
　前記ソフトウェアオブジェクトの修正、前記複数のエンティティのうちの一つに関連する情報の修正、前記複数のエンティティへの別のエンティティの追加、および前記ソフトウェアオブジェクトのチェックアウトのうちの一つに応答して、前記ソフトウェアオブジェクトを未承認状態にすることをさらに有する請求項２０記載の方法。
【請求項２５】
　プロセス制御システムにソフトウェアオブジェクトをダウンロードする方法であって、
　ソフトウェアオブジェクトをダウンロードするコマンドを受信することと、
　前記ソフトウェアオブジェクトがチェックアウトされているか否かを判定することと、
　前記ソフトウェアオブジェクがダウンロードされることを認可されているか否かを判定することと、
　前記ソフトウェアオブジェクトがチェックアウトされていなく、ダウンロードすることを認可されている場合に、前記プロセス制御システムに前記ソフトウェアオブジェクトをダウンロードすることと
　を有している方法。
【請求項２６】
　前記ソフトウェアオブジェクトがダウンロードされることを認可されているか否かを判定することは、前記ソフトウェアオブジェクトが承認されているか否かを判定することを含む請求項２５記載の方法。
【請求項２７】
　前記ソフトウェアオブジェクトが承認されているか否かを判定することは、電子的に承認情報を受信することを含む請求項２６記載の方法。
【請求項２８】
　プロセッサを有するプロセス制御システムにおいて利用されるソフトウェアオブジェクト承認システムであって、
　コンピュータ読み取り可能媒体と、
　前記コンピュータ読み取り可能媒体に格納されるとともに、前記プロセス制御システム内にソフトウェアオブジェクトを実装する前に、承認を必要とする一群のエンティティを表す識別情報を生成し、前記識別情報内に表される各エンティティから前記ソフトウェアオブジェクトの承認に関する電子指示を受信し、前記識別情報内に表される各エンティティが前記ソフトウェアオブジェクトを承認するまで前記プロセス制御システムが前記ソフトウェアオブジェクトを実装することを防ぎ、前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能すべく、前記プロセッサにより実行されるよう構成されているソフトウェアと
　を備えるソフトウェアオブジェクト承認システム。
【請求項２９】
　前記ソフトウェアは、前記ソフトウェアオブジェクトを承認するように依頼するために前記一群のエンティティのうちの各エンティティに電子的に通知すべく、前記プロセッサにより実行されるようにさらに構成されている請求項２８記載のシステム。
【請求項３０】
　前記ソフトウェアオブジェクトは、レシピ、ユニット、およびフェイズのうちの一つと関連してなる請求項２８記載のシステム。
【請求項３１】
　前記ソフトウェアは、前記一群のエンティティのうちの各エンティティが前記レシピを承認する場合、前記レシピを前記プロセス制御システムにダウンロードすることにより、前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能にすべくさらに構成されている請求項２８記載のシステム。
【請求項３２】
　前記ソフトウェアは、前記一群のエンティティのうちの少なくとも一つのエンティティが前記レシピを拒絶する場合、前記レシピが前記プロセス制御システムにダウンロードされることを妨げることにより、前記プロセス制御システムが前記電子指示に基づいて、選択的に、前記ソフトウェアオブジェクトを実装することを可能にすべく、前記プロセッサにより実行されるようにさらに構成されている請求項２８記載のシステム。
【請求項３３】
　前記ソフトウェアは、前記ソフトウェアオブジェクトに関連する別のソフトウェアオブジェクトに承認を進展させるべく、前記プロセッサにより実行されるようにさらに構成されている請求項２８記載のシステム。
【請求項３４】
　プロセッサを有するプロセス制御システムにおいて利用されるソフトウェアオブジェクト承認システムであって、
　コンピュータ読み取り可能媒体と、
　前記コンピュータ読み取り可能媒体に格納されるとともに、ソフトウェアオブジェクトが一群のエンティティにより承認されているか否かを判定し、該ソフトウェアオブジェクトが該一群のエンティティにより承認されている場合には前記プロセス制御システム内に該ソフトウェアオブジェクトを実装すべく前記プロセッサにより実行されるように構成されているソフトウェアと
　を備えるソフトウェアオブジェクト承認システム。
【請求項３５】
　前記ソフトウェアは、前記一群のエンティティのうちの各エンティティから前記ソフトウェアオブジェクトの承認および拒絶のうちの一つに関連する電子指示を受信し、該電子指示が前記一群のエンティティのうちの各エンティティからの承認を有している場合に前記ソフトウェアオブジェクトを承認することにより、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項３６】
　前記ソフトウェアは、前記プロセス制御システム内での実行のために前記ソフトウェアオブジェクトをダウンロードすることにより、前記電子指示の受信に応答して前記プロセス制御システム内に前記ソフトウェアオブジェクトを実装すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項３７】
　前記ソフトウェアは、前記一群のエンティティのうちのいずれのエンティティも前記ソフトウェアオブジェクトの変更を承認していない場合に前記ソフトウェアオブジェクトは承認されていないと判定することにより、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項３８】
　前記ソフトウェアは、前記ソフトウェアオブジェクトを前記制御システム内に実装する前に前記一群のエンティティのうちのいずれかのエンティティに関連する認可パラメータが変更されている場合に前記ソフトウェアオブジェクトは承認されていないと判定することにより、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項３９】
　前記ソフトウェアは、前記制御システム内に前記ソフトウェアオブジェクトを実装する前に前記一群のエンティティが変更されている場合に前記ソフトウェアオブジェクトが承認されていないと判定することにより、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項４０】
　前記ソフトウェアは、レシピ、ユニット、およびフェイズのうちの一つが前記一群のエンティティにより承認されているか否かを判定することにより、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているか否かを判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項４１】
　前記ソフトウェアは、前記ソフトウェアオブジェクトが前記一群のエンティティにより承認されているという判定に応答して別のソフトウェアオブジェクトに承認を進展させるべく前記プロセッサにより実行されるようにさらに構成されている請求項３４記載のシステム。
【請求項４２】
　プロセッサを有するプロセス制御システムにおいて利用されるソフトウェアオブジェクト承認システムであって、
　コンピュータ読み取り可能媒体と、
　複数のエンティティのうちの少なくとも一つがソフトウェアオブジェクトを承認していないという電子指示の受信に応答して該ソフトウェアオブジェクトは承認されていないと判定し、前記複数のエンティティのうちの各一つが前記ソフトウェアオブジェクトを承認しているという別の電子指示の受信に応答して前記ソフトウェアオブジェクトは承認されていると判定し、前記ソフトウェアオブジェクトが承認されている場合に前記ソフトウェアオブジェクトを前記プロセス制御システムにダウンロードできるようにすべく前記プロセッサにより実行されるように構成されているソフトウェアと
　を備えるソフトウェアオブジェクト承認システム。
【請求項４３】
　前記ソフトウェアは、レシピが承認されていないとの判定により前記複数のエンティティのうちの前記少なくとも一つが前記ソフトウェアオブジェクトを承認していないという前記電子指示の受信に応答して、前記ソフトウェアオブジェクトは承認されていないと判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項４２記載のシステム。
【請求項４４】
　前記ソフトウェアは、前記複数のエンティティのうちの各一つからの承認を有する電子通信の受信により前記複数のエンティティのうちの各一つが前記ソフトウェアオブジェクトを承認しているという前記別の電子指示の受信に応答して、前記ソフトウェアオブジェクトは承認されていると判定すべく前記プロセッサにより実行されるようにさらに構成されている請求項４２記載のシステム。
【請求項４５】
　前記ソフトウェアは、前記ソフトウェアオブジェクトの修正、前記複数のエンティティのうちの一つに関連する情報の修正、前記複数のエンティティへの別のエンティティの追加、および前記ソフトウェアオブジェクトのチェックアウトのうちの一つに応答して、前記ソフトウェアオブジェクトに未承認状態を関連づけるべく前記プロセッサにより実行されるようにさらに構成されている請求項４２記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明はプロセス制御システムに関するものであり、さらに詳細には、プロセス制御システムにおいて利用するソフトウェアオブジェクトの承認に関するものである。
【背景技術】
【０００２】
　本出願は、「プロセス制御システムにおけるバージョン管理および監査トレイル」という表題の米国特許出願番号第０９／４２０，１８２号の同時継続出願に基づく優先権主張出願であり、ここで、その全内容を本出願において援用するものとする。
【０００３】
　プロセス制御システムは、特定の製造または他の制御プロセスを実行すべく利用される複数組の装置を備えていることが普通である。この複数組の装置は、製造プロセスまたは制御プロセスを実行すべく特定の方法で装置を動作させるためのプロセス制御ソフトウェアインストラクションを有する制御装置に結合されている。プロセス制御ソフトウェアはフェイズによりに構成されてもよく、包括的にさまざまな種類のプロセスステップに関連しうる。たとえば、混合フェイズは、プロセスの混合ステップを実行するハードウェアに関連しうる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
　しかしながら、フェイズが包括的であるために、フェイズが実行しようとするステップの詳細に基づいて当該フェイズを修正またはカスタマイズする必要がある。たとえば、一般的に混合装置を動作させるべく構成されている混合フェイズは、特定の混合装置を、特定時間、特定のスピードで動作させるべくカスタマイズされる必要がある。フェイズを修正またはカスタマイズするには通常レシピが利用される。名称から明らかなように、レシピとは、たとえば、クッキーの製造、薬剤の生産、または他のプロセス制御の如き特定の仕事を実行すべくプロセス制御ハードウェアにダウンロードする複数組のインストラクションのことである。レシピはフェイズよりもより特定化されたものであり、事実、フェイズの使用がレシピの中に含まれる。たとえば、クッキー製造レシピは、混合フェイズにより実行されうる混合ステップを有しうる。しかし、混合フェイズとは対照的に、クッキー製造レシピは、混合が実行されるべき時間およびスピードを指定する。したがって、レシピは、混合フェイズの作業を規定するパラメータを指定する。
【０００５】
　容易に理解されるように、プロセス制御システムにより実行されるレシピを変更すると、そのプロセス制御システムの動作に影響を与える。たとえば、チョコレートチップクッキーのレシピを変更すると、クッキーの生地内で使用するチョコレートチップの数、クッキーの生地の粘り、またはクッキーの焼き時間が影響を受けうる。したがって、誤って変更されたか、そうでなければ未認可で変更されたレシピをダウンロードすると、プロセス制御システムの生産活動に悪影響を与え、製品仕様に従わない製品となり、よって、利益を損なうことになる。
【０００６】
　クッキーの如き製品のレシピを変更すると、欠陥が明らかな（たとえば、十分に調理されていない、チョコレートチップが十分でないなどの）クッキーを製造しうるが、レシピの変更がすべてすぐに認識できるような欠陥を有する製品となるわけではない。たとえば、塩分を多く含んだクッキーは製造プロセスの間には容易に発見しえない。しかし、消費者が、クッキーの塩辛さに気付き製造会社に苦情を訴え、それにより、クッキーのレシピが受け入れられない方法で変更されていたことが判る場合もある。一部の消費者は憤慨するが、クッキーのレシピを無認可で変更したところで生命を脅かす結果にはならない。
【０００７】
　クッキーの生産のような場合には、レシピを無認可で変更すると、最悪の場合には消費者の満足を得られないことになることもあるが、たとえば、製薬の生産に使用されるレシピを無認可で変更すると、製薬の生産に与える影響はより重大である。薬品量または成分を変更するレシピを変更すると、その結果生じる薬品を効果のないものにしたり、または有毒なものにすることがある。さらに、薬品成分を変更すると、変更された薬品は、変更していない薬品、即ち正しく製造された薬品と同じ色彩および粘りを有しているように見えうるので、クッキー内のチョコレートチップの量とは違って、容易に検出することができない。
【０００８】
　さらに、レシピには、生産能力、時間、および／または材料に多額の投資を必要とするものが多く、使用しているレシピを廃棄しなければならなくなると、そのレシピを実行しているエンティティだけでなく、そのレシピの実行により生産される製品を受け取ることになっている他のエンティティのうちのいずれのエンティティにおいても財政面においてかなりの悪影響が生じうる。たとえば、ワイン、ビール、チーズの如き発酵を必要とする製品を製造するためのレシピは、かなりの材料投資と同様に、何週間、何ヶ月ものプロセス時間を必要とすることが多い。
【０００９】
　通常、プロセス制御システムのレシピは、他のソフトウェアモジュールまたはユニットや、フェイズの如き他のソフトウェアオブジェクトなどと同様に、技術者または科学者により書かれる。これらの技術者または科学者は、レシピまたは他のソフトウェアがプロセス制御システムにダウンロードされる前に、たとえば、研究グループまたは生産グループの如きさまざまなエンティティに対してレシピを承認してくれるように依頼する。しかしながら、プロセス制御システムソフトウェアの承認のプロセスは、最良の場合であっても、承認のためのメモまたは依頼書を回覧することにより実施されるのが普通であり、最悪の場合に至っては、それよりもさらに非公式のものである。さらに、プロセス制御システムの実務的な知識ならびにレシピおよびそのレシピに実装される他のソフトウェアオブジェクト以外には、プロセス制御システムに無承認のソフトウェアをダウンロードすることを防いでくれる制限がほとんどない。
【課題を解決するための手段】
【００１０】
　一つの態様に従えば、プロセス制御システムにおいて利用されるソフトウェアオブジェクトの承認システムおよび方法は、プロセス制御システム内にソフトウェアオブジェクトを実装する場合、事前に承認を受ける必要がある一群のエンティティを表す識別情報を電子的に生成する。さらに、このシステムおよび方法は、識別情報の中に表されている各エンティティからソフトウェアオブジェクトの承認に関する電子指示を受信し、識別情報の中に表されている各エンティティがそのソフトウェアオブジェクトを承認するまで、プロセス制御システムがソフトウェアオブジェクトを実装することを防止しすべく第１のソフトウェアルーチンを利用しうる。さらに、本システムおよび方法は、電子指示に基づいてプロセス制御システムがソフトウェアオブジェクトを実装することを可能にすべく第２のソフトウェアルーチンを利用しうる。
【００１１】
　また、別の態様に従えば、プロセス制御システムにおいて利用されるソフトウェアオブジェクトの承認システムおよび方法は、ソフトウェアオブジェクトが一群のエンティティにより承認されているか否かを判定し、ソフトウェアオブジェクトが一群のエンティティにより承認されている場合は、ソフトウェアオブジェクトをプロセス制御システム内に実装する。
【００１２】
　さらに別の態様に従えば、プロセス制御システムにおいて利用されるソフトウェアオブジェクトの承認方法は、複数のエンティティの少なくとも一つがソフトウェアオブジェクトを承認していないという電子指示の受信に応答して、ソフトウェアオブジェクトが承認されていないと判定する。また、このシステムおよび方法は、複数のエンティティの各一つがソフトウェアオブジェクトを承認しているという別の電子指示の受信に応答して、ソフトウェアオブジェクトが承認されていると判定しうる。さらに、本システムおよび方法は、ソフトウェアオブジェクトが承認されている場合、プロセス制御システムにソフトウェアオブジェクトのダウンロードを可能にしうる。
【発明を実施するための最良の形態】
【００１３】
　以下に説明するプロセス制御システムにおいて、たとえば、レシピの如きソフトウェアオブジェクトの承認およびダウンロードを制御する方法およびシステムは、ソフトウェアオブジェクトがプロセス制御システム内にダウンロードまたは実装される前に、ソフトウェアオブジェクトを承認しなければならない人々、複数群の審査官、または署名者達をソフトウェアオブジェクトの作成者が指定できるようにすべく利用されうる。これらの審査官または署名者は複数の異なる技術により通知を受け、通知を受けると、ソフトウェアオブジェクトを審査し、そして、ソフトウェアオブジェクトを承認または拒絶しうる。各審査官がソフトウェアオブジェクトを承認した場合は、ソフトウェアオブジェクトはプロセス制御システムにダウンロードするために入手可能にされうる。さらなる機能としては、さまざまな人々またはエンティティ（たとえば、審査官、作成者、ビジネスグループ、またはその他）がソフトウェアオブジェクトの承認状況の調査を可能にすることが含まれる。
【００１４】
　本ソフトウェアオブジェクト承認システムおよび方法は、一例として、一または複数のソフトウェアオブジェクトを含みうるレシピをプロセス制御システム内に承認およびダウンロードすべく利用されるものとして以下に記載されているが、本明細書で記載されている本システムおよび方法は、ユニット、フェイズ、グラフィックスなどの如き他の種類のソフトウェアオブジェクトに対してもまた有益に利用しうる。さらに、本明細書で一例として記載されているソフトウェアオブジェクト承認システムおよび方法は、一度に一つの単一ソフトウェアオブジェクトおよび／または一度に複数グループの関連するもしくは無関係のソフトウェアオブジェクトを承認しダウンロードするのに利用されうる。
【００１５】
　さらに、容易に理解できるように、本明細書に記載されているソフトウェアオブジェクト承認システムおよび方法は、バージョン制御ソフトウェアに関連させて有利に利用することができる。一例として、一つのタイプのバージョン制御ソフトウェアが、「プロセス制御システムにおけるバージョン管理および監査トレイル」という表題の特許出願において開示されている。この出願は１９９９年１０月１８日になされ、米国特許出願番号第０９／４２０，１８２号が与えられ、本発明の譲受人により所有されている。
【００１６】
　図１を参照すると、プロセス制御システム１０は、イーサネット（Ｒ）接続１５を介して複数のワークステーション１４に結合されている制御装置１２を備えている。また、制御装置１２は、一組の通信回線または一つのバス１８を介してプロセス（全般的に参照番号１６により示されている）に関連するデバイスまたは装置に結合されている。この制御装置１２は、一例としてではあるが、フィシャーローズマウントシステムズ社により販売されているＤｅｌｔａＶ（登録商標）であってもよい。制御装置１２は、プロセス１６全体に亘って分散されているフィールドデバイスおよびフィールドデバイス内の機能ブロックの如き制御要素と通信し、一または複数のプロセス制御ルーチンを実行することができる。プロセス制御ルーチンは、オブジェクト指向型プログラム技術、即ちソフトウェアオブジェクトを用いて実施されることが好ましく、それにより、プロセス１６の所望の制御が実現される。ワークステーション１４（たとえば、パーソナルコンピュータ）は、制御装置１２により実行されるようにプロセス制御ルーチンまたはソフトウェアオブジェクトを設計し、当該プロセス制御ルーチンまたはソフトウェアオブジェクトをダウンロードするために制御装置１２と通信し、そしてプロセス１６の動作中にプロセス１６に属する情報を受信して表示することを目的として、一もしくは複数の技術者または他のユーザにより利用されうる。ワークステーション１４は、それぞれ、コンフィギャレーション設計アプリケーションの如きアプリケーションを格納し、プロセス１６のコンフィギャレーションに関するコンフィギャレーションデータの如きデータを格納するためのメモリ２０を備えている。また、ワークステーション１４は、それぞれ、プロセッサ２１を備えており、このプロセッサは、プロセス制御ルーチンまたはソフトウェアオブジェクトの設計および／または修正と、当該プロセス制御ルーチンまたはソフトウェアオブジェクトの制御装置１２へのダウンロードとをユーザが実施できるようにするアプリケーションを実行する。同様に、制御装置１２は、それぞれ、プロセス１６を制御すべく利用されるコンフィギャレーションデータとプロセス制御ルーチンとを格納するメモリ２２を備えるとともに、プロセス制御戦略を実施すべくプロセス制御ルーチンを実行するプロセッサ２４を備えている。制御装置１２がＤｅｌｔａＶ制御装置である場合、制御装置１２は、ワークステーション１４の一つを介して制御装置１２内のプロセス制御ルーチンのグラフィカルな描画をユーザに提供して、プロセス制御ルーチン内の制御要素と、プロセス１６の制御を実現すべく当該制御要素が構成される方法とを示す。
【００１７】
　また、本システムは、ワークステーション１４のうちの一または複数が接続されるネットワーク３０を備えうる。ネットワーク３０は、たとえば、インターネット、イントラネット、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、または他の適切な任意のネットワークの如きいずれの適切なネットワークを利用して実現されてもよい。ネットワーク３０はハードワイヤード接続を有するものとして示されているが、いうまでもなく、このようなネットワークは無線ネットワークであってもよく、または、ハードワイヤードの一部と無線の一部との両方を有するネットワークであってもかまわない。
【００１８】
　また、複数のターミナル３２はネットワーク３０を介してワークステーション１４に接続されてもよい。ターミナル３２は、それぞれ、プロセッサ３６に結合されているメモリ３４を備える。プロセッサ３６は、メモリ３４に格納されているインストラクションを実行するように構成されている。一つの例示的な実施例において、ターミナル３２は、パーソナルコンピュータであってもよく、または今日公知である従来型のパーソナルコンピュータにおいて利用可能な処理能力および記憶容量と同等かまたはそれ以上の処理能力および記憶容量を有する同形態の処理デバイスならばいずれのものでもかまわない。
【００１９】
　図１のプロセス制御システム１０の残りの記載に戻ると、制御装置１２は、本明細書において反応器＿０１、反応器＿０２、および反応器＿０３と呼んでいる同じように構成されている三組の反応器にバス１８を介して通信可能に接続されている。反応器＿０１は、反応容器１００と、反応容器１００に流体を提供する制御流体吸入管に接続されている二つの入力バルブ１０１，１０２と、流体出口管路を介して反応器１００から流出する制御流体に接続されている出力バルブ１０３とを備えている。デバイス１０５は、温度センサ、圧力センサ、流体レベルメータなどの如きセンサであっても、または電気ヒータもしくは蒸気ヒータの如き他の装置であってもよく、反応容器１００内もしくは反応容器１００の近傍に配置されている。同様に、反応器＿０２は、反応容器２００と、二つの入力バルブ２０１，２０２と、出力バルブ２０３と、デバイス２０５とを備えている。同様に、反応器＿０３は、反応容器３００と、二つの入力バルブ３０１，３０２と、出力バルブ３０３と、デバイス３０５とを備えている。図１に示すように、制御装置１２は、反応器ユニットに対し一または複数の操作を実行するためにこれらの要素の動作を制御すべく、バス１８を介して、バルブ１０１〜１０３、バルブ２０１〜２０３、バルブ３０１〜３０３、およびデバイス１０５、２０５、３０５に通信可能に結合されている。このような操作には、たとえば、反応容器の充填、反応容器内の材料の加熱、反応容器の中身の放出、反応容器の洗浄などが含まれうる。
【００２０】
　図１に示されるバルブ、センサ、および他の装置は、たとえば、Ｆｉｅｌｄｂｕｓデバイス、標準型４−２０ｍＡデバイス、ＨＡＲＴデバイスなどを含む任意の所望の種類の装置もしくはタイプの装置であってもよく、Ｆｉｅｌｄｂｕｓプロトコル、ＨＡＲＴプロトコル、４−２０ｍＡアナログプロトコルなどの如き任意の公知の通信プロトコルまたは所望の通信プロトコルを利用して制御装置１２と通信してもかまわない。さらに、他のタイプのデバイスを制御装置１２に接続して制御装置１２により制御してもよい。また、他の制御装置を、プロセス１６に関連する他のデバイスおよび領域を制御すべくイーサネット（登録商標）通信リンク１５を介して制御装置１２およびワークステーション１４に接続してもよく、これらの追加かされた制御装置の動作を、図１に示す制御装置１２の動作と任意の所望の方法で同調させてもかまわない。
【００２１】
　一般的にいえば、図１のプロセス制御システムは、たとえば、ワークステーション１４または制御装置のうちの一つがバッチ実行ルーチンを実行するようなバッチプロセスを実施すべく利用されうる。バッチ実行ルーチンとは、食料品、薬品または他の製薬製品などの如き製品を生産するために必要な一連の異なるステップ（一般にフェイズと呼ばれる）を実行すべく一または複数の反応器ユニット（他の装置同様に）の動作を指示する高水準制御ルーチンのことである。これらのステップまたはフェイズは、システム１０内のプロセッサ２１，２４のうちの一または複数によりインスタンスが作成されるソフトウェアオブジェクトを用いて実施されるのが普通である。
【００２２】
　異なるフェイズを実施するために、バッチ実行ルーチンは、いわゆるレシピを用いる。レシピとは、実行するステップと、実行するステップに関連する量および時間と、これらのステップの順序とを指定するソフトウェアオブジェクトのことである。一つのレシピのステップは、適切な材料または成分で反応容器を充填するステップと、反応容器の材料を混合するステップと、反応容器内の材料を任意の温度に任意の時間、加熱するステップと、反応容器を空にするステップと、次のバッチ実行のための準備をするために反応容器を洗浄するステップとを有している。これらのステップは、それぞれ、バッチ実行における一つのフェイズを規定し、制御装置１２内のバッチ実行ルーチンは、これらのフェイズの一つ一つに対して異なる制御アルゴリズムを実行する。もちろん、特定の材料、材料の量、加熱温度および時間などは、レシピが違えば異なり、よって、これらのパラメータは、製造または生産される製品と使用されるレシピとに依存してバッチ実行毎に変更されうる。当業者ならばわかるように、本明細書において、制御ルーチンおよび構成は、図１に示される反応器ユニットにおけるバッチの実行に対して説明されているが、所望ならば、他の所望のどのようなバッチプロセス実行を実行する目的で、または連続プロセス実行を実行する目的で他の所望のデバイスを制御すべく制御ルーチンを利用してもよい。
【００２３】
　高レベルにおいては、操作上の適切な部分で、ワークステーション１４のうちの一つにおける人またはエンティティは、レシピまたは他のソフトウェアオブジェクトを作成または修正して、たとえば、生産、技術、品質保証、または管理の如きさまざまな認可エンティティからの承認を要求しうる。認可エンティティは、問題のレシピおよび／または他のソフトウェアオブジェクトを審査し、当該レシピおよび／または他のソフトウェアオブジェクトを承認または拒絶すべくワークステーション１４またはターミナル３２を利用しうる。問題のソフトウェアオブジェクトの承認または拒絶の判定の結果は問題のソフトウェアオブジェクトの承認を要求した人またはエンティティに通信されうる。いったん承認を要求されたエンティティのすべてがソフトウェアオブジェクトを承認すると、当該ソフトウェアオブジェクトは、プロセス制御システム１０内において実装または実行されるべく制御装置の一つにダウンロードされうる。
【００２４】
　バッチプロセスの同一のフェイズまたはステップは、同一時間または異なる時間において、図１の異なる反応器ユニットのそれぞれに実装され得る。さらに、図１の反応器ユニットは、全体的に、同数の同じタイプの装置を備えているので（即ち、これらのユニットは同一のユニットクラスに属する）、異なる反応器ユニットのそれぞれを制御すべく、特定のフェイズ用の同一包括フェイズ制御ルーチンを利用しうる。但し、この包括フェイズ制御ルーチンは、異なる反応器ユニットに関連付けられている異なるハードウェアまたは装置を制御すべく修正する必要がある。たとえば、反応器＿０１に対して充填フェイズ（この間に反応器ユニットが充填される）を実施するために、充填制御ルーチンは、一または複数の入力バルブ１０１，１０２を一定時間、たとえば流量レベルメータ１０５が容器１００は一杯であると感知するまで開いている。しかし、単に、入力バルブの指定を入力バルブ１０１または１０２の代りに入力バルブ２０１または２０２に変更し、流量レベルメータの指示を流量レベルメータ１０５の代りに流量レベルメータ２０５に変更するだけで、反応器＿０２に対して充填フェイズを実施すべくこの同一の制御ルーチンを利用しうる。
【００２５】
　図２のオブジェクト木構造は、ソフトウェアルーチンを用いて実施される特定のオブジェクトをボックスと共に表示しており、一方、一般的な分類のオブジェクト（またはオブジェクトタイプ）は、オブジェクト木構造内の特定のオブジェクトの上方にボックス無しで示されている。図２で示されるように、プロセス制御システム１０は、たとえば、プロセス制御プラント内の建物名称または他の地理的な領域名称でありうる一または複数の領域を有している。図２のオブジェクト木構造において、プロセス１６は、建物＿１、建物＿２、建物＿３と名づけられた三つの領域オブジェクトを有している。各領域オブジェクトはプロセスセルに分割され、各プロセスセルはその領域において実行されるプロセスの異なる様態に対応している。図２の建物＿１領域オブジェクトは、セル＿１およびセル＿２で示される二つのプロセスセルオブジェクトを有するように示されている。セル＿１は、たとえば、セル＿２において使用される製品の構成成分を製造することに関連しうる。各セルオブジェクトは、零以上のユニットクラスを有してもよく、当該ユニットクラスは、プロセスセルにおいて用いられるハードウェアの異なる分類またはグループを特定する。一般的にいえば、ユニットクラスとは一組の関連する装置を共通の構成で保持する名称の付きのオブジェクトであり、さらに詳細にいえば、全く同一でないにしろ非常に似たプロセス装置を有するユニットの集合であり、各ユニットは、プロセス内において全く同一でないにしろ非常に似た機能を実行している。ユニットクラスオブジェクトは、属するプロセス制御システム内のユニットのタイプを説明するように名づけられるのが普通である。図２には、混合＿タンクユニットクラスと、反応器ユニットクラスと、供給＿タンクユニットクラスとが含まれている。もちろん、ほとんどのプロセス制御システムまたはネットワークにおいて、たとえば、乾燥機ユニット、供給ヘッダユニット、および他の個々のまたは論理的なハードウェアのグループ分けなどを含む他の多くのタイプのユニットクラスが提供または定義されている。
【００２６】
　図２の反応器ユニットクラスに対して例示されているように、各ユニットクラスオブジェクトは、それに関連するユニットモジュールオブジェクトおよびフェイズクラスオブジェクトを有している。ユニットモジュールオブジェクトは、名称付きのユニットクラス内にある同型のハードウェアの一部のインスタンスを特定するのが一般的であるが、一方、フェイズクラスは、そのユニットクラスに関連するユニットモジュールに適応できるフェイズを特定するのが一般的である。さらに詳細にいえば、ユニットモジュールオブジェクトとは、単一のプロセスユニットに対する変数およびユニットフェイズ（以下で定義する）のすべてを保持している名称付きオブジェクトのことであり、特定のプロセス装置を識別するように名称が付けられているのが普通である。たとえば、図２の反応器ユニットクラスは、反応器＿０１ユニットモジュール、反応器＿０２ユニットモジュール、反応器＿０３ユニットモジュールを有しており、これらは、図１に示される反応器＿０１、反応器＿０２、および反応器＿０３にそれぞれ対応している。同様に、混合＿タンクユニットクラスおよび供給＿タンクユニットクラスは、プロセス１６内の特定のハードウェアまたは装置対応する特定のユニットモジュールを有する。しかし、簡単のために、混合＿タンクユニットクラスおよび供給＿タンクユニットクラスに関連する装置はいずれも図１においては示されていない。
【００２７】
　フェイズクラスとは、同一のユニットクラスに属する複数のユニット上および複数の異なるユニットクラス上で実行できる一つのフェイズに対して共通の構成を保持する名称付きオブジェクトのことである。本質的に、各フェイズクラスは、同一のユニットクラス内または異なるユニットクラス内のユニットモジュールを制御すべく制御装置１２により作成されて利用される異なる制御ルーチン（またはフェイズ）である。通常、各フェイズクラスは、ユニットモジュール上に実行される作用を記述する動詞に従って名称がつけられている。たとえば、図２に示すように、反応器ユニットクラスは、図１の反応容器１００，２００，３００のいずれか一つを充填すべく用いられる充填フェイズクラスと、図１の反応容器１００，２００，３００のいずれか一つを加熱すべく用いられる加熱フェイズクラスと、図１の反応容器１００，２００，３００のいずれか一つの中身を放出すべく用いられる放出フェイズクラスと、図１の反応容器１００，２００，３００のいずれか一つを洗浄すべく用いられる洗浄フェイズクラスとを有している。もちろん、このユニットクラスと関連するかまたは他のどのようなユニットクラスとでも関連するどのような他のフェイズクラスでも存在しうる。充填フェイズクラスは、反応器ユニットクラスおよび充填＿タンクユニットクラスの両方に関連しており、したがって、供給＿タンクユニットモジュール同様、反応器ユニットモジュール上で充填機能を実行すべく利用されうる。
【００２８】
　フェイズクラスとは、一般的に、バッチプロセス用のレシピの定義に従って、バッチプロセス全体が必要とする機能を実行すべくバッチ実行ルーチンにより呼び出されうるソフトウェアルーチンまたはオブジェクトのことであると考えられうる。フェイズクラスは、基本的にはバッチ実行ルーチンまたは別のフェイズクラスからフェイズクラスソフトウェアルーチンまたはオブジェクトに供与される入力である零以上のフェイズ入力パラメータと、基本的にはバッチ実行ルーチンまたは別のフェイズクラスに戻されるフェイズクラスの出力である零以上のフェイズ出力パラメータと、フェイズクラスの動作およびフェイズクラスが何らかの方法で関連する他のフェイズクラスに関連する情報に関してユーザに表示されるメッセージでありうる零以上のフェイズメッセージと、フェイズ論理モジュール（ＰＬＭ）方式またはフェイズクラスに基づく単一フェイズ方式でパラメータを作成することを可能にする零以上のアルゴリズムパラメータとを有しうる。これらのフェイズアルゴリスムパラメータは、フェイズの実行中に一時的な格納場所または変数として使用されるが、必ずしもユーザまたはバッチ実行ルーチンに対して可視的であるわけではない。フェイズクラスは、一般的にいうと、フェイズを実施すべく用いられる制御ルーチンである一または複数のフェイズアルゴリズム定義（ＰＡＤ）を有している。また、フェイズクラスは、零、一、二、またはそれ以上のユニットクラスへの結合の一覧表を有しており、この一覧表は、このフェイズクラスおよび結果的にはこのフェイズクラスのＰＡＤが適応されうるユニットクラスを規定している。充填フェイズクラスの結合一覧表には、反応器ユニットクラスと、供給＿タンクユニットクラスとが含まれている。
【００２９】
　図３は、図２に示されたオブジェクトの一部のさらに詳細なバージョンとこれらのオブジェクト間の相互関係とを示している。二つのユニットクラス、即ち反応器ユニットクラス５０と供給＿タンクユニットクラス５２とが図３において示されている。反応器ユニットクラス５０は一つのユニットモジュール５４、即ち反応器＿０１を有している。他のものも存在しうるが、分かりやすさのために図３には示されていない。ユニットモジュール５４は、反応器ユニットクラス５０に関連する反応器パラメータの一部、即ち反応器＿０１の容量が３００であり、反応器＿０１が攪拌器を有していないことを明示している。同様に、充填フェイズクラス５６および放出フェイズクラス５８を含む二つのフェイズクラスが反応器ユニットクラス５０に関連している。充填フェイズクラス５６は、二つのエイリアス名称、即ち＃入力＿バルブ＃および＃レベル＃を用いて設計されたＰＡＤ（充填フェイズクラス図の右側にグラフ形状でＳＦＣとして示されている）を有している。これらのエイリアス名称は、実際上、充填フェイズクラス５６のＰＡＤに示されるボックス内で用いられているが、これに代えて、ＰＡＤの論理内の他のどのような場所で用いられてもよい。また、充填フェイズクラス５６は、目標＿レベルとして定義される入力と、最終＿レベルとして定義される出力とを有している。エイリアス名称は、番号記号（＃）により区切られるかまたは印をつけられているとして示されているが、フェイズのインスタンス化のときに交換する必要があるエイリアス名称を他のどのような識別子を用いて定義してもよい。同様に、放出フェイズクラス５８は、放出フェイズクラス図の右側にグラフ形状で示されているＰＡＤを有しており、このＰＡＤは、＃出力＿バルブ＃および＃レベル＃のエイリアス名称と、速度と定義される入力と、最終＿レベルとして定義される出力と、実際＿速度と定義され、ＰＡＤの実行中一時的な格納場所として利用されるアルゴリズムパラメータ（ＰＡＤにより利用される）とを有している。
【００３０】
　ここで図４を参照すると、ワークステーション１４のプロセッサ２１内の一または複数により実行されうるレシピ編集ルーチン４００は、ブロック４０２で実行を開始する。ここで、ユーザまたはオペレータはプロセス制御システム１０において用いられるレシピを作成または修正する。これには、レシピに関連するソフトウェアオブジェクトの修正が含まれうる。容易に理解できるように、ユーザは、図１乃至図３に関連して記載された技術を利用してレシピまたは他のソフトウェアオブジェクトを作成または修正しうる。レシピが作成または修正された後、制御はブロック４０２からブロック４０６に渡る。図５乃至図１１に関連して以下でさらに詳細に説明するように、認可設定ルーチン４０４（図５）は、レシピ編集ルーチン４００の実行前に少なくとも一回実行されるか、レシピもしくは他のソフトウェアオブジェクトを修正および／またはシステム１０にダウンロードする前の他の任意の時間に実行されうる。一般的に、認可設定には、レシピまたは他のソフトウェアオブジェクトを実装するために必要な承認を与える人またはエンティティ（たとえば、署名者）を指定することや署名者を削除もしくは修正することが含まれうるが、これらに限定されるわけではない。
【００３１】
　ブロック４０６では、ブロック４０２で作成または修正されたレシピを承認する認可設定ルーチン中に指定された署名者のそれぞれからの承認が求められる。承認請願には、認可設定ルーチン４０４に関連してレシピを審査すべく指定された署名者に電子メールを送信するか、指定された署名者のそれぞれに対する承認状況を示す報告書を出力するか、インスタントメッセージをレシピを審査する署名者に送信するか、または他の任意の適切な通信方法を介して署名者に通知を送信することが含まれる。ブロック４０６で各署名者からの承認が得られた後、レシピ編集ルーチン４００は、実行を終了するか、またはレシピ編集ルーチン４００を呼び出した別のルーチンに制御を戻す。
【００３２】
　認可設定ルーチン４０４のさらなる詳細は図５および図６に関連して提供されており、これらの図は、それぞれ、認可設定ルーチン４０４のフローダイアグラムおよびユーザインターフェイススクリーンを開示している。認可設定ルーチン４０４はシステムの開始時に一度実行されるのが普通であるが、これに代えて、認可設定ルーチン４０４は、所望ならば、一度を超える回数実行されてもよい。一般的に、図５に示すように、いったん認可設定ルーチン４０４が実行されると、ユーザは、キャンセル／ＯＫブロック４１０においてこのルーチンの実行の取り消しを選択しうる。あるいは、ユーザは、ブロック４１２，４１４，４１６おいて、それぞれレシピ署名者の追加、削除、修正を選択しうる。署名者の追加、削除、または修正の後、ブロック４１２，４１４，４１６から制御は移動し、ユーザは、ブロック４１０で認可設定ルーチン４０４の動作を取り消すかかまたは終了するか、ブロック４１２乃至４１６を利用して再び署名者の追加、削除、または修正をするかを選択することができる。ユーザが、ブロック４１０で認可設定ルーチン４０４の動作を取り消すかまたは終了することを選択した場合、認可設定ルーチン４０４は終了する。
【００３３】
　図６に示されるように、ユーザインターフェイス４２０はレシピ認可設定タブ４２２を有し、このタブにより、ユーザは署名者を追加、修正、または削除すべくインターフェイスボタン４２４，４２６，４２８を選択することが可能になる。追加インターフェイスボタン、修正インターフェイスボタン、または削除インターフェイスボタン４２４乃至４２８は、図５に示すように、追加ブロック、削除ブロック、および修正ブロック４１２乃至４１６に対応している（そして、これらのブロックにより実行される機能を引き起こすべく選択されうる）。ブロック４１２乃至４１６および含畜的にインターフェイスボタン４２４乃至４２８のさらなる詳細は、図７乃至図１１に関連して提供されている。署名者が追加、修正、または削除されると、その署名者の状況がテキストボックス４３０に表示される。図６に示されるように、テキストボックス４３０には、人またはエンティティの名称でありうる署名者の名称を一覧表で示す署名者記載コラム４３２が含まれるとともに、この一覧表に対応して署名者が有することを要求される機能ロックを一覧表で示す機能ロックコラム４３４もまた含まれ、これにより、承認に対するアクセスを制限している。たとえば、図６に示すように、技術、生産、および品質保証は、レシピを審査し、署名して非承認または承認する。これらは、レシピ＿承認＿０１乃至レシピ＿承認＿０３の機能ロックに対応している。
【００３４】
　また、図６に示しているのは、二つのチェックボックス４３６，４３８であり、レシピ認可設定実行許可および包含レシピ（即ち、サブレシピ）への承認進展許可に対応している。動作状態において、チェックボックス４３６がチェックされた場合、本システムのレシピ認可設定実行許可機能が実行可能になり、認可設定プロセスが実行可能になる。チェックボックス４３８がチェックを外されている場合、ユーザは承認を進展させていく選択肢を有していないことを表す。反対に、チェックボックス４３８がチェックされている場合は、ユーザは、承認をサブレシピに進展させていく選択肢を有する。たとえば、メインレシピが二つ以上のサブレシピからなり、即ち二つ以上のサブレシピを有している場合、メインレシピに関連する承認がサブレシピに自動的に進展していきうる。もちろん、このようにレシピの承認が自動的に進展すると、特に多数のサブレシピを有するレシピにとり著しい時間の節約になりうる。
【００３５】
　また、ユーザインターフェイス４２０は、キャンセルインターフェイスボタンおよびＯＫインターフェイスボタンを有しており、これらのボタンはそれぞれ、参照番号４４０および４４２で示されている。インターフェイスボタン４４０および４４２は、図５のキャンセルブロック／ＯＫブロック４１０に対応しており、ユーザが認可設定ルーチン４０４から抜け出すことを可能にしている。両方のインターフェイスボタン４４０および４４２により、ユーザは認可設定ルーチン４０４から抜け出すことができるが、キャンセルインターフェイスボタン４４０は、レシピ認可設定に加えた変更を保存することなく認可設定ルーチン４０４を終了させる。反対に、ＯＫインターフェイスボタンを使用すると、ユーザは認可設定ルーチンから抜け出すことができるとともに、ユーザインターフェイス４２０を使用している間に認可設定に加えた変更を保持することができる。
【００３６】
　ここで図７を参照すると、追加ルーチンを表すブロック４１２のさらなる詳細が提供されている。追加ルーチン４１２はブロック４５０で実行を開始し、このブロックにおいては、ユーザにより提供される機能ロックの選択が受信される。図８に示されるように、グラフィカルユーザインターフェイスまたはポップアップウインドウ４５２は、承認機能ロックボックス４５４を有しており、この中に、ユーザは承認機能ロックの名称を入力しうる。たとえば、図８に示すように、ボックス４５４には、選択された承認機能ロックはレシピ＿承認＿０３であると表示されうる。
【００３７】
　図７を参照すると、ブロック４５０が機能ロックの選択を受信した後、ブロック４６０は、ユーザにより提供される署名者ディスクリプションを受信する。たとえば、図８のユーザインターフェイス４５２に示されるように、ユーザは、署名者ディスクリプションをブロック４６２に入力しうる。一例として、署名者ディスクリプション「チームリーダ」がブロック４６２に示されており、これは、ユーザがレシピ＿承認＿０３の承認機能ロックを有する署名者としてチームリーダを追加することを望んでいることを表している。
【００３８】
　機能ロックの選択および署名者ディスクリプションがそれぞれブロック４５０および４６０で受信された後、制御はブロック４６６に渡り、このブロックでは、機能ロックもしくは署名者ディスクリプションのいずれかが不足しているか否か、または図８において参照番号４７０および４７２でそれぞれ示されているキャンセルインターフェイスまたはＯＫインターフェイスが選択されているか否かが判定される。機能ロックまたは署名者ディスクリプションが不足している場合、制御はブロック４６６からブロック４５０に渡る。あるいは、ブロック４６６がキャンセルインターフェイスボタンまたはＯＫインターフェイスボタン４７０，４７２がユーザにより選択されていると判定した場合、追加ルーチン４１２は、実行を終了し制御を図５の認可設定ルーチン４０４に戻す。図６のユーザインターフェイス４２０に関して説明したように、キャンセルインターフェイスボタン４７０を作動すると、追加ルーチン４１２は実行中に行った変更を保存することなく実行を終了することになる。反対に、前述したように、ＯＫインターフェイスボタン４７２を作動すると、追加ルーチン４１２は終了し、追加ルーチン４１２の実行中に行った変更を保存することになる。新しい承認者または署名者を追加ルーチン４１２により追加する場合、以前に承認されたレシピ（即ち、承認時に必要であったすべての承認を受理しているレシピ）は新しく追加された署名者からの承認が得られるまでは自動的に未承認になる。
【００３９】
　削除ルーチン４１４は、さらに詳細に図９に関連して記載されており、図６のユーザインターフェイス４２０と共同して動作する。特に、削除ルーチン４１４はブロック４８０で実行を開始し、このブロックでは、削除する署名者ディスクリプションの選択が受信される。ユーザは、このような選択を、図６のユーザインターフェイス４２０のテキストボックス４３０に示されている署名者ディスクリプションを選択することにより提供しうる。ユーザが削除する署名者ディスクリプションを選択した後、ユーザは、削除インターフェイスボタン４２８を作動することにより、選択した署名者ディスクリプションまたは署名者を削除する意思を明確にする。ブロック４８０が実行を完了した後、制御はブロック４８２に渡り、ブロック４８２では、ユーザによる削除要求の確認が受信される。たとえば、ユーザが、削除する署名者ディスクリプションを選択し、削除インターフェイスボタン４２８を作動した後、削除ルーチン４１４は、表示スクリーン上にユーザに提供されるユーザインターフェイスグラフィックスを介して、選択された署名者ディスクリプションを削除するユーザの依頼を確認する旨ユーザに要求しうる。このようなグラフィックスには、ＯＫインターフェイスボタンまたはキャンセルインターフェイスボタンが含まれ、このＯＫインターフェイスボタンを作動（たとえば、マウス、キーボードなどを介して選択）すると、選択された署名者ディスクリプションを削除するユーザの依頼が確認され、キャンセルインターフェイスボタンは、選択された署名者ディスクリプションの削除を中止する。選択された署名者ディスクリプションの削除がブロック４８２で受信されると、削除ルーチン４１４は実行を終了し、制御を認可設定ルーチン４０４に戻す。
【００４０】
　図５の修正ルーチン４１６に関するさらなる詳細な記述は図１０および図１１と関連して提供されている。修正ルーチン４１６はブロック４８４で実行を開始し、このブロックでは、ユーザから修正する署名者ディスクリプションの選択を受信される。たとえば、ユーザは、図６の品質保証と名称付けされた署名者を選択し、そして修正インターフェイスボタン４２６を作動させうる。修正インターフェイスボタン４２６を作動させた後、たとえば図１１に示されるユーザインターフェイス４８６の如きユーザインターフェイスがユーザに提供されうる。このインターフェイスは、署名者ディスクリプションボックス４８８と、承認機能ロックボックス４９０とを有しうる。また、ユーザインターフェイス４８６は、ＯＫインターフェイスボタン４９３と、キャンセルインターフェイスボタン４９２とを有しうる。修正ルーチン４１６が修正する署名者ディスクリプションの選択（この場合、署名者である品質保証が修正すべく選択された）を受信した後、制御はブロック４８４からブロック４９６に渡される。ブロック４９６は、たとえば、署名者の名称の変更、承認ロック機能の変更、または他の適切な任意の変更の如き署名者ディスクリプションの修正を受信する。たとえば、ユーザがブロック４８８で署名者ディスクリプションを提供した後、このユーザは、署名者の名称の修正をおこなうか、またはブロック４９０において表示されている承認ロック機能の修正をおこない、ＯＫインターフェイスボタン４９２またはキャンセルインターフェイスボタン４９４のうちいずれかを選択しうる。前述のように、ＯＫインターフェイスボタン４９２を作動すると、署名者ディスクリプションに加えた修正が保存される。反対に、キャンセルインターフェイスボタン４９４を作動すると、加えた修正が保存されることなく修正ルーチンが終了する。いずれの場合でも、これらのインターフェイスボタン４９２，４９４のいずれかを作動すると、修正ルーチン４１６の実行は終了し、制御は、図５の認可設定ルーチン４０４に戻る。追加ルーチン４１２の場合と同様に、署名者または承認者を修正すると、以前承認されたレシピは、修正された署名者の承認が必要となり、よって、未認可という結果になる。
【００４１】
　ここまでのところ、署名者、レシピ審査人、またはレシピ承認者の追加、削除、および修正について説明してきた。記載されたルーチンまたはこれらのルーチンに関連して説明された機能を具象化するルーチンは、図１のワークステーション１４および／またはターミナル３２のいずれに実装されてもよい。
【００４２】
　前述の図面および説明は署名者の明細事項に関するものであったが、図１２乃至図１６は、署名者により実行されうる審査プロセス、承認プロセス、または拒絶プロセスに関するものである。図１２乃至図１６に示されるルーチンおよびユーザインターフェイスは、図１のターミナル３２および／またはワークステーション１４上に実装しうる。特に、メモリ２０，３４のうち一または複数は、図１２乃至図１６に示されているルーチン内のブロックの典型的な作用を実行すべくプロセッサ２１，３６のうちの一または複数により実行されうるインストラクションを格納しうる。
【００４３】
　ここで図１２を参照すると、レシピ認可ルーチン５００はブロック５０２で実行を開始し、このブロックでは、審査されているレシピに属する署名者の情報および状況情報を表示される。たとえば、図１３のユーザインターフェイス５０４は、署名者の身元、状況、ユーザタイプ、タイム、コメント、およびノードを表しうる複数の欄を有しているテキストボックス５０６を有しうる。署名者欄５０８はレシピの承認に必要な署名を載せ、状況欄５１０は各署名者の署名の状況を載せる。たとえば、署名の状況とは、空白もしくは審査中、承認済み、または拒絶済みのことでありうる。ここで、空白状況もしくは審査中状況とは、署名者がレシピを審査し終えていないことを表しうる。ユーザ欄５１２には、最新の署名変更を担当したユーザのタイプを載せる。タイム欄５１４には、最新の署名変更を行ったタイムを載せる。コメント欄５１６には、署名者がレシピを承認または拒絶した場合に署名者により述べられた任意のコメントを載せ、ノード５１８では、署名者がレシピを承認または拒絶した所のシステムのノードを表す。たとえば、このノードは、図１のターミナル３２および／またはワークステーション１４のうちいずれか一つでありうる。テキストブロック５０６に加えて、ユーザインターフェイス５０４は、クローズインターフェイスボタンと、承認インターフェイスボタンと、拒絶インターフェイスボタンと、クリアインターフェイスボタンと（５２０乃至５２６）を有しうる。これらのインターフェイスボタンにつては、図１２のレシピ認可ルーチン５００に関連して説明する。
【００４４】
　ブロック５０２が署名者情報および状況情報を表示した後、ブロック５３０は署名者の選択を受信する。この署名者の選択は、ユーザがインターフェイスボタン５２０乃至５２６のいずれかを選択することにより明らかにされうる。特に、ユーザがクローズインターフェイスボタン５２０を作動する場合、レシピ認可ルーチン５００の制御は、ブロック５３０からブロック５４０へ渡り、ブロック５４０は、ユーザインターフェイス５０４を閉じ、レシピ認可ルーチン５００の実行を終了し、制御をレシピ認可ルーチン５００を呼び出したルーチンに戻す。
【００４５】
　あるいは、ユーザが承認インターフェイスボタン５２２を作動する場合、制御はブロック５３０からブロック５５０へ渡る。ブロック５５０は承認ルーチンに相当する。図１４に示されるように、承認ルーチン５５０は、ブロック５５２で実行を開始し、このブロックでは、ユーザにより提供されるユーザ名とパスワードとが受信される。図１５に一例が示されているユーザインターフェイス５５４は、ユーザがユーザ名とパスワードとを入力しうるユーザ名ボックス５５６と、パスワードボックス５５８とを有しうる。
【００４６】
　ブロック５５２が実行を完了した後、制御はブロック５６０に渡り、このブロックでは、承認中に述べられたユーザコメントが受信される。たとえば、図１５のユーザインターフェイス５５４は、コメントを入力しうるテキストボックス５６２を有しうる。ブロック５６０が実行を完了した後、ブロック５６１はユーザが権限を付与されているか否かを判定する。ブロック５６１で実行される権限付与チェックは、ブロック５５２で受信したユーザ名および／もしくはパスワードが有効であることを検証し、ならびに／またはそのユーザ名およびパスワードに関連するユーザがそのような承認を行う権限を付与されているか否かを検証する。ユーザが権限を付与されているとブロック５６１で判定された場合、制御はブロック５６６へ渡る。ブロック５６６は承認を反映すべく状況情報を更新する。たとえば、テキストボックス５６２には、「このレシピは生産に使用してよい」というテキストコメントが含まれており、また、このコメントは、ブロック５６６の実行の後のレシピを承認するときに生産からの署名者により述べられたコメントとして図１３にも映されている。ブロック５５２で受信された名前およびパスワードのうちの一方または両方共に権限が付与されていないとブロック５６１で判定された場合、承認ルーチン５５０は終了する。
【００４７】
　前述のユーザインターフェイススクリーンの多くに関連して記載したように、図１５のユーザインターフェイス５５４は、ＯＫインターフェイスボタン５６８と、キャンセルインターフェイスボタン５７０とを有しており、これらのインターフェイスは、承認ルーチンの実行中に加えられた変更を保存または放棄して承認ルーチン５５０の実行を終了させるべく利用しうる。さらに、図１５に示されるように、上述の承認を内部に含まれているレシピ、即ちサブレシピにまで進展させることをユーザが選択できるべくチェックボックス５７２が提供されうる。
【００４８】
　図１２および図１３に戻り参照すると、ユーザが図１３の拒絶インターフェイスボタン５２４を作動した場合、制御はレシピ認可ルーチン５５０のブロック５３０からブロック５８０へ渡る。ブロック５８０は拒絶ルーチンに相当し、この拒絶ルーチンのさらなる詳細は図１６に見出しうる。図１６に示されるように、拒絶ルーチン５８０の実行はブロック５８２で開始され、ここで、ユーザは、制御がブロック５８４に渡る前にユーザ名とパスワードとを入力する。ブロック５８４で、署名者は、レシピを拒絶するプロセスの間に作成したコメントを入力しうる。ブロック５８２および５８４の動作は、ブロック５８２および５８４がレシピを拒絶することに関連して利用されること以外は、図１４に示される承認ルーチン５５０のブロック５５２および５６０の動作に似ている。ブロック５８４が実行を完了した後、制御はブロック５８５に渡り、ブロック５８５は、図１５に示されるブロック５６１で実行される認可チェックと同様の認可チェックを実行する。ブロック５８５でユーザが権限を付与されていると判定された場合、制御はブロック５８６に渡る。
【００４９】
　ブロック５８６では、ユーザによるレシピの拒絶を反映すべく状況情報が更新される。状況情報更新ブロック５８６は、署名者がレシピを拒絶した事実を反映すべく図１３のユーザインターフェイス５０４上に映される情報を生成しうる。図示されていないが、拒絶ルーチン５８０は、また、図１５のユーザインターフェイス５５４に似たグラフィカルユーザインターフェイスを利用してもよい。ユーザインターフェイス５５４はレシピを承認するのに使用されている。
【００５０】
　再び図１２および図１３を参照すると、ユーザが図１３のクリアインターフェイスボタン５２６を作動した場合、制御はレシピ認可ルーチン５００のブロック５３０からブロック５９０へ渡る。ブロック５９０は署名を消去すべく用いられうる。たとえば、ユーザにより図１３に示される署名者の一人が選択され、インターフェイスボタン５２６を利用して消去されうる。しかし、たとえば制御装置１２（図１）またはワークステーション１４（図１）により実行目的でレシピがいったんダウンロードされてしまうと、承認署名の効力は撤回できない。換言すると、いったんレシピ（または他のどのようなソフトウェアオブジェクトであっても）がダウンロードされると、署名（即ち、承認）を取り消したりまたは拒絶したりすることはできない。
【００５１】
　前述の記載は、署名者の選択とレシピの審査とに関するものであるが、図１７に示されているように、ユーザインターフェイス６００は、プロセス制御システム１０内のレシピの状況を報告すべく利用されうる。たとえば、ユーザインターフェイス６００は、複数の欄６０２乃至６１０を有しており、これらの欄は、それぞれ、レシピ名称、生産、技術、品質保証、およびチームリーダを表している。すなわち、レシピ名称欄６０２は未承認のレシピをすべて載せており、欄６０４乃至６１０は各レシピの状況を各審査人または審査エンティティ毎に載せている。たとえば、「ＯＰ＿ＣＨＡＲＧＥ」と名づけられたレシピは、生産、技術、品質保証、およびチームリーダのそれぞれに対して審査中である。対照的に、生産、技術、およびチームリーダは、それぞれ、「ＰＲＣ＿ＰＡＩＮＴ」レシピを承認しているが、品質保証は承認していない。したがって、「ＰＲＣ＿ＰＡＩＮＴ」レシピはまだ承認されていない。また、ユーザインターフェイス６００は、クローズインターフェイスボタン６１２とプリントインターフェイスボタン６１４とを有しており、これらのボタンは、ユーザインターフェイス６００を閉じるかまたは欄６０２乃至６１０に含まれる情報を表示すべくユーザインターフェイス６００を出力するために使用されうる。
【００５２】
　いったんすべての署名者によりレシピが審査されて承認されると、このレシピは、図１に示されている制御装置１２のうちの一または複数にダウンロードされるかまたは実装されうる。図１８に示されているように、ダウンロードルーチン６３０はダウンロードを実行しうる一つの方法である。ダウンロードルーチン６３０はブロック６３２で実行を開始し、このブロックではダウンロードスクリプトが生成される。ブロック６３２でダウンロードスクリプトが生成された後、制御はブロック６３４に渡り、ブロック６３４では、レシピがチェックアウトされていないか（即ち、チェクインされているか）否か、またはレシピがチェックアウトされている場合でもレシピをダウンロードすることを可能にするキーをユーザが提供しているか否かが判定される。「プロセス制御システムにおけるバージョン制御および監査トレイル」に開示されているソフトウェアの如きバージョン制御ソフトウェアは、ダウンロードルーチン６３０に関連させて使用されうる。ブロック６３４が、レシピはチェックアウトされておりキーは提供されていないと判定した場合、制御はブロック６３６に渡り、ブロック６３６ではダウンロードが取り消され、ダウンロードルーチン６３０の実行が終了される。あるいは、レシピがチェクアウトされていない場合またはキーが提供されている場合は、制御はブロック６３４からブロック６３８へ渡り、ブロック６３８では、レシピが認可されているか否か、またはユーザが未認可のレシピをダウンロードすることを可能にする特別のキー提供しているか否かが判定される。レシピの認可にはすべての承認者がレシピを承認していることを確実にすることが含まれうるが、これに限定されるわけではない。ブロック６３８でレシピは認可されておらずキーは提供されていないと判定された場合、制御はブロック６３６に渡り、このブロックでは、ダウンロードルーチン６３０を終了する前にダウンロードが取り消される。あるいは、ブロック６３８でレシピは認可されているまたはキーが提供されていると判定された場合、制御は、ブロック６４０に渡り、このブロックでは、ダウンロードラベルが設定される。このダウンロードラベルは、一または複数の注釈ステートメントまたはダウンロードの時間と、日付と、バージョンと、開始者（ユーザ）とを有しうる。さらに、ダウンロードラベルは、ダウンロードされている個々のアイテム（たとえば、レシピ）の詳細な一覧を有しうる。この後、ブロック６４２で、レシピは実行時間システムに送信される。実行時間システムは図１の制御装置１２内に具象化されうる。ブロック６４２の実行の後、ダウンロードルーチン６３０は実行を終了し、制御をダウンロードルーチンを呼び出したルーチンに戻す。
【００５３】
　以上の説明から、現在承認されていないソフトウェアオブジェクトは、このソフトウェアオブジェクトに関連するすべての署名者または承認者がこのソフトウェアオブジェクトを承認するまでは、本システム１０によりダウンロードまたは実装されることができないことが理解できる。したがって、たとえば、新しいソフトウェアオブジェクトまたはレシピは、所定の一覧表に記載された人および／または他のエンティティ、または所定のグループの人および／または他のエンティティ（たとえば、認可設定ルーチン４０４（図５）により生成された一覧表に記載された人および／または他のエンティティ）により承認される必要がある。さらに、すでに承認されたソフトウェアオブジェクトまたはレシピは、修正されると自動的に未認可となり、したがって、図１８のブロック６３８および６４０での例により示されたように、修正されたソフトウェアオブジェクトをダウンロードするためには対応する署名者または認可者の全員により再承認される必要がある。
【００５４】
　本明細書において、本発明の教示にしたがって構成される装置が記載されているが、本特許により保護される範疇はこれに限定されるものではない。それどころか、本特許は、添付の請求項の範疇に逐語的または均等論的に正当に該当する発明が教示するすべての実施形態にまで範囲が及ぶものである。
【図面の簡単な説明】
【００５５】
【図１】プロセス装置の制御を実行すべくエイリアス名称および／または動的参照パラメータを有する一または複数のルーチンを利用するプロセス制御システムの部分ブロックダイアグラム図である。
【図２】図１における前記プロセス制御システムの論理階層または論理構成を示すオブジェクト構造のブロックダイアグラム図である。
【図３】図２の前記オブジェクト構造の一部のさらに詳細なブロックダイアグラム図である。
【図４】レシピ編集ルーチンの例示のフローダイアグラム図である。
【図５】認可設定ルーチンの例示のフローダイアグラム図である。
【図６】図５の前記認可設定ルーチンに関連する例示のユーザインターフェイスである。
【図７】追加ルーチンの例示のフローダイアグラム図である。
【図８】図７の前記追加ルーチンに関連する例示のユーザインターフェイスである。
【図９】削除ルーチンの例示のフローダイアグラム図である。
【図１０】修正ルーチンの例示のフローダイアグラム図である。
【図１１】図１０の前記修正ルーチンに関連する例示のユーザインターフェイスである。
【図１２】レシピ認可ルーチンの例示のフローダイアグラム図である。
【図１３】図１２の前記レシピ認可ルーチンに関連する例示のユーザインターフェイスである。
【図１４】承認ルーチンの例示のフローダイアグラム図である。
【図１５】図１４の前記承認ルーチンに関連する例示のユーザインターフェイスである。
【図１６】拒絶ルーチンの例示のフローダイアグラム図である。
【図１７】未承認レシピの状況を示す例示のユーザインターフェイスである。
【図１８】ダウンロードルーチンの例示のフローダイアグラム図である。
【符号の説明】
【００５６】
　１０　プロセス制御システム
　１２　制御装置
　１４　ワークステーション
　１５　イーサネット通信リンク
　１６　プロセス
　１８　バス
　２０，２２，３４　メモリ
　２１，２４，３６　プロセッサ
　３０　ネットワーク
　３２　ターミナル
　５０　反応器ユニットクラス
　５２　供給＿タンクユニットクラス
　５４　ユニットモジュール
　５６　充填フェイズクラス
　１００，２００，３００　反応容器
　１０１，１０２，２０１，２０２，３０１，３０２　入力バルブ
　１０３，２０３，３０３　出力バルブ
　１０５，２０５，３０５　デバイス
　４００　レシピ編集ルーチン
　４０４　認可設定ルーチン
　４１０　キャンセル／ＯＫブロック
　４２０，４８６，５０４，５５４，６００　ユーザインターフェイス
　４１２　追加ルーチン
　４１４　削除ルーチン
　４１６　修正ルーチン
　４２４，４２６，４２８　インターフェイスボタン
　４３０，５０６，５６２　テキストボックス
　４３２　署名者ディスクリプション欄
　４３４　機能ロック欄
　４３６，４３８，５７２　チェックボックス
　４５２　ポップアップウインドウ
　４６０　機能ロック選定ブロック
　４７０，４９４，５７０　キャンセルインターフェイスボタン
　４７２，４９２，５６８　ＯＫインターフェイスボタン
　５００　レシピ認可ルーチン
　５０８　署名者欄
　５１０　状況欄
　５１２　ユーザ欄
　５１４　時間欄
　５１６　コメント欄
　５１８　ノード欄
　５２０　承認インターフェイスボタン
　５２４　拒絶インターフェイスボタン
　５２６　クリアインターフェイスボタン
　５５０　承認ルーチン
　５５６　ユーザ名
　５５８　ユーザパスワード
　５８０　拒絶ルーチン
　６１２　クローズインターフェイスボタン
　６１４　プリントインターフェイスボタン
　６３０　ダウンロードルーチン
【図１】
2004133900.tif 000003
【図２】
2004133900.tif 000004
【図３】
2004133900.tif 000005
【図４】
2004133900.tif 000006
【図５】
2004133900.tif 000007
【図６】
2004133900.tif 000008
【図７】
2004133900.tif 000009
【図８】
2004133900.tif 000010
【図９】
2004133900.tif 000011
【図１０】
2004133900.tif 000012
【図１１】
2004133900.tif 000013
【図１２】
2004133900.tif 000014
【図１３】
2004133900.tif 000015
【図１４】
2004133900.tif 000016
【図１５】
2004133900.tif 000017
【図１６】
2004133900.tif 000018
【図１７】
2004133900.tif 000019
【図１８】
2004133900.tif 000020