JPH09511859A - プロセス・モデルからプロセス管理コンピュータ・プログラムを生成するための方法及びコンピュータ・システム - Google Patents

プロセス・モデルからプロセス管理コンピュータ・プログラムを生成するための方法及びコンピュータ・システム

Info

Publication number
JPH09511859A
JPH09511859A JP9509731A JP50973197A JPH09511859A JP H09511859 A JPH09511859 A JP H09511859A JP 9509731 A JP9509731 A JP 9509731A JP 50973197 A JP50973197 A JP 50973197A JP H09511859 A JPH09511859 A JP H09511859A
Authority
JP
Japan
Prior art keywords
class
process model
activity
data
data item
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.)
Pending
Application number
JP9509731A
Other languages
English (en)
Inventor
ロルラー、デイーター
レイマン、フランク
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH09511859A publication Critical patent/JPH09511859A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 本発明はコンピュータ・システムにおけるプロセス管理の技術分野に関する。更に詳しく云えば、本発明は、プロセス・モデル101から始まるプロセスのコンピュータ・ベースの管理のためのコンパイル可能且つその後の実行可能なコンピュータ・プログラムのコンピュータ化された自動的生成に関する。本発明はプロセス・モデルからコンピュータ・プログラム、例えば、C++コンピュータ・プログラムを生成するための方法を開示する。プロセス・モデル101は自動車産業における製造プロセス及び銀行又は保険分野における業務プロセスを表すことができる。C++プログラムの生成は、アクティビティ実行のシーケンスに関してプロセス・グラフ103を線形化し、プロセス・モデル構成104、105、及び106をオブジェクト指向プログラミング技術のクラス及びメソッドに関連づけ、アクティビティ2301、2302、2303、2304、2305、及び2306及びデータ項目をC++クラスのインスタンスとして表す(107)という基本的な概念に基づいている。生成されたC++プログラムは実行可能なものにコンパイルされ(108)、コンピュータ・システムにおいて実行される(109)。プロセス・インスタンスを管理するための非常に少ない資源消費でもつてプロセス・インスタンスがコンピュータ・システムにおいて実行可能であるということは本発明の主要な利点である。プロセス・モデル101は、IBM FlowMark定義言語(FDL)の形で詳述可能であり、IBM FlowMarkのエクスポート機能を通して構成されるか、任意のASCIIエディタの助けで作成されるか、又はIBM FlowMark定義言語の形でプロセス・モデルを生成することができるモデル化ツールによって作成される。

Description

【発明の詳細な説明】 プロセス・モデルからプロセス管理コンピュータ・プログ ラムを生成するための方法及びコンピュータ・システム 技術分野 本発明は、コンピュータ・システムにおけるプロセス管理の技術分野に関する ものである。更に詳しく云えば、本発明は、プロセス・モデルから始まるプロセ スをコンピュータ・ベースで管理するためのコンパイル可能な且つその後に実行 可能なコンピュータ・プログラムのコンピュータ化した自動生成に関するもので ある。 背景技術 新しい製品を設計し、開発し、そして製造するプロセス、並びに既存の製品を 変更し又は改造するプロセスは、製品の品質を維持しながら又は向上させながら 、最低のコストにもかかわらずスケジュール内にその製品を市場にもたらすため に、製品管理者及び技術者に数多くの挑戦を与える。多くの企業は、通常の製品 設計のプロセスがこれらの要望に合致するような満足すべきものではないという ことを認識している。それらは、製造技術、コスト技術、調達計画、購買、製造 、サービス、及び設計作業を伴うサポートの早めの関与を必要とする。更に、そ れらは設計、発表、及び製造を通したプラ ンニング及びデータのコントロールを必要とする。 企業内の業務プロセス、例えば、開発プロセス或いは製造プロセスの正しく且 つ効率的な遂行は、企業にとって非常に重要なことであり、市場における企業の 全体的な成功に関して大きな影響を持っている。従って、それらのプロセスはテ クノロジ・プロセスと同様に考慮されなければならず、試験、最適化、及び監視 されなければならない。そのようなプロセスの管理は、通常、コンピュータ・ベ ースのプロセス及びワークフロー管理システムによって遂行され及びサポートさ れる。 IBM Technical Disclosure Bulletin 誌の Vol.32,No.a,February 1990,p p.250-254 における D.J.Spoon 氏の記事「プロジェクト管理環境(Project Management Environment)」には、動作環境、データ・エレメント、及びアプリ ケーション機能及びプロセスを含むプロセス管理環境が記述されている。 Workgroup Computing Report(USA)誌の Vol.17,No.5,pp.3-13 における R.T.Marshak 氏の記事「TBMのFlowMark:ミッション・クリティカ ルなアプリケーションのためのオブジェクト指向ワークフロー(IBM's FlowMark ,Object-Oriented Workflow for Mission-Critical Applications)」には、ミ ッション・クリティカルな製造プロセス・アプリケーション開発及び有効利用を 目的とした真のオブジェクト・モデルにおいて構築されたクライアント/サーバ 製 品としてのIBM FlowMarkのオブジェクト・キャラクタが記述されて いる。 IBM Technical Disclosure Bulletin 誌の Vol.37,No.3,March 1994,p. 185 における H.A.Inniss 氏及び J.H.Sheridann 氏の記事「オブジェクト 指向パラダイムに基づくワークフロー管理(Workflow Management Based on an Object-oriented Paradigm)」には、カスタム化及び変更に関するオブジェクト 指向モデル化の別の観点が記述されている。 Digest of papers 誌の Cat.No.94CH3414-0,Spring COMPCOM 94,1994,pp .230-234 における F.Leymann 氏及びD.Roller 氏の記事「FlowMark による業務プロセス管理(Business Process Management with FlowMark)」に は、その分野の現在の技術レベルであるコンピュータ・プロセス管理ツールのI BM FlowMarkが記述されている。IBM FlowMarkの実施方 法の他に、IBM FlowMarkのメタ・モデルが示されている。業務プロ セス及びそれらの実行をモデル化するためのTBM FlowMarkの可能性 が検討されている。IBM FlowMarkという製品は種々のコンピュータ ・プラットフォームにとって利用可能であり、又、IBM FlowMarkに 関する資料はIBM社の各営業所において入手可能である。 Proceedings of the 11th European Meeting on Cybernetics and System Res earch EMCR92,Vienna,Austria,April 21 to 24,1992 誌の WorLd Scientifi c 1992,pp.287-29 4 における F.Leymann 氏の記事「プロセスのモデル化及び実行をサポートする ためのメタ・モデル(A meta model to support the modelling and execution of processes)」には、業務プロセスを制御するためのメタ・モデルが示され、 詳細に検討されている。 IBM社の各営業所において入手可能な1994年発行のマニュアル「IBM Fl owMark for OS/2」資料番号 GH 19-8215-01 は、代表的な現代の精巧且つ強力な ワークフロー管理システムを説明している。それは、アクティビティのネットワ ークとしての業務プロセスをモデル化することをサポートする。このアクティビ ティのネットワークというプロセス・モデルは、有向非巡回重み付き色付きグラ フとして構成される。そのグラフのノードは、遂行されるアクティビティを表す 。そのグラフのエッジである制御コネクタは、アクティビティの実行の潜在的な シーケンスを表す。ワークフロー・マネージャの実行時コンポーネントはプロセ ス・グラフを解釈し、そして、例えば、各個人に従ってタスクをワーク・リスト に割り振ることによって、正しい場所における正しい個人にアクティビティの実 行を分配する。この場合、そのワーク・リストは、前記ワークフロー又はプロセ ス管理コンピュータ・システム内にディジタル・データとして記憶される。 IBM Systems Journal 誌の Vol.32(2),1994 におけるF.Leymann 氏及び W .Altenhuber 氏の記事「情報資源としての業務プロセスの管理(Managing busi ness processes as a n information resource)」には、IBM FlowMark製品の基礎となる 数学的原理が説明されている。 International Thomson Publishing 社による1995年発行の D.Roller 著 「IBM FlowMarkにおけるワークフローの検証(Verification of Wo rkflow in IBM FlowMark)」及び J.Becker 及び G.Vossen(Hrsg.)著「Gescha eftsprozessmodellierung und Workflows」には、ワークフローの検証の要件及 び可能性が説明されている。更に、プロセス・ロジックの検証のためのグラフィ カル・アニメーションの特徴が、それをIBM FlowMark製品において 実施しながら与えられる。 コンピュータ・ベースのプロセス管理システムを実施するためには、先ず、業 務プロセスが分析されなければならず、そしてその分析の結果、その業務プロセ スに対応するアクティビティのネットワークとしてプロセス・モデルが構成され なければならない。IBM FlowMark製品では、プロセス・モデルは実 行可能なものに変換されない。稼働時に、プロセスのインスタンスがプロセス・ モデルから作成され、それはプロセス・インスタンスと呼ばれる。しかる後、こ のプロセス・インスタンスはIBM FlowMarkによって動的に解釈され る。 本発明の目的 本発明の目的は、アクティビティのネットワーク及び関連 データをコンピュータ・ベースのプロセス管理システム用の実行可能なコンピュ ータ・プログラムに変換するための方法及びコンピュータ・システムを、コンピ ュータ・システムによって管理されたプロセスに提供することにある。 本発明のもう1つの目的は、前記の変換のためのコンピュータ化された方法を 提供することにある。 本発明のもう1つの目的は、FlowMark定義言語(FDL)によって定 義されたプロセスを、FlowMarkワークフロー管理システム用の実行可能 なコンピュータ・プログラムに変換するための方法及びコンピュータ・システム を提供することにある。 本発明のもう1つの目的は、前記本発明のコンピュータ・システムにおいて前 記本発明の方法を実施するコンピュータ・プログラムを記憶するためのデータ・ キャリアを提供することにある。 発明の開示 本発明のこれらの目的は、請求の範囲の独立項において示された特徴によって 達成される。本発明の更なる構成は、請求の範囲の従属項において開示される。 請求の範囲第1項に記載された発明は、従来技術に関して前述した限定及び欠 点を取り除くものである。 アクティビティのネットワークから実行可能なコンピュータ・プログラムへの 変換は、高速度、高信頼性、及び低コス トで変換を生じさせるコンピュータ・システムによって遂行することができる。 更なる利点は、その変換の結果、実行可能なプログラムが生じるので、プロセス ・インスタンスの処理は、基礎となるプロセス・グラフをプロセス管理システム によって動的に解釈するのではなく、プログラムの実行を通して行われる。これ は、高速時でも、かなり少ない資源消費による、例えば、少ない計算及びメモリ 資源によるプロセス・インスタンス管理を可能にする。プロセス・モデルが並列 にアクティビティを定義する時のみ、そのプロセス・モデルの線形化が行われな ければならない。 請求の範囲第2項に記載されたような本発明の1つの実施例では、プロセス・ モデルは、データ項目より成る入力及び出力コンテナによるアクティビティを含 む。本発明の方法は、オブジェクト指向プログラミング技術の第1クラスのオブ ジェクトのインスタンスに対してアクティビティをマッピングし、オブジェクト 指向プログラミング技術の第2クラスのオブジェクトのインスタンスに対して前 記コンテナにおけるデータ項目をマッピングする。 アクティビティ・クラス及びデータ項目クラスという2つのクラスのオブジェ クトしか必要ないということは有利である。これは資源消費を少なくし、信頼性 のあるプロセス管理コンピュータ・プログラムの生成のための明瞭に構造化され たスキームを与える。そのプロセス管理システムでは、データがそのプロセスの アクティビティに関連した特定のデータ 入力及び出力コンテナに含まれるということも更なる利点である。 請求の範囲第3項及び第4項に記載されたような本発明の更なる実施例では、 プロセス・モデル構成体は制御コネクタ及びデータ・コネクタを含み、それらの 両方ともそれぞれのオブジェクトに抗してメソッド・コールにマッピングされ、 更に、そのプロセス・モデル構成は開始条件、遷移条件、及び終了(exit) 条件を含み、それぞれのオブジェクトに抗してメソッド・コールにもマッピング される。 これは、すべての通常のプロセス・モデル構成からオブジェクト指向プログラ ミング構成への変換を可能にし、従って、高速度及び高信頼性によってコンピュ ータ・プログラムにおけるプロセス・モデルを完全に変換することを可能にする ので有利である。 請求の範囲第5項に記載されているような本発明の更なる実施例では、そのプ ロセス・モデルは図形的に設計可能である。 これは、プロセス・モデルを、そのプロセス・モデルにおけるモデル化された プロセスを管理するためのコンパイル可能な旦つ実行可能なコンピュータ・プロ グラムにコンピュータ・ベースで変換する場合、それがそのプロセス・モデルの 容易且つ高速の設計を可能にするので、有利である。図形的なプロセス設計の可 能性は、新しいプロセス・モデルを設計しながら、及び短い設計フェーズ及びプ ロセス・モデル修正 に対する速い応答時間を与えながら、高い融通性及び高い信頼性を可能にする。 IBM FlowMarkシステムが既に図形的なプロセス設計の特徴を与えて いることは更に有利である。 請求の範囲第6項及び第7項に記載されたような本発明の更なる実施例では、 データ項目クラスはベース・クラスである。FLOAT、LONG、又はSTR TNGのような特定のデータ・タイプに対するデータ項目クラスはそのベース・ クラスから継承する。 これが継承のオブジェクト指向機能性を活用することを可能にするのでこれは 有利であり、従って、ベース・クラスのメソッドは、そのベース・クラスから継 承するすべてのクラスによって使用可能である。 請求の範囲第8項及び第9項に記載されたような本発明の更なる実施例では、 本発明の方法は、プロセス・モデルをプロセス・グラフとして記述するためのI BM FlowMark定義言語(FDL)を使用し、又、C++プログラミング 言語を使用する。 これは、両方のプログラミング・インストルメントとも、高い信頼性及び優れ たサポートを提供すると共に市場における高い受容性を保持している現在の技術 レベルのソフトウエア・ツールであるので有利である。 請求の範囲第10項乃至第14項に記載されたような本発明の更なる実施例で は、請求の範囲第1項乃至第9項の方法 がコンピュータ・システムにおいて遂行され、既に述べたような利点をすべて生 じさせる。請求の範囲第10項乃至第14項の第1及び第2コンピュータ・シス テムは同じものでよく、従って、プロセス管理のための及びコンピュータ・プロ グラムを生成するための1つの共通のコンピュータ・システムを形成する。 請求の範囲第15に記載されたような本発明は、請求の範囲第10項乃至第1 4項によるコンピュータ・システムにおいて請求の範囲第1項乃至第9項による コンピュータ・プログラムを実行する可能性を与える。 データ・キャリアが幾つものコンピュータ・システムにおける、例えば、クラ イアント及びサーバにおける、或いは、異なるコンピュータ・プラットフォーム 、例えば、パーソナル・コンピュータ、ワークステーション・コンピュータ、又 はメイン・フレーム・コンピュータにおけるコンピュータ・プログラムの実行を 可能にする。データ・キャリアは、機械的、電気的、磁気的、又は光学的効果を 使用して、ディジタル又はアナログ態様で情報を記憶することができることは有 利なことである。 図面の簡単な説明 第1図は、プロセス管理コンピュータ・システム用のコンピュータ・プログラ ムを自動的に生成するための本発明の方法を表すフローチャートを示す。 第2図は、第1図の本発明の方法を実施するための1つの可能なハードウエア 構成を示す。 第3図は、アクティビティ・クラスのヘッダ・ファイルを示す。 第4図は、アクティビティ・クラスの実施ファイルを示す。 第5図は、データ項目ベース・クラスのヘッダ・ファイルを示す。 第6図は、データ項目ベース・クラスの実施ファイルを示す。 第7図は、データ項目ロング・クラスのヘッダ・ファイルを示す。 第8図は、データ項目ロング・クラスの実施ファイルを示す。 第9図は、C++プログラムの生成のフェーズ1のための擬似コードを示す。 第10図は、グラフ線形化のための擬似コードを示す。 第11図は、終了条件における比較式を示す。 第12図は、C++プログラムの生成のフェーズ2のための擬似コードを示す。 第13図は、生成されたプログラム・ヘッダを示す。 第14図は、プログラム本体の生成のための擬似コードを示す。 第15図は、アクティビティ割振りステートメントを示す。 第16図は、チェック開始条件ステートメントを示す。 第17図は、コンテナ項目割振りステートメントを示す。 第18図は、コンテナ項目マッピング・ステートメントを示す。 第19図は、チェック終了条件ステートメントを示す。 第20図は、プログラム呼出のサンプルを示す。 第21図は、遷移条件をチェックするためのステートメントを示す。 第22図は、割振り解除コンテナ・ステートメントを示す。 第23図は、プロセス・モデルを有向グラフとしてグラフイカル表示で示す。 第24A図、第24B図、第24C1図、及び第24C2図は、第23図のプ ロセスをFlowMark定義言語(FDL)で表したものを示す。 第25A図、第25B図、第25C1図、第25C2図、第25D1図、第2 5D2図、第25E1図、及び第25E2図は、第23図におけるプロセス・モ デルのためのプロセス管理コンピュータ・プログラムを生成するために必要な種 々のクラス及び方法を示す。 第26A1図、第26A2図、第26B図、第26C図、第26D図、第26 E図、及び第26F図は、本発明の方法を使用して生成されたC++プログラムを 示す。 第27図は、IBM FlowMark構成を適当なC++構成上にマッピング したものを示す。 発明を実施するための最良の形態 本発明に従ってプロセス・モデルからプロセス管理コンピュータ・プログラム を生成するための方法及びシステムの1つの好適な実施例を、添付図面を参照し て以下で説明することにする。 第1図は、プロセス管理コンピュータ・システム用のコンピュータ・プログラ ムを自動的に生成するための本発明の方法のフローチャートを示す。プロセス・ モデル101は有向グラフ102によって表される。有向グラフ102は、IB M FlowMarkワークフロー管理製品の用語及びツールを使用して形成可 能である。第1の関連ステップでは、有向グラフ102のアクティビティは、そ の有向グラフ102のアクティビティの順次的実行を可能にするために、その有 向グラフの線形化ステップ103において再配列されなければならない。これは 、現在の技術レベルの方法論又はアルゴリズムを使用して達成可能である。その 後、そのプロセスのプロセス・モデル構成はオブジェクトに、及びそのオブジェ クトに抗してメソッド・コールに変換される。これは、例えば、C++コンピュー タ・プログラミング言語によって表されるような標準的なオブジェクト指向プロ グラミング・テクノロジを使用して、又は任意の他のプログラミング・テクノロ ジを使用して達成することが可能である。 第1図には、第1プロセス構成Aが第1オブジェクト・クラスA104に関連 付けられ、第2プロセス構成Bが第2オ ブジェクト・クラスB105に関連付けられ、及び第3プロセス構成Cがオブジ ェクトに抗して第1メソッド・コールC106に関連付けられることが示されて いる。更なるステップにおいて、前記オブジェクト・クラスのオブジェクトが作 成され(ステップ107)、前記オブジェクト及びメソッドがコンパイル及びリ ンクされ実行可能なコンピュータ・プログラムになり(ステップ108)、前記 プロセスをコンピュータ・システムにおいて実行させる(ステップ109)。こ の場合、種々のコンピュータ・プラットフォーム及びオペレーティング・システ ムの要件が満たされる。 第2図は、第1図における本発明の方法を実施するための1つの可能なハード ウエア構成を示す。管理されるべきプロセスは、第1コンピュータ・システム2 02における有向グラフ201によって表される。前記第1コンピュータ・シス テム202上にグラフ201を描くことによって図形的にプロセスを設計するこ とが可能である。その設計されたプロセスの関連データはすべてディジタル・デ ータとしてデータ・ライン203を介して第2コンピュータ・システム204に 転送され、その第2コンピュータ・システム204における第1記憶手段205 にディジタル的に記憶される。その第2コンピュータ・システム204は、コン ピュータ・システムによって管理されるプロセスのためのコンピュータ・プログ ラムを自動的に生成する本発明の方法206を遂行する。実行可能なプロセス管 理コンピュータ・プログラムである本発 明の方法の結果は、その第2コンピュータ・システム204における第2記憶手 段207にディジタル的に記憶される。それら第1及び第2記憶手段205及び 207は、各ディジタル記憶手段、即ち、磁気ディスク、光学的記憶媒体、或い は、例えば、ランダム・アクセス・メモリ(RAM)のような電子的メモリによ って実現可能である。 その実行可能なプロセス管理コンピュータ・プログラムは、その後、データ・ ライン208を介して第3コンピュータ・システム209に転送される。その第 3コンピュータ・システムにおいて、そのプロセス管理は、例えば、コンピュー タ・システムにおけるコンピュータ・プログラムを開始させることによって、或 いは、製造装置を開始させること又は制御することによって遂行される。その実 行可能なプロセス管理コンピュータ・プログラムは、各々がそのプロセス管理と 関連した複数のコンピュータ・システムに転送可能である。それらデータ・ライ ン203及び208は、配線された並列又は直列データ・ライン及びワイヤレス 光学的伝送又は無線伝送として実現可能である。スタンドアローン、ホスト/端 末、或いはクライアント/サーバ・コンピュータ・ハードウエア構成を使用して 、プロセス設計、プロセス管理コンピュータ・プログラムの自動生成、及び1つ だけのコンピュータ・システムにおいてプロセス管理そのものを遂行することが 可能である。 本発明は、一時に1つの場所でひとりの人間によって連続 的に実行されるプロセス・モデルからC++プログラムを生成するためのアルゴリ ズムを説明する。生成されたC++プログラムは実行可能なものにコンパイルされ る。そのC++プログラムの生成は、アクティビティ及びコンテナ項目をC++クラ スのインスタンスとして表し、制御及びデータ・コネクタをC++クラスのインス タンスに抗するメソッド呼出として表し、及びプロセス・グラフをアクティビテ ィ実行のシーケンスに関して線形化するという基本的な概念に基づいている。こ れは、それらのC++クラス・インスタンスにおけるメソッド呼出のシーケンスに 変換される。プロセス・モデルはIBM FlowMark定義言語(FDL) において指定される。そのプロセス・モデルは、IBM FlowMarkのエ クスポート機能を通して構成されるか、任意のASCIIエディタの助けでもっ て作成されるか、或いはIBM FlowMark定義言語の形式でプロセス・ モデルを生成することができるモデル化ツールによって作られる。本発明は次の ような機能を提供する。即ち、 * プロセス・インスタンスは、そのプロセス・インスタンスを管理するための 非常に少ない資源消費でもって実行可能である。 * データ・ベースへの変更が最後のアクティビティにおいて遂行されるだけで ある場合、完全なプロセスはトランザクションである。即ち、その完全なプロセ スは、ACID(原始性・一貫性・独立性・耐久性)特性を有する。 * IBM FlowMark定義言語はプログラムを構成するためのスクリプ ト言語としても使用可能である。これは、ワークフロー・アプリケーションの構 成のための唯一の言語としてIBM FlowMark定義言語を使用すること を可能にする。 本発明の実施例を説明する前に、OS/2プロセス・メタ・モデルに対するT BM FlowMarkの構文素子の簡単な説明を行うことにする。それの目的 は、C++プログラムを生成する場合の種々のステップに関する理解を助けること である。その詳細の程度は、C++プログラムの構造体に必要な構成に限定される 。詳細な説明は、OS/2に対するIBM FlowMarkに関する後述の製 品資料において見ることができる。 アクティビティはプロセス・グラフのノードである。アクティビティはプログ ラムとして実施される。アクティビティは、名前及び環境情報のようなそのプロ グラムの物理的特性を含むプログラム・オブジェクトの名前を通してそのプログ ラムを参照する。プログラムは同期的に呼び出される。入力(incoming )制御コネクタを持たないアクティビティは開始アクティビティと呼ばれ、出力 (outgoing)制御コネクタを持たないアクティビティは終了アクティビ ティと呼ばれる。 各アクティビティは、入力コンテナ及び出力コンテナと関連付けられる。コン テナの構造は、データ構造オブジェクト を参照することによって定義される。データ構造は一組のデータ項目を定義する 。データ項目は、ストリング、整数、又は浮動のような基本タイプ、或いは他の データ構造であってもよい。入力コンテナはそのアクティビティへの入力を含み 、出力コンテナはそのアクティビティからの出力を含む。それらのアクティビテ ィを実施するプログラムは、アプリケーション・プログラミング・インターフェ ースを介して入力及び出力コンテナをアクセスする。 プロセス・グラフのエッジ又は制御コネクタはそのプロセス・グラフを介した 制御の潜在的フローを記述する。そのエッジの開始点におけるアクティビティは ソース・アクティビティと呼ばれ、そのエッジの終了点におけるアクティビティ はターケット・アクティビティと呼ばれる。 各制御コネクタは遷移条件、即ち、グラフの重みと関連づけ可能である。その 遷移条件はブール式(boolean expression)である。即ち、それのパラメータは 、現在及び前に実行されたアクティビティすべての出力コンテナにおけるデータ 項目である。アクティビティが終了した後、出力制御コネクタはすべて評価され 、各制御コネクタの真の値がデータ項目の実際の値を通して計算される。真に評 価されたエッジのターゲットであるアクティビティだけが潜在的に実行可能であ ると考えられる。特別の遷移条件「別の方法」は、他のすべての制御コネクタが 偽に評価する場合、関連の制御コネクタが真に評価することを指定することを可 能にする。 各アクティビティは終了条件、即ち、グラフのカラーと関連づけ可能である。 終了条件は、アクティビティの出力コンテナにおけるデータ項目であるパラメー タを有するブール式である。そのアクティビティを実施するプログラムが終了し た後、終了条件の真の値が出力コンテナ・データ項目の実際の値を通して計算さ れる。終了条件が偽に評価する場合、そのアクティビティは再び実行される。終 了条件が真に評価する場合、アクティビティは終了する。 アクティビティが複数の制御コネクタの開始点である場合、エッジの終りにお けるアクティビティは並列に実行される(fork)。アクティビティが複数の 制御コネクタの終わりである場合(join)、このアクティビティは同期ポイ ントとして働く。例えば、すべての入力制御コネクタが真でなければならないか 、或いは少なくとも1つが真でなければならないというそのようなアクティビテ ィを開始し得る開始条件が決定される。 アクティビティの入力及び出力コンテナの内容はこのアクティビティにだけ知 られている。データ・コネクタは、アクティビティの出力コンテナにおけるデー タ項目をその後のアクティビティの入力コンテナにマッピングするためにその機 能を与える。 C++プログラムの生成は、次のような基本的概念を使用して行われる: * プロセス・グラフはアルゴリズムを通して線形化される ので、すべてのアクティビティが順次に実行される。 * 入力及び出力コンテナにおけるアクティビティ及びデータ項目はC++クラス 、即ち、アクティビティ・クラス及びデータ項目クラスのインスタンスである。 * データ・コネクタは、データ項目クラスのインスタンスに抗してメソッド・ コールでもってC++表現にマッピングされる。 * 開始条件は、アクティビティ・クラスのインスタンスに抗してC++表現にマ ッピングされる。 * 遷移及び終了条件は、メソッドがデータ項目クラス及びアクティビティ・ク ラスのインスタンスに抗して呼び出すC++表現にマッピングされる。 C++プログラムの生成は次のような2つのステージで遂行される。 * フェーズ1はFDLファイルにおける情報を読み取り、必要な情報を抽出し 、オブジェクトを生成し、アクティビティを線形化し、及びオブジェクトを適当 にリンクする。 * フェーズ2はC++プログラムを生成する。 アクティビティ・クラス及びデータ項目クラスはその生成されたC++プログラ ムにおける唯一のクラスである。そのプロセス・グラフの各アクティビティはア クティビティ・クラスのインスタンスによって表される。第3図はアクティビテ ィ・クラスのヘッダ・ファイルを示す。データ・メンバ”actualNumberCCIn”は 、実行時に真に評価する入力制御コネク タの数を保持する。そのアクティビティが実行時間に実行された場合、データ・ メンバ”activityExecutedStatus”が1にセットされる。 第4図はアクティビティ・クラスの実施ファイルを示す。メソッド”incrActu alNrCCIn()”は実際の入力制御コネクタの数を増加させる。それは、制御コネク タが真に評価する時に呼び出される。メソッド”getActualNumberCCIn()”は、 真に評価した制御コネクタの数を戻す。両方の機能とも、開始条件を評価するた めに使用される。メソッド”setActivityExecuted”は、そのアクティビティが 実行されたことを表すために使用され、メソッド”activityExecuted”は、その アクティビティが実行したかどうかをテストするために使用される。両方の機能 とも、データ・コネクタのどのアクティビティに対してフィールドのマッピング が遂行されなければならないかを決定するために必要である。 入力及び出力コンテナにおける各項目は3つのデータ項目クラスのうちの1つ のインスタンスである。これらの3つのデータ項目クラスはデータ項目ベース・ クラスから継承する。第5図はデータ項目ベース・クラスのヘッダ・ファイルを 示す。データ・メンバ”valueSet”は、そのインスタンスが値を保持するかどう かを表示するために使用される。 第6図は、データ項目ベース・クラスの実施ファイルを示す。メソッド”test ForValue”は、そのインスタンスが値を保持しているかどうかをテストするため に使用される。 3つのデータ項目クラス、即ち、サポートされたデータ・タイプSTRING 、LONG、及びFLOATの各々に対して1つのデータ項目クラスが存在する 。それらはすべて、実際の値を保持する1つのデータ・メンバ値を有する。デー タ・メンバのタイプはSTRING、LONG、又はFLOATである。第7図 は、基本タイプLONGに対するデータ項目クラスのヘッダ・ファイルを示し、 第8図は、基本タイプLONGに対するデータ項目クラスの実施ファイルを示す 。メソッド”copyValue(dataItem* sourceDataItem)”はソース・データ項目か らその値をコピーする。メソッド”getValue()”はデータ項目の値を戻す。メソ ッド”testForTrue(int comOperator,int compValue)”は、比較演算子(”com pOperator”)を使用して比較値(”compValue”)とデータ項目インスタンス値 との比較の真の値を戻す。その比較演算子は整数にコード化される。 第9図は、C++プログラムの生成のフェーズ1の擬似コードを示す。プロセス 入力は、処理されるべきプロセス・モテルに対するFlowMark定義言語( FDL)ステートメントの完全なセットを入力するものとして遂行される。FD Lファイルは走査され、情報は、FDLセクションであるプログラム、アクティ ビティ、データ構造、制御コネクタ、及びデータ・コネクタの各々に対して1つ のコレクションに記憶される。アクティビティ情報は、適当な開始条件を発生す るために入力制御コネクタの数を各アタティビティに対して 決定することによって収集される。 エンド・ユーザが1つのアクティビティを他のアクティビティ後に処理する時 、プロセス・グラフは線形化されなければならない。第10図はアクティビティ を再配列するためのアルゴリズムを示す。 * ライン01はアクティビティに対して新しいコレクションを割り振る。この 新しいコレクションは、線形化されたシーケンスでアクティビティを記憶するた めに使用される。 * ライン04乃至06はプロセス・グラフの開始アクティビティを決定する。 開始アクティビティは、制御コネクタのターゲットではないことによって特徴づ けられる。それらは、制御コネクタがある場合、それのソースを定義することに よっても特徴づけられる。 * ライン07乃至22はすべての制御コネクタ上のループを遂行する。それは 、すべての制御コネクタが処理される時に終了する。この場合、すべてのアクテ ィビティが新しいコレクションに移動している。 * ライン08乃至20は、現在、制御コネクタのソースである各アクティビテ ィに対して遂行される。処理の目的は、制御コネクタのターケットであるアクテ ィビティを決定することである。 * ライン09乃至19は、ソース・アクティビティを現在のアクティビティと する制御コネクタを決定し、しかる後、適当なターゲット・アクティビティを決 定する。ライン10 は、既に処理された制御コネクタをスキップする。ライン1は、ソース・アクテ ィビティが異なっている制御コネクタを無視する。ライン12は、ターケット・ アクティビティを決定する。ライン13は処理された制御コネクタにフラグを付 ける。ライン14はターケット・アクティピティに対して処理された制御コネク タの数を増加させる。ライン15は、すべての入力制御コネクタが処理されてし まったかどうかを決定する。これが真である場合、アクティビティは新しいコレ クションへ移動し、ソース・アクティビティの現在のラウンドが処理されてしま った後、ソース・アクティビティとして働く。ライン17は、次のラウンドにお いて処理されるべき新しいソース・アクティビティの数を増加させる。 * ライン21は、現在のソース・アクティビティすべてが処理された後に実行 される。それは選択されたターゲット・アクティビティのセットを、処理される 必要のある新しいソース・アクティビティとして準備する。 アクティビティを離れたすべての制御コネクタのうち、「その他」を指定され た制御コネクタは、他の制御コネクタのうちの何れも真に評価しない場合にのみ 真に評価する。このステップは各アクティビティにおける制御コネクタをソート するので、その他の制御コネクタは処理されるべき最後の制御コネクタである。 アクティビティの各入力及び出力コンテナは名前の付いたデータ構造と関連付 けられる。そのデータ構造は一組の基本 的なデータ・タイプ及び他のデータ構造である。基本的なデータ・タイプはST RING、LONG、及びFLOATである。基本的な項目の各々に対してデー タ項目は生成されたC++コードにおけるデータ項目クラスのインスタンスとして 作成されるであろう。その生成されたC++におけるオブジェクトの名前として使 用される独特の名前が各コンテナ項目に対して発生される。 入力コンテナ情報への出力コンテナ情報のマッピングはデータ・コネクタを介 して定義される。どのデータ項目がどのデータ項目にマッピングされるかは、特 別のキーワードMAPを介して指定される。このステップは、コンテナ項目に対 して生成された独特の名前を使用して、各アクティビティに対して、一組のコン テナ項目マッピングを作成する。マッピングはデータ・コネクタによってソート される。その場合、最も初期のソース・アクティビティを持ったデータ・コネク タが最初に処理される。 終了条件は構文的には正しいブール式を含む。この基本的構造はそのままにさ れ、その生成されたC++プログラムに直接組み込まれる。これは、終了条件の真 の値を容易に決定することを可能にする。唯一の変更は、フィールド名演算子比 較値の形式のフィールド比較式の再構造化である。これは、第11図に示される ような式に変更される。遷移条件は再構造化され、終了条件と同じ方法で変更さ れる。 第12図は、プログラム生成のフェーズ2に対する擬似コ ードを示す。プログラム・ヘッダの生成は、第13図に示された構成をC++プロ グラム・ファイルに挿入することを含む。第14図に示された擬似コードはC++ プログラムの本体を生成する。各アクティビティに対して、アクティビティ・ク ラスのインスタンスが生成され、それによって、アクティビティを作成する。妥 当なステートメントが第15図に示される。各出力コンテナ項目に対して、妥当 なデータ項目クラスのインスタンスが作成され、それによって、出力コンテナ項 目を割り振る。それらの項目は、それらが開始条件に対して生成されたステート メントにおいて参照される時、それらかC++コンパイラによって見つけられるよ うにここで生成される。 開始条件は第16図に示されたステートメントの1つによってチェックされる 。 * ライン01は、開始条件が「少なくとも1つの制御コネクタが真である」と して定義される場合に生成される。データ・メンバ”actualNrCCIn”は真に評価 した入力制御コネクタの数を含む。メソッド”getActualNrCCIn()”はこの数を 戻す。従って、開始条件は、この数が0よりも大きい場合、即ち、少なくとも1 つの入力制御コネクタが真に評価した場合、真である。 * ライン02は、開始条件が「すべての制御コネクタが真でなければならない 」として定義される場合に生成される。”getActualNrCCIn()”によって戻され た数及び入力制御コネクタの数を表すリテラル数CCInが等しい場合、開始条 件 が満たされる。 各入力コンテナ項目に対して、妥当なデータ項目クラスのインスタンスが作成 される。オブジェクト名は、コンテナ項目作成時に生成された独特の名前である 。妥当なステートメントが第17図に示される。入力コンテナがデータ・コネク タのターゲットである場合、入力コンテナ項目に対するデータが、第18図に示 されたステートメントを有する前の出力コンテナ項目のコンテナ項目からコピー される。ソース・アクティビティが実行されたこと、従って、出力コンテナが割 り当てられたことがチェックされる。 第19図にリストされたコード・フラグメントはアクティビティに対する終了 条件を実行する。 * ライン01及び02は今生成される。 * ライン03及び04は、プログラム呼出が生成された後に生成される。 プログラム呼出のために生成されたコードは、そのプログラムの実施及びその 生成されたプログラムが実行するオペレーティング・システムに依存する。第2 0図は、生成されたプログラムがOS/2の下で実行する時、別個のOS/2セ ッションにおけるOS/2プログラムの呼出を示す。その生成されたプログラム は、呼び出されたプログラムが終了するまで待機する。第19図に示された終了 条件のライン03及び04は今やファイルに挿入される。 第21図は、制御コネクタと関連した遷移条件をチェック するために生成されたステートメントを示す。 * ライン01は、少なくとも1つの出力制御コネクタが別の方法で定義される 場合に生成される。 * ライン02は、そのアクティビティを離れる各制御コネクタに対して生成さ れる。式”transitionConditionsStructured”はフェーズ1において生成された 。遷移条件が真である場合、別方法インディケータがオフにされ、真に評価する ターゲットアクティビティにおける入力制御コネクタの数がターゲット・アクテ ィビティ・オブジェクトにおけるメソッド”incrActualNrCCIn()”を実行するこ とによって増加する。 * ライン03は別の方法の制御コネクタに対して生成される。それは、他の制 御コネクタのうち真に評価したものがない場合、従って、他の方法の変数がオフ にリセットされなかった場合に実行される。 入力コンテナのデータ項目は、すべて第22図におけるステートメントによっ て割振り解除される。プログラム・トレーラ生成は任意の必要な情報でもってそ の生成されたプログラムを完成させる。現在、これは閉じ括弧だけである。 第23図乃至第27図は、プロセス・モデルからプロセス管理コンピュータ・ プログラムを生成するための例を示す。本発明のメソッドの生成を説明するため に、6つのアクティビティのネットワークが使用される。 第23図は、IBM FlowMark製品のエディタを使用してプロセス・ モデルを図形表示で示す。6つのアクテ ィビティA1乃至A6、2301、2302、2303、2304、2305、 及び2306が制御コネクタ2311、2312、2313、2314、231 5、及び2316と共に示される。制御コネクタ2313は遷移条件2322と 関連付けられ、制御コネクタ2315は遷移条件2315と関連付けられる。デ ータコネクタ2331はアクティビティA1 2301及びアクティビティA6 2306に関連付けられ、データ・コネクタ2332はアクティビティA22 302及びアクティビティA4 2304に関連付けられる。終了条件2324 はアクティビティA2 2302と関連付けられる。 第24A図、第24B図、第24C1図、及び第24C2図は、FlowMa rk定義言語(FDL)における第23図のプロセスの表示を示す。第24A図 は第23図に従ったデータ構造を示し、第24B図はそのプログラムを示し、第 24C1図及び第24C2図は第23図に表示されたプロセスの記述を示す。 第25A図、第25B図、第25C1図、第25C2図、第25D1図、第2 5D2図、第25E1図、及び第25E2図は、第23図におけるプロセス・モ デルのためのプロセス管理コンピュータ・プログラムを生成するために必要な種 々のクラス及びメソッドを示す。 第26A1図、第26A2図、第26B図、第26C図、第26D図、第26 E図、及び第26F図は、本発明の方法 を使用して生成されたC++プログラムを示す。例えば、第26B図の最上部には 、アクティビティA1 2301の入力(”AlInField1”)及び出力(”A10ut_ RC”)コンテナが記述されている。C++プログラム・ラインの意味は、C++及び IBM FlowMarkの現在の技術レベルのプログラミング技術に関して自 明である。第27図は、適当なC++構造上にIBM FlowMark構成をマ ッピングしたものを示す。
───────────────────────────────────────────────────── 【要約の続き】 (108)、コンピュータ・システムにおいて実行され る(109)。プロセス・インスタンスを管理するため の非常に少ない資源消費でもつてプロセス・インスタン スがコンピュータ・システムにおいて実行可能であると いうことは本発明の主要な利点である。プロセス・モデ ル101は、IBM FlowMark定義言語(FD L)の形で詳述可能であり、IBM FlowMark のエクスポート機能を通して構成されるか、任意のAS CIIエディタの助けで作成されるか、又はIBM F lowMark定義言語の形でプロセス・モデルを生成 することができるモデル化ツールによって作成される。

Claims (1)

  1. 【特許請求の範囲】 1.一時に1つの場所でひとりの人間によって連続して実行される及びコンピュ ータ・システム(209)によって管理されるプロセス用のコンピュータ・プロ グラムを自動的に生成するためのコンピュータ化された方法であって、 前記プロセスはプロセス・モデル(101)によって表され、 前記プロセス・モデル(101)は該プロセス・モデル(101)を表すプロ セス・モデル構成(104、105、106)を含み、 前記方法はオブジェクト指向プログラミング技術を含むものにおいて、 前記プロセス・モデル(101)から開始するステップと、 前記プロセス・モデル(101)が順次に実行されるように前記プロセス・モ デル(101)を線形化するステップと、 前記オブジェクト指向プログラミング技術のオブジェクトのクラス(104、 105)に及び前記オブジェクトに抗してメソッド・コール(106)に前記プ ロセス・モデル構成を関連付けるステップと、 前記オブジェクトのクラスのインスタンスとしてオブジェクトを生成する(1 07)ステップと、 前記生成されたオブジェクト(104、105)及び前記メソッド(106) を、前記コンピュータ・システム(20 9)によって管理される前記プロセスを実行するための実行可能なコンピュータ ・プログラムにコンパイル及びリンクする(108)ステップと、 を含む方法。 2.前記プロセス・モデル(101)はアクティビティ(2301、2302、 2303、2304、2305、2306)を含み、 前記プロセス・モデルは(101)は入力及び出力コンテナを含み、 前記入力及び出力コンテナはデータ項目を含み、 前記入力及び出力コンテナは前記アクティビティ(2301、2302、23 03、2304、2305、2306)に関連付けられ、 前記プロセス・モデル(101)の線形化(103)は、前記アクティビティ (2301、2302、2303、2304、2305、2306)が順次に実 行されるように線形化することであり、 更に、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)をオブジェクトの第1クラス(104)、即ち、アクティビティ・ク ラスのインスタンスにマッピングするステップと、 前記入力及び出力コンテナにおける前記データ項目をオブジェクトの第2クラ ス(105)、即ち、データ項目クラス のインスタンスにマッピングするステップと、 を含むことを特徴とする請求の範囲第1項に記載の方法。 3.前記プロセス・モデル(101)は 前記アクティビティ(2301、2302、2303、2304、2305、 2306)の順序を制御するための制御コネクタ(2311、2312、231 3、2314、2315、2316)と、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)相互間でデータを交換するためのデータ・コネクタ(2321、23 22)と、 を含み、 更に、 前記アクティビティ・クラス(104)の前記オブジェクトに抗して、前記制 御コネクタ(2311、2312、2313、2314、2315、2316) を、前記制御コネクタ(2311、2312、2313、2314、2315、 2316)に対応する第1メソッド・コール(106)にマッピングするステッ プと、 前記データ項目クラス(105)の前記オブジェクトに抗して、前記データ・ コネクタ(2321、2322)を、前記データ・コネクタ(2321、232 2)に対応する第2メソッド・コール(106)にマッピングするステップと、 を含むことを特徴とする請求の範囲第2項に記載の方法。 4.前記プロセス・モデル(101)は、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)に関連付けられ、前記アクティビティのそれぞれが開始し得る条件を 決定するための開始条件と、 前記制御コネクタ(2312、2313、2315)に関連付けられ、前記ア クティビティ(2301、2302、2303、2304、2305、2306 )が開始可能であるかどうかを決定するための遷移条件(2321、2322、 2323)と、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)と関連付けられ、前記アクティビティが再び実行されるかどうか又は 前記アクティビティが終了させられるかどうかを決定するための終了条件と、 を含み、 更に、 前記アクティビティ・クラス(104)のオブジェクトに抗して、前記開始条 件を、該開始条件に対応する第3メソッド・コール(106)にマッピングする ステップと、 前記アクティビティ・クラス(104)のオブジェクトに抗して及び前記デー タ項目クラス(105)のオブジェクトに抗して、前記遷移条件を、第4メソッ ド・コール(106)でもって前記遷移条件に対応するステートメントにマッピ ングするステップと、 前記データ項目クラス(105)のオブジェクトに抗して、 前記終了条件を、第5メソッド・コールでもって前記終了条件に対応するステー トメントにマッピングするステップと、 を含むことを特徴とする請求の範囲第2項又は第3項に記載の方法。 5.前記プロセス・モデル(101)はコンピュータ・ベースのプロセス管理シ ステム(202)において、特に、IBM FlowMarkシステムにおいて 図形的に設計又は変更可能であることを特徴とする請求の範囲第1項乃至第4項 の1つに記載の方法。 6.前記オブジェクトの第2クラス(105)、即ち、データ項目クラスはデー タ項目ベース・クラスであり、 前記データ項目ベース・クラスは複数のデータ項目クラスを含み、 前記データ項目クラスは前記データ項目ベース・クラスから継承する ことを特徴とする請求の範囲第2項乃至第5項の1つに記載の方法。 7.前記データ項目クラスは異なるデータ・タイプ、特に、STRING、LO NG、及びFLOATの3つのデータ・タイプをサポートすることを特徴とする 請求の範囲第2項乃至第6項の1つに記載の方法。 8.前記プロセス・モデル(101)はプロセス・グラフ(102)であり、 前記プロセス・グラフ(102)はTBM FlowMa rk定義言語(FDL)を使用して記述される ことを特徴とする請求の範囲第1項乃至第7項の1つに記載の方法。 9.前記オブジェクトのクラスはC++プログラミング言語のオブジェクトのクラ スであることを特徴とする請求の範囲第1項乃至第8項の1つに記載の方法。 10.一時に1つの場所でひとりの人間によって連続して実行される及び第2コ ンピュータ・システム(209)によって管理されるプロセス用のコンピュータ ・プログラムを自動的に生成するための第1コンピュータ・システム(204) であって、 前記第1コンピュータ・システム(204)はオブジェクト指向プログラミン グ技術を含み、 前記プロセスはプロセス・モデル(101)によって表され、 前記プロセス・モデル(101)は該プロセス・モデル(101)を表すプロ セス・モデル構成(104、105、106)を含む ものにおいて、 前記プロセス・モデル(101)が順次に実行されるように前記プロセス・モ デル(101)を線形化するための手段と、 前記オブジェクト指向プログラミング技術のオブジェクトのクラス(104、 105)に及び前記オブジェクトに抗し てメソッド・コール(106)に前記プロセス・モデル構成を関連付けるための 手段と、 前記オブジェクトのクラスのインスタンスとしてオブジェクトを生成する(1 07)ための手段と、 前記生成されたオブジェクト及び前記メソッドを、前記第2コンピュータ・シ ステム(209)によって管理される前記プロセスを実行するための、実行可能 なコンピュータ・プログラムにコンパイル及びリンクする(108)ための手段 と、 を含む第1コンピュータ・システム。 11.前記プロセス・モデル構造(104、105、106)はアクティビティ (2301、2302、2303、2304、2305、2306)を含み、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)は入力及び出力コンテナと関連付けられ、 前記入力及び出力コンテナはデータ項目と関連付けられ、 前記入力及び出力コンテナは前記アクティビティ(2301、2302、23 03、2304、2305、2306)に関連付けられ、 前記プロセス・モデル(101)の線形化は、前記アクティビティ(2301 、2302、2303、2304、2305、2306)が順次に実行されるよ うに線形化することであり、 更に、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)をオブジェクトの第1クラス(104)、即ち、アクティビティ・ク ラスのインスタンスにマッピングするするための手段と、 前記入力及び出力コンテナにおける前記データ項目をオブジェクトの第2クラ ス(105)、即ち、データ項目クラスのインスタンスにマッピングするための 手段と、 を含むことを特徴とする請求の範囲第10項に記載の第1コンピュータ・シス テム。 12.前記プロセス・モデル構造(104、105、106)は 前記アクティビティ(2301、2302、2303、2304、2305、 2306)の順序を制御するための制御コネクタ(2311、2312、231 3、2314、2315、2316)と、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)相互間でデータを交換するためのデータ・コネクタ(2321、23 22)と、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)に関連付けられ、前記アクティビティのそれぞれが開始し得る条件を 決定するための開始条件と、 前記制御コネクタ(2311、2312、2313、23 14、2315、2316)に関連付けられ、前記アクティビティ(2301、 2302、2303、2304、2305、2306)が開始可能であるかどう かを決定するための遷移条件(2321、2322、2323)と、 前記アクティビティ(2301、2302、2303、2304、2305、 2306)と関連付けられ、前記アクティビティが再び実行されるかどうか又は 前記アクティビティが終了させられるかどうかを決定するための終了条件と、 を含み、 前記第1コンピュータ・システムは、更に、 前記アクティビティ・クラス(104)の前記オブジェクトに抗して、前記制 御コネクタ(2311、2312、2313、2314、2315、2316) を、前記制御コネクタ(2311、2312、2313、2314、2315、 2316)に対応する第1メソッド・コール(106)にマッピングするための 手段と、 前記データ項目クラス(105)の前記オブジェクトに抗して、前記データ・ コネクタ(2321、2322)を、前記データ・コネクタ(2321、232 2)に対応する第2メソッド・コール(106)にマッピングするための手段と 、 前記アクティビティ・クラス(104)のオブジェクトに抗して、前記開始条 件を、前記開始条件に対応する第3メソッド・コール(106)にマッピングす るための手段と、 前記アクティビティ・クラス(104)のオブジェクトに 抗して及び前記データ項目クラス(105)のオブジェクトに抗して、前記遷移 条件(2321、2322、2323)を、第4メソッド・コール(106)で もって前記遷移条件(2321、2322、2323)に対応するステートメン トにマッピングするための手段と、 前記データ項目クラス(105)のオブジェクトに抗して、前記終了条件を、 第5メソッド・コール(106)でもって前記終了条件に対応するステートメン トにマッピングするための手段と、 を含むことを特徴とする請求の範囲第10項又は第11項に記載の第1コンピ ュータ・システム。 13.前記プロセス・モデル(101)はコンピュータ・ベースのプロセス管理 システム(202)において、特に、IBM FlowMarkシステムにおい て図形的に設計又は変更可能であり、 前記オブジェクトの第2クラス(105)、即ち、データ項目クラスはデータ 項目ベース・クラスであり、 前記データ項目ベース・クラス(105)は複数のデータ項目クラスを含み、 前記データ項目クラスは該データ項目ベース・クラスから継承し、 前記データ項目クラスは異なるデータ・タイプ、特に、STRING、LON G、及びFLOATの3つのデータ・タイプをサポートし、 前記プロセス・モデル(101)はプロセス・グラフ(102)であり、 前記プロセス・グラフ(102)はIBM FlowMark定義言語(FD L)を使用して記述され、 前記オブジェクトのクラスはC++プログラミング言語のオブジェクトのクラス (104、105、106)である ことを特徴とする請求の範囲第10項乃至第12項の1つに記載の第1コンピ ュータ・システム。 14.コンピュータ・システム(209)によって管理されるプロセス用のコン ピュータ・プログラムを自動的に生成するためのオブジェクト指向プログラミン グ技術の用途。 15.前記コンピュータ・プログラムは請求の範囲第1項乃至第9項の1つによ る方法を実行して請求の範囲第10項乃至第14項の1つによりコンピュータ・ システム(209)を制御することを特徴とする、コンピュータ・プログラムを 記憶するデータ・キャリア。
JP9509731A 1995-08-23 1995-08-23 プロセス・モデルからプロセス管理コンピュータ・プログラムを生成するための方法及びコンピュータ・システム Pending JPH09511859A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP1995/003345 WO1997008634A1 (en) 1995-08-23 1995-08-23 Method and computer system for generating process management computer programs for process models

Publications (1)

Publication Number Publication Date
JPH09511859A true JPH09511859A (ja) 1997-11-25

Family

ID=8166084

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9509731A Pending JPH09511859A (ja) 1995-08-23 1995-08-23 プロセス・モデルからプロセス管理コンピュータ・プログラムを生成するための方法及びコンピュータ・システム

Country Status (3)

Country Link
US (1) US6011917A (ja)
JP (1) JPH09511859A (ja)
WO (1) WO1997008634A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014052922A (ja) * 2012-09-07 2014-03-20 Hachijuni Bank Ltd 銀行業務処理システム、方法及びプログラム

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9623954D0 (en) * 1996-11-15 1997-01-08 Xerox Corp Systems and methods providing flexible representations of work
US6859919B1 (en) * 1998-10-16 2005-02-22 Computer Associates Think, Inc. Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry
CA2347467A1 (en) 1998-10-16 2000-04-27 Computer Associates Think, Inc. Impact analysis of a model
US7137101B1 (en) * 1998-12-03 2006-11-14 International Business Machines Corporation Apparatus and method for performing general integrity checks using integrity rule checking points in an enterprise application
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
US7734457B2 (en) * 1999-10-16 2010-06-08 Computer Associates Think, Inc. Method and system for generating dynamic comparison models
US7441232B2 (en) * 1999-11-08 2008-10-21 British Telecommunications Public Limited Company Task management
US7441231B1 (en) * 1999-11-08 2008-10-21 British Telecommunications Public Limited Company Task management
US6578004B1 (en) * 2000-04-27 2003-06-10 Prosight, Ltd. Method and apparatus for facilitating management of information technology investment
FI20001524A (fi) * 2000-06-27 2001-12-28 Nokia Networks Oy Yhdistettyjen olioiden hallinta verkossa
EP1197849A3 (en) * 2000-08-25 2005-11-09 International Business Machines Corporation Taxonomy generation support for workflow management systems
US7096222B2 (en) * 2000-09-01 2006-08-22 Borland Software Corporation Methods and systems for auto-instantiation of storage hierarchy for project plan
US6694507B2 (en) * 2000-12-15 2004-02-17 International Business Machines Corporation Method and apparatus for analyzing performance of object oriented programming code
US7277836B2 (en) * 2000-12-29 2007-10-02 Exxonmobil Upstream Research Company Computer system and method having a facility network architecture
US7761270B2 (en) * 2000-12-29 2010-07-20 Exxonmobil Upstream Research Co. Computer system and method having a facility management logic architecture
AU2002305227A1 (en) * 2001-04-26 2002-11-11 Celcorp System and method for the automatic creation of a graphical representation of navigation paths generated by an intelligent planner
US6631304B2 (en) * 2001-04-30 2003-10-07 General Electric Company Method and system for constructing technical plans
US20020174093A1 (en) * 2001-05-17 2002-11-21 Fabio Casati Method of identifying and analyzing business processes from workflow audit logs
GB2376094A (en) * 2001-05-30 2002-12-04 Ibm Flexible navigation of a workflow graph in a data processing system
US7398519B2 (en) * 2001-11-30 2008-07-08 International Business Machines Corporation Inheritance breakpoints for use in debugging object-oriented computer programs
US7424702B1 (en) 2002-08-19 2008-09-09 Sprint Communications Company L.P. Data integration techniques for use in enterprise architecture modeling
US7536675B2 (en) * 2003-02-28 2009-05-19 Bea Systems, Inc. Dynamic code generation system
US20040172614A1 (en) * 2003-02-28 2004-09-02 Bea Systems, Inc. Dynamic code generation method
US7472400B2 (en) * 2003-02-28 2008-12-30 Bea Systems, Inc. Method for dynamically generating a wrapper class
US7472401B2 (en) * 2003-02-28 2008-12-30 Bea Systems, Inc. Computer product for a dynamically generated wrapper class
WO2005015389A1 (en) * 2003-07-11 2005-02-17 Computer Associates Think, Inc. Adding user-defined objects to a modeling tool
US7272544B2 (en) * 2004-01-15 2007-09-18 Honeywell International Inc. Integrated modeling through symbolic manipulation
US6876314B1 (en) 2004-02-18 2005-04-05 Robocoder Corporation Self-generating automatic code generator
EP1577757A3 (en) * 2004-03-18 2009-09-09 International Business Machines Corporation Method for generating an executable workflow code from an unstructured cyclic process model
US20050210455A1 (en) 2004-03-18 2005-09-22 International Business Machines Corporation Method for generating an executable workflow code from an unstructured cyclic process model
US7849438B1 (en) 2004-05-27 2010-12-07 Sprint Communications Company L.P. Enterprise software development process for outsourced developers
US8881099B2 (en) * 2004-09-10 2014-11-04 Oracle International Corporation Dynamic generation of wrapper classes to implement call-by-value semantics
US8484065B1 (en) 2005-07-14 2013-07-09 Sprint Communications Company L.P. Small enhancement process workflow manager
US20070038465A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Value model
US20070038501A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Business solution evaluation
US7761478B2 (en) * 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management
US20070129981A1 (en) * 2005-12-07 2007-06-07 International Business Machines Corporation Business solution management
US20070192152A1 (en) * 2006-02-13 2007-08-16 Itt Manufacturing Enterprises, Inc. Software phase sequencer editor and method of editing
US20070214025A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Business engagement management
US7971182B1 (en) * 2006-05-09 2011-06-28 Vmware, Inc. Application environment specifications for provisioning application specific runtime environments using undefined symbols
US7770146B2 (en) * 2006-05-19 2010-08-03 Sap Ag Computer software development incorporating core and compound services
US20080004924A1 (en) * 2006-06-28 2008-01-03 Rong Zeng Cao Business transformation management
US20080235658A1 (en) * 2007-03-21 2008-09-25 Asaf Adi Code generation for real-time event processing
US8219987B1 (en) 2007-08-24 2012-07-10 Vmware, Inc. Optimized virtual machine specification for provisioning application specific runtime environment
US8347263B1 (en) 2007-05-09 2013-01-01 Vmware, Inc. Repository including installation metadata for executable applications
US11262996B2 (en) 2007-05-09 2022-03-01 Vmware, Inc. Repository including exclusion list
US8577937B1 (en) 2007-05-09 2013-11-05 Vmware, Inc. Repository including exclusion list
US9015180B1 (en) 2007-05-09 2015-04-21 Vmware, Inc. Repository including file identification
US8291374B2 (en) * 2007-11-05 2012-10-16 Cullum Owen H G System and method for generating modified source code based on change-models
US8429668B2 (en) * 2007-12-07 2013-04-23 Sap Ag Workflow task re-evaluation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990007013A1 (en) * 1988-12-20 1990-06-28 Institut Strukturnoi Makrokinetiki Akademii Nauk Sssr Porous refractory material, article made thereof and method for making said article
US5187788A (en) * 1989-05-01 1993-02-16 The United States Of America As Represented By The Secretary Of The Air Force Graphics system for automatic computer code generation
US5159687A (en) * 1989-11-14 1992-10-27 Caseworks, Inc. Method and apparatus for generating program code files
AU648533B2 (en) * 1989-11-30 1994-04-28 Seer Technologies, Inc. Software engineering facility
US5201046A (en) * 1990-06-22 1993-04-06 Xidak, Inc. Relational database management system and method for storing, retrieving and modifying directed graph data structures
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
US5304497A (en) * 1991-10-15 1994-04-19 Applied Biosystems, Inc. Method of forming N-protected amino acid thiohydantoins
AU6398994A (en) * 1993-03-09 1994-09-26 C*Ats Software Inc. An object-oriented system for creating, structuring, manipulating and evaluating a financial instrument
US5555367A (en) * 1994-09-30 1996-09-10 General Electric Company Method and system for generating computer programs for queries formed by manipulating object-oriented diagrams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014052922A (ja) * 2012-09-07 2014-03-20 Hachijuni Bank Ltd 銀行業務処理システム、方法及びプログラム

Also Published As

Publication number Publication date
WO1997008634A1 (en) 1997-03-06
US6011917A (en) 2000-01-04

Similar Documents

Publication Publication Date Title
JPH09511859A (ja) プロセス・モデルからプロセス管理コンピュータ・プログラムを生成するための方法及びコンピュータ・システム
Naujokat et al. CINCO: a simplicity-driven approach to full generation of domain-specific graphical modeling tools
Griffiths et al. Teallach: a model-based user interface development environment for object databases
US8359571B2 (en) Computer method and apparatus for activity-based version selection in a configuration management system
Lapouchnian et al. Requirements-driven design and configuration management of business processes
AU753490B2 (en) A data processing system and development method
Pacione et al. A novel software visualisation model to support software comprehension
Gonçalves et al. MAS-ML 2.0: Supporting the modelling of multi-agent systems with different agent architectures
Brown et al. On components and objects: the foundations of component-based development
JP2003518691A (ja) N層ソフトウェア・コンポーネント・アーキテクチャー・アプリケーションを作成する方法、システムおよびアーティクル
Conradi et al. Design, use and implementation of SPELL, a language for software process modeling and evolution
Nuseibeh A multi-perspective framework for method integration
JP2012104134A (ja) 構成要素を使用してコンピュータによる実行可能なコードを生成する方法及び装置
US20060130008A1 (en) Model-to-model transformation by kind
Bergenthum et al. Synthesis of Petri nets from scenarios with VipTool
Brown et al. Enterprise-scale CBD: Building complex computer systems from components
Schattkowsky et al. Uml model mappings for platform independent user interface design
BOUSETTA et al. Generating operations specification from domain class diagram using transition state diagram
JP4080495B2 (ja) プロジェクト管理装置及びプロジェクト管理方法及びプロジェクト管理プログラム
Baskent et al. Object-oriented abstraction of contemporary forest management design
El‐Bibany et al. Collaborative Knowledge‐integration Systems: A Tool for AEC Design, Management, and Coordination
Clements et al. Discovering a system modernization decision framework: a case study in migrating to distributed object technology
Juhás et al. Collecting Structured Logs of Instances as Process Nets in Petriflow Language.
Bülent Özcan Use of executable formal specifications in user validation
Ciraci et al. A Taxonomy for a Constructive Approach to Software Evolution.