(57)【要約】【課題】  業務プロセス及び生産プロセスに関するビジネスロジックの組み立て（モデリング）を容易に行えるように支援する。【解決手段】  モデル編集部１２は、モデル編集画面６１を表示させ、この画面６１上で、ユーザに、モデルテンプレート１３に基づいて、部品要素１７、モデル要素１８、ルール要素１９を用いて、新たなモデル１４を作成させる。モデル実行制御部３１及びモデル作動エンジン３３は、業務定義画面６４からの入力やＰＬＣ／ＤＣＳ５０からの情報を用いて、モデルに従った業務プロセス及び生産プロセスを実行させる。また、実行状況の確認を随時行える。【選択図】      図２
2005128658.tif 000002
【特許請求の範囲】
【請求項１】
予め作成されている複数の部品要素、モデル要素、ルール要素をモデル編集画面上で視覚的に提示して、該部品要素、モデル要素、ルール要素を任意に組み合わせて業務プロセスと生産プロセスの処理の流れを記述したモデルを視覚的に作成させるモデル編集手段と、
該モデル編集手段によって作成された前記モデルを動作させるモデル作動エンジン手段と、
現在の業務プロセスの実行状態を入力させる業務定義手段と、
該業務定義手段により入力された現在の業務プロセスの実行状態と、外部の生産システムによる生産プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデル作動エンジンを起動して前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を前記生産システムに出力するモデル実行制御手段と、
を有することを特徴とする業務／生産プロセス構築・実行支援装置。
【請求項２】
前記モデル編集手段は、既に作成されている既存のモデルをテンプレートとして、該モデルテンプレートを元にして前記モデルを作成させ、
前記モデル実行制御手段は更にモデルの実行状況を状況表示画面に表示させ、前記動作結果に応じて該状況表示画面を更新することを特徴とする請求項１記載の業務／生産プロセス構築・実行支援装置。
【請求項３】
前記モデル実行制御手段は、更に、前記生産システムから取得する現在の実行状態と、前記モデルの実行状況との差異を検出して、差異がある場合には生産システム異常を通知することを特徴とする請求項２記載の業務／生産プロセス構築・実行支援装置。
【請求項４】
前記外部の生産システムの実行状態を模擬的に設定させる条件定義手段と、
該条件定義手段により設定された生産プロセスの模擬的な実行状態と、前記業務定義手段により入力された現在の業務プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデル作動エンジンを起動して前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を状況表示画面に表示させるシミュレーション手段と、
を更に有することを特徴とする請求項２又は３記載の業務／生産プロセス構築・実行支援装置。
【請求項５】
予め作成されている複数の部品要素、モデル要素、ルール要素をモデル編集画面上で視覚的に提示して、該部品要素、モデル要素、ルール要素を任意に組み合わせて業務プロセスと生産プロセスの処理の流れを記述したモデルを視覚的に作成させ、
前記作成されたモデルを実行する場合、随時入力される現在の業務プロセスの実行状態と、外部の生産システムによる生産プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を前記生産システムに出力することを特徴とする業務／生産プロセス支援方法。
【請求項６】
コンピュータに、
予め作成されている複数の部品要素、モデル要素、ルール要素をモデル編集画面上で視覚的に提示して、該部品要素、モデル要素、ルール要素を任意に組み合わせて業務プロセスと生産プロセスの処理の流れを記述したモデルを視覚的に作成させる機能と、
前記作成されたモデルを実行する場合、随時入力される現在の業務プロセスの実行状態と、外部の生産システムによる生産プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を前記生産システムに出力する機能と、
を実現させる為のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務／生産プロセス構築・実行支援装置等に関する。
【背景技術】
【０００２】
Ｊ２ＥＥ(Java 2 Platform Enterprise Edition)環境において、再利用可能な複数のプログラム部品の組み合わせによってアプリケーション開発を行うための技術として、ＥＪＢ(Enterprise Java Beans)が知られている。ＥＪＢは、複数のプログラム部品（以下、単に部品と呼ぶ）の組み合わせによりアプリケーションを開発する環境を提供するものである。このような環境により、アプリケーション開発者は、部品内部の処理やネットワーキングや排他制御、スケーラビリティの確保といった各種サービスや低レベルなインタフェースなどを意識することなく、ビジネスロジックの分析・設計・実装に専念することが可能となる。尚、再利用可能な複数のプログラム部品の組み合わせによってアプリケーション開発を行う環境を提供する技術は、上記ＥＪＢに限らないが、ＥＪＢは現在注目されている技術である。
【０００３】
なお、本文中で使用される用語「ＪＡＶＡ」はサン・マイクロシステムズ・インコーポレーテッド社の登録商標である。
業務プロセス、生産プロセス等に係わるアプリケーション開発者は、ビジネスロジックの分析・設計・実装に専念できることから、対象ドメインに関する機能（目的や手段；何を、どのように）、構造（対象と関係；だれが／何が、どこで）、事態（対象と推移；だれが／何が、いつ）の側面から、ユーザ要求仕様に対して総合的に応えていくことが期待されている。また、従来、このような部品利用者は開発者であったが、エンドユーザや設計者（業務コンサルタントやＳＥ）が現場においても利用できることが期待されている。尚、ビジネスロジックとは、よく知られているように、プレゼンテーション層に配置されたプログラムからの要求を受け、データベース層に置かれたデータベースに対して各種の操作を実行するプログラムである。
【０００４】
しかし、部品の再利用によってアプリケーションの開発作業負担は軽減されるが、再利用すべき部品を調査し、それらの部品を組み合わせて設計する作業は非常に高い能力が求められる為、開発者、エンドユーザや設計者が部品を再利用する場合のビジネスロジックの組み立てを効率的に行う仕組みが望まれている。
【０００５】
ここで、例えば特許文献１記載の発明が知られている。特許文献１記載の発明は、企業内の複数のアプリケーションを統合管理して新しい付加価値を生み出すキラーアプリケーション適用において、従来の業務テンプレートによると実業務の変更または業務テンプレートのカスタマイズが発生し、開発工数と期間が膨大になるという問題を解決するものである。この為に、特許文献１記載の発明による業務テンプレートでは、統合対象となる個別の業務内の手順は規定せず、業務間の手順だけを規定する。つまり、キラーアプリケーションが前提としているビジネスプロセスモデルとデータモデルに従って、統合すべき業務間のマクロな手順を規定する。但し、この業務テンプレートには個別性の高い詳細部分が規定されていない為、それだけでは実業務を行うことが困難である。そこで、業務内の詳細部分に、現行ビジネスモデルや既存アプリケーションをそのまま変更することなく組み込むようにしている。
【特許文献１】特開２００１−２１６１４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
生産システムの情報化支援システムの構築において、如何に開発コストを削減し、納期を短縮し、開発品質を向上させることが最も基本的なニーズであり、特に、類似システムの２次開発などで、如何に重複開発を最小限に押さえることが課題である。この課題を解決する為に、システムにおける各種の業務プロセスを実行させる業務機能ブロック、生産プロセスを実行させる生産機能ブロックを適当な粒度で部品化し、システムを構築するに際して、これらの部品を用いて組み合わせることにより、システムの構築を実現することが望ましい。しかし、既存のシステム開発ツールでは、部分的に支援するものが多く、このような構築方法でシステム構築支援を実現するものがまだ存在しない。また、従来の、対象ドメインに依存しない所の、ＥＪＢ部品を組み合わせる為のシステム開発ツールでは、対象ドメインに依存する粒度が大きい業務部品の組み合わせを支援できない。
【０００７】
また、上記業務部品は、再利用してビジネスロジックを組み立てる為の明確な手順と、再利用を促進する為のロジック（プログラムと方法）が無い為、専門家（部品の開発者）でないと対象ドメインに適用できないという問題があった。
【０００８】
また、上記特許文献１記載の発明は、業務の流れを制御・管理するために、ビジネスモデルをワークフローで実装するものであり、このビジネスモデルを業務テンプレートとして管理し、業務連携機能によるアプリケーション連携基盤を用いてキラーアプリケーションを生成し、業務プロセスを制御するものである。
【０００９】
上記のように、特許文献１記載の発明は業務プロセスに係わるものであり、生産システムの情報化支援システムの構築については全く考慮していないものであった。
ここで、生産システムは、複数の装置や部材、人（作業員）等で構成される。生産システムの挙動は、処理を行う／受ける等のイベントの組み合わせで表現され、イベントが複数並行して又は／及び競合して起こる場合もある。この為、生産システムに係わるアプリケーションを開発する場合、資源（数量・種別）に関する並行性（複数の製品、部品が並行に処理されるライン等）や競合（製品の複数装置への割り付け等）を、資源（数量・種別）、条件や時間等を考慮して、業務プロセス、生産プロセスの両方を混在させてモデリング記述する必要がある。
【００１０】
上述した従来技術では、この様なモデリング記述を容易に行えるようにすることについては、何等考えられていなかった。
本発明の課題は、業務プロセス及び生産プロセスに関するビジネスロジックの組み立て（モデリング）を容易に行うことができる業務／生産プロセス構築・実行支援装置、方法、プログラム、記録媒体等を提供することである。
【課題を解決するための手段】
【００１１】
本発明の業務／生産プロセス構築・実行支援装置は、予め作成されている複数の部品要素、モデル要素、ルール要素をモデル編集画面上で視覚的に提示して、該部品要素、モデル要素、ルール要素を任意に組み合わせて業務プロセスと生産プロセスの処理の流れを記述したモデルを視覚的に作成させるモデル編集手段と、該モデル編集手段によって作成された前記モデルを動作させるモデル作動エンジン手段と、現在の業務プロセスの実行状態を入力させる業務定義手段と、該業務定義手段により入力された現在の業務プロセスの実行状態と、外部の生産システムによる生産プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデル作動エンジンを起動して前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を前記生産システムに出力するモデル実行制御手段とを有するように構成する。
【００１２】
上記業務／生産プロセス構築・実行支援装置では、通常のフロー制御ではモデリングが難しい、並行処理、同期・非同期処理や競合判断が必要な生産プロセスを含む業務／生産プロセスに係わるアプリケーション構築において、専門家が作成した再利用可能な部品要素（ＥＪＢ部品等）、モデル要素、ルール要素を組み合わせて、視覚的にビジネスロジック（モデル）を作成、変更／編集でき、実行させることができるので、容易に業務／生産プロセスに係わるアプリケーション構築・実行を行えるようになる。また、ルール要素をモデル中に記述することにより、並行処理、同期・非同期処理、競合判断等が可能になる。その結果、「物の流れ」と「作業の流れ」を伴う生産活動の動的振る舞いを解析したり出来るようになる。
【００１３】
また、例えば、前記モデル編集手段は、既に作成されている既存のモデルをテンプレートとして、該モデルテンプレートを元にして前記モデルを作成させ、
前記モデル実行制御手段は更にモデルの実行状況を状況表示画面に表示させ、前記動作結果に応じて該状況表示画面を更新するようにしてもよい。
【００１４】
モデルテンプレートに基づいて、該モデルテンプレートを編集する形で新たなモデルを作成させることで、モデル作成作業が更に容易になる。また、状況表示画面を表示することで、ユーザは、モデルの動作確認を行える。
【００１５】
また、例えば、前記モデル実行制御手段は、更に、前記生産システムから取得する現在の実行状態と、前記モデルの実行状況との差異を検出して、差異がある場合には生産システム異常を通知するようにしてもよい。
【００１６】
また、例えば、前記外部の生産システムの実行状態を模擬的に設定させる条件定義手段と、該条件定義手段により設定された生産プロセスの模擬的な実行状態と、前記業務定義手段により入力された現在の業務プロセスの実行状態とを取得し、該状態に変化があった場合、前記モデル作動エンジンを起動して前記モデルにおいて該状態変化に対応する処理・動作を動作させ、該動作結果を状況表示画面に表示させるシミュレーション手段と  を更に有するように構成してもよい。
【００１７】
上記シミュレーション手段によって、作成したモデルに対して、その実運用前にシミュレーションを実行することにより、実システムを動作させることなく、モデルの動作（業務プロセス、生産プロセスの挙動）を確認、分析することができるので、作成したモデルに不備がある場合には事前に発見して修正することができ、正確なモデルを用いた実運用が行える。
【発明の効果】
【００１８】
本発明の業務／生産プロセス構築・実行支援装置、方法、プログラム、記録媒体等によれば、業務プロセス及び生産プロセスに関するビジネスロジックの組み立て（モデリング）を視覚的に容易に行うことができるようになる。また、シミュレーションによって、作成したモデルの不備を事前に発見、修正することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本例による業務／生産プロセス構築・実行支援装置のシステム構成図である。
本例による業務／生産プロセス構築・実行支援装置は、クライアント１、Ｗｅｂサーバ２、ＡＰ（アプリケーション）サーバ３より成る。
【００２０】
クライアント１は、ブラウザ機能を有しており、ユーザが、そのディスプレイに表示される各種画面（ＪＳＰ；Java Server Pagesによって提供される画面）に従って、後述するモデル作成を行ったり、実運用／シミュレーション実行に際して業務定義、条件定義を行ったり、運用中／シミュレーション中に表示される状況表示画面を参照して現在の実行状況を監視する為のユーザ端末である。
【００２１】
ここで、公知のＪＳＰ（Java Server Pages） テクノロジについて説明しておく。ＪＳＰテクノロジは、Java Servlet テクノロジの拡張機能である。ＨＴＭＬの知識があるＷｅｂページ開発者や設計者は、Java スクリプトレットの書き方を知らなくても ＪＳＰテクノロジを使用できる。Ｗｅｂ開発者およびデザイナは、ＪＳＰテクノロジを採用することにより、既存のビジネスシステムを利用した、情報量の多い動的Ｗｅｂページを迅速に開発でき、保守が簡単になる。Javaファミリの一員として、ＪＳＰテクノロジは、プラットフォームに依存しない、Ｗｅｂベースのアプリケーションの迅速な開発を可能にする。ＪＳＰテクノロジでは、ユーザインタフェースをコンテンツ生成とは別に使用できる。このため、デザイナは、基本となる動的コンテンツを変更することなく、ページ全体のレイアウトを変更できる。ＪＳＰテクノロジは、ＸＭＬに類似したタグを使用して、ページのコンテンツを生成するロジックをカプセル化する。また、アプリケーションロジックを、サーバベースのリソース (Java Beansコンポーネントアーキテクチャなど ) に格納することも可能である。サーバベースのリソースには、これらのタグを使ってそのページからアクセスできます。すべてのフォーマットタグ (ＨＴＭＬまたはＸＭＬ) は、応答ページに直接渡される。ページロジックをデザインおよび表示から分離し、再利用可能なコンポーネントベースのデザインをサポートすることにより、ＪＳＰテクノロジではかつてないほど容易にかつ迅速に Ｗｅｂベースのアプリケーションを作成できる。
【００２２】
Ｗｅｂサーバ２は、ＪＳＰテクノロジを採用して、上記クライアント１のディスプレイに各種画面を表示させてこれら画面上でユーザに所望の入力操作（上記モデル作成等）を行わせ、その結果を格納・保持する。そして、格納・保持したモデル等をモデル作動エンジンによって動作させる。モデル作動エンジンは、モデル実行の際に、必要に応じて、予め作成されてＡＰサーバ３に格納されているＥＪＢ部品を実行させる。
【００２３】
ＡＰサーバ３は、所謂ＥＪＢサーバとしての機能を有しており、予め作成される各種ＥＪＢ部品を格納・保持し、モデル作動エンジンからの要求に応じて任意のＥＪＢ部品を動作させる。
【００２４】
図２は、図１に示す業務／生産プロセス構築・実行支援装置の機能ブロック図である。
図２において、モデル編集画面６１〜業務定義画面６４までの各画面は、クライアント１のディスプレイ（ブラウザ）に表示される。また、図示の業務／生産プロセスモデル生成部１１〜モデル状態格納部４３までの各機能部は、ＥＪＢ部品群格納部４２を除いて、Ｗｅｂサーバ２に実装される。ＥＪＢ部品群格納部４２は、ＡＰサーバ３に実装される。
【００２５】
業務／生産プロセスモデル生成部１１（以下、省略してモデル生成部１１と記す）においては、モデル編集部１２によってクライアント１側のユーザ（以下、単にユーザと記す）に任意のモデル１４を作成させる。モデル１４とは、後述する各要素（部品要素、モデル要素等）を組み合わせて作成されるアプリケーション（ビジネスロジック）である。
【００２６】
モデル編集部１２は、クライアント１のディスプレイ（ブラウザ）上にモデル編集画面６１を表示させ、このモデル編集画面６１上でユーザに、モデルテンプレート１３、部品要素１７、モデル要素１８、ルール要素１９に基づいて所望のモデルを作成／編集させて、モデル１４を生成する。つまり、このモデル編集部１２の機能により、まず、ユーザによるモデル編集画面６１上での指示に応じて、モデルテンプレート群格納部４１に蓄積されている複数のモデルテンプレートの中から指示されたモデルテンプレート１３を取り出して、このモデルテンプレート１３の内容と、更に部品要素１７、モデル要素１８、ルール要素１９とをモデル編集画面６１上で提示してユーザに所望の要素の選択及び組み合わせを行わせることで、対象ドメインに対する業務プロセスと生産プロセスの処理の流れを混在させて実行する為のビジネスロジックに関するモデル（モデルテンプレート１３）のカスタマイズを行わせて、新たなモデル１４を作成させる。尚、モデルテンプレートとは過去に作成されたモデル、あるいは専門家等が予め作成した各対象ドメイン毎の基本となるモデルである。
【００２７】
尚、部品要素１７は、予め作成されてＥＪＢ部品群格納部４２に格納されている業務部品（ＥＪＢ）要素群の中から選択するものである。モデル要素１８は、例えば状態要素、処理・動作要素、外部ＩＦ呼出要素、状態判断要素、競合判断要素、排他判断要素、グルーピング要素等である。ルール要素１９は、処理・動作制限要素、処理・動作優先要素、生産物・種別移動要素、時間制御要素等である。これら各要素については後に詳細に説明する。尚、再利用可能なプログラム部品は、ＥＪＢ部品に限るものではないが、ここではＥＪＢ部品を用いる場合を例にして説明する。
作成されたモデル１４は、ユーザがモデル編集画面６１上で視覚的にモデルを理解できるようにする形式（外部スキーマ）であるので、これを、コンピュータ（特にモデル作動エンジン３３）が理解・実行可能な形式（内部スキーマ）としてのモデル定義情報１６に変換する。ここで、ＥＪＢ部品は、全てＪａｖａ言語で作成される。作成方法は公知であり、例えば 「“これならわかるEnterprise JavaBeans”, 吉田裕之, 米持幸寿著:  ソフト・リサーチ・センター (2001.11)」等で紹介されている。
【００２８】
モデル要素は、基本的にはユーザに画面上でモデルを視覚的に作成させるための道具である。生成されたモデルは、最終的にはモデル作動エンジンが読み込めるＸＭＬ形式のモデル定義情報に変換される。ＥＪＢ部品も、モデルでは、モデル定義情報として記述されている。
【００２９】
ここで、ＪＳＰはそもそもＨＴＭＬソースの中にＪＳＰタグを埋め込み、そしてその部分を最終的にはＨＴＭＬタグに置き換えて、全体で１つのＨＴＭＬ文書としてブラウザに送信し、画面に表示することを目的にしている。しかし、元になるソースは必ずしもＨＴＭＬでなければならないわけではない。例えばＸＭＬソース（これがモデル定義情報）にデータベースからデータを読み込んでＸＭＬのタグとして追加するＪＳＰタグを埋め込み、最終的にＸＭＬ文書としてブラウザに送信（出力結果）し、ＸＳＬを使ってレイアウトして画面に表示（これがモデル１４）することもできる。上記外部スキーマから内部スキーマへの変換は、このモデル１４をＸＭＬソースに戻すものである。尚、当然、モデルテンプレート群格納部４１から取り出したモデルテンプレート１３（モデル定義情報の形式；ＸＭＬソース）をブラウザに表示させる際には、上記の様に画面に表示する形式に変換する。
【００３０】
このモデル定義情報１６は、新たなモデルテンプレートとして、モデルテンプレート群格納部４１に格納・蓄積される。
尚、その前に、作成されたモデル１４に対して、モデル解析モジュール１５によって、複数の処理要素（部品要素１７、モデル要素１８、ルール要素１９）を組み合わせてモデル１４を生成する際に発生する不具合（例えば、デッドロック、ループ、非決定性、保存性の侵害等）に関して、設計モデルの構造情報のみを用いて、構造的な性質を検証するようにしてもよい。これによって、モデリングの迅速化、低コスト化を実現できる。
【００３１】
尚、デッドロックとは処理の実行が停止すること、ループとは初期状態に戻れない無限ループに陥ること、非決定性とは同じイベントで複数の背反する動作が可能になってしまうこと、保存性の侵害とは処理が常に満たすべき性質が侵害されることを意味する。
【００３２】
図３は、図１，図２に示すシステムによる業務／生産プロセスに係わるアプリケーション開発・実行手順を説明する為の図である。
図３に示すように、図１，図２に示すシステムを利用する場合、まず、予め、業務部品（ＥＪＢ部品）を開発・作成（プログラムのパッケージ化）しておく必要がある。開発したＥＪＢ部品は、データベース（ＥＪＢ部品群格納部４２）に格納しておき、上記のようにモデル編集部１２によるモデル作成に利用される。また、作成されたモデルは、モデルテンプレート群格納部４１に蓄積し、後に新たなモデルを作成する際に再利用される（継続システム）。尚、モデルテンプレート群格納部４１に蓄積されるモデルテンプレートは、作成されたモデルのことであるが、後に新たなモデルを作成する際にテンプレートとして利用される場合もあることから、モデルテンプレートと呼んでいる。
【００３３】
そして、これらＥＪＢ部品、モデルテンプレートと、上記モデル要素、ルール要素を用いて、上記の通り、モデル編集部１２の機能によって、ユーザが、上記業務／生産プロセスのモデルを作成する。つまり、業務／生産の処理の流れを記述する。次に、記述した各処理毎に、その処理に関する詳細なモデルである「機能モデル」を作成する。つまり、業務、物（生産途中の物、生産中間品）の状態遷移の仕組みを記述する。また、対象ドメインに合致するように「ＥＪＢ部品のカスタマイズ」を実施し、要求仕様に合致した業務部品の開発を実施する。
【００３４】
以上の処理で所望のモデルを作成したら、必要に応じて、シミュレーション部３２によって、作成したモデル（モデル定義情報）の状態遷移検証を実行する。つまり、業務、物の状態遷移をシミュレーションによって解析する。そして、問題がなければ、モデル実行制御部３１による実運用が行える。例えば、実際にＰＬＣ／ＤＣＳ５０を動作・運用させる。尚、ＰＬＣ／ＤＣＳ５０は、自動化設備を制御する生産システムの一例であり、ＰＬＣ(Programmable Logic Controller)、ＤＣＳ(Distributed Control System)である。
【００３５】
図４〜図６は、モデル編集画面６１の一例を示す図である。
以下、図４〜図６を参照して、ユーザによるモデル作成作業の一例について説明する。
図４に示すように、モデル編集画面６１には、モデルテンプレートボックス７１、モデル編集ツールボックス７２、ＥＪＢコンポーネントボックス７３、編集テーブル７４、業務モデル編集エディタ７５、機能モデル編集エディタ７６、部品仕様（ＵＭＬ）確認領域７７等が表示される。
【００３６】
モデルテンプレートボックス７１には、モデルテンプレート群格納部４１に格納されているモデルテンプレート一覧が表示される。尚、モデルテンプレート群格納部４１には、例えば、各種ドメイン（業務、業種）毎、業務単位毎に分類されてモデルテンプレートが格納されており、初期表示ではまず各種ドメインが表示され、ユーザが任意のドメインを選択すると、そのドメインに係わる各種業務が表示され、ユーザが任意の業務を選択すると、その業務に係わるモデルテンプレート一覧が表示されるようにしてもよい。図示の例では、自動車のＭＥＳの車両組立業務が選択され、これに係わるモデルテンプレート一覧が表示された状態を示す。
【００３７】
この中からユーザが任意のモデルテンプレートを選択すると、このモデルテンプレートの内容が業務モデル編集エディタ７５に表示され、このエディタ７５上でモデル要素を用いたモデル編集／作成作業が行われることになる。
【００３８】
モデル編集ツールボックス７２には、上記各モデル要素１８（状態要素〜グルーピング要素）の機能がパレット表示される。また、各モデル要素名も表示される。ユーザは、これらパレット表示される各モデル要素１８を用いて、上記エディタ７５上での編集作業を行う。
【００３９】
ここで、各モデル要素１８の機能について説明しておく。尚、モデル要素とは、処理の流れを、モデルとして仕事をなす識別単位（状態、処理・動作、関連など）として、モデル定義として表現するものである。
【００４０】
状態要素は、生産設備の状態（設備の正常、異常）を表現したり、部品や加工される製品の存在する場所を表現して、モデルにおける処理・動作の条件を示す。たとえば、ＰＬＣ／ＤＣＳ５０や画面からの外部入力の状態をモデルに通知するために使われる場合と、モデル上でのフィードバック条件などに使われると共に、物のバッファや識別の必要のない物の個数を管理するために使用する。また、物（製品や部品）をモデル上で区別することで、物のある場所をモデルで示すために使用する。
【００４１】
処理・動作要素は、モデルにおける生産設備への制御動作、および物の状態遷移を表現する。たとえば、制御動作の前提条件（生産設備や物の状態・場所）がそろって実行可能となったとき、付加されたルールが参照され、制御動作の実行あるいは物の移動やルートなどが最終的に決定される。
【００４２】
外部ＩＦ呼出要素は、モデルにおける外部システムへの情報出力ＩＦを示す。たとえば、状況表示など本システム以外への異常を通知する場合など、指定した外部ＩＦ実行により外部に指令が出力される。
【００４３】
関連要素は、状態要素と処理・動作要素の関係付けをして、「物の流れ」、「処理（プロセス）の流れ」をモデル表現する。たとえば、処理・動作要素には、入ってくる関連要素と出ていく関連要素がセットになっている。この関連要素の一方の端は状態要素につなげる。入ってくる関連要素はその処理・動作要素が実行可能となるための前提条件を与え、出ていく関連要素はその処理・動作要素が実行された後に発生するシステムの状態を示す。
【００４４】
状態判断要素は、モデルにおいて並行した処理・動作要素の起動のための必要条件である入力状態によってどちらを起動するかを表現する。たとえば、ルール要素である動作制限要素を用いて、生産物・種別の状態により起動を制限する。
【００４５】
競合判断要素は、モデルにおいて動作制限要素を満たした複数の処理・動作要素のどちらか一方に優先権を与えるかを表現する。たとえば、ルール要素である動作優先要素を用いて、印（生産物・種別）の状態により優先の制御動作を起動する。
【００４６】
排他判断要素は、モデルにおいて競合した複数の処理・動作要素のどちらか一方の処理・動作要素の起動を抑止するかを表現する。たとえば、どちらかの処理・動作要素が起動すると、その処理・動作要素に関係する全ての状態要素の印（生産物・種別）を取り去ることにより、他方の処理・動作要素の起動を抑止する。
【００４７】
グルーピング要素は、作成したモデルにおいて、ある纏まった範囲をグルーピングすることで、目的単位別のモデルを表現する。
また、以下、ルール要素１９について説明する。
【００４８】
ルール要素１９には、処理・動作制限要素、処理・動作優先要素、生産物・種別移動要素、時間制御要素等がある。
処理・動作制限要素は、前提条件がそろって実行可能となった処理・動作の実行を制限するためのルールである。たとえば、「ある品番、工程番号の生産量が３個に達した時にだけ、次工程に移動する」といったルールが処理・動作制限のルールである。
【００４９】
処理・動作優先要素は、競合する処理・動作の間の優先順位をつけるためのルールである。たとえば、「処理・動作Ａを、処理・動作Ｂより優先する」といったルールである。
生産量・種別移動要素は、制御動作を実行する際に、入力側にある各印（生産量・種別）をどのように移動させるのかを指定するルールである。たとえば、「ある製造番号、品番、工程番号の生産物のうち、もっとも古い製造番号をもつ生産物を次工程で処理する」といったルールである。
【００５０】
時間制御要素は、処理・動作を実行した後に、移動の対象となった印（生産量・種別情報）を出力側の状態に発生させる迄の時間を指定するルールである。たとえば、「ある工程から次工程に移動する時間を 、印（生産量・種別）の種別によって変化させる」といったルールである。
【００５１】
ルール要素の具体例を下記に示す。ルール要素の定義は、モデル要素の中の処理・動作要素の特性欄（Properties）において記述し、ルール要素の種類を識別するために、ルールの先頭に識別子を記述する。
【００５２】
処理・動作制限要素の具体例として、複数の製品が混在して生産されており、数量は満たしていても、生産物の種別によって制限する場合、
strict1:  ( hinban = AAAAA & process no = H ) 
処理・動作優先要素の具体例として、処理・動作Ａを、処理・動作Ｂより優先する場合
priori1:  ( processing = A > processing = B ) 
生産量・種別要素の具体例として、種別４の生産物を、工程番号１から個数３取り出して、工程番号２へ移動させる場合、
move1:  （ st1, st2，3， 4 ）
(1)入力の工程番号
(2)出力の工程番号
(3)移動する生産物の個数
(4)移動する生産物の種別
時間制御要素の具体例として、生産物の種別１の処理時間は２０秒、その他の処理時間は３０秒を要する場合、
time1:  （ kind = 1 ） then ( 20 ) else ( 30 )
ＥＪＢコンポーネントボックス７３には、ＥＪＢ部品群格納部４２に格納されている各種ＥＪＢ部品を一覧表示する。尚、上記モデルテンプレートと同様、ＥＪＢ部品も各種ドメイン（業務、業種）毎、業務単位毎に分類されて格納されていてもよい。図示の例では、自動車ＭＥＳに係わる各種ＥＪＢ部品が一覧表示されている。
【００５３】
また、各ＥＪＢ部品をカスタマイズさせる為に、各ＥＪＢ部品毎に当該ＥＪＢ部品に係わる編集テーブル７４が表示されるようになっている。
編集テーブル７４は、特性(Properties)欄、パラメータ(Parameters)欄、タグ(Tag)欄で構成される。これらの各欄は、図４に示す編集テーブル７４内のProperties７４−１、Parameters７４−２、Tag７４−３の何れかを選択指定することで、表示・入力エリア７４−４に表示される。図示の例では、Parameters７４−２が選択されており、表示・入力エリア７４−４にはパラメータ欄が表示されている。
【００５４】
特性欄は、ここでは示されないが、モデル編集ツールのモデル要素１８（処理・動作要素と外部ＩＦ呼出要素等）に関する特性情報（ルール要素１９）を定義する欄である。パラメータ欄は、図示の表示・入力エリア７４−４に示す様に、例えば着工順序番号、着工ライン等のそのＥＪＢ部品のパラメータ情報を表示して、その設定定義（固有パラメータの値、パラメータに対応するタグNO.）を行わせる。タグ欄は、ＰＬＣ／ＤＣＳ５０のタグNO.、タグ名の定義とその値を表示する。
【００５５】
ここで、図７に、編集テーブル７４において特性欄を表示させ、この特性欄で上記ルール要素を記述した状態の一例を示す。図示の例では、処理・動作優先要素の具体例として、処理・動作Ａを、処理・動作Ｂより優先する場合の記述例を示している。
【００５６】
業務モデル編集エディタ７５は、ユーザに、モデルテンプレートボックス７１から選択されたモデルテンプレートをベースにして、モデル編集ツールボックス７２内の各モデル要素を用いて、新たなモデルの業務モデル（モデルの上位部分）を作成させる為のエディタである。尚、必ずしも既存のモデル（モデルテンプレート）をベースにして編集するものとは限らない。モデル編集ツールボックス７２内の各モデル要素を用いて、いちから、新たな業務モデルを作成するようにしてもよい。
【００５７】
図５に、業務モデル編集エディタ７５上でのモデル作成の様子を示す。
例えばユーザがモデルテンプレートボックス７１から、ベースとしたいモデルテンプレートとして車両組立業務モデルＣを選択して、これを業務モデル編集エディタ７５上にドラッグすることにより、例えば図示のような車両組立業務モデルＣのモデル内容が表示される。この例では、簡単な例として、モデル要素の中で「状態」と「処理・動作」と「関連」のみを用いて作成された業務モデルを示すが、勿論、他のモデル要素（分岐判断、優先判断、排他判断等）を用いて業務モデルを作成することは、当然に出来る。
【００５８】
図示の例では、「処理・動作」として、順序計画、部品供給、着工、組立等が記述され、「状態」として作成完了、処理完了、着工完了等が記述され、これらは「関連」（図示の矢印）によって図示のように関連付けられている。
【００５９】
そして、このようなモデルテンプレートに対して、ユーザは、モデル編集ツールボックス７２から任意のモデル要素を選択して、これを業務モデル編集エディタ７５上の任意の位置に配置する等して新たなモデル要素を追加したり、その逆にモデルテンプレートを構成する既存のモデル要素を削除する等の操作を行って、新たなモデル１４を作成する。新たなモデルには、名称を付ける（例えば車両組立業務モデルＤ等）。このようにモデル要素を視覚的に組み合わせてカスタマイズすることにより、新たなモデルを容易に組み立てることができる。
【００６０】
また、業務モデル編集エディタ７５上に配置されたモデル要素の中で「処理・動作」のモデル要素の名称を編集（新規・修正）する場合には、ユーザが所望のモデル要素（図示の例では着工）を選択・指定すると、このモデル要素の編集テーブル７４ａが表示され、テーブル７４ａ上の任意の名称を入力することになる。
【００６１】
図５に示す業務モデルは、対象ドメインに対する業務プロセスと生産プロセスの処理の流れを混在させて記述されているものである。例えば、順序計画、部品供給は業務プロセスに係わる処理であり、着工、組立等は生産プロセスに係わる処理である。
【００６２】
そして、図５に示す業務モデルを構成する各モデル要素毎に、その詳細な処理（特にＰＬＣ／ＤＣＳの動作に係わるもの）が主にＥＪＢ部品を用いて機能モデルとして記述されている。例えば図６に示すようにユーザが  業務モデル編集エディタ７５上で“着工”を選択・指定すると、機能モデル編集エディタ７６上に、“着工”に対応する機能モデルが表示されるので、この機能モデルをベースにユーザは必要に応じて、モデル編集ツールボックス７２内のモデル要素やＥＪＢコンポーネントボックス７３内の各ＥＪＢ部品を用いて、機能モデルの編集作業を行う。勿論、今回作成されたモデルにおいて新たに追加されたモデル要素については、未だ機能モデルは作成されていないので、いちから、各ＥＪＢ部品を用いて機能モデルの作成作業を行うことになる。尚、特に図示していないが、モデル要素には、「ＥＪＢ部品用のモデル要素」も存在し、ＥＪＢコンポーネントボックス７３内の任意のＥＪＢ部品を選択しエディタ７６上にドラッグすると、図示のような形状の、「ＥＪＢ部品用のモデル要素」が表示される。
【００６３】
例えば図６に示す例では、図６の機能モデル編集エディタ７６に示すように、“着工”に対応する機能モデルとして既に「着工指示要求  受信」、「着工指示  送信（ＰＩＯ）」、「着工実績  受信」、「着工実績  取得返信」、「着工完了」等の各種ＥＪＢ部品を用いた機能モデルが作成されている（モデルテンプレートに含まれていた）ものとする。尚、図６の機能モデル編集エディタ７６に示す処理が“開始状態”となる条件は、図５、図６の業務モデル編集エディタ７５上で定義されている通り、“順序計画”が“作成完了”し且つ“部品供給”が“処理完了”した場合である。
【００６４】
また、機能モデル編集エディタ７６上に表示される各ＥＪＢ部品をユーザが選択・指定すると、そのＥＪＢ部品に係わるパラメータ等を表示・入力する為の編集テーブル７４が表示される。図６には、ＥＪＢ部品「着工指示要求  受信」に係わる編集テーブル７４ｂ、ＥＪＢ部品「着工指示  送信（ＰＩＯ）」に係わる編集テーブル７４ｃ、ＥＪＢ部品「着工実績  受信」に係わる編集テーブル７４ｄ、ＥＪＢ部品「着工実績  取得返信」に係わる編集テーブル７４ｅが表示されている状態を示している。
【００６５】
ユーザは、これら編集テーブル７４上で任意のパラメータを設定／変更することができる。このとき、対象ドメインに固有なパラメータはその値を設定することで、またＰＬＣ／ＤＣＳと連携する入出力パラメータはそのタグＮｏ．を設定することで、業務部品（ＥＪＢ部品）を変更することなく、対象ドメインに対応した自動化設備からの情報も含めた機能モデルを構築することができる。尚、編集テーブル７４Ｃに示す例において、対象ドメインに固有なパラメータは着工ライン・機械No、ＰＬＣ／ＤＣＳと連携する入出力パラメータはそれ以外である。
【００６６】
更に、図６に示す例では、既存システムとのインタフェースとして図示の「異常処理」７８を追加しているものとする。既存システムとのインタフェースは、モデル編集ツールボックス７２内のモデル要素「外部ＩＦ呼出」を選択して、これを機能モデル編集エディタ７６上にドラッグする。そして、これに対応する編集テーブル７４ｆを表示させ、この編集テーブル７４ｆ上で、名称として「異常処理」を定義し、更にその特性欄からＥＸＩＴ関数としてインタフェース用部品を選択・入力することで、図示の「異常処理」７８が追加される。
【００６７】
また、特に図示しないが、機能モデル編集エディタ７６上に新規のＥＪＢ部品を追加する場合には、ＥＪＢコンポーネントボックス７３内から所望のＥＪＢ部品を選択して、これを機能モデル編集エディタ７６上にドラッグする。ＥＪＢ部品をドラッグした場合には自動的に「ＥＪＢ部品用のモデル要素」が表示される。そして、これに対応する編集テーブル７４を表示させ、この編集テーブル７４上で任意の名称の入力、パラメータ等の設定を行う。更に、モデル要素「関連」を用いて、機能モデル編集エディタ７６上の他のＥＪＢ部品と関連付けてもよい。
【００６８】
また、特に図示しないが、機能モデル編集エディタ７６上の既存のＥＪＢ部品と差し替える場合には、ＥＪＢコンポーネントボックス７３内から所望のＥＪＢ部品を選択して、差し替え部品を選んで機能モデル編集エディタ７６上にドラッグし、部品名称変更により機能モデルを編集する。
【００６９】
以上説明したような操作によって新たなモデル１４が作成されたら、上述した通り、これを変換後、モデルテンプレート群格納部４１に格納する。
その後、任意のときに、ユーザは、業務／生産プロセスモデル実行制御部３１（以下、省略してモデル実行制御部３１と記す）を起動して後述するモデル実行制御を行わせるが、その前に業務／生産プロセスシミュレーション部３２を起動してシミュレーションを行わせ、正しく動作するか否かを確認するようにし、正しく動作しない場合にはモデルの再作成を行わせるようにしてもよい。
【００７０】
まず、業務／生産プロセスモデル実行制御部３１を動作させる場合について説明する。この場合、まず、業務定義部２１によって、ディスプレイ上に業務定義画面６４を表示させる。ユーザは、この業務定義画面６４に従って、所定のデータ項目を入力する。
【００７１】
業務定義部２１は、順序計画や検査判定などの業務プロセスにおいて、業務定義画面６４からユーザ（作業員等）によって例えば図８に示す定義例のような各項目を設定させ、ある処理・動作が実行制御されるまで、当該設定項目を保持しておく機能部である。
【００７２】
業務定義画面６４の具体例は特に示さないが、図８に、設定される項目の一例を示す。
図８に示す例では、業務名称と、この業務名称に対応付けた各業務定義項目が設定される。例えば、業務名称として「順序計画」、これに対応する業務定義項目として「製造番号、品番、数量の順序計画」が設定されている。あるいは、例えば、業務名称として「検査」、これに対応する業務定義項目として「製造番号、品番、数量の検査ＯＫ・ＮＧ」が設定されている。
【００７３】
上記業務定義部２１によりユーザによって定義された業務定義に基づいて、モデル実行制御部３１及びモデル作動エンジン３３により、モデル実行制御処理を行う。このモデル実行制御処理の処理の流れを、図９に示す。
【００７４】
モデル実行制御処理を実行させる場合には、まずユーザは、格納部４１のモデルテンプレート群の中から実行制御対象とするモデルテンプレートを選択しておく。モデルテンプレートは、上記の様に作成した業務プロセスと生産プロセスに関する業務モデルおよび機能モデルが記述されているモデル（モデル定義情報）である。この選択されたモデルはモデル実行制御部３１及びモデル作動エンジン３３に渡され、実行制御される。
【００７５】
モデル実行制御部３１は、外部（業務定義画面６４、自動化設備（ＰＬＣ／ＤＣＳ５０））から現在の業務プロセス又は生産プロセスの実行状態を取得し、この状態に変化があった場合、モデル作動エンジン３３を起動して上記モデルにおいてこの状態変化に対応する「処理・動作」または「ＥＪＢ部品用の処理・動作」を動作させる。この動作結果は外部に出力される（例えば、動作結果をＰＬＣ／ＤＣＳに送信したり、状況表示画面６２に表示する）。
【００７６】
図５、図６に示すモデルを実行する場合を例にすると、モデル実行制御部３１は、最初はまず、順序計画の業務プロセスによって生成されるスケジュール作成結果（製造番号、品番、数量）をユーザが業務定義画面６４上で入力して作成済みを指定することによって、あるいは生産プロセスにおける部品供給完了を示す情報をＰＬＣ／ＤＣＳ５０側で生成・通知（あるいは作業員等が設定・入力）することによって、モデル実行制御部３１がこれら画面又はＰＬＣ／ＤＣＳ５０からの入力結果を受信すると、モデル実行制御部３１は、上記選択されているモデルテンプレート上の現在のプロセス対象となる状態要素に対して状態変化を与え（イベントの発生）、モデル作動エンジンを起動する。
【００７７】
モデル作動エンジン３３は、この状態変化に応じて、後述する図１２（ａ）、（ｂ）に示す処理を実行し、必要に応じて、実行すべきＥＪＢ部品のＥＪＢ部品名をＡＰサーバ３側に通知する。その際、編集テーブル７４上で設定されたパラメータ等も一緒にＡＰサーバ３側に渡す。これによって、ＡＰサーバ３では、通知されたＥＪＢ部品名のＥＪＢ部品を、渡されたパラメータ等を用いて、ＥＪＢコンテナ上で実行する。実行結果は、モデル実行制御部３１に返信される。モデル実行制御部３１は、この実行結果をＰＬＣ／ＤＣＳ５０に転送する。このようにして生産システムの実行制御を行う。
【００７８】
尚、上記モデル実行制御部３１による各種画面又はＰＬＣ／ＤＣＳ５０からのデータ入力は、（画面から）提供するインタフェース関数の呼出しによって行ってもよい。インタフェース関数とは、外部とモデルの情報交換するための関数のことである。
【００７９】
例えば図５、図６に示すモデルを例にすると、順序計画を作成完了し且つ部品供給の処理完了する（“部品供給実績が上がる”とも言う）ことを条件として「着工」開始となるので、例えば業務定義画面６４上で提供される複数種類の業務定義画面の中に図９に示す順序計画画面があるものとし、この順序計画画面上でユーザが任意の順序計画を入力し作成完了すると、モデル実行制御部３１は、入力された順序計画を受け取ると共に、モデル上の処理・動作要素「順序計画」に対応する状態要素「作成完了」が成されたもの（状態変化があった）と判定する。また、モデルの実行制御中、モデル実行制御部３１又はモデル作動エンジン３３は、実行対象のモデルに基づいて例えば図９に示すような状況表示画面６２をクライアントのディスプレイに表示させる。そして、この状況表示画面６２上で現在のモデル実行状況を表示する。上記の例では順序計画が作成完了したことを示す表示を行う。また、図示の表示例における印（情報）は入力された順序計画の内容（製造番号、品番等）を保持している。つまり、状況表示画面では、業務モデルおよび機能モデルにおける生産物の処理の流れを印（生産量・種別：たとえば、個数、製造番号・品番・工程番号）で表示し、ユーザが物の状態遷移を確認することができるようにしている。また、ユーザは、優先、排他などの処理・動作や、状態の分岐判断が、設計どおりに機能していることを確認できる。
【００８０】
また、モデル実行制御部３１は、ＰＬＣ／ＤＣＳ５０において収集した生産プロセスに関する自動化設備からの情報を、ＰＬＣ／ＤＣＳ５０から受け取る。そして、部品供給作業が完了した旨の情報を受け取ると、上記順序計画と同様、状況表示画面６２上に部品供給が完了した（部品供給実績が上がった）ことを示す表示を行う。更に、これによって、上記条件（順序計画を作成完了し且つ部品供給の処理完了）が満たされたと判定し、処理・動作「着工」をモデル作動エンジン３３において実行させる。この場合、モデル作動エンジン３３は、処理・動作「着工」に関する機能モデル（例えば図６に示すもの）を実行することになる。すなわち、この機能モデルに記述されたＥＪＢ部品の実行をＡＰサーバ３に依頼し、ＡＰサーバ３は依頼されたＥＪＢ部品を実行し、その内部処理の結果をＰＬＣ／ＤＣＳ５０へ出力して、実システムを動作させる。また、モデル実行制御部３１は、ＰＬＣ／ＤＣＳ５０から現在の自システムの実行状態を示す情報を受け取り、業務部品（ＥＪＢ）や処理・動作の起動に伴うモデル状態の変化と実システムの状態の差異を検出して、状況表示画面６２においてその内容を表示するとともに、差異があれば実システム異常の内容を通知する。さらに、実システムの状態は図２のモデル状態格納部４３に保存する。これによって、何らかの原因によって実システムが異常終了した場合でも、モデル状態格納部４３に格納した情報をもとに、ＰＬＣ／ＤＣＳ５０を経由して実システムに対して終了前の状態を送信することで、実システムを異常発生前の状態に復元ができる。
【００８１】
次に、シミュレーション部３２について、図１０、図１１を参照して説明する。シミュレーション部３２の動作は、基本的には上記モデル実行制御部３１と同様である。但し、シミュレーション部３２では実システムとは係わらない関係上、入出力に関する処理が多少異なる。すなわち、モデル実行制御部３１では、例えば上記部品供給実績に関する情報はＰＬＣ／ＤＣＳ５０から得ていたが、シミュレーション部３２を実行させる場合には、図１１に示すように、条件定義部２０の機能によって、ユーザが条件定義画面６３上で仮の部品供給実績（部品供給模擬実績）を入力する。また、ＥＪＢ部品の実行結果は、ＰＬＣ／ＤＣＳ５０側には渡さずに、例えば図１１に示すようにＥＪＢ部品出力結果ファイルとして保存しておく。
【００８２】
条件定義部２０は、ユーザに条件定義画面６３上でシミュレーションする為に必要な様々な条件を設定させ、シミュレーション条件の変更・解除まで、その条件を保持しておく機能部である。
【００８３】
条件定義画面６３上での条件定義例を図１０に示す。
図示の例では、時間に対応付けて、各条件定義項目（順序計画、工程チェックスイッチａ〜ｄ）について、製造番号、品番、数量、工程番号、着工指示、製造番号、品番、工程開始信号等が定義されているが、勿論、これは単なる一例であり、実際にはモデルの内容に応じて必要な条件は様々である。
【００８４】
次に、図１２（ａ）、（ｂ）を参照して、モデル作動エンジン３３の動作について説明する。
図１２（ａ）、（ｂ）は、モデル作動エンジン３３の処理フローチャート図である。
【００８５】
モデル作動エンジン３３は、まず図１２（ａ）において、モデル実行制御部３１から業務モデルの実行指示を受けると（ステップＳ１１）、まず、発生したイベント（実行指示、各業務モデル完了）に対する、業務モデル上の関連処理・動作を決定する（ステップＳ１２）。次にそのルール要素に基づいて、当該ルールを満たす関連処理・動作（業務モデル）を決定する（ステップＳ１３）。そして、ステップＳ１３で決定した関連処理・動作（業務モデル）に対する機能モデルを実行・制御する（ステップＳ１４）。
【００８６】
図１２（ｂ）にステップＳ１４の処理の詳細フローチャートを示す。
同図において、まず、外部入力処理を行う（ステップＳ２１）。これは、外部（ＰＬＣ／ＤＣＳや業務定義画面上での入力）からのイベント（状態）発生の入力である。次に、ステップＳ２１で入力したイベント（状態）に対する、機能モデル上の関連処理・動作を決定する（ステップＳ２２）。そして、そのルール要素に基づいて、当該ルールを満たす関連処理・動作を決定する（ステップＳ２３）。そして、発生したイベントがあり且つ上記ルールを満たす処理・動作（ＥＪＢ部品を含む）を起動する（ステップＳ２４）。その後、ステップＳ２３で決定した関連処理・動作に関して、上記状況表示画面６２上の印（生産量・種別）の移動を行う（ステップＳ２５）。更に、ステップＳ２３で決定した関連処理・動作によって外部（ＰＬＣ／ＤＣＳ５０又は業務画面等）への制御出力を行う為の情報をモデル実行制御部３１に渡す（ステップＳ２６）。
【００８７】
尚、図１２（ｂ）には、モデル実行制御部３１による実行制御の際のモデル作動エンジンの処理を示しており、シミュレーション部３２を実行させる場合には多少処理内容が異なる。すなわち、上記の通りＰＬＣ／ＤＣＳ５０に対する入出力は行わないので、この点が多少異なる。
【００８８】
図１３に、図５、図６に示す内容のモデルに係わる業務プロセス／生産プロセス実行の処理イメージを示す。
図１３において、モデリング８２には状況表示画面６２の表示例を示す。業務プロセス／生産プロセス８３には図５、図６のモデル例に対応する業務プロセス／生産プロセスを示す。ＥＪＢ業務部品群８１にはこのモデル例において使用されるＥＪＢ部品を示す。
【００８９】
図示の例では、まず最初に、モデリング８２において、図５の業務モデルに対応する表示が行われている。そして、例えば順序計画作成担当者等が任意の順序計画を立案・作成して、この順序計画に係わる製造番号、品番、工程番号、数量等を業務定義画面６４上で入力すると、モデリング８２に示すようにモデル要素「順序計画」に対応する表示（枠）内に、順序計画作成済を示す印が表示される。また、この印（情報）は、上記入力された製造番号、品番、数量等の情報を保持している。そして、例えばユーザがこの印をクリックすると、製造番号、品番、数量等の情報が表示され、確認等が行える。
【００９０】
同様に生産システム側で部品供給実績が上がると、工程番号等と共に部品供給完了が通知されてくるので、着工開始の条件が揃ったことになり、着工開始となる。これによって、ＥＪＢ部品「着工指示  送信（ＰＩＯ）」が実行され、生産システム側に着工指示が送られる。この指示の際には上記製造番号、品番等も通知される。この着工指示を受けて、生産システム側で着工作業が行われ、着工実績が上がると（着工作業完了すると）、その旨（着工実績）が、その工程番号、製造番号、完了時刻等と共に通知されてくるので、モデリング８２に示すように着工実績が上がったことを示す印を表示すると共に、状態が変化した（着工完了となった）ことにより、次の処理・動作である「組立」の実行に移り、ＥＪＢ部品「組立指示」を実行して、生産システム側に組立指示を通知する。その後の処理についての説明は省略するが、以上説明したようにして、業務プロセス／生産プロセス混在のプロセスの作業が順次進行していくことになり、また進行状態を表示させてチェックすることができることになる。
【００９１】
以上説明した本例の業務／生産プロセス構築・実行支援装置によれば、通常のフロー制御ではモデリングが難しい、並行処理、同期・非同期処理や競合判断が必要な生産プロセスを含む業務／生産プロセスに係わるアプリケーション構築において、（モデルテンプレートを元に）専門家が作成した再利用可能な部品要素（ＥＪＢ部品等）、モデル要素、ルール要素を組み合わせて、視覚的にビジネスロジック（モデル）を作成、変更／編集、またはその動作確認を行えるので、生産性、拡張性、保守性、品質性が向上し、要件分析、Ｆｉｔ／Ｇａｐ分析、開発の時間短縮が可能になると共に、大幅な納期短縮、費用の圧縮が可能になる（本発明に示す所の、業務プロセスおよび生産プロセスのような対象ドメインに依存する、再利用するためのビジネスロジックを組立てるための明確な手順と、それに基づく部品組合せの仕組み（生産システムを実行制御するためのモデル化：モデル要素・ルール要素、業務モデル・機能モデルの関係、モデルテンプレート等々））により、業務プロセスと生産プロセスの処理の流れを混在させて実行することが可能になったため）。
【００９２】
また、ルール要素をモデル中に記述することにより、並行処理、同期・非同期処理、競合判断等が可能になった。その結果、「物の流れ」と「作業の流れ」を伴う生産活動の動的振る舞いを解析したり、スループット等を事前に測定可能となった。
【００９３】
また、作成したモデルに対して、その実運用前にシミュレーションを実行することにより、実システムを動作させることなく、モデルの動作（業務プロセス、生産プロセスの挙動）を確認、分析することができるので、作成したモデルに不備がある場合には事前に発見して修正することができ、正確なモデルを用いた実運用が行える。
【００９４】
また、モデルは、業務モデルと機能モデルとによって構造化・階層化されて作成されるので、全体構造を把握し易くなり、また業務モデルから機能モデルをたどることで、機能の詳細を視覚的に確認できるようになる。
【００９５】
また、特定ドメイン（業務、業種）に対する業務部品化とモデルテンプレート化により、要件に対する、仕様の正確な把握が可能になる為、業務部品・モデルテンプレートのカスタマイズ、追加開発の範囲で対応すべきかの抽出が容易になる。
【００９６】
また上記従来の“専門家（部品の開発者）でないと対象ドメインに適用できないという問題”に対しては、本例では編集テーブルによってパラメータ等の設定変更を行うだけで済むので専門家でなくても対象ドメインに適用可能となる。
【００９７】
図１４は、上述した業務／生産プロセス構築・実行支援装置を実現するクライアント１、Ｗｅｂサーバ２、ＡＰサーバ３等のコンピュータのハードウェア構成の一例を示す図である。
【００９８】
同図に示すコンピュータ１００は、ＣＰＵ１０１、メモリ１０２、入力部１０３、出力部１０４、記憶部１０５、記録媒体駆動部１０６、及びネットワーク接続部１０７を有し、これらがバス１０８に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【００９９】
ＣＰＵ１０１は、当該コンピュータ１００全体を制御する中央処理装置である。
メモリ１０２は、プログラム実行、データ更新等の際に、記憶部１０５（あるいは可搬型記録媒体１０９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ１０１は、メモリ１０２に読み出したプログラム／データを用いて、上述してある各種処理（図２の各機能部の処理；図３〜図１２で説明した処理等）を実行する。
【０１００】
入力部１０３は、例えば、キーボード、マウス等である。
出力部１０４は、例えばディスプレイ等であり、クライアント１においては例えば図４〜図６のようなＧＵＩ画面を表示する。
【０１０１】
ネットワーク接続部１０７は、例えばイントラネットやインターネット等のネットワークに接続して、他の情報処理装置とのコマンド／データ送受信を行う為の構成である。
記憶部１０５は、例えばハードディスク等であり、上述した様々な処理・機能を、コンピュータ１００に実行させるためのプログラム／データ（図２の各機能部の処理；図３〜図１２で説明した処理を実行させるプログラム、図２に示すデータ等）が格納されている。
【０１０２】
あるいは、これらプログラム／データは、可搬型記録媒体１０９に記憶されているものであってもよい。この場合、可搬型記録媒体１０９に記憶されているプログラム／データは、記録媒体駆動部１０６によって読み出される。可搬型記録媒体１０９とは、例えば、ＦＤ（フレキシブル・ディスク）１０９ａ、ＣＤ−ＲＯＭ１０９ｂ、その他、ＤＶＤ、光磁気ディスク等である。
【０１０３】
あるいは、また、上記プログラム／データは、ネットワーク接続部１０７により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【０１０４】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【図面の簡単な説明】
【０１０５】
【図１】本例による業務／生産プロセス構築・実行支援装置のシステム構成図である。
【図２】図１に示す業務／生産プロセス構築・実行支援装置の機能ブロック図である。
【図３】図１，図２に示すシステムによる業務・生産プロセスに係わるアプリケーション開発・実行手順を説明する為の図である。
【図４】モデル編集画面上でのユーザによるモデル作成作業の一例について説明する為の図（その１）である。
【図５】モデル編集画面上でのユーザによるモデル作成作業の一例について説明する為の図（その２）である。
【図６】モデル編集画面上でのユーザによるモデル作成作業の一例について説明する為の図（その３）である。
【図７】編集テーブルにおいて特性欄を表示させ、この特性欄で上記ルール要素を記述した状態の一例を示す。
【図８】業務定義の一例を示す図である。
【図９】モデル実行制御部及びモデル作動エンジンによるモデル実行制御処理を説明する為の図である。
【図１０】条件定義の一例を示す図である。
【図１１】シミュレーション部及びモデル作動エンジンによるモデル実行シミュレーション処理を説明する為の図である。
【図１２】（ａ）、（ｂ）は、モデル作動エンジン３３の処理フローチャート図である。
【図１３】図５、図６に示す内容のモデルに係わる業務プロセス／生産プロセス実行の処理イメージを示す図である。
【図１４】業務／生産プロセス構築・実行支援装置を実現するコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【０１０６】
１  クライアント
２  Ｗｅｂサーバ
３  ＡＰ（アプリケーション）サーバ
１１  業務／生産プロセスモデル生成部
１２  モデル編集部
１３  モデルテンプレート
１４  モデル
１５  モデル解析モジュール
１６  モデル定義情報
１７  部品要素
１８  モデル要素
１９  ルール要素
２０  条件定義部
２１  業務定義部
３１  業務／生産プロセスモデル実行制御部
３２  業務／生産プロセスシミュレーション部
３３  モデル作動エンジン
４１  モデルテンプレート群格納部
４２  ＥＪＢ部品群格納部
４３  モデル状態格納部
５０  ＰＬＣ／ＤＣＳ
６１  モデル編集画面
６２  状況表示画面
６３  条件定義画面
６４  業務定義画面
７１  モデルテンプレートボックス
７２  モデル編集ツールボックス
７３  ＥＪＢコンポーネントボックス
７４  編集テーブル
７４−１  Properties
７４−２  Parameters
７４−３  Tag
７５  業務モデル編集エディタ
７６  機能モデル編集エディタ
７７  部品仕様確認領域
８１  ＥＪＢ業務部品群
８２  モデリング
８３  業務プロセス／生産プロセス
１００  コンピュータ
１０１  ＣＰＵ
１０２  メモリ
１０３  入力部
１０４  出力部
１０５  記憶部
１０６  記録媒体駆動部
１０７  ネットワーク接続部
１０８  バス
１０９  可搬型記録媒体
【図１】
2005128658.tif 000003
【図２】
2005128658.tif 000004
【図３】
2005128658.tif 000005
【図４】
2005128658.tif 000006
【図５】
2005128658.tif 000007
【図６】
2005128658.tif 000008
【図７】
2005128658.tif 000009
【図８】
2005128658.tif 000010
【図９】
2005128658.tif 000011
【図１０】
2005128658.tif 000012
【図１１】
2005128658.tif 000013
【図１２】
2005128658.tif 000014
【図１３】
2005128658.tif 000015
【図１４】
2005128658.tif 000016