JPH07200313A - オープンプロセス制御システム - Google Patents
オープンプロセス制御システムInfo
- Publication number
- JPH07200313A JPH07200313A JP6214363A JP21436394A JPH07200313A JP H07200313 A JPH07200313 A JP H07200313A JP 6214363 A JP6214363 A JP 6214363A JP 21436394 A JP21436394 A JP 21436394A JP H07200313 A JPH07200313 A JP H07200313A
- Authority
- JP
- Japan
- Prior art keywords
- event
- message
- events
- event message
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 オペレーティングシステムによって遂行され
るプロセスを制御する技法を提示する。 【構成】 プロセスのステップが発生したことに応答し
て制御するプロセスサーバ101、デバイスが動作を遂
行するときイベントメッセージを生成する封筒405、
プロセスのステップをシーケンスのイベントに翻訳し、
イベントメッセージを監視するトランスレータ403を
有する。トランスレータがシーケンスのイベントの発生
を決定するとステップが発生したという指標をプロセス
サーバに提供する。デバイスはオペレーティングシステ
ムであり、封筒はファイルシステムコマンドの動的に連
結されたライブラリであり、トランスレータはYeast イ
ベント−アクションシステムを含み、そしてプロセスサ
ーバは、そのプロセスに関与する主体をオブジェクトと
してモデル化し、オブジッエクトを修正する規則によっ
て状態遷移を起こさせる。
るプロセスを制御する技法を提示する。 【構成】 プロセスのステップが発生したことに応答し
て制御するプロセスサーバ101、デバイスが動作を遂
行するときイベントメッセージを生成する封筒405、
プロセスのステップをシーケンスのイベントに翻訳し、
イベントメッセージを監視するトランスレータ403を
有する。トランスレータがシーケンスのイベントの発生
を決定するとステップが発生したという指標をプロセス
サーバに提供する。デバイスはオペレーティングシステ
ムであり、封筒はファイルシステムコマンドの動的に連
結されたライブラリであり、トランスレータはYeast イ
ベント−アクションシステムを含み、そしてプロセスサ
ーバは、そのプロセスに関与する主体をオブジェクトと
してモデル化し、オブジッエクトを修正する規則によっ
て状態遷移を起こさせる。
Description
【0001】
【産業上の利用分野】本発明は、一般的には、プロセス
ステップの実行の制御、より詳細には、コンピュータシ
ステムを介して遂行されるプロセスステップの制御に関
し、その実行がコンピュータシステムによって制御され
るプロセスの表現がユーザによって指定される点を特徴
とする。
ステップの実行の制御、より詳細には、コンピュータシ
ステムを介して遂行されるプロセスステップの制御に関
し、その実行がコンピュータシステムによって制御され
るプロセスの表現がユーザによって指定される点を特徴
とする。
【0002】
【従来の技術】プロセスはある目的を達成するために追
従される順番に並べられたセットのステップである。プ
ロセスの目的は、製造業者の製品、コンピュータプログ
ラムのような品目、事業計画、或は設計、或は状態の変
化(例えば、工事を開始する許可)であり得る。以下の
議論においては、開発者はこのプロセスを遂行する人を
指すのに使用される。
従される順番に並べられたセットのステップである。プ
ロセスの目的は、製造業者の製品、コンピュータプログ
ラムのような品目、事業計画、或は設計、或は状態の変
化(例えば、工事を開始する許可)であり得る。以下の
議論においては、開発者はこのプロセスを遂行する人を
指すのに使用される。
【0003】プロセスは組織及びシステム間で異なる。
プロセスステップは、主体上に発生するセットのイベン
トに対応する。プロセスがコンピュータを伴う場合は、
コンピュータシステム内に多くのイベントが発生する。
対応するセットのイベントが発生したときに我々はある
ステップが発生したと言う。例えば、あるプロセスステ
ップはあるタスクを達成するためのに特定の主体、例え
ば、エディタを使用してドキュメントを再調査し、これ
をフォーマット化するマネジャ上の特定のソフトウエア
ツールを呼出すことに対応する。このケースにおいて
は、ソフトウエアツールはエディタであり;ステップは
以下のイベントに対応する:つまり、マネジャがエディ
タを呼出し、エディタがドキュメントをオープンし、マ
ネジャがドキュメントを修正し、最後にマネジャがエデ
ィタの呼出しを終結する。プロセスステップはまたコン
ピュータシステムの外側で発生するイベント、例えば、
決定を行なうための会議の開催にも対応し;このステッ
プの開催及び終了はユーザによって明示的にアナウンス
されなければならない。典型的には、あるプロセスのこ
れらステップは特定の順番にて遂行されなければならな
い。順番は、必ずしもシリアルである必要はなく、ステ
ップはパラレルに発生する場合もある。加えて、順番
は、部分的(幾つかのステップのみが特定の順番にて遂
行されなければならない)である場合も、全体的(ステ
ップの順番が厳格である)である場合もある。
プロセスステップは、主体上に発生するセットのイベン
トに対応する。プロセスがコンピュータを伴う場合は、
コンピュータシステム内に多くのイベントが発生する。
対応するセットのイベントが発生したときに我々はある
ステップが発生したと言う。例えば、あるプロセスステ
ップはあるタスクを達成するためのに特定の主体、例え
ば、エディタを使用してドキュメントを再調査し、これ
をフォーマット化するマネジャ上の特定のソフトウエア
ツールを呼出すことに対応する。このケースにおいて
は、ソフトウエアツールはエディタであり;ステップは
以下のイベントに対応する:つまり、マネジャがエディ
タを呼出し、エディタがドキュメントをオープンし、マ
ネジャがドキュメントを修正し、最後にマネジャがエデ
ィタの呼出しを終結する。プロセスステップはまたコン
ピュータシステムの外側で発生するイベント、例えば、
決定を行なうための会議の開催にも対応し;このステッ
プの開催及び終了はユーザによって明示的にアナウンス
されなければならない。典型的には、あるプロセスのこ
れらステップは特定の順番にて遂行されなければならな
い。順番は、必ずしもシリアルである必要はなく、ステ
ップはパラレルに発生する場合もある。加えて、順番
は、部分的(幾つかのステップのみが特定の順番にて遂
行されなければならない)である場合も、全体的(ステ
ップの順番が厳格である)である場合もある。
【0004】プロセス制御の分野の研究は、二つの局面
に焦点が置かれている。つまり:(1)要求されるプロ
セスがそれによって指定されるプロセスモデリング言語
を考案すること;及び(2)それによってコンピュータ
がユーザを指定されるプロセスの遂行に当って助けるこ
とができるプロセス制御メカニズムを調査することに焦
点が置かれている。
に焦点が置かれている。つまり:(1)要求されるプロ
セスがそれによって指定されるプロセスモデリング言語
を考案すること;及び(2)それによってコンピュータ
がユーザを指定されるプロセスの遂行に当って助けるこ
とができるプロセス制御メカニズムを調査することに焦
点が置かれている。
【0005】プロセス制御システムはプロセスを指定す
るためのプロセスモデリング言語を提供し、これらプロ
セスの実行に対してコンピュータ支援の制御を提供する
ためのコンピュータシステムである。様々なプロセスモ
デリング言語が提案されており、これらには規則ベース
言語、Petri Net ベース言語及び手続き言語が含まれ
る。コンピュータ支援のプロセス制御の形式も様々であ
り;現存のプロセス制御システムは:(1)ユーザが特
定のプロセスを追従していることを検証するための終端
製品の実際の開発の監視;(2)プロセスの部分の自動
化;及び(3)指定されるプロセスの強制、を行なうこ
とができる。
るためのプロセスモデリング言語を提供し、これらプロ
セスの実行に対してコンピュータ支援の制御を提供する
ためのコンピュータシステムである。様々なプロセスモ
デリング言語が提案されており、これらには規則ベース
言語、Petri Net ベース言語及び手続き言語が含まれ
る。コンピュータ支援のプロセス制御の形式も様々であ
り;現存のプロセス制御システムは:(1)ユーザが特
定のプロセスを追従していることを検証するための終端
製品の実際の開発の監視;(2)プロセスの部分の自動
化;及び(3)指定されるプロセスの強制、を行なうこ
とができる。
【0006】前述のように、あるプロセスステップは、
コンピュータシステム内或はコンピュータシステムの外
側の主体上で起こるイベントに対応する。監視はコンピ
ュータシステムからアクセスが可能な主体に対してのみ
可能である。これら主体には、ファイル、デバイス及び
実行可能なプログラムが含まれる。プロセス制御システ
ムはこれら主体上で発生するイベントの発生に関して通
知されなければならない。この通知は様々な方法によっ
て行なうことができる。一つの方法は、そのイベントを
発生される原因となった活動にイベントの発生について
アナウンスするメッセージを送るように強いる方法であ
る。もう一つの方法は、単に、ユーザに、イベントの発
生についてプロセス制御システムに直接に通知するよう
に要求する方法である。第三の方法は、そのようなイベ
ント(例えば、ファイルの内容の変更)の発生が自動的
に検出され、プロセス制御システムに報告されるように
する方法である。発明者に知られている全ての従来のプ
ロセス制御システムは、最初の二つのアプローチの一つ
を使用し、ここに説明される発明は、第三のアプローチ
を使用する。
コンピュータシステム内或はコンピュータシステムの外
側の主体上で起こるイベントに対応する。監視はコンピ
ュータシステムからアクセスが可能な主体に対してのみ
可能である。これら主体には、ファイル、デバイス及び
実行可能なプログラムが含まれる。プロセス制御システ
ムはこれら主体上で発生するイベントの発生に関して通
知されなければならない。この通知は様々な方法によっ
て行なうことができる。一つの方法は、そのイベントを
発生される原因となった活動にイベントの発生について
アナウンスするメッセージを送るように強いる方法であ
る。もう一つの方法は、単に、ユーザに、イベントの発
生についてプロセス制御システムに直接に通知するよう
に要求する方法である。第三の方法は、そのようなイベ
ント(例えば、ファイルの内容の変更)の発生が自動的
に検出され、プロセス制御システムに報告されるように
する方法である。発明者に知られている全ての従来のプ
ロセス制御システムは、最初の二つのアプローチの一つ
を使用し、ここに説明される発明は、第三のアプローチ
を使用する。
【0007】プロセスの自動化及び強制はプロセス制御
システムのプロセスを監視する能力に依存する。このシ
ステムは、プロセスを部分的に、開発者が手作業にて遂
行してきたステップを自動的に遂行することによって自
動化する。強制はプロセスステップの遂行がステップの
指定された順番を追従することを確保する。
システムのプロセスを監視する能力に依存する。このシ
ステムは、プロセスを部分的に、開発者が手作業にて遂
行してきたステップを自動的に遂行することによって自
動化する。強制はプロセスステップの遂行がステップの
指定された順番を追従することを確保する。
【0008】これら形式のコンピュータ支援プロセス制
御は、できるかぎり邪魔にならないような方法にて提供
された場合は、ソフトウエアエンジニアリング、設計及
びプロジェクト管理プロセスをサポートするのに特に有
効である。幾つかのプロセス制御システムが提案されて
おり、幾つかは過去数年の間に構築されている。これら
システムの多くは、Proceedings of the Eighth Intern
ational Software Process Workshop (第八回国際ソフ
トウエアプロセスワークショップの議事録)、Schaefer
(編集)、Wadern、Germany に於て1993年3月開
催、に掲載の様々な論文において説明されている。
御は、できるかぎり邪魔にならないような方法にて提供
された場合は、ソフトウエアエンジニアリング、設計及
びプロジェクト管理プロセスをサポートするのに特に有
効である。幾つかのプロセス制御システムが提案されて
おり、幾つかは過去数年の間に構築されている。これら
システムの多くは、Proceedings of the Eighth Intern
ational Software Process Workshop (第八回国際ソフ
トウエアプロセスワークショップの議事録)、Schaefer
(編集)、Wadern、Germany に於て1993年3月開
催、に掲載の様々な論文において説明されている。
【0009】我々は従来の技術を二つのカテゴリ:つま
り、モノリシックプロセス制御システムのアプローチ及
びツールベースプロセス制御システムのアプローチに分
割する。
り、モノリシックプロセス制御システムのアプローチ及
びツールベースプロセス制御システムのアプローチに分
割する。
【0010】モノリシックアプローチにおいては、プロ
セス制御システムは、スタンドアロン主体であり、外部
要素との対話を持たない。このアプローチにおいては、
開発者は完全にそのプロセス制御システムによって生成
された環境内で作業する。つまり、開発者と最終製品を
開発するために使用されるツールの間の全ての対話はプ
ロセス制御システムを介して行なわれる。ユーザは全て
のプロセスステップを直接に実行し、プロセスシステム
に全てのプロセスと関連するイベントに関して明示的に
通知する。このアプローチの長所は、これがプロセスの
完全な制御を許すことである。制御はツールの呼出しに
対応しないイベントにまで及ぶ。ただし、このアプロー
チにおいては、プロセスステップを遂行するツール、例
えば、エディタ及びコンパイラは、結果としてある程度
までプロセス制御システムの一部として作成されなけれ
ばならなくなる。
セス制御システムは、スタンドアロン主体であり、外部
要素との対話を持たない。このアプローチにおいては、
開発者は完全にそのプロセス制御システムによって生成
された環境内で作業する。つまり、開発者と最終製品を
開発するために使用されるツールの間の全ての対話はプ
ロセス制御システムを介して行なわれる。ユーザは全て
のプロセスステップを直接に実行し、プロセスシステム
に全てのプロセスと関連するイベントに関して明示的に
通知する。このアプローチの長所は、これがプロセスの
完全な制御を許すことである。制御はツールの呼出しに
対応しないイベントにまで及ぶ。ただし、このアプロー
チにおいては、プロセスステップを遂行するツール、例
えば、エディタ及びコンパイラは、結果としてある程度
までプロセス制御システムの一部として作成されなけれ
ばならなくなる。
【0011】このアプローチの一例として、Naser Barg
jouti 及びGail Kaiser によって、Proceedings of the
Third European Software Engineering Conference
(第三回欧州ソフトウエアエンジニアリング会議)、Mi
lan 、Italy に於て、1991年開催、ページ380−
395に掲載の論文『規則ベース開発環境のスケールア
ップ(Scaling Up Rule-Based Development Environmen
ts)』において説明されるMarvelシステムがある。もう
一例としては、Maryse Bourdonによって、Proceedings
of the Eight International Software Process Worksh
op、Wadern、Germany に於て、1993年3月開催、ペ
ージ40−42に掲載の論文『Process Weaverを使用し
てのプロセスモデルの構築:進歩的なアプローチ(Buil
ding Process Models using PROCESS WEAVER : a Progr
essive Approach )』において説明されているProcess
Weaverがある。
jouti 及びGail Kaiser によって、Proceedings of the
Third European Software Engineering Conference
(第三回欧州ソフトウエアエンジニアリング会議)、Mi
lan 、Italy に於て、1991年開催、ページ380−
395に掲載の論文『規則ベース開発環境のスケールア
ップ(Scaling Up Rule-Based Development Environmen
ts)』において説明されるMarvelシステムがある。もう
一例としては、Maryse Bourdonによって、Proceedings
of the Eight International Software Process Worksh
op、Wadern、Germany に於て、1993年3月開催、ペ
ージ40−42に掲載の論文『Process Weaverを使用し
てのプロセスモデルの構築:進歩的なアプローチ(Buil
ding Process Models using PROCESS WEAVER : a Progr
essive Approach )』において説明されているProcess
Weaverがある。
【0012】図4はツールベースのアプローチを示す。
このアプローチにおけるプロセス制御システムは、4つ
の主要部分:つまり、プロセスサーバ(101)、ポリ
シートランスレータ(403)、メッセージマルチキャ
スタ(408)及びセットのツールエンベロップ(40
5)から構成される。プロセスサーバ(101)はポリ
シートランスレータ(403)に監視されなければなら
ないプロセスステップに対応するセットのイベント(4
02)を運ぶ。これらイベントは開発者によって使用さ
れる任意の特定のセットのツール(404)によって遂
行される動作に対応する。このようなイベントの一例
は、特定のファイルを修正するエディタである。ポリシ
ートランスレータ(403)はこれらイベントを監視さ
れるべきセットのツールメッセージ(407)に翻訳す
る。このセットのツールメッセージはメッセージマルチ
キャスタ(408)内に格納され、マルチキャスタは次
に指定されるツールメッセージを監視する。ツールベー
スのアプローチの本質的な問題は、これがある固定され
たセットのツールによって生成されたイベントのみを監
視でき、他の主体、或はシステムのユーザによって生成
されたイベントは監視することができないことである。
このアプローチにおけるプロセス制御システムは、4つ
の主要部分:つまり、プロセスサーバ(101)、ポリ
シートランスレータ(403)、メッセージマルチキャ
スタ(408)及びセットのツールエンベロップ(40
5)から構成される。プロセスサーバ(101)はポリ
シートランスレータ(403)に監視されなければなら
ないプロセスステップに対応するセットのイベント(4
02)を運ぶ。これらイベントは開発者によって使用さ
れる任意の特定のセットのツール(404)によって遂
行される動作に対応する。このようなイベントの一例
は、特定のファイルを修正するエディタである。ポリシ
ートランスレータ(403)はこれらイベントを監視さ
れるべきセットのツールメッセージ(407)に翻訳す
る。このセットのツールメッセージはメッセージマルチ
キャスタ(408)内に格納され、マルチキャスタは次
に指定されるツールメッセージを監視する。ツールベー
スのアプローチの本質的な問題は、これがある固定され
たセットのツールによって生成されたイベントのみを監
視でき、他の主体、或はシステムのユーザによって生成
されたイベントは監視することができないことである。
【0013】ツール(404)、例えば、エディタは、
それが遂行した動作、例えば、ファイルの修正を示すメ
ッセージを送ることはない。このようなメッセージは監
視されることが必要であるために、ツール(404)は
封筒に包まれる。ツール封筒)(405)がツール(4
00)を包むためにユーザによって書かれる。封筒はツ
ールによって遂行された動作に関して関心のある参加者
(parties )、例えば、プロセス制御システムにメッセ
ージを送る。例えば、エディタ封筒は関心のある参加者
に知らせるためにそれが特定のファイルの内容を修正し
たことを通知するメッセージを送ることができる。封筒
の概念は、Mark Dowson によって、IEEESoftware 、ボ
リーム4、ナンバ6、1987年11月発行、ページ6
−15に掲載の論文『IStar による統合されたプロジェ
クトサポート(Integrated Project Support with ISta
r )』において開示されている。ツール封入(tool env
eloping )のもう一つの例は、Steve Reiss によって、
IEEE Software 、1990年6月発行、ページ57−6
6に掲載の論文『フィールド環境におけるメッセージパ
シングを使用してのツールの接続(Connecting Tools U
sing Message Passing in the Field Environment )』
において開示されている。
それが遂行した動作、例えば、ファイルの修正を示すメ
ッセージを送ることはない。このようなメッセージは監
視されることが必要であるために、ツール(404)は
封筒に包まれる。ツール封筒)(405)がツール(4
00)を包むためにユーザによって書かれる。封筒はツ
ールによって遂行された動作に関して関心のある参加者
(parties )、例えば、プロセス制御システムにメッセ
ージを送る。例えば、エディタ封筒は関心のある参加者
に知らせるためにそれが特定のファイルの内容を修正し
たことを通知するメッセージを送ることができる。封筒
の概念は、Mark Dowson によって、IEEESoftware 、ボ
リーム4、ナンバ6、1987年11月発行、ページ6
−15に掲載の論文『IStar による統合されたプロジェ
クトサポート(Integrated Project Support with ISta
r )』において開示されている。ツール封入(tool env
eloping )のもう一つの例は、Steve Reiss によって、
IEEE Software 、1990年6月発行、ページ57−6
6に掲載の論文『フィールド環境におけるメッセージパ
シングを使用してのツールの接続(Connecting Tools U
sing Message Passing in the Field Environment )』
において開示されている。
【0014】ツール封筒(405)によって生成された
メッセージは、メッセージマルチキャスタ(408)に
送られる。メッセージマルチキャスタ(403)は、こ
れらメッセージをそれが監視しなければならないツール
メッセージ(407)と比較し、ツールメッセージ通知
(409)を介してポリシートランスレータ(403)
に通知する。ポリシートランスレータプロセスは、これ
らツールメッセージ通知を処理し、これらをイベント通
知(410)に変換するが、これらはプロセスサーバ
(101)に送られる。プロセスサーバ(101)は、
これら通知を使用して、監視下のプロセスを制御する。
メッセージは、メッセージマルチキャスタ(408)に
送られる。メッセージマルチキャスタ(403)は、こ
れらメッセージをそれが監視しなければならないツール
メッセージ(407)と比較し、ツールメッセージ通知
(409)を介してポリシートランスレータ(403)
に通知する。ポリシートランスレータプロセスは、これ
らツールメッセージ通知を処理し、これらをイベント通
知(410)に変換するが、これらはプロセスサーバ
(101)に送られる。プロセスサーバ(101)は、
これら通知を使用して、監視下のプロセスを制御する。
【0015】ツールベースのアプローチは、全ての開発
がプロセス制御システム内から行なわれるべきであると
いう制約を除去する。これは、ユーザが、そのツールに
対して封筒が提供されているという前提の下で、彼等の
選択のツールを使用することを許すという長所を持つ。
これに関しては、D.Garlan及びE.Ilias によって、Proc
eedings of the Fourth ACM SIGSOFT Symposium on Sof
tware Developments、Irvine、CAに於て、1990年
開催、ページ1−10に掲載の論文『統合された環境の
ための低コストの適応ツールポリシー(Low-cost, Adap
table Tool Policies for Integrated Environments
)』を参照すること。
がプロセス制御システム内から行なわれるべきであると
いう制約を除去する。これは、ユーザが、そのツールに
対して封筒が提供されているという前提の下で、彼等の
選択のツールを使用することを許すという長所を持つ。
これに関しては、D.Garlan及びE.Ilias によって、Proc
eedings of the Fourth ACM SIGSOFT Symposium on Sof
tware Developments、Irvine、CAに於て、1990年
開催、ページ1−10に掲載の論文『統合された環境の
ための低コストの適応ツールポリシー(Low-cost, Adap
table Tool Policies for Integrated Environments
)』を参照すること。
【0016】
【発明が解決しようとする課題】従来の技術によるこれ
らアプローチの両方とも大きな欠点を持つ。モノリシッ
クプロセス制御システムのアプローチは、プロセス技術
を取入れる組織(organizations )は、彼等の作業環境
が大きく変わることを想定する。この理由は、開発者
が、導入された場合、彼等が慣れたツールの代わりにプ
ロセス制御システムとのみ対話しなければならないため
である。プロセス制御システムの外側で発生するプロセ
スステップに対応するイベントは、ユーザがそれらに関
してプロセス制御システムに明示的に通知しない限り追
跡することができない。
らアプローチの両方とも大きな欠点を持つ。モノリシッ
クプロセス制御システムのアプローチは、プロセス技術
を取入れる組織(organizations )は、彼等の作業環境
が大きく変わることを想定する。この理由は、開発者
が、導入された場合、彼等が慣れたツールの代わりにプ
ロセス制御システムとのみ対話しなければならないため
である。プロセス制御システムの外側で発生するプロセ
スステップに対応するイベントは、ユーザがそれらに関
してプロセス制御システムに明示的に通知しない限り追
跡することができない。
【0017】特にプロセス制御システム環境がより伝統
的な環境よりも優れていることがまだ実証されてない現
状においては、開発者を完全に新しい環境に移動するよ
うに説得することは非常に困難である。さらに、全てを
プロセス制御システム環境内で使用できるようにするこ
との必要性は、現存の技術を統合すること或は新たな技
術を使用することを困難にする。
的な環境よりも優れていることがまだ実証されてない現
状においては、開発者を完全に新しい環境に移動するよ
うに説得することは非常に困難である。さらに、全てを
プロセス制御システム環境内で使用できるようにするこ
との必要性は、現存の技術を統合すること或は新たな技
術を使用することを困難にする。
【0018】ツールベースのアプローチは、集中化され
たメッセージサーバを介しての対話を許すために使用さ
れるツール全てが封入されなければならないことを要求
する。従って、開発者は、それを封入することなしに新
たなツールを使用することはできない。特に、ツールが
頻繁に更新及び修正されるような組織においては、どの
ツールが封入されており、どのツールがまだ封入されて
ないかを追跡することは非常に困難である。さらに、ツ
ールの封入は、常に単純であるとは限らず、かなりの人
的努力が要求される。従って、必要とされており、いま
だに提供されてないものは、ユーザが彼/彼女の現在の
作業環境(例えば、システム内の全てのツール)を保持
し、そのプロセスに関係のある主体上のイベントを自動
的に検出し、またこの情報をプロセスを制御するために
使用することを可能にするオープンプロセス制御システ
ム(open process control system )である。
たメッセージサーバを介しての対話を許すために使用さ
れるツール全てが封入されなければならないことを要求
する。従って、開発者は、それを封入することなしに新
たなツールを使用することはできない。特に、ツールが
頻繁に更新及び修正されるような組織においては、どの
ツールが封入されており、どのツールがまだ封入されて
ないかを追跡することは非常に困難である。さらに、ツ
ールの封入は、常に単純であるとは限らず、かなりの人
的努力が要求される。従って、必要とされており、いま
だに提供されてないものは、ユーザが彼/彼女の現在の
作業環境(例えば、システム内の全てのツール)を保持
し、そのプロセスに関係のある主体上のイベントを自動
的に検出し、またこの情報をプロセスを制御するために
使用することを可能にするオープンプロセス制御システ
ム(open process control system )である。
【0019】
【課題を解決するための手段】本発明は、上に述べた問
題をプロセスステップの遂行に関与するデバイス内でイ
ベントを監視し、それらのイベントがそのプロセス内の
あるステップが完了したかを決定し、そのステップの完
了の指標をプロセスサーバに送ることによって克服す
る。本発明はデバイス内のイベントを監視するために、
この監視は完全に自動的である。さらに、本発明はツー
ル内のイベントではなく、デバイス内のイベントを監視
するために、本発明のユーザは、彼等が望む任意のツー
ルを使用することができる。
題をプロセスステップの遂行に関与するデバイス内でイ
ベントを監視し、それらのイベントがそのプロセス内の
あるステップが完了したかを決定し、そのステップの完
了の指標をプロセスサーバに送ることによって克服す
る。本発明はデバイス内のイベントを監視するために、
この監視は完全に自動的である。さらに、本発明はツー
ル内のイベントではなく、デバイス内のイベントを監視
するために、本発明のユーザは、彼等が望む任意のツー
ルを使用することができる。
【0020】本発明の特に好ましいタイプは、その中で
イベントが監視されるデバイスがコンピュータシステム
のオペレーティングシステムの場合である。もう一つの
好ましいタイプは、プロセスサーバ、デバイス、及びプ
ロセスサーバ内で使用されるプロセスステップの表現を
シーケンスのイベントとしてのステップの表現に翻訳
し、次にこれらイベントをあるステップを定義するシー
ケンスが検出されるまで監視するトランスレータを含
む。トランスレータはこのシーケンスが検出された時点
で、プロセスサーバにそのステップが発生したという通
知を提供する。このタイプにおいては、プロセスサーバ
は、モノリシックタイプのプロセス制御システムであり
得る。プロセス制御システムは、トランスレータからの
通知に、それがプロセス制御システム内からの通知に応
答するのと同一方法にて応答する。本発明の前述の及び
他の目的及び長所が当業者においては、以下の図面及び
詳細な説明を読むことによって明らかになるものであ
る。
イベントが監視されるデバイスがコンピュータシステム
のオペレーティングシステムの場合である。もう一つの
好ましいタイプは、プロセスサーバ、デバイス、及びプ
ロセスサーバ内で使用されるプロセスステップの表現を
シーケンスのイベントとしてのステップの表現に翻訳
し、次にこれらイベントをあるステップを定義するシー
ケンスが検出されるまで監視するトランスレータを含
む。トランスレータはこのシーケンスが検出された時点
で、プロセスサーバにそのステップが発生したという通
知を提供する。このタイプにおいては、プロセスサーバ
は、モノリシックタイプのプロセス制御システムであり
得る。プロセス制御システムは、トランスレータからの
通知に、それがプロセス制御システム内からの通知に応
答するのと同一方法にて応答する。本発明の前述の及び
他の目的及び長所が当業者においては、以下の図面及び
詳細な説明を読むことによって明らかになるものであ
る。
【0021】
【実施例】好ましい実現のアーキテクチュア プロセス制御システムの好ましい実現のアーキテクチュ
アが図1に示され、以下に説明される。監視下のプロセ
スはプロセスサーバ(101)内にモデル化される。こ
のプロセスサーバのオペレーティングシステム部(10
2)はネイティブオペレーティングシステム(103)
に上に駐在する主体上で遂行される動作、例えば、ファ
イルの修正、ツールの呼び出し、及びデバイスの使用に
対応するプロセスのステップをモデル化する。オペレー
ティングシステム部分(102)内にモデル化されたこ
れらステップは自動的に監視することができるステップ
である。セットのこれらステップが生成され(10
5)、トランスレータ(1.6)に運ばれるが、これは
これらセットのステップをステップテーブル(109)
内に格納し、このテーブルからイベントテーブル(11
0)を生成する。イベントテーブルはステップテーブル
(109)内に格納されたステップに対応するプリミテ
ィブオペレーティングシステムイベントを含む。単一の
プロセスステップがシーケンスのプリミティブ(primit
ive) オペレーティングシステムイベントに対応する。
例えば、“ドキュメント再調査”というステップは、4
つのプリミティブイベント:つまり、エディタ(edito
r)の呼び出し、ドキュメントのオープン、ドキュメン
トの読み出し及び恐らくは修正、並びにドキュメントの
クローズ(close )に対応する。
アが図1に示され、以下に説明される。監視下のプロセ
スはプロセスサーバ(101)内にモデル化される。こ
のプロセスサーバのオペレーティングシステム部(10
2)はネイティブオペレーティングシステム(103)
に上に駐在する主体上で遂行される動作、例えば、ファ
イルの修正、ツールの呼び出し、及びデバイスの使用に
対応するプロセスのステップをモデル化する。オペレー
ティングシステム部分(102)内にモデル化されたこ
れらステップは自動的に監視することができるステップ
である。セットのこれらステップが生成され(10
5)、トランスレータ(1.6)に運ばれるが、これは
これらセットのステップをステップテーブル(109)
内に格納し、このテーブルからイベントテーブル(11
0)を生成する。イベントテーブルはステップテーブル
(109)内に格納されたステップに対応するプリミテ
ィブオペレーティングシステムイベントを含む。単一の
プロセスステップがシーケンスのプリミティブ(primit
ive) オペレーティングシステムイベントに対応する。
例えば、“ドキュメント再調査”というステップは、4
つのプリミティブイベント:つまり、エディタ(edito
r)の呼び出し、ドキュメントのオープン、ドキュメン
トの読み出し及び恐らくは修正、並びにドキュメントの
クローズ(close )に対応する。
【0022】オペレーティングシステムモニタ(10
4)はプリミティブオペレーティングシステムイベント
(108)を生成する。これはライブラリを介してプリ
ミティブオペレーティングシステムコール(例えば、フ
ァイルのオープン)をトラップすることによって行なわ
れる。システムコールが発生すると、対応するプリミテ
ィブイベントが生成されるが;このフォーマット及びこ
のパケット内に含まれる情報は後に図7において説明さ
れる。ライブラリはオペレーティングシステム(10
3)の下でランするツール(tools )を含む全てのコン
ピュータプログラムによって生成されるシステム呼をこ
れらプログラムに対する封入或は修正を要求することな
しにトラップする。フィルタされるべきシステム呼の選
択はコマンド毎ベース(per-command basis )にて動的
に決定することができる。一つの好ましい実現において
は、ライブラリは、Proceedings of the USENIX San Fr
ancisco Winter 1992 Conference、 San Francisco、 C
A に於て、1992年に開催、ページ3−7にEduardo
Krell 及びBalachander Krishnamurthy によって掲載の
論文『COLA:カスタム化されたオーバレイ(COLA:C
ustomized Overlying )』において説明されるように動
的にリンクされる。また、オペレーティングシステムモ
ニタ(104)については、Software Practice and Ex
perience、ボリュウム20、番号S1、1990年6月
発行、ページ19−34にDavid G.Korn及びEduardo Kr
ell によって発表の論文『UNIXファイルシステムに
対する新たな次元(A New Dimension for the UNIX Fil
e System)』においてより詳細に説明されている。
4)はプリミティブオペレーティングシステムイベント
(108)を生成する。これはライブラリを介してプリ
ミティブオペレーティングシステムコール(例えば、フ
ァイルのオープン)をトラップすることによって行なわ
れる。システムコールが発生すると、対応するプリミテ
ィブイベントが生成されるが;このフォーマット及びこ
のパケット内に含まれる情報は後に図7において説明さ
れる。ライブラリはオペレーティングシステム(10
3)の下でランするツール(tools )を含む全てのコン
ピュータプログラムによって生成されるシステム呼をこ
れらプログラムに対する封入或は修正を要求することな
しにトラップする。フィルタされるべきシステム呼の選
択はコマンド毎ベース(per-command basis )にて動的
に決定することができる。一つの好ましい実現において
は、ライブラリは、Proceedings of the USENIX San Fr
ancisco Winter 1992 Conference、 San Francisco、 C
A に於て、1992年に開催、ページ3−7にEduardo
Krell 及びBalachander Krishnamurthy によって掲載の
論文『COLA:カスタム化されたオーバレイ(COLA:C
ustomized Overlying )』において説明されるように動
的にリンクされる。また、オペレーティングシステムモ
ニタ(104)については、Software Practice and Ex
perience、ボリュウム20、番号S1、1990年6月
発行、ページ19−34にDavid G.Korn及びEduardo Kr
ell によって発表の論文『UNIXファイルシステムに
対する新たな次元(A New Dimension for the UNIX Fil
e System)』においてより詳細に説明されている。
【0023】トランスレータ(109)はプリミティブ
オペレーティングシステムイベント(108)をフィル
タし、これらをイベントテーブル(110)内に格納さ
れたイベントと比較する。ステップテーブル(109)
内の単一ステップに対応する全てのイベントが発生した
ら、トランスレータ(106)はそれにその特定のステ
ップが発生したことを知らせるためにプロセスステップ
通知(107)をプロセスサーバ(101)に送る。プ
ロセスサーバは次にこの情報を使用して他の形式のコン
ピュータ支援プロセス制御を遂行することができる。
オペレーティングシステムイベント(108)をフィル
タし、これらをイベントテーブル(110)内に格納さ
れたイベントと比較する。ステップテーブル(109)
内の単一ステップに対応する全てのイベントが発生した
ら、トランスレータ(106)はそれにその特定のステ
ップが発生したことを知らせるためにプロセスステップ
通知(107)をプロセスサーバ(101)に送る。プ
ロセスサーバは次にこの情報を使用して他の形式のコン
ピュータ支援プロセス制御を遂行することができる。
【0024】図2は図1内のトランスレータ(106)
の要素を示す。トランスレータは、二つの要素:つま
り、プロセス−イベントトランスレータ(201)及び
イベント−アクションエンジン(203)から構成され
る。監視されるべきセットのプロセスステップ(10
5)が入力としてプロセス−イベントトランスレータ
(201)に送られるが、このタスクはこれらステップ
の任意の一つが発生したときプロセスサーバに通知する
ことにある。プロセス−イベントトランスレータ(20
1)はこれらステップをステップテーブル(109)内
に格納し、各ステップに対して、一つ或は複数のイベン
ト−アクション仕様(202)を生成するが、これらは
入力としてイベント−アクションエンジン(203)に
送られる。イベント−アクションエンジンは、前述のよ
うに、これら仕様をイベントテーブル(110)内に格
納する。イベント−アクションエンジンは次にこれらイ
ベント仕様をオペレーティングシステムモニタ(10
4)によって生成されらプリミティブオペレーティング
システムイベント(108)と比較する。一致が発生す
ると、イベント通知(204)がプロセス−イベントト
ランスレータ(201)に送られる。
の要素を示す。トランスレータは、二つの要素:つま
り、プロセス−イベントトランスレータ(201)及び
イベント−アクションエンジン(203)から構成され
る。監視されるべきセットのプロセスステップ(10
5)が入力としてプロセス−イベントトランスレータ
(201)に送られるが、このタスクはこれらステップ
の任意の一つが発生したときプロセスサーバに通知する
ことにある。プロセス−イベントトランスレータ(20
1)はこれらステップをステップテーブル(109)内
に格納し、各ステップに対して、一つ或は複数のイベン
ト−アクション仕様(202)を生成するが、これらは
入力としてイベント−アクションエンジン(203)に
送られる。イベント−アクションエンジンは、前述のよ
うに、これら仕様をイベントテーブル(110)内に格
納する。イベント−アクションエンジンは次にこれらイ
ベント仕様をオペレーティングシステムモニタ(10
4)によって生成されらプリミティブオペレーティング
システムイベント(108)と比較する。一致が発生す
ると、イベント通知(204)がプロセス−イベントト
ランスレータ(201)に送られる。
【0025】一例としてのイベント−アクションエンジ
ンがProceedings of the International Workshop on C
omputer Supported Cooperative Work, IFIP TC 6/WG
C.5 ,1991年4月発行、ページ132−145にBal
achander Krishnamurthy 及びDavid Rosenblum によっ
て発表の論文『コンピュータ支援協調ワークのイベント
−アクションモデル:設計と実現(An Event-Action Mo
del of Computer-Supported Cooperative Work: Design
and Implementation )』において説明されている。
ンがProceedings of the International Workshop on C
omputer Supported Cooperative Work, IFIP TC 6/WG
C.5 ,1991年4月発行、ページ132−145にBal
achander Krishnamurthy 及びDavid Rosenblum によっ
て発表の論文『コンピュータ支援協調ワークのイベント
−アクションモデル:設計と実現(An Event-Action Mo
del of Computer-Supported Cooperative Work: Design
and Implementation )』において説明されている。
【0026】図3はオペレーティングシステムモニタ
(104)とイベント−アクションエンジン(203)
との間のインターフェースをより詳細に示す。フィルタ
(301)はこれらステップ及びプロセスサーバ(10
2)のオペレーティングシステム部分内でモデル化され
た主体に基づいてプリミティブオペレーティングシステ
ムイベント(108)をフィルタし、これらイベントを
イベント−アクションエンジン(203)に供給する。
より詳細には、トランスレータ(106)はフィルタ
(Filter)(301)に二つの情報:つまり、監視され
るべきプリミティブオペレーティングシステムのリス
ト、及び監視されるべき主体のリスト(例えば、ファイ
ル及びダイレクトリ)を提供する。この情報はプロセス
サーバ(102)内のオペレーティングシステム部分か
ら直接に抽出される。この情報に基づいて、フィルタは
これら二つのリストに対応しないシステム呼を無視し、
これらシステム呼の残りをイベント−アクションエンジ
ン(203)に送る。こうして、このプロセスに関係す
るプリミティブオペレーティングシステムイベントのみ
がイベント−アクションエンジンに供給される。
(104)とイベント−アクションエンジン(203)
との間のインターフェースをより詳細に示す。フィルタ
(301)はこれらステップ及びプロセスサーバ(10
2)のオペレーティングシステム部分内でモデル化され
た主体に基づいてプリミティブオペレーティングシステ
ムイベント(108)をフィルタし、これらイベントを
イベント−アクションエンジン(203)に供給する。
より詳細には、トランスレータ(106)はフィルタ
(Filter)(301)に二つの情報:つまり、監視され
るべきプリミティブオペレーティングシステムのリス
ト、及び監視されるべき主体のリスト(例えば、ファイ
ル及びダイレクトリ)を提供する。この情報はプロセス
サーバ(102)内のオペレーティングシステム部分か
ら直接に抽出される。この情報に基づいて、フィルタは
これら二つのリストに対応しないシステム呼を無視し、
これらシステム呼の残りをイベント−アクションエンジ
ン(203)に送る。こうして、このプロセスに関係す
るプリミティブオペレーティングシステムイベントのみ
がイベント−アクションエンジンに供給される。
【0027】図3はフィルタ(301)をこれが様々な
方法にて実現できるために点線のボックスとして示す。
より詳細には、これはオペレーティングシステムモニタ
(104)或はイベント−アクションエンジン(20
3)に堅く結合することも、或は中間の一つの別個の要
素とすることもできる。オペレーティングシステムモニ
タによって生成されたプリミティブオペレーティングシ
ステムイベント(108)はイベント−アクションエン
ジン(203)に対して適当な入力フォーマットに変換
されなければならない。但し、この入力フォーマットの
変換はイベント−アクションエンジン自身の中で遂行さ
れ、この図面には示されない。
方法にて実現できるために点線のボックスとして示す。
より詳細には、これはオペレーティングシステムモニタ
(104)或はイベント−アクションエンジン(20
3)に堅く結合することも、或は中間の一つの別個の要
素とすることもできる。オペレーティングシステムモニ
タによって生成されたプリミティブオペレーティングシ
ステムイベント(108)はイベント−アクションエン
ジン(203)に対して適当な入力フォーマットに変換
されなければならない。但し、この入力フォーマットの
変換はイベント−アクションエンジン自身の中で遂行さ
れ、この図面には示されない。
【0028】図5はプロセス制御システム(1)のこの
好ましい実現を従来の技術と比較する。図4に示される
ように、各ツールを別個に封入する代わりに、単一の封
筒、つまり、オペレーティングシステムモニタ(10
4)によって包む。ツール(502)によって生成され
たシステム呼(低レベルオペレーティングシステムプリ
ミティブ)はオペレーティングシステム(103)の回
りのモニタ(104)によってフィルタされる。オペレ
ーティングシステムモニタ(104)はプリミティブオ
ペレーティングシステムイベント(302)をトランス
レータ(106)に送る。この図面の残りは従来の技術
とプロセスサーバ(101)がトランスレータ(10
6)に監視されるべきステップ(105)を通知し、こ
れに応答してプロセスステップ通知(107)を受信す
るという意味において類似する。図5はこれを示さない
が、この好ましい実施例は、従来の技術とは異なり、図
6に示されるように、非ツールベース(non-tool base
d)のオペレーティングシステムプリミティブイベント
を監視することができる。
好ましい実現を従来の技術と比較する。図4に示される
ように、各ツールを別個に封入する代わりに、単一の封
筒、つまり、オペレーティングシステムモニタ(10
4)によって包む。ツール(502)によって生成され
たシステム呼(低レベルオペレーティングシステムプリ
ミティブ)はオペレーティングシステム(103)の回
りのモニタ(104)によってフィルタされる。オペレ
ーティングシステムモニタ(104)はプリミティブオ
ペレーティングシステムイベント(302)をトランス
レータ(106)に送る。この図面の残りは従来の技術
とプロセスサーバ(101)がトランスレータ(10
6)に監視されるべきステップ(105)を通知し、こ
れに応答してプロセスステップ通知(107)を受信す
るという意味において類似する。図5はこれを示さない
が、この好ましい実施例は、従来の技術とは異なり、図
6に示されるように、非ツールベース(non-tool base
d)のオペレーティングシステムプリミティブイベント
を監視することができる。
【0029】図6はプロセス制御システム(6)のこの
好ましい実施例の実現を示す。我々はこの図面を二つの
段階にて説明する。最初に、我々は、プロセスモデルが
監視されるべきイベントにいかに翻訳されるかを示し;
次に、我々はこれらのイベントが実際にいかにして自動
的に検出されるかを示す。
好ましい実施例の実現を示す。我々はこの図面を二つの
段階にて説明する。最初に、我々は、プロセスモデルが
監視されるべきイベントにいかに翻訳されるかを示し;
次に、我々はこれらのイベントが実際にいかにして自動
的に検出されるかを示す。
【0030】プロセスアドミニストレータ(609)は
プロセスモデル(610)をプロセスサーバ(101)
に供給する。プロセスサーバ(101)は前に説明され
たようにオペレーティングシステム部分を含む。この好
ましい実施例においては、プロセスサーバはMarvelであ
る。Marvelはこのプロセスに巻き込まれる主体をそれら
の状態がプロセスの状態を表わすタイプ別オブジェクト
として表わす。状態遷移は規則の発動によって発生す
る。こうして、あるプロセスステップが完結すると、結
果として、一つ或は複数の規則が発動され、これら発動
の結果として、これらのオブジェクトの状態がステップ
の完結を反映するように変更される。
プロセスモデル(610)をプロセスサーバ(101)
に供給する。プロセスサーバ(101)は前に説明され
たようにオペレーティングシステム部分を含む。この好
ましい実施例においては、プロセスサーバはMarvelであ
る。Marvelはこのプロセスに巻き込まれる主体をそれら
の状態がプロセスの状態を表わすタイプ別オブジェクト
として表わす。状態遷移は規則の発動によって発生す
る。こうして、あるプロセスステップが完結すると、結
果として、一つ或は複数の規則が発動され、これら発動
の結果として、これらのオブジェクトの状態がステップ
の完結を反映するように変更される。
【0031】Marvelのオペレーティングシステム部分は
4つのタイプの主体:つまり、被監視ツール、被監視フ
ァイル、被監視ユーザアナウンスドイベント、被監視一
時的イベントを表わすオブジェクトに関して動作する規
則から構成される。各タイプの主体に対して、Marvelが
ステップ通知を受信すると、対応する規則が発動され
る。これらのステップの全ては後に説明されるように監
視される。
4つのタイプの主体:つまり、被監視ツール、被監視フ
ァイル、被監視ユーザアナウンスドイベント、被監視一
時的イベントを表わすオブジェクトに関して動作する規
則から構成される。各タイプの主体に対して、Marvelが
ステップ通知を受信すると、対応する規則が発動され
る。これらのステップの全ては後に説明されるように監
視される。
【0032】この部分から、監視されるセットのステッ
プ(105)は被監視主体のタイプに基づいてプロセス
−イベントトランスレータ(201)に供給される。例
えば、被監視ツールに対しては、三つのタイプのステッ
プ:つまり、ツール呼出しの開始、ツール呼出し停止、
及びツールの終結が監視されなければならない。被監視
ファイルについては、監視されるべきステップには、フ
ァイルの修正及びファイルの削除が含まれる。
プ(105)は被監視主体のタイプに基づいてプロセス
−イベントトランスレータ(201)に供給される。例
えば、被監視ツールに対しては、三つのタイプのステッ
プ:つまり、ツール呼出しの開始、ツール呼出し停止、
及びツールの終結が監視されなければならない。被監視
ファイルについては、監視されるべきステップには、フ
ァイルの修正及びファイルの削除が含まれる。
【0033】プロセスイベントトランスレータ(20
1)はこれらステップの各々をセットのイベント−アク
ション仕様(event-action specification)(202)
に翻訳し、これらをイベント−アクションエンジン(2
03)にて登録する。例えば、“file x modified (フ
ァイルxが修正された)”というプロセスステップは
“file x is opened and then file x is written and
then file x is closed,send a notification that fil
e x has been modified .(ファイルxがオープンさ
れ、次にファイルxが書き込まれ、次にファイルxがク
ローズされた場合は、ファイルxが修正されたという通
知を送れ)”という形式の仕様の生成を起こさせる。
1)はこれらステップの各々をセットのイベント−アク
ション仕様(event-action specification)(202)
に翻訳し、これらをイベント−アクションエンジン(2
03)にて登録する。例えば、“file x modified (フ
ァイルxが修正された)”というプロセスステップは
“file x is opened and then file x is written and
then file x is closed,send a notification that fil
e x has been modified .(ファイルxがオープンさ
れ、次にファイルxが書き込まれ、次にファイルxがク
ローズされた場合は、ファイルxが修正されたという通
知を送れ)”という形式の仕様の生成を起こさせる。
【0034】仕様のイベントパターンが一致する場合
は、イベント−アクションエンジン(203)はプロセ
ス−イベントトランスレータ(201)にイベント通知
(204)を送る。プロセス−イベントトランスレータ
(201)はこれら通知を対応するプロセスステップに
変換し、プロセスサーバ(101)にこの特定のステッ
プが発生したことを通知する(107)。イベント−ア
クションエンジン(203)はイベント−アクション仕
様(202)をイベントの三つのカテゴリと比較する。
第一はオペレーティングシステム主体(603)上で発
生するツールでもファイルでもないイベントである。こ
のようなイベントの一例は“the load on a machine ex
ceeding a certain threshold (あるしきい値を超える
マシン上の負荷)”というイベントである。これらイベ
ントはイベント−アクションエンジンによってポーリン
グされる(606)。
は、イベント−アクションエンジン(203)はプロセ
ス−イベントトランスレータ(201)にイベント通知
(204)を送る。プロセス−イベントトランスレータ
(201)はこれら通知を対応するプロセスステップに
変換し、プロセスサーバ(101)にこの特定のステッ
プが発生したことを通知する(107)。イベント−ア
クションエンジン(203)はイベント−アクション仕
様(202)をイベントの三つのカテゴリと比較する。
第一はオペレーティングシステム主体(603)上で発
生するツールでもファイルでもないイベントである。こ
のようなイベントの一例は“the load on a machine ex
ceeding a certain threshold (あるしきい値を超える
マシン上の負荷)”というイベントである。これらイベ
ントはイベント−アクションエンジンによってポーリン
グされる(606)。
【0035】第二のカテゴリのイベントはファイル及び
ツールベースのプリミティブイベント(605)であ
る。オペレーティングシステムモニタ(602)はこれ
らイベントをイベント−アクションエンジン(203)
に供給するためにファイルシステム及びツールを監視す
る。これらイベントに対してはイベント−アクションエ
ンジンの部分に関してはポーリングは要求されない。オ
ペレーティングシステムモニタ(602)は図1に説明
されるモニタ(104)よりも、これがファイル及びツ
ールのみを検出し;図1内のオペレーティングシステム
モニタ(104)は概念上は全てのプリミティブオペレ
ーティングシステムイベントを検出できるために、多少
制約が大きなことに注意する。
ツールベースのプリミティブイベント(605)であ
る。オペレーティングシステムモニタ(602)はこれ
らイベントをイベント−アクションエンジン(203)
に供給するためにファイルシステム及びツールを監視す
る。これらイベントに対してはイベント−アクションエ
ンジンの部分に関してはポーリングは要求されない。オ
ペレーティングシステムモニタ(602)は図1に説明
されるモニタ(104)よりも、これがファイル及びツ
ールのみを検出し;図1内のオペレーティングシステム
モニタ(104)は概念上は全てのプリミティブオペレ
ーティングシステムイベントを検出できるために、多少
制約が大きなことに注意する。
【0036】第三のカテゴリのイベントはユーザ(60
4)によって生成される。これらユーザはユーザアナウ
ンスイベント(607)を介してイベント−アクション
エンジン(203)に直接通知する。この実現において
我々が使用するイベント−アクションエンジンは、これ
に任意のイベントに関して通知するためのユーザに対す
るメカニズムを提供する。例えば、Yeast イベント−ア
クションエンジンは顧客がこれを達成するようにアナウ
ンスメントを提供する。このユーザアナウンスメント機
構は個々のユーザアナウンスメントイベント(607)
に対して図8に示されるようなフォーマットのパケット
を生成する。
4)によって生成される。これらユーザはユーザアナウ
ンスイベント(607)を介してイベント−アクション
エンジン(203)に直接通知する。この実現において
我々が使用するイベント−アクションエンジンは、これ
に任意のイベントに関して通知するためのユーザに対す
るメカニズムを提供する。例えば、Yeast イベント−ア
クションエンジンは顧客がこれを達成するようにアナウ
ンスメントを提供する。このユーザアナウンスメント機
構は個々のユーザアナウンスメントイベント(607)
に対して図8に示されるようなフォーマットのパケット
を生成する。
【0037】図7はプリミティブオペレーティングシス
テムイベントパケットのデータフォーマットを示す。オ
ペレーティングシステムモニタ(104)は各プリミテ
ィブオペレーティングシステムイベント(203)に対
してこのようなパケットを生成する。第一の要素はその
上にプリミティブイベントが発生したオペレーティング
システム主体(701)の経路名である。次のフィール
ドはシステムコール(702)であるが、これはオペレ
ーティングシステムプリミティブイベントに対応する。
第三のフィールドはマシンの名前、つまり、そこからパ
ケットが送られるホスト名(703)である。次のフィ
ールドは識別子、つまり、オペレーティングシステムに
よってそのパケットを生成しているプロセスに割り当て
られたpid(704)である。第五のフィールドはユ
ーザ識別子、つまり、その動作がパケットの生成の原因
となったユーザのuid(705)である。パケット
(706)の残りの部分は、我々はこの実現においては
使用しないが、但し将来の実現においては有用であると
考えられる他の関連する情報のために提供される。
テムイベントパケットのデータフォーマットを示す。オ
ペレーティングシステムモニタ(104)は各プリミテ
ィブオペレーティングシステムイベント(203)に対
してこのようなパケットを生成する。第一の要素はその
上にプリミティブイベントが発生したオペレーティング
システム主体(701)の経路名である。次のフィール
ドはシステムコール(702)であるが、これはオペレ
ーティングシステムプリミティブイベントに対応する。
第三のフィールドはマシンの名前、つまり、そこからパ
ケットが送られるホスト名(703)である。次のフィ
ールドは識別子、つまり、オペレーティングシステムに
よってそのパケットを生成しているプロセスに割り当て
られたpid(704)である。第五のフィールドはユ
ーザ識別子、つまり、その動作がパケットの生成の原因
となったユーザのuid(705)である。パケット
(706)の残りの部分は、我々はこの実現においては
使用しないが、但し将来の実現においては有用であると
考えられる他の関連する情報のために提供される。
【0038】図7において説明されたプリミティブオペ
レーティングシステムイベントパケットは入力としてイ
ベント−アクションエンジン(203)に送られる。こ
れは次にイベントテーブル(110)内に格納されてい
るイベントパターンと比較される。図7の生成されたイ
ベントパケットがイベントテーブル(110)内のイベ
ントパターンの一つと一致する場合は、対応する動作が
遂行される。つまり、イベント通知(204)がプロセ
ス−イベントトランスレータ(201)に送られる。
レーティングシステムイベントパケットは入力としてイ
ベント−アクションエンジン(203)に送られる。こ
れは次にイベントテーブル(110)内に格納されてい
るイベントパターンと比較される。図7の生成されたイ
ベントパケットがイベントテーブル(110)内のイベ
ントパターンの一つと一致する場合は、対応する動作が
遂行される。つまり、イベント通知(204)がプロセ
ス−イベントトランスレータ(201)に送られる。
【0039】図8はイベント−アクションエンジン(6
08)のアナウンスメント機構によって生成されたユー
ザアナウンスドイベントパケットのフォーマットを示
す。第一の要素はアナウンスメントの内容(801)で
ある。これには特定のプロセス主体に関する情報、例え
ば、その属性の一つの値が含まれる。このパケットの他
のフィールドには、そこからユーザがアナウンスメント
を送るマシンの名前、つまり、ホスト名(803)、オ
ペレーティングシステムプロセス識別子、つまりそのパ
ケットを生成しているプロセスのpid(804)、ユ
ーザ識別子、つまり、そのユーザの動作がパケットの生
成を起こさせたユーザのuid(805)、及び我々は
この現在の実現においては使用しないが、但し、将来の
実現においては有効であると考えられる雑多の他の情報
(805)が含まれる。
08)のアナウンスメント機構によって生成されたユー
ザアナウンスドイベントパケットのフォーマットを示
す。第一の要素はアナウンスメントの内容(801)で
ある。これには特定のプロセス主体に関する情報、例え
ば、その属性の一つの値が含まれる。このパケットの他
のフィールドには、そこからユーザがアナウンスメント
を送るマシンの名前、つまり、ホスト名(803)、オ
ペレーティングシステムプロセス識別子、つまりそのパ
ケットを生成しているプロセスのpid(804)、ユ
ーザ識別子、つまり、そのユーザの動作がパケットの生
成を起こさせたユーザのuid(805)、及び我々は
この現在の実現においては使用しないが、但し、将来の
実現においては有効であると考えられる雑多の他の情報
(805)が含まれる。
【0040】図8に説明されるユーザアナウンスドイベ
ントパケットは入力としてイベント−アクションエンジ
ン(203)に送られる。これは次にイベントテーブル
(110)内に格納されたイベントパターンと比較され
る。図7の生成されたイベントパケットがイベントテー
ブル(110)内のイベントパターンの一つと完全に一
致する場合は、対応する動作が行なわれる。つまり、イ
ベント通知(204)がプロセス−イベントトランスレ
ータ(201)に送られる。イベントテーブル100内
のイベントパターンは複合イベントパターンを持つこと
ができ、従って、イベントテーブル(110)内のイベ
ントパターンが完全に一致する前に図7に示される形式
の複数のイベントが生成されることが可能である。
ントパケットは入力としてイベント−アクションエンジ
ン(203)に送られる。これは次にイベントテーブル
(110)内に格納されたイベントパターンと比較され
る。図7の生成されたイベントパケットがイベントテー
ブル(110)内のイベントパターンの一つと完全に一
致する場合は、対応する動作が行なわれる。つまり、イ
ベント通知(204)がプロセス−イベントトランスレ
ータ(201)に送られる。イベントテーブル100内
のイベントパターンは複合イベントパターンを持つこと
ができ、従って、イベントテーブル(110)内のイベ
ントパターンが完全に一致する前に図7に示される形式
の複数のイベントが生成されることが可能である。
【0041】図9はプロセス制御システムのプロセス−
イベントトランスレータ(201)のデータ構造を示
す。このデータ構造は被監視イベント及び主体、並びに
対応するステップに関する情報を格納する。
イベントトランスレータ(201)のデータ構造を示
す。このデータ構造は被監視イベント及び主体、並びに
対応するステップに関する情報を格納する。
【0042】被監視ツールのテーブル(901)はその
プロセスに関係のある任意のツールの個々の呼出しに対
して一つのエントリを持つ。このテーブル内にプロセス
−イベントトランスレータ(201)がイベント−アク
ションエンジン(203)から、被監視ツールが呼出さ
れた(オペレーティングシステムモニタ(104)がそ
のツールの実行の開始に対応するプリミティブオペレー
ティングシステムイベントを生成した)ことを示すイベ
ント通知を受信するたびに生成される。一つのエントリ
が対応するツール呼出しが完結すると除去される。その
プロセスと関係するツールのリストがプロセスサーバ
(101)によって供給された監視されるべきセットの
ステップ(105)から抽出される。各エントリは6つ
のフィールドから構成される。第一のフィールドは呼出
されたツールの経路名(902)であり;第二のフィー
ルドはマシンの名前、つまりそこからツールが呼出され
たホストの名前(903)であり、これに、識別子、つ
まり、ツール呼出しのオペレーティングシステムプロセ
スのpid(904)が続く。第四のフィールドはユー
ザ識別子、つまり、ツールを呼出しているユーザのui
d(905)であり、これに、プロセスサーバのオペレ
ーティングシステム部分(102)内のツールオブジェ
クト(tool object )の識別子が続く。最後のフィール
ドはツールのこの呼出しに対応するプロセスステップの
名前(907)を格納する。
プロセスに関係のある任意のツールの個々の呼出しに対
して一つのエントリを持つ。このテーブル内にプロセス
−イベントトランスレータ(201)がイベント−アク
ションエンジン(203)から、被監視ツールが呼出さ
れた(オペレーティングシステムモニタ(104)がそ
のツールの実行の開始に対応するプリミティブオペレー
ティングシステムイベントを生成した)ことを示すイベ
ント通知を受信するたびに生成される。一つのエントリ
が対応するツール呼出しが完結すると除去される。その
プロセスと関係するツールのリストがプロセスサーバ
(101)によって供給された監視されるべきセットの
ステップ(105)から抽出される。各エントリは6つ
のフィールドから構成される。第一のフィールドは呼出
されたツールの経路名(902)であり;第二のフィー
ルドはマシンの名前、つまりそこからツールが呼出され
たホストの名前(903)であり、これに、識別子、つ
まり、ツール呼出しのオペレーティングシステムプロセ
スのpid(904)が続く。第四のフィールドはユー
ザ識別子、つまり、ツールを呼出しているユーザのui
d(905)であり、これに、プロセスサーバのオペレ
ーティングシステム部分(102)内のツールオブジェ
クト(tool object )の識別子が続く。最後のフィール
ドはツールのこの呼出しに対応するプロセスステップの
名前(907)を格納する。
【0043】この図面内の第二のテーブルは被監視オペ
レーティングシステムファイルのテーブル(908)で
ある。このテーブル内のエントリはプロセス−イベント
トランスレータ(201)がイベント−アクションエン
ジン(203)から被監視ファイルがアクセスされた
(オペレーティングシステムモニタ(104)がファイ
ルのアクセス、例えば、オープニング或は書き込みに対
応するプリミティブオペレーティングシステムイベント
を生成した)ことを示すイベント通知を受信する度に生
成される。このエントリはアクセスが完結したときに
(例えば、オペレーティングシステムモニタが“file c
lose(ファイルクローズ)”イベントを生成したとき
に)除去される。このテーブル内の個々のエントリは4
つのフィールドを持つ。第一のフィールドはファイルの
経路名(909)である。第二のフィールドはファイル
へのこのアクセスが被監視ツールの一つによって行なわ
れたか否かを示すブール値(910)であり、そうであ
る場合は、次に、第三のフィールドが対応するツールの
エントリへのポインタ(911)を被監視ツールのテー
ブル(901)に格納する。そのアクセスが被監視ツー
ルの一つによるものでない場合は、第三のフィールドは
NULL(つまり空)にセットされる。最後の項目はファイ
ルがこのアクセスにおいて修正されたか否かを示すブー
ル値(912)である。示されるテーブルは二つのエン
トリを示す。位置iの所の第一のエントリ(913)は
被監視ツールによってアクセスされているファイルに対
するものであり、従って、この第三のフィールドは被監
視ツールのテーブル内のエントリへのポインタ(91
1)を持ち;第四のフィールドはファイルがまだそのツ
ールによって修正されてないことを示す。位置jの所の
第二のエントリは監視されてない(つまり、このプロセ
スと関係のない)ツールによってアクセスされているフ
ァイル(恐らくは位置iの所のエントリ内と同一ファイ
ル)に対するものであり、従って、第三のフィールド
は、NULLである。
レーティングシステムファイルのテーブル(908)で
ある。このテーブル内のエントリはプロセス−イベント
トランスレータ(201)がイベント−アクションエン
ジン(203)から被監視ファイルがアクセスされた
(オペレーティングシステムモニタ(104)がファイ
ルのアクセス、例えば、オープニング或は書き込みに対
応するプリミティブオペレーティングシステムイベント
を生成した)ことを示すイベント通知を受信する度に生
成される。このエントリはアクセスが完結したときに
(例えば、オペレーティングシステムモニタが“file c
lose(ファイルクローズ)”イベントを生成したとき
に)除去される。このテーブル内の個々のエントリは4
つのフィールドを持つ。第一のフィールドはファイルの
経路名(909)である。第二のフィールドはファイル
へのこのアクセスが被監視ツールの一つによって行なわ
れたか否かを示すブール値(910)であり、そうであ
る場合は、次に、第三のフィールドが対応するツールの
エントリへのポインタ(911)を被監視ツールのテー
ブル(901)に格納する。そのアクセスが被監視ツー
ルの一つによるものでない場合は、第三のフィールドは
NULL(つまり空)にセットされる。最後の項目はファイ
ルがこのアクセスにおいて修正されたか否かを示すブー
ル値(912)である。示されるテーブルは二つのエン
トリを示す。位置iの所の第一のエントリ(913)は
被監視ツールによってアクセスされているファイルに対
するものであり、従って、この第三のフィールドは被監
視ツールのテーブル内のエントリへのポインタ(91
1)を持ち;第四のフィールドはファイルがまだそのツ
ールによって修正されてないことを示す。位置jの所の
第二のエントリは監視されてない(つまり、このプロセ
スと関係のない)ツールによってアクセスされているフ
ァイル(恐らくは位置iの所のエントリ内と同一ファイ
ル)に対するものであり、従って、第三のフィールド
は、NULLである。
【0044】装置の使用例 この好ましい実施例の実現を図解するために、我々はこ
の装置の一例としての使用について示す。このために我
々はMarvel(参照)をプロセスサーバ(101)として
選択し、Yeast (参照)をイベント−アクションエンジ
ン(203)として選択する。
の装置の一例としての使用について示す。このために我
々はMarvel(参照)をプロセスサーバ(101)として
選択し、Yeast (参照)をイベント−アクションエンジ
ン(203)として選択する。
【0045】この例はビジネス企画を作成しているビジ
ネス企画チームを想定する。この企画を展開するプロセ
スはそのビジネス企画が修正される度に、要件設計者が
彼等がそれに従って要件ドキュメントを修正できるよう
にその修正に関して通知されることを指定する。このプ
ロセスモデルはこのビジネス企画がそのタイプが“被監
視ファイル”である主体であると指定する。このビジネ
ス企画がオペレーティングシステム上に駐在する被監視
ファイルであるために、上に発生するプロセスステップ
はMarvelのオペレーティングシステム部分の一部であ
る。前述のように、これらステップには:ファイルの修
正、ファイルの生成、及びファイルの削除が含まれる。
これら3つのステップは監視されるべきステップ(61
1)としてプロセス−イベントトランスレータ(20
1)に供給される。
ネス企画チームを想定する。この企画を展開するプロセ
スはそのビジネス企画が修正される度に、要件設計者が
彼等がそれに従って要件ドキュメントを修正できるよう
にその修正に関して通知されることを指定する。このプ
ロセスモデルはこのビジネス企画がそのタイプが“被監
視ファイル”である主体であると指定する。このビジネ
ス企画がオペレーティングシステム上に駐在する被監視
ファイルであるために、上に発生するプロセスステップ
はMarvelのオペレーティングシステム部分の一部であ
る。前述のように、これらステップには:ファイルの修
正、ファイルの生成、及びファイルの削除が含まれる。
これら3つのステップは監視されるべきステップ(61
1)としてプロセス−イベントトランスレータ(20
1)に供給される。
【0046】プロセス−イベントトランスレータ(20
1)は前述のようにこれら3つのステップに対応するイ
ベント−アクション仕様(613)を生成する。このイ
ベント−アクション仕様はイベント−アクションエンジ
ン(608)のイベントテーブル(110)内に格納さ
れる。このファイルシステム内で変化が発生する度に、
オペレーティングシステムモニタ(104)はプリミテ
ィブイベントを生成し、これらをフィルタ(301)に
送る。これらイベントはこのフィルタによってフィルタ
され、この特定のプロセスと関係のあるイベントのみが
イベント−アクションエンジン(203)に送られる。
こうして、このビジネス企画がこのプロセスに参加する
ユーザによってオープンされた場合、オペレーティング
システムモニタ(104)はこれを検出し、プリミティ
ブオペレーティングシステムイベントパケット(図7)
を生成する。これらイベントはフィルタ(301)によ
ってフィルタされ、イベント−アクションエンジン(2
03)に送られるが、これはこれらイベントをそのイベ
ントテーブル(110)内のイベントと比較する。
1)は前述のようにこれら3つのステップに対応するイ
ベント−アクション仕様(613)を生成する。このイ
ベント−アクション仕様はイベント−アクションエンジ
ン(608)のイベントテーブル(110)内に格納さ
れる。このファイルシステム内で変化が発生する度に、
オペレーティングシステムモニタ(104)はプリミテ
ィブイベントを生成し、これらをフィルタ(301)に
送る。これらイベントはこのフィルタによってフィルタ
され、この特定のプロセスと関係のあるイベントのみが
イベント−アクションエンジン(203)に送られる。
こうして、このビジネス企画がこのプロセスに参加する
ユーザによってオープンされた場合、オペレーティング
システムモニタ(104)はこれを検出し、プリミティ
ブオペレーティングシステムイベントパケット(図7)
を生成する。これらイベントはフィルタ(301)によ
ってフィルタされ、イベント−アクションエンジン(2
03)に送られるが、これはこれらイベントをそのイベ
ントテーブル(110)内のイベントと比較する。
【0047】同様にして、このビジネス企画ファイルが
書き込まれ、その後クローズされるとき、イベント通知
がイベント−アクションエンジンに送られるが、これは
ここでもこれらの比較を行なう。この“クローズファイ
ル”イベントが一致したときにのみ、“file business
plan modified (ビジネス企画というファイルが修正さ
れたか)”というステップがプロセス−イベントトラン
スレータ201内で比較される。
書き込まれ、その後クローズされるとき、イベント通知
がイベント−アクションエンジンに送られるが、これは
ここでもこれらの比較を行なう。この“クローズファイ
ル”イベントが一致したときにのみ、“file business
plan modified (ビジネス企画というファイルが修正さ
れたか)”というステップがプロセス−イベントトラン
スレータ201内で比較される。
【0048】このビジネス企画及び設計者チームのメン
バは、彼等がシステムに手操作にて自動的に検出するこ
とができるイベントについて通知する必要がないため
に、このプロセス制御システムによる不必要な侵入なし
に働くことができることに注意する。さらに、彼等は彼
等の仕事を遂行するために必要な任意のツール(エディ
タ、フォーマッタ等)を使用することができる。自動デ
ータ取得、及びオープン環境を通じて不必要な侵入が排
除されることの長所が上の単純な例に反映されている。
バは、彼等がシステムに手操作にて自動的に検出するこ
とができるイベントについて通知する必要がないため
に、このプロセス制御システムによる不必要な侵入なし
に働くことができることに注意する。さらに、彼等は彼
等の仕事を遂行するために必要な任意のツール(エディ
タ、フォーマッタ等)を使用することができる。自動デ
ータ取得、及びオープン環境を通じて不必要な侵入が排
除されることの長所が上の単純な例に反映されている。
【0049】結論 前述の詳細な説明においては、当業者に対して、発明者
の新規のプロセス制御技術の実現及び使用の発明者にと
って現在知られている最良のモードが開示された。この
説明においては、この技術がその最終製品が文書、例え
ば、コンピュータプログラム或はビジネス企画であるプ
ロセスを制御するためにいかにして使用されるかが示さ
れたが;但し、当業者においては直ちに明らかなよう
に、この技術は、ビジネスプロセス、設計プロセス、生
産プロセス、及び法律プロセスを含む任意のタイプのプ
ロセスを制御するために使用できるものである。
の新規のプロセス制御技術の実現及び使用の発明者にと
って現在知られている最良のモードが開示された。この
説明においては、この技術がその最終製品が文書、例え
ば、コンピュータプログラム或はビジネス企画であるプ
ロセスを制御するためにいかにして使用されるかが示さ
れたが;但し、当業者においては直ちに明らかなよう
に、この技術は、ビジネスプロセス、設計プロセス、生
産プロセス、及び法律プロセスを含む任意のタイプのプ
ロセスを制御するために使用できるものである。
【0050】さらに、本発明の技法は、ここに開示され
たのとは異なる多くの方法によって実現できるものであ
る。例えば、単にオペレーティングシステムのみでなく
任意のデバイスを監視することができ;さらに、Yeast
はオペレーティングシステムによって生成されたイベン
トを監視するための多くの可能なデバイスの単に一つで
あり、またMarvelは多くの可能なプロセスサーバの単に
一つである。
たのとは異なる多くの方法によって実現できるものであ
る。例えば、単にオペレーティングシステムのみでなく
任意のデバイスを監視することができ;さらに、Yeast
はオペレーティングシステムによって生成されたイベン
トを監視するための多くの可能なデバイスの単に一つで
あり、またMarvelは多くの可能なプロセスサーバの単に
一つである。
【0051】前述のような事情であるために、この詳細
な説明は全ての点において単に解説及び例を示すもの
で、制限を示すものではないと理解されるべきであり、
またここに開示される本発明の範囲は詳細な説明から決
定されるものではなく、請求の範囲によって法律の許す
完全な幅を持って解釈されるべきのである。
な説明は全ての点において単に解説及び例を示すもの
で、制限を示すものではないと理解されるべきであり、
またここに開示される本発明の範囲は詳細な説明から決
定されるものではなく、請求の範囲によって法律の許す
完全な幅を持って解釈されるべきのである。
【図1】プロセス制御システムの一つの好ましい実施例
のアーキテクチュアの概要である。
のアーキテクチュアの概要である。
【図2】図1の要素(106)の分解図であり、好まし
い実施例のトランスレータ部分を示す図である。
い実施例のトランスレータ部分を示す図である。
【図3】オペレーティングシステムモニタとイベント−
アクションエンジンとの間のフィルタを示す図である。
アクションエンジンとの間のフィルタを示す図である。
【図4】従来の技術水準を示す図である。
【図5】従来の技術とプロセス制御システムの好ましい
実施例との間の比較を示す図である。
実施例との間の比較を示す図である。
【図6】プロセス制御システムの好ましい実施例の実現
を示す図である。
を示す図である。
【図7】プリミティブオペレーティングシステムのイベ
ントパケットのデータフォーマットを示す図である。
ントパケットのデータフォーマットを示す図である。
【図8】ユーザによってアナウンスされるイベントのデ
ータフォーマットを示す図である。
ータフォーマットを示す図である。
【図9】トランスレータ要素がプロセスと関係のある被
監視ツール及びファイルに関する情報を維持するために
使用するデータ構造を示す図である。図面及び詳細な説
明において使用される参照番号は3或はそれ以上の桁を
持つ。二つの下位の桁は図面内の番号であり;残りの桁
は図面番号である。こうして、参照番号“305”にて
示される要素は、最初に図3内に示される。
監視ツール及びファイルに関する情報を維持するために
使用するデータ構造を示す図である。図面及び詳細な説
明において使用される参照番号は3或はそれ以上の桁を
持つ。二つの下位の桁は図面内の番号であり;残りの桁
は図面番号である。こうして、参照番号“305”にて
示される要素は、最初に図3内に示される。
101 プロセスサーバ 102 OS部 109 ステップテーブル 110 イベントテーブル 103 OS
フロントページの続き (72)発明者 バラチャンダー クリシュナマースィ アメリカ合衆国 07928 ニュージャーシ ィ,カザム,アパートメント エッチ3, リヴァーロード 420
Claims (12)
- 【請求項1】 少なくとも一部分があるデバイス内で遂
行されるプロセスを制御するための装置であって、この
装置が:少なくとも前記のデバイス内の複数のイベント
に応答してイベントメッセージを生成するための手段;
前記のデバイス内で遂行される前記のプロセスの一部分
の表現を含む前記のプロセスの修正可能な表現;及び前
記の表現に結合されたコンピュータシステム内の手段を
含み、この手段が前記のイベントメッセージに前記のプ
ロセスの一部分の前記の表現によって要求されるように
選択的に応答し、前記のイベントメッセージによって要
求されるように前記の修正可能な表現を修正することを
特徴とする装置。 - 【請求項2】 前記のイベントメッセージに選択的に応
答する手段が:あるシーケンスのイベントの記述を含む
手段を含み、この手段がイベントメッセージに応答し、
前記のシーケンスのイベントを示すイベントメッセージ
を受信したとき、一つのイベント通知メッセージを生成
し;前記のイベントメッセージに選択的に応答する手段
がさらに前記のデバイス内で遂行される前記のプロセス
の一部分内のステップの記述を含むデバイスを含み、こ
のデバイスが前記のステップの記述からシーケンスのイ
ベントの記述を生成し、このシーケンスのイベントの記
述を前記のイベントメッセージに応答するための手段に
提供し、また前記のイベント通知メッセージに応答して
前記の修正可能な表現をそのイベント通知メッセージに
よって要求されるように修正することを特徴とする請求
項1の装置。 - 【請求項3】 前記のイベントメッセージに応答するた
めの手段がさらに:前記のデバイスがある与えられた状
態であるか否かを決定するために前記のデバイスをポー
リングし、前記のデバイスがその与えられた状態である
とき、イベントメッセージに対して応答するための手段
を含むことを特徴とする請求項2の装置。 - 【請求項4】 前記のイベントメッセージに応答するた
めの手段がさらに:装置のユーザからのメッセージに応
答して、インベントメッセージに対するように応答する
ための手段を含むことを特徴とする請求項2の装置。 - 【請求項5】 前記のプロセスの修正可能な表現を含む
規則ベースエキスパートシステムがさらに含まれ、この
システムが表現の修正に応答して、この規則ベースエキ
スパートシステムに属する規則を発動することを特徴と
する請求項2に記載の装置。 - 【請求項6】 前記のデバイス内の複数のイベントに応
答するための手段が:前記のデバイスのための封筒を含
むことを特徴とする請求項1の装置。 - 【請求項7】 前記の封筒が:一つ或は複数の動的に連
結が可能なライブラリルーチンを含み、前記のデバイス
がこれに応答して動作を遂行し、このフラブラリルーチ
ンがさらに前記のイベントメッセージを生成することを
特徴とする請求項6の装置。 - 【請求項8】 前記のデバイスがコンピュータシステム
のオペレーティングシステムであり;前記の動的に連結
が可能なライブラリルーチンが少なくともファイルに関
する動作を遂行するためのルーチンを含むことを特徴と
する請求項7の装置。 - 【請求項9】 前記のデバイスがコンピュータシステム
に対するオペレーティングシステムであることを特徴と
する請求項1の装置。 - 【請求項10】 規則ベースエキスパートシステムがさ
らに含まれ、このシステムが前記のプロセスの修正可能
な表現を含み、表現の修正に応答してこの規則ベースエ
クスパートシステムに属する規則を発動することを特徴
とする請求項1の装置。 - 【請求項11】 少なくともその一部分があるデバイス
によって遂行される動作によって遂行されるあるプロセ
スを制御するための装置であって、この装置が:前記の
動作に応答して動作イベントメッセージを生成するため
の手段;前記の動作イベントメッセージに応答して前記
のプロセスのあるステップが遂行されたことを示すプロ
セスステップメッセージを選択的に生成するための手
段;及び前記のプロセスステップメッセージに応答して
前記のプロセスを前記のプロセスステップメッセージに
よって要求されるように制御するための手段を含むこと
を特徴とする装置。 - 【請求項12】 前記のデバイスがオペレーティングシ
ステムであることを特徴とする請求項11の装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11898293A | 1993-09-08 | 1993-09-08 | |
| US118982 | 1993-09-08 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07200313A true JPH07200313A (ja) | 1995-08-04 |
Family
ID=22381940
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6214363A Withdrawn JPH07200313A (ja) | 1993-09-08 | 1994-09-08 | オープンプロセス制御システム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5608908A (ja) |
| EP (1) | EP0642077A1 (ja) |
| JP (1) | JPH07200313A (ja) |
| CA (1) | CA2128673C (ja) |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3265131B2 (ja) * | 1994-08-29 | 2002-03-11 | 日本電気株式会社 | イベント生成分配方式 |
| US5754788A (en) * | 1995-12-28 | 1998-05-19 | Attachmate Corporation | Method and system for reconfiguring a communications stack |
| US6091725A (en) | 1995-12-29 | 2000-07-18 | Cisco Systems, Inc. | Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network |
| US5805785A (en) * | 1996-02-27 | 1998-09-08 | International Business Machines Corporation | Method for monitoring and recovery of subsystems in a distributed/clustered system |
| US6243667B1 (en) | 1996-05-28 | 2001-06-05 | Cisco Systems, Inc. | Network flow switching and flow data export |
| US6308148B1 (en) | 1996-05-28 | 2001-10-23 | Cisco Technology, Inc. | Network flow data export |
| US5848272A (en) * | 1996-06-04 | 1998-12-08 | Lucent Technologies Inc. | Object-oriented intra-process messaging arrangement for windows environments |
| US5842040A (en) * | 1996-06-18 | 1998-11-24 | Storage Technology Corporation | Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units |
| US5890014A (en) * | 1996-08-05 | 1999-03-30 | Micronet Technology, Inc. | System for transparently identifying and matching an input/output profile to optimal input/output device parameters |
| US5983016A (en) * | 1996-11-12 | 1999-11-09 | International Business Machines Corporation | Execution engine in an object modeling tool |
| US6862732B1 (en) * | 1998-02-25 | 2005-03-01 | Metaserver, Inc. | Method and apparatus for event-driven processing of data |
| US6658486B2 (en) * | 1998-02-25 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | System and method for efficiently blocking event signals associated with an operating system |
| US6678713B1 (en) * | 1998-04-29 | 2004-01-13 | Xerox Corporation | Machine control using a schedulerlock construct |
| US6920112B1 (en) | 1998-06-29 | 2005-07-19 | Cisco Technology, Inc. | Sampling packets for network monitoring |
| US6347330B1 (en) | 1998-09-04 | 2002-02-12 | International Business Machines Corporation | Dynamic selective distribution of events to server receivers |
| US6253367B1 (en) | 1998-11-18 | 2001-06-26 | Micrografx, Inc. | Method and system for transforming dynamic content for use on the internet |
| US6591259B1 (en) * | 1999-07-30 | 2003-07-08 | International Business Machines Corporation | Method and system for automating dependent entity actions in response to information change |
| US6654948B1 (en) * | 1999-10-12 | 2003-11-25 | International Business Machines Corporation | Methods and apparatus for partial and consistent monitoring of object-oriented programs and systems |
| WO2002003327A2 (en) * | 2000-06-29 | 2002-01-10 | The Trustees Of Columbia University In The City Of New York | Method and system for analyzing multi-dimensional data |
| US20030028396A1 (en) * | 2001-07-31 | 2003-02-06 | Vasant Balasubramanian | Method and system for modelling an instance-neutral process step based on attribute categories |
| US7100160B2 (en) * | 2001-10-19 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | Method and system for implementing host-dependent SCSI behavior in a heterogeneous host environment |
| US7203930B1 (en) * | 2001-12-31 | 2007-04-10 | Bellsouth Intellectual Property Corp. | Graphical interface system monitor providing error notification message with modifiable indication of severity |
| DE10354146A1 (de) * | 2003-11-19 | 2005-06-30 | Schneider Electric Gmbh | Verfahren zur Entwicklung und Implementierung eines Modells zur formalen Beschreibung von mehrere verteilte Komponenten aufweisenden kollaborativen Systemen, insbesondere von intelligenten flexiblen Produktionsautomatisierungssystemen |
| US20050246212A1 (en) * | 2004-04-29 | 2005-11-03 | Shedd Nathanael P | Process navigator |
| US7363577B2 (en) * | 2004-05-18 | 2008-04-22 | Novell, Inc. | Techniques for serializing events |
| US8271643B2 (en) * | 2006-02-01 | 2012-09-18 | Ca, Inc. | Method for building enterprise scalability models from production data |
| US7676569B2 (en) * | 2006-02-01 | 2010-03-09 | Hyperformix, Inc. | Method for building enterprise scalability models from production data |
| US9171282B2 (en) * | 2007-10-22 | 2015-10-27 | Oracle International Corporation | Interactive complex event pattern builder and visualizer |
| US9152393B1 (en) * | 2011-12-06 | 2015-10-06 | The Mathworks, Inc. | Dynamic entities for a model of a graphical modeling environment |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5155842A (en) * | 1989-08-14 | 1992-10-13 | Microsoft Corporation | Logical event notification method and apparatus |
| US5355484A (en) * | 1991-08-12 | 1994-10-11 | International Business Machines Corporation | Dynamically established event monitors in event management services of a computer system |
| JPH05135130A (ja) * | 1991-11-14 | 1993-06-01 | Matsushita Electric Ind Co Ltd | 論理シミユレーシヨン方法および論理シミユレーシヨン装置 |
| US5384720A (en) * | 1993-06-10 | 1995-01-24 | Hitachi Micro Systems Inc. | Logic circuit simulator and logic simulation method having reduced number of simulation events |
-
1994
- 1994-07-22 CA CA002128673A patent/CA2128673C/en not_active Expired - Fee Related
- 1994-08-31 EP EP94306425A patent/EP0642077A1/en not_active Withdrawn
- 1994-09-08 JP JP6214363A patent/JPH07200313A/ja not_active Withdrawn
-
1995
- 1995-10-05 US US08/539,000 patent/US5608908A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| CA2128673C (en) | 1997-02-04 |
| EP0642077A1 (en) | 1995-03-08 |
| CA2128673A1 (en) | 1995-03-09 |
| US5608908A (en) | 1997-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07200313A (ja) | オープンプロセス制御システム | |
| Leblang et al. | Computer-aided software engineering in a distributed workstation environment | |
| US7093247B2 (en) | Installation of a data processing solution | |
| US6314434B1 (en) | Structured data management system and computer-readable method for storing structured data management program | |
| CN100472434C (zh) | 智能ui记录和重放结构 | |
| JP3636744B2 (ja) | 分散システムおよび分散システムの自動運転スケジュールの作成方法 | |
| US20040025157A1 (en) | Installation of a data processing solution | |
| JP2002334194A (ja) | ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム | |
| Trevor et al. | The use of adapters to support cooperative sharing | |
| Vieira et al. | Analyzing dependencies in large component-based systems | |
| AU2003263565B2 (en) | Transaction processing system | |
| Tanir et al. | Defining requirements for a standard simulation environment | |
| Barghouti et al. | Using event contexts and matching constraints to monitor software processes | |
| Cheong et al. | Frame-based method for customizing generic software architectures | |
| Team | Condor Version 6.0. 3 Manual | |
| US20120240097A1 (en) | Method of providing software development services | |
| de C. Gatti et al. | On fault tolerance in law-governed multi-agent systems | |
| Sexton-Kennedy | A Users Guide to the AC++ Framework | |
| Team | Condor Version 6.2. 2 Manual | |
| DeLine et al. | Lessons on converting batch systems to support interaction: Experience report | |
| US20070226712A1 (en) | Method of providing software development services | |
| TWI774469B (zh) | 程式編譯管理系統與其作業方法 | |
| Szitas | Technical requirements in enterprise resource planning systems | |
| Hen-Tov et al. | Adaptive object-model evolution patterns | |
| Thomas | A model for process representation and synthesis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20011120 |