(57)【特許請求の範囲】
【請求項１】
直前に実行される条件である事前条件と直後に実行される条件である事後条件とを対応付けた所定の処理単位である複数のタスクから２以上のタスクが配置されたときに、配置されたタスクに対応付けられた前記事前条件と前記事後条件との組み合わせから第１の制約を特定する制約設定手順と、
前記複数のタスクのうち配置されていないタスクから前記制約設定手順によって特定された前記第１の制約を充足する１以上のタスクおよび該タスクの配置場所を決定してプロセスを生成し、前記プロセスの生成後に前記配置済みのタスクが操作されたときに、当該操作に対応付けられる第２の制約を追加設定し、追加設定された前記第２の制約を充足する前記プロセスを再作成するプロセス生成手順と、
をコンピュータに実行させることを特徴とするプロセス設計プログラム。
【請求項２】
前記プロセス生成手順は、前記制約設定手順によって特定された前記第１の制約を充足する前記プロセスの代替となるプロセスを、前記第１の制約が定義された制約定義情報に基づいて算出し、当該代替となるプロセスを生成することをさらに実行させることを特徴とする請求項１に記載のプロセス設計プログラム。
【請求項３】
前記プロセス生成手順において、前記制約設定手順によって特定された前記第１の制約を充足する前記プロセスが存在しない場合に、前記タスクの再配置を促す警告を表示装置に表示出力させる表示出力制御手順をさらに実行させることを特徴とする請求項１または２に記載のプロセス設計プログラム。
【請求項４】
前記表示出力制御手順は、前記プロセス生成手順によって生成されたプロセスを表示装置に表示出力させることをさらに実行させることを特徴とする請求項３に記載のプロセス設計プログラム。
【請求項５】
前記プロセス生成手順は、前記タスクの操作を特定する操作内容と当該操作が行われた場合に追加設定する前記第２の制約とを対応付けて保持する保持部を参照し、前記プロセス生成後の前記タスクへの操作に対応する前記第２の制約を特定して追加設定し、追加設定された前記第２の制約を充足する前記プロセスを再作成することを特徴とする請求項１に記載のプロセス設計プログラム。
【請求項６】
直前に実行される条件である事前条件と直後に実行される条件である事後条件とを対応付けた所定の処理単位である複数のタスクから２以上のタスクが配置されたときに、配置されたタスクに対応付けられた前記事前条件と前記事後条件との組み合わせから第１の制約を特定する制約設定手段と、
前記複数のタスクのうち配置されていないタスクから前記制約設定手段によって特定された前記第１の制約を充足する１以上のタスクおよび該タスクの配置場所を決定してプロセスを生成し、前記プロセスの生成後に前記配置済みのタスクが操作されたときに、当該操作に対応付けられる第２の制約を追加設定し、追加設定された前記第２の制約を充足する前記プロセスを再作成するプロセス生成手段と、
を有することを特徴とするプロセス設計装置。
【請求項７】
コンピュータが、
直前に実行される条件である事前条件と直後に実行される条件である事後条件とを対応付けた所定の処理単位である複数のタスクから２以上のタスクが配置されたときに、配置されたタスクに対応付けられた前記事前条件と前記事後条件との組み合わせから第１の制約を特定し、
前記複数のタスクのうち配置されていないタスクから、前記特定された前記第１の制約を充足する１以上のタスクおよび該タスクの配置場所を決定してプロセスを生成し、前記プロセスの生成後に前記配置済みのタスクが操作されたときに、当該操作に対応付けられる第２の制約を追加設定し、追加設定された前記第２の制約を充足する前記プロセスを再作成する
処理を実行することを特徴とするプロセス設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス設計プログラム、プロセス設計装置およびプロセス設計方法に関する。
【背景技術】
【０００２】
従来、プログラミング、システムの運用管理または特定の業務などにかかるプロセス設計においては、プロセス設計ツールを用いて、プロセスで実行するアクションの抽出や順序などを人が考えて行なっている。【０００３】
人によるプロセス設計では、プロセス内で実行されるアクションや、当該アクション間における前後関係などの定義を全て手動で行なうため、プロセス設計にかかる工数が増加する。また、人によるプロセス設計では、実行されるアクションの実行順序に誤りがあったり、実行されるアクションの挿入漏れがあったりした場合に、これらのアクションを検出することが困難である。【０００４】
そこで、最近では、設定された開始条件および終了条件に合致するプロセスを設計する技術がある。プロセスを設計する技術の例としては、過去の設計プロセス情報を活用する設計支援装置などがあり、さらには、運用管理ポリシによって起動されるワークフローに起因して発生する異常を検知して、当該ワークフローの実行を停止させる自律運用管理システムなどの技術もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−１９６９１号公報
【特許文献２】特開２００７−４３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、プロセス設計にかかる条件の追加や修正などを柔軟に行なうことができないという課題がある。具体的に説明すると、プロセス設計では、一般的に、アクションやプロセスで充足する条件などを試行錯誤しながら絞り込む工程を要することから、設計されたプロセスを様々な条件で修正することが求められる。【０００７】
ところが、上記従来技術では、設定された開始条件および終了条件に合致するプロセスを設計するのみであるため、プロセスの設計段階における条件の追加や修正などを柔軟に行なうことが困難である。そして、プロセス設計の段階における条件の追加や修正などを柔軟に行なうことができないことに起因して、整合性の取れていないプロセスが生成される場合には、従来技術に係る自律運用管理システムなどの導入を要することとなる。【０００８】
そこで、本願に開示する技術は、上記に鑑みてなされたものであって、プロセス設計にかかる条件の追加や修正などを柔軟に行なうことが可能であるプロセス設計プログラム、プロセス設計装置およびプロセス設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本願に開示するプロセス設計プログラムは、所定の処理単位であるタスクを少なくとも二つ有するプロセスにおける前記タスクの配置に伴い、前記プロセスおよび／またはタスクにかかる制約を設定する制約設定手順と、前記制約設定手順によって設定された制約を充足する前記プロセスを、前記制約が定義された制約定義情報に基づいて生成するプロセス生成手順と、を実行させる。
【発明の効果】
【００１０】
本願に開示するプロセス設計プログラム、プロセス設計装置およびプロセス設計方法の一つの様態によれば、プロセス設計にかかる条件の追加や修正などを柔軟に行なうことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るプロセス設計装置の構成例を示す図である。
【図２】図２は、実施例２に係るプロセス設計装置の構成例を示す図である。
【図３】図３は、表示部によって表示出力される画面例を示す図である。
【図４】図４は、Ａｌｌｏｙ言語によるデータ構造を説明するための図である。
【図５】図５は、制約定義情報に含まれるアイコン操作に対応する制約定義の例を示す図である。
【図６】図６は、制約定義情報に含まれるタスクカード間の接続関係を求めるための制約定義の例を示す図である。
【図７】図７は、データ構造の入力および出力の例を説明するための図である。
【図８】図８は、実施例２に係るプロセス生成処理の流れを説明するためのフローチャートである。
【図９】図９は、サーバ増設にかかるプロセス生成のタスクカード定義を説明するための図である。
【図１０−１】図１０−１は、サーバ増設にかかるプロセス生成処理手順を説明するための図である。
【図１０−２】図１０−２は、サーバ増設にかかるプロセス生成処理手順を説明するための図である。
【図１０−３】図１０−３は、サーバ増設にかかるプロセス生成処理手順を説明するための図である。
【図１０−４】図１０−４は、サーバ増設にかかるプロセス生成処理手順を説明するための図である。
【図１１−１】図１１−１は、代替となるプロセスの例を示す図である。
【図１１−２】図１１−２は、代替となるプロセスの例を示す図である。
【図１２】図１２は、タスクカードの再配置を促す警告の例を示す図である。
【図１３】図１３は、プロセス設計プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本願に開示するプロセス設計プログラム、プロセス設計装置およびプロセス設計方法の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１３】
［実施例１に係るプロセス設計装置の構成］
最初に、図１を用いて、実施例１に係るプロセス設計装置の構成について説明する。図１は、実施例１に係るプロセス設計装置の構成例を示す図である。【００１４】
例えば、図１に示すように、プロセス設計装置は、制約設定部とプロセス生成部とを有する。そして、プロセス設計装置は、所定の処理単位であるタスクが配置されることにより、当該タスクを少なくとも二つ有するプロセスを生成して出力する。【００１５】
上述した構成において、プロセス設計装置は、所定の処理単位であるタスクを少なくとも二つ有するプロセスにおけるタスクの配置に伴い、プロセスおよび／またはタスクにかかる制約を設定する。そして、プロセス設計装置は、設定された制約を充足するプロセスを、制約が定義された制約定義情報に基づいて生成する。【００１６】
なお、プロセス設計装置によって生成されたプロセスは、所定の表示装置などに表示出力される。そして、ユーザは、表示装置などに表示出力されたプロセスに含まれるタスクの配置に変更がある場合に、所定の入力装置などを利用して、当該タスクの再配置を行なう。【００１７】
［実施例１による効果］
上述したように、プロセス設計装置は、タスクの配置に伴って発生するプロセス全体やタスク単体などにかかる制約を設定し、制約が定義された制約定義情報に基づいて、設定された制約を充足するようにプロセスを生成するので、プロセス設計にかかる条件の追加や修正などを柔軟に行なうことができる。
【実施例２】
【００１８】
［実施例２に係るプロセス設計装置の構成］
次に、図２を用いて、実施例２に係るプロセス設計装置の構成について説明する。図２は、実施例２に係るプロセス設計装置の構成例を示す図である。【００１９】
図２に示すように、プロセス設計装置１００は、入力部１０１と、表示部１０２と、記憶部１１０と、制御部１２０とを有する。そして、プロセス設計装置１００は、例えば、プロセスを設計するユーザが所有するＰＣ（Personal  Computer）やサーバ装置などの情報処理装置に含まれる。なお、以下では、プロセス生成にかかる制約の記述言語として、一階述語論理と集合論とに基づく記述言語であるＡｌｌｏｙ言語を用いる場合を説明する。【００２０】
入力部１０１は、キーボードやマウスなどを有し、プロセス設計装置１００における各種情報の入力を受け付ける。例えば、入力部１０１は、ユーザによるキーボードやマウスなどの操作により、表示部１０２に表示出力されたタスクカードの配置操作や、表示出力されているプロセスの代替となるプロセスの表示要求などを受け付ける。【００２１】
表示部１０２は、モニタ（若しくはディスプレイ、タッチパネルなど）やスピーカを有し、プロセス設計装置１００における各種情報を出力する。例えば、表示部１０２は、後述する表示出力制御部１２３によって制御されたプロセス図形や、各種警告などを表示出力する。【００２２】
表示部１０２によって表示出力される画面は、例えば、図３に示すように、プロセス全体を図形表示した「プロセス図」と、各タスクを図形表示した「アクション（タスクカード）群」とに分割される。そして、ユーザは、入力部１０１を用いて、アクション群に含まれるタスクカードそれぞれについて利用するカードを設定したり、開始条件および終了条件などの各種条件を設定（或いは、プロセス図へ配置）したりする。【００２３】
また、ユーザは、入力部１０１を用いて、プロセス図に含まれるタスクカードについて、処理の順序やタスクの排除などを実施する。図３では、ユーザによって配置操作されたタスクカードを斜線で示し、自動挿入されたカードを網掛けで示している。また、図３では、タスクカードのＤｒａｇ＆Ｄｒｏｐを破線矢印で示し、タスクの処理方向を実線矢印で示している。なお、図３は、表示部１０２によって表示出力される画面例を示す図である。【００２４】
ここで、図４を用いて、Ａｌｌｏｙ言語によるデータ構造を説明する。図４は、Ａｌｌｏｙ言語によるデータ構造を説明するための図である。【００２５】
例えば、図４に示すように、Ａｌｌｏｙ言語によるデータ構造は、構造と制約とに分けられる。これらのうち、構造は、「タスクカードデータ構造」と「開始・終了条件構造」とを有する。そして、タスクカードデータ構造は、タスクカードにおける事前条件と事後条件との前後の接続関係を保持する。一方、開始・終了条件構造は、プロセスにおける開始条件と終了条件とを保持する。【００２６】
また、制約は、「排除制約」と、「必須制約」と、「初期条件制約」と、「終了条件制約」と、「直接順序制約」と、「順序制約」とを有する。これらのうち、排除制約とは、タスクカードが他のタスクカードと接続関係を持たないという制約である。また、必須制約とは、タスクカードが他のタスクカードと接続関係を持つという制約である。【００２７】
また、初期条件制約とは、タスクカードがプロセスの最初に実行されるという制約である。また、終了条件制約とは、タスクカードがプロセスの最後に実行されるという制約である。また、直接順序制約とは、タスクカードが所定のタスクカードの直前に実行されるという制約である。また、順序制約とは、タスクカードが所定のタスクカードよりも前に実行されるという制約である。そして、上記構造および制約は、図４に示すように、Ａｌｌｏｙ言語によって表現される。【００２８】
記憶部１１０は、制御部１２０による各種処理に必要なデータや、制御部１２０による各種処理結果を記憶し、特に、制約定義情報１１１を有する。【００２９】
制約定義情報１１１は、図５に示すように、アイコン操作に対応する制約定義を保持する。具体的に説明すると、制約定義情報１１１は、実行しないタスクを削除、すなわち使用しないタスクカードＸをゴミ箱にＤｒａｇ＆Ｄｒｏｐするアイコン操作に対応して定義される排除制約「none（CardX．prev＋CardX．next）」を保持する。なお、「none」は、集合が空であることを表し、「＋」は、集合の結合（union）を表す。【００３０】
また、制約定義情報１１１は、実行必須となるタスク、すなわち使用するタスクカードＸをプロセス図内の任意の場所にＤｒａｇ＆Ｄｒｏｐするアイコン操作に対応して定義される必須制約「some（CardX．prev＋CardX．next）」を保持する。また、制約定義情報１１１は、プロセス実行開始時に実行するタスク、すなわち初期条件として使用するタスクカードＸをプロセス図内の開始条件枠内にＤｒａｇ＆Ｄｒｏｐするアイコン操作に対応して定義される初期条件制約「（none  CardX．prev）＆＆（some  CardX．next）」を保持する。なお、「some」は、集合が空でないことを表す。【００３１】
また、制約定義情報１１１は、プロセス実行終了時に実行するタスク、すなわち初期条件として使用するタスクカードＸをプロセス図内の終了条件枠内にＤｒａｇ＆Ｄｒｏｐするアイコン操作に対応して定義される終了条件制約「（some  CardX．prev）＆＆（none  CardX．next）」を保持する。また、制約定義情報１１１は、タスクを所定のタスクの直前に実行、すなわちタスクカードＹをタスクカードＸの後ろに重ねるようにＤｒａｇ＆Ｄｒｏｐするとともに、表示される設定アイコンから「直接順序（Next）」を選択するアイコン操作に対応して定義される直接順序制約「CardY  in  CardX．next」を保持する。【００３２】
また、制約定義情報１１１は、タスクを所定のタスクよりも前に実行、すなわちタスクカードＹをタスクカードＸの後ろに重ねるようにＤｒａｐ＆Ｄｒｏｐするとともに、表示される設定アイコンから「順序（After）」を選択するアイコン操作に対応して定義される順序制約「CardY  in  CardX．＊（next）」を保持する。なお、図５は、制約定義情報１１１に含まれるアイコン操作に対応する制約定義の例を示す図である。【００３３】
さらに、制約定義情報１１１は、図６に示すように、タスクの事前条件および事後条件と、これらの条件によって定義される制約を保持する。具体的に説明すると、制約定義情報１１１は、タスクカードｃ’がタスクカードｃの直後に実行される場合に、当該ｃ’の事前条件命題の集合にｃの事後条件命題集合の一部が含まれる「事前／事後条件合致制約」を保持する。【００３４】
また、制約定義情報１１１は、タスクカードｃ’がタスクカードｃの直後に実行される場合に、当該タスクカードｃがタスクカードｃ’の直前に実行される「前後関係条件制約」を保持する。また、制約定義情報１１１は、タスクカードｃの前に実行すべきタスクカードがない場合に、当該タスクカードｃが使用されない、またはタスクカードｃの事前条件がプロセスの開始条件に含まれる「開始カード条件制約」を保持する。【００３５】
また、制約定義情報１１１は、タスクカードｃの後に実行すべきタスクカードがない場合に、当該タスクカードｃが使用されない、またはタスクカードｃの事後条件がプロセスの終了条件に含まれる「終了カード条件制約」を保持する。また、制約定義情報１１１は、タスクカードｃの事前条件が全てのプロセスの開始条件、またはタスクカードｃの直前に実行されるいずれかのタスクカードの事後条件に含まれる「事前条件充足制約」を保持する。【００３６】
また、制約定義情報１１１は、プロセスの終了条件を表す命題の集合が実行可能ないずれかのタスクカードの事後条件の命題の集合に含まれる「プロセス終了条件充足制約」を保持する。要するに、制約定義情報１１１は、所定のタスクカードのアイコン操作と、当該アイコン操作によって要することとなるプロセス内を充足させるための各種制約定義情報を保持する。なお、図６は、制約定義情報１１１に含まれるタスクカード間の接続関係を求めるための制約定義の例を示す図である。【００３７】
図２の説明に戻り、制御部１２０は、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に、制約設定部１２１と、プロセス生成部１２２と、表示出力制御部１２３とを有する。【００３８】
具体的に例を挙げると、制約設定部１２１は、タスクカードＸがゴミ箱にＤｒａｇ＆Ｄｒｏｐされた場合に、当該タスクカードＸを使用しない排除制約「none（CardX．prev＋CardX．next）」を設定する。なお、制約設定部１２１は、実施例１における制約設定部の一例として挙げられる。【００３９】
そして、プロセス生成部１２２は、制約定義情報１１１に基づいて、制約設定部１２１によって設定された制約を充足するプロセスとして、タスクカードＸの排除前に配置されていた場所に、タスクカードＹおよびタスクカードＺを配置することでプロセスを生成する。【００４０】
新たに配置されるタスクカードＹおよびタスクカードＺについて、例えば、タスクカードＸの事前条件が「Ｘ１」および事後条件が「Ｘ２」と「Ｘ３」とである場合には、タスクカードＹおよびタスクカードＺの事前条件が「Ｘ１」であり、タスクカードＹの事後条件が「Ｘ２」およびタスクカードＺの事後条件が「Ｘ３」である。要するに、タスクカードＹおよびタスクカードＺは、排除されたタスクカードＸおよび全てのタスクカードを含むプロセス全体を充足するタスクカードである。【００４１】
また、プロセス生成部１２２は、制約設定部１２１によって設定された制約を充足するタスクカード、すなわちプロセスが存在しない場合に、当該プロセスが存在しない旨を表示出力制御部１２３に対して通知する。また、プロセス生成部１２２は、入力部１０１によって表示部１０２に表示出力されたプロセスの代替となるプロセスの表示出力要求が受け付けられた場合に、当該表示出力されたプロセスとは異なる制約を充足するプロセスを生成する。なお、代替となるプロセスの表示要求は、図３に示した代替案ボタンの押下により行なわれる。また、プロセス生成部１２２は、実施例１におけるプロセス生成部の一例として挙げられる。【００４２】
続いて、表示出力制御部１２３は、プロセス生成部１２２によって生成されたプロセスを表示部１０２に図形として表示出力させる。なお、表示部１０２に表示される図形の形態としては、図３に図示した形態でなくても良い。【００４３】
また、表示出力制御部１２３は、プロセス生成部１２２によって制約を充足するプロセスが存在しない旨が通知された場合に、タスクカードの再配置を促す警告を表示部１０２に表示出力させる制御を行なう。【００４４】
ここで、図７を用いて、Ａｌｌｏｙ言語記述を利用した入力に従って上記処理が行なわれ、出力されるデータ構造の例を説明する。図７は、データ構造の入力および出力の例を説明するための図である。【００４５】
例えば、図７に示すように、データ構造の入力については、アクション定義（タスクカード定義）と、タスクカードの配置に伴う制約定義とが存在する。具体的には、タスクカード「１」〜「５」それぞれにおける定義と、タスクカード「１」を開始条件およびタスクカード「３」を終了条件にした場合の制約定義とが存在する。【００４６】
アクション定義の例を挙げると、タスクカード「１」は、事前条件「Card１．pre」として「ａ＋ｂ＋ｃ」すなわち「ａ」・「ｂ」・「ｃ」の集合のｕｎｉｏｎと、事後条件「Card１．post」として「ｄ＋ｅ」すなわち「ｄ」・「ｅ」の集合のｕｎｉｏｎとを有する。また、制約定義の例を挙げると、開始条件「Req．start」として「Card１．pre」並びに「some  Card１．next  ＆＆  none  Card１．prev」と、終了条件「Req．goal」として「Card３．post」並びに「some  Card３．prev  ＆＆  none  Card３．next」とを有する。なお、制約定義については、ユーザによるＧＵＩ（Graphical  User  Interface）を用いたアイコン操作によって視覚的に行なわれる。【００４７】
そして、プロセス設計装置１００は、これらのタスクカード「Ｃ１」〜「Ｃ５」間の事前条件「prev」や接続関係「next」などを導出し、設定された制約定義それぞれを充足するようなプロセスの構造と、当該プロセスのグラフ表現とを出力する。【００４８】
［プロセス生成処理］
次に、図８を用いて、実施例２に係るプロセス生成処理の流れを説明する。図８は、実施例２に係るプロセス生成処理の流れを説明するためのフローチャートである。【００４９】
例えば、図８に示すように、プロセス設計装置１００は、表示部１０２によって表示出力されたタスクカードの配置操作がユーザによって行なわれた場合に（ステップＳ１０１肯定）、当該タスクカードの配置に従って制約を設定する（ステップＳ１０２）。【００５０】
そして、プロセス設計装置１００は、制約定義情報１１１に含まれる制約定義情報に基づいて、設定された制約を充足するプロセスを生成する（ステップＳ１０３）。続いて、プロセス設計装置１００は、設定された制約を充足するプロセスが存在するか否かを判定し（ステップＳ１０４）、プロセスが存在する場合に（ステップＳ１０４肯定）、生成されたプロセスを表示部１０２に候補として表示出力する（ステップＳ１０５）。【００５１】
なお、プロセス設計装置１００は、制約を充足するプロセスが存在しない場合に（ステップＳ１０４否定）、タスクカードの再配置を促す警告を表示部１０２に出力して（ステップＳ１０８）、ステップＳ１０１の処理を実施する。【００５２】
その後、プロセス設計装置１００は、ユーザによりプロセス保存やプロセス設計終了などで任意の操作が行なわれない場合に（ステップＳ１０６否定）、代替となるプロセスの出力要求があるか否かを判定する（ステップＳ１０７）。【００５３】
そして、プロセス設計装置１００は、ユーザによる代替案ボタンの押下によって、代替となるプロセスの出力要求がある場合に（ステップＳ１０７肯定）、表示部１０２に表示されたプロセスとは異なる代替となるプロセスを、制約定義情報１１１に含まれる制約定義情報に基づいて算出し（ステップＳ１０９）、ステップＳ１０５の処理を実施する。【００５４】
なお、プロセス設計装置１００は、ユーザによりプロセス保存やプロセス設計終了などで任意の操作が行なわれた場合に（ステップＳ１０６肯定）、処理を終了する。また、プロセス設計装置１００は、代替となるプロセスの出力要求がない場合に（ステップＳ１０７否定）、ステップＳ１０１の処理を実施する。但し、代替となるプロセスの出力要求がない場合には、プロセス設計処理の終了可否を促すメッセージを表示部１０２に表示出力させるなどして、処理を終了させることとしても良い。【００５５】
［サーバ増設にかかるプロセス生成例］
ここで、プロセス設計処理の適用例として、図９〜図１２を用いて、サーバ増設のためのプロセス設計に上記プロセス生成処理を適用する場合を説明する。図９は、サーバ増設にかかるプロセス生成のタスクカード定義を説明するための図である。また、図１０−１〜図１０−４は、サーバ増設にかかるプロセス生成処理手順を説明するための図である。また、図１１−１および図１１−２は、代替となるプロセスの例を示す図である。また、図１２は、タスクカードの再配置を促す警告の例を示す図である。【００５６】
（タスクカード定義）
まず、サーバ増設にかかるプロセス生成のタスクカードとして、例えば、図９に示すように、タスクカードＩＤ「Ｃ１」〜「Ｃ１０」を有する場合を説明する。タスクカードＩＤ「Ｃ１」は、サーバ増設承認というタスクを示し、事前条件「なし」と、事後条件「Ｇｒａｎｔ（増設承認完了）」とである。また、タスクカードＩＤ「Ｃ２」は、ＩＰアドレス決定というタスクを示し、事前条件「なし」と、事後条件「ＩＰ（増設するサービスサーバのＩＰアドレス決定）」とである。【００５７】
また、タスクカードＩＤ「Ｃ３」は、管理端末ログインというタスクを示し、事前条件「なし」と、事後条件「Ｍ＿Ｌｏｇｉｎ（管理用端末ログイン）」とである。また、タスクカードＩＤ「Ｃ４」は、サービスサーバ停止というタスクを示し、事前条件「Ｍ＿Ｌｏｇｉｎ（管理用端末ログイン）」と、事後条件「Ｓ＿Ｓｔｏｐ（サービスサーバ停止）」とである。【００５８】
また、タスクカードＩＤ「Ｃ５」は、サービスサーバ増設というタスクを示し、事前条件「Ｇｒａｎｔ（増設承認完了）」、「ＩＰ（増設するサービスサーバのＩＰアドレス決定）」および「Ｓ＿Ｓｔｏｐ（サービスサーバ停止）」と、事後条件「Ａｄｄｅｄ（増設実行）」および「Ｃｈａｎｇｅｄ（変更作業実行）」とである。【００５９】
また、タスクカードＩＤ「Ｃ６」は、サービスサーバ起動というタスクを示し、事前条件「Ｍ＿Ｌｏｇｉｎ（管理用端末ログイン）」および「Ｓ＿Ｓｔｏｐ（サービスサーバ停止）」と、事後条件「Ｓ＿Ｓｔａｒｔ（サービスサーバ起動）」とである。また、タスクカードＩＤ「Ｃ７」は、管理端末ログアウトというタスクを示し、事前条件「Ｍ＿Ｌｏｇｉｎ（管理用端末ログイン）」と、事後条件「¬Ｍ＿Ｌｏｇｉｎ（管理用端末にログインしていないこと）」とである。【００６０】
また、タスクカードＩＤ「Ｃ８」は、動作確認というタスクを示し、事前条件「Ｃｈａｎｇｅｄ（変更作業実行）」と、事後条件「Ｖｅｒｉｆｉｅｄ（動作確認終了）」とである。また、タスクカードＩＤ「Ｃ９」は、報告というタスクを示し、事前条件「Ｖｅｒｉｆｉｅｄ（動作確認終了）」と、事後条件「Ｒｅｐｏｒｔ（報告完了）」とである。また、タスクカードＩＤ「Ｃ１０」は、増設作業完了というタスクを示し、事前条件「Ａｄｄｅｄ（増設実行）」および「Ｓ＿Ｓｔａｒｔ（サービスサーバ起動）」と、事後条件「Ｆｉｎｉｓｈｅｄ（全作業終了）」とである。【００６１】
（プロセス生成処理手順）
そして、上記各タスクカードの定義に従って、プロセス設計装置１００は、例えば、図１０−１に示すように、タスクカードＩＤ「Ｃ１０」が終了条件枠内にＤｒａｇ＆Ｄｒｏｐされた場合に、終了条件制約「（some  C10．prev）＆＆（none  C10．next）」を設定する。なお、この時、プロセス設計装置１００は、開始条件が設定されていないため、制約を充足するプロセスを導出しない。【００６２】
続いて、プロセス設計装置１００は、図１０−２に示すように、タスクカード「Ｃ１」が開始条件枠内にＤｒａｇ＆Ｄｒｏｐされた場合に、初期条件制約「（none  C1．prev）＆＆（some  C1．next）」を追加設定する。その後、プロセス設計装置１００は、図１０−２に示すように、開始条件と終了条件との制約設定に従って、充足するタスクカード「Ｃ２」、「Ｃ３」、「Ｃ４」、「Ｃ５」および「Ｃ６」を挿入し、プロセスを生成する。【００６３】
そして、プロセス設計装置１００は、図１０−３に示すように、タスクカード「Ｃ３」の後ろ側にタスクカード「Ｃ７」が重ねられるとともに、アイコン設定「順序（After）」が選択された場合に、必須制約「some（C7．prev＋C7．next）」と順序制約「C7  in  C3．＊（next）」とを追加設定する。この時、プロセス設計装置１００は、図１０−３に示すように、プロセス内において、タスクカード「Ｃ３」よりも後段での適切な場所にタスクカード「Ｃ７」を挿入する。【００６４】
続いて、プロセス設計装置１００は、図１０−４に示すように、タスクカード「Ｃ９」がプロセス図内の任意の場所にＤｒａｇ＆Ｄｒｏｐされた場合に、必須条件「some（C9．prev＋C9．next）」を追加設定する。その後、プロセス設計装置１００は、図１０−４に示すように、タスクカード「Ｃ９」の制約設定を充足する、すなわち当該タスクカード「Ｃ９」の事前条件を満たすために要するタスクカード「Ｃ８」を挿入するとともに、これらのタスクカード「Ｃ８」および「Ｃ９」を適切な場所に配置する。なお、プロセス設計装置１００は、プロセス生成が完了した場合に処理を終了する。【００６５】
要するに、プロセス設計装置１００は、サーバ増設にかかる１０枚のタスクカードを有するプロセスを生成する場合に、開始条件、終了条件、ログイン（ログアウト）および報告業務の４ステップでプロセスを生成するので、１つのアイコン（カードおよび矢印）の配置を１ステップとして２０ステップを要する従来技術と比較して、プロセス生成にかかる工数を大幅に削減することができる。【００６６】
（代替案）
また、上記処理の結果、代替となるプロセスの表示出力要求を受け付けたプロセス設計装置１００は、例えば、図１１−１に示すように、並列して実行するプロセスとなっているタスクカード「Ｃ２」と、タスクカード「Ｃ３」および「Ｃ４」とを、「Ｃ２」・「Ｃ３」・「Ｃ４」の順序で実行させる代替となるプロセスを算出してプロセスを生成し、表示部１０２に表示出力する。【００６７】
また、プロセス設計装置１００は、例えば、図１１−２に示すように、タスクカード「Ｃ７」・「Ｃ８」・「Ｃ９」の順序で実行するプロセスを、タスクカード「Ｃ８」・「Ｃ９」・「Ｃ７」の順序で実行させる代替となるプロセスを算出してプロセスを生成し、表示部１０２に表示出力する。【００６８】
（警告）
ここで、図１２を用いて、プロセス設計装置１００による警告の出力例を説明する。制約の例としては、図１２に示すように、各種制約「（some  CE．prev）＆＆（none  CE．next）」、「（none  CS．prev）＆＆（some  CS．next）」、「some（CX．prev＋CX．next）」および「CY  in  CX．＊（next）」、すなわち「ＣＳ」で開始して「ＣＥ」で終了、ＣＸを必ず使用する、ＣＹをＣＸの後に実行する制約とする。【００６９】
そして、プロセス設計装置１００は、例えば、タスクカード「ＣＹ」がゴミ箱にＤｒａｇ＆Ｄｒｏｐされた場合、すなわち「ＣＹを使用しない」という制約が追加される場合に、上記既存の制約と新たに追加される制約とを同時に充足するプロセスが存在しないため警告を出力して、タスクカードの再配置をユーザに対して促す。【００７０】
［実施例２による効果］
上述したように、プロセス設計装置１００は、タスクカードの配置に伴って制約を設定し、設定された制約に従って充足するプロセスを生成する処理において、エディタ上での操作で各種制約を定義するので、プロセス設計にかかる条件の追加や修正などを柔軟に行なうことができる。【００７１】
また、プロセス設計装置１００は、タスクカード、当該タスクカードを含むプロセス内において、事前条件や事後条件などの接続関係を充足するプロセスを生成するので、不整合のないプロセスを生成することができる。【００７２】
また、プロセス設計装置１００は、エディタ上で明示された図形を操作することにより各種制約を定義することができるので、各タスクカード間の接続関係を視覚的に認識させることができるとともに、簡易にプロセスを生成することができる。
【実施例３】
【００７３】
さて、これまで本願に開示するプロセス設計装置の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、（１）アイコン操作、（２）プロセス設計装置の構成、（３）プログラム、において異なる実施例を説明する。【００７４】
（１）アイコン操作
上記実施例では、タスクカードのＤｒａｇ＆Ｄｒｏｐや、配置操作後に出現するアイコン操作などによってタスクカードの配置および配置に伴う制約の設定を行なう場合を説明したが、当該アイコン操作については、上記の例に限られるものではない。【００７５】
例えば、タスクカードのアイコン操作については、右クリックによるアイコン設定を出現させたり、ダブルクリックによってタスクカードを削除させたりするなど、様々なアイコン操作の種類がある。なお、アイコン操作は、上記実施例で挙げたＡｌｌｏｙ言語に依存するものではなく、各種言語についても同様に実施できる。【００７６】
（２）プロセス設計装置の構成
また、上記文書中や図面中などで示した処理手順、制御手順、具体的名称、各種のデータやパラメタなどを含む情報（例えば、「制約定義情報１１１」に含まれる情報など）については、特記する場合を除いて任意に変更することができる。【００７７】
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、例えば、プロセス生成部１２２と、表示出力制御部１２３とを、制約を充足するプロセスを生成するとともに、生成されたプロセスを表示部１０２に表示出力させる制御を行なう「プロセス処理部」として統合するなど、その全部または一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。【００７８】
（３）プログラム
ところで、上記実施例では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、予め用意されたプログラムをコンピュータで実行することによって実現するようにしても良い。そこで、以下では、図１３を用いて、上記実施例に示したプロセス設計装置１００と同様の機能を有するプロセス設計プログラムを実行するコンピュータの一例を説明する。図１３は、プロセス設計プログラムを実行するコンピュータを示す図である。【００７９】
図１３に示すように、プロセス設計装置１００としてのコンピュータ１１は、バス１８で接続されるＨＤＤ１３、ＣＰＵ１４、ＲＯＭ１５およびＲＡＭ１６などを有する。【００８０】
ＲＯＭ１５には、上記実施例に示したプロセス設計装置１００と同様の機能を発揮するプロセス設計プログラム、つまり、図１３に示すように、制約設定プログラム１５ａと、プロセス生成プログラム１５ｂとが、予め記憶されている。なお、これらのプログラム１５ａ〜プログラム１５ｂについては、図２に示したプロセス設計装置１００の各構成要素と同様、適宜統合または分散しても良い。【００８１】
そして、ＣＰＵ１４がこれらのプログラム１５ａ〜プログラム１５ｂをＲＯＭ１５から読み出して実行することで、図１３に示すように、プログラム１５ａ〜プログラム１５ｂは、制約設定プロセス１４ａと、プロセス生成プロセス１４ｂとして機能するようになる。なお、プロセス１４ａ〜プロセス１４ｂは、図２に示した、制約設定部１２１と、プロセス生成部１２２とに対応する。【００８２】
そして、ＣＰＵ１４はＲＡＭ１６に記録されたデータ（例えば、制約定義情報など）に基づいてプロセス設計プログラムを実行する。【００８３】
なお、上記各プログラム１５ａ〜プログラム１５ｂについては、必ずしも最初からＲＯＭ１５に記憶させておく必要はなく、例えば、コンピュータ１１に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、またはコンピュータ１１の内外に備えられるＨＤＤなどの「固定用の物理媒体」、さらには公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１１に接続される「他のコンピュータ（またはサーバ）」などに各プログラムを記憶させておき、コンピュータ１１がこれから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８４】
１００  プロセス設計装置
１０１  入力部
１０２  表示部
１１０  記憶部
１１１  制約定義情報
１２０  制御部
１２１  制約設定部
１２２  プロセス生成部
１２３  表示出力制御部
【図１】
0005494660.tif 000002
【図２】
0005494660.tif 000003
【図３】
0005494660.tif 000004
【図４】
0005494660.tif 000005
【図５】
0005494660.tif 000006
【図６】
0005494660.tif 000007
【図７】
0005494660.tif 000008
【図８】
0005494660.tif 000009
【図９】
0005494660.tif 000010
【図１０−１】
0005494660.tif 000011
【図１０−２】
0005494660.tif 000012
【図１０−３】
0005494660.tif 000013
【図１０−４】
0005494660.tif 000014
【図１１−１】
0005494660.tif 000015
【図１１−２】
0005494660.tif 000016
【図１２】
0005494660.tif 000017
【図１３】
0005494660.tif 000018