(57)【要約】【課題】  プロセスの粒度に依存することなく、複数のシステム間で再利用可能なプロセスを効率よく抽出できるようにする。【解決手段】  プロセスマッピングサーバ３は、システムＳＹ１のソフトウェア・コンポーネントｃ1jのうち、その入力メッセージ集合ＭＩ1jがシステムＳＹ２のあるソフトウェア・コンポーネントｃ2iの入力メッセージ集合ＭＩ2iに包含されるソフトウェア・コンポーネントｃ1jを起点とし、システムＳＹ１のソフトウェア・コンポーネントｃ1lの出力メッセージ集合ＭＯ1lの一部がシステムＳＹ２のあるソフトウェア・コンポーネントｃ2kの出力メッセージ集合ＭＯ2kと一致するソフトウェア・コンポーネントを終点とするサブプロセスを抽出し、これらのサブプロセスをランキングしてユーザ端末６に提示する。【選択図】      図１
2006172165.tif 000002
【特許請求の範囲】
【請求項１】
プロセスを構成するソフトウェア・コンポーネントの入力メッセージに基づいて、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出する入力メッセージマッピング手段と、
前記プロセスを構成するソフトウェア・コンポーネントの出力メッセージに基づいて、前記プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出する出力メッセージマッピング手段と、
前記入力メッセージマッピング手段および前記出力メッセージマッピング手段にて抽出されたソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するサブプロセス抽出手段とを備えることを特徴とするプロセスマッピング装置。
【請求項２】
前記サブプロセス抽出手段は、第１システムのソフトウェア・コンポーネントの入力メッセージ集合が第２システムのソフトウェア・コンポーネントの入力メッセージ集合に包含されるソフトウェア・コンポーネントを起点とし、第１システムのソフトウェア・コンポーネントの出力メッセージ集合の一部が第２システムのソフトウェア・コンポーネントの出力メッセージ集合の一部と一致するソフトウェア・コンポーネントを終点とするサブプロセスを抽出することを特徴とする請求項１記載のプロセスマッピング装置。
【請求項３】
前記サブプロセス抽出手段は、
前記第１システムと前記第２システムとの間でソフトウェア・コンポーネントの入力メッセージ集合および出力メッセージ集合の構成要素がそれぞれ一致する割合に基づいて、前記サブプロセス抽出手段にて抽出されたサブプロセスをランキングする組合せ分析手段を備えることを特徴とする請求項２記載のプロセスマッピング装置。
【請求項４】
前記組合せ分析手段にてランキングされたサブプロセスを提示する提示手段と、
前記提示したサブプロセスのうち再利用可能と判断されたサブプロセスの選択結果を受領する受領手段と、
前記再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとして登録するプロセス共通知識ベースとをさらに備えることを特徴とする請求項３記載のプロセスマッピング装置。
【請求項５】
プロセス間で流通するメッセージの対応関係を蓄積するメッセージ共通知識ベースをさらに備え、
前記入力メッセージマッピング手段は、前記メッセージ共通知識ベースの参照結果に基づいて、前記ソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させた上で、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出し、
前記出力メッセージマッピング手段は、前記メッセージ共通知識ベースの参照結果に基づいて、前記ソフトウェア・コンポーネントの間で流通する出力メッセージ形式を整合させた上で、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出することを特徴とする請求項１から４のいずれか１項記載のプロセスマッピング装置。
【請求項６】
再利用可能なプロセスの対応関係が登録されたプロセス共通知識ベースと、
プロセスを構成するソフトウェア・コンポーネントの入力メッセージおよび出力メッセージを受け付ける入出力メッセージ受付手段と、
前記入力メッセージおよび前記出力メッセージと対応関係を持つソフトウェア・コンポーネントをそれぞれ起点および終点とするプロセスを前記プロセス共通知識ベースから検索するプロセス検索手段と、
前記プロセス検索手段にて検索されたプロセスの対応関係を前記プロセス共通知識ベース上で辿ることにより、再利用可能なプロセスを探索するプロセス探索手段とを備えることを特徴とするプロセスマッピング管理装置。
【請求項７】
マッピングプロセス記述と被マッピングプロセス記述とをプロセスマッピングサーバに入力するステップと、
前記マッピングプロセス記述および前記被マッピングプロセス記述に記述されたソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させた上で、前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある入力メッセージを持つソフトウェア・コンポーネントを抽出するステップと、
前記マッピングプロセス記述および前記被マッピングプロセス記述に記述されたソフトウェア・コンポーネントの間で流通する出力メッセージ形式を整合させた上で、前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある出力メッセージを持つソフトウェア・コンポーネントを抽出するステップと、
前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある入力メッセージおよび出力メッセージを持つソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するステップと、
前記起点のソフトウェア・コンポーネントの入力メッセージ集合の構成要素および前記終点のソフトウェア・コンポーネントの出力メッセージ集合の構成要素が前記マッピングプロセス記述および前記被マッピングプロセス記述間でそれぞれ一致する割合に基づいて、前記抽出されたサブプロセスをランキングし提示するステップとを備えることを特徴とするプロセスマッピング方法。
【請求項８】
前記ランキングされたサブプロセスを提示するステップと、
前記提示したサブプロセスのうち再利用可能と判断されたサブプロセスを再利用可能なプロセスとして選択するステップとをさらに備えることを特徴とする請求項７記載のプロセスマッピング方法。
【請求項９】
前記再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとしてデータベース化するステップをさらに備えることを特徴とする請求項８記載のプロセスマッピング方法。
【請求項１０】
プロセスを構成するソフトウェア・コンポーネントの入力メッセージに基づいて、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出するステップと、
前記プロセスを構成するソフトウェア・コンポーネントの出力メッセージに基づいて、前記プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出するステップと、
前記入力メッセージマッピング手段および前記出力メッセージマッピング手段にて抽出されたソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するステップとをコンピュータに実行させることを特徴とするプロセスマッピングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセスマッピング装置、プロセスマッピング管理装置、プロセスマッピング方法、プロセスマッピングプログラムに関し、特に、異なるシステム間において、システムの構成部品であるソフトウェア・コンポーネントの実行手順であるプロセスを自動的にマッピングする方法に適用して好適なものである。
【背景技術】
【０００２】
システムの構成部品であるソフトウェア・コンポーネントをネットワークを通じて利用可能とする技術には、非特許文献１、２に開示されているように、分散オブジェクト技術の代表であるＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）や、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）というメッセージ規格を利用したＷｅｂサービスなどがある。例えば、Ｗｅｂサービスでは、ソフトウェア・コンポーネントの間で交換されるメッセージ形式をＸＭＬで記述するＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を持ち、ソフトウェア・コンポーネントの実行手順であるプロセスをＸＭＬで記述するＢＰＥＬを持つ。そして、Ｗｅｂサービスでは、ＷＳＤＬ文書やＢＰＥＬ文書を開発ツールに読み込ませることによって、Ｗｅｂサービスを呼び出すモジュールのコードを自動生成することができる。また、ＳＯＡＰというプロトコルでは、ＨＴＴＰやＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）などのインターネット標準技術を使うことによって、Ｗｅｂ上の分散オブジェクトをプラットフォームの壁を越えて利用することができる。
【０００３】
また、非特許文献３には、ドメインに特化した共通的な概念が階層的に整備された共通知識ベースを用いることにより、システム間でメッセージ形式を自動的に整合させる方法が開示されている。ここで、ＸＭＬやＸＭＬベースのオントロジ記述言語であるＯＷＬなどの概念関係を階層的に記述する言語を用いることで、共通知識ベースが構築されている。
【０００４】
また、非特許文献４には、実行権、影響範囲およびリソースのロック方式という意味をプロセス記述に記述し、同様のプロセスを作成する時に、これらの意味が記述されたプロセス記述を再利用することで、システム設計にかかる設計コストを削減する方法が開示されている。
また、非特許文献５には、既存のプロセスを再利用して組み合わせることで、設計を迅速化するＳＯＡ（サービス指向アーキテクチャ）というシステム設計アプローチが開示されている。このＳＯＡでは、プロセスの呼び出し手順や粒度を適切に設計し、Ｗｅｂサービスなどを用いてインターフェースを公開することで、サービスの再利用による柔軟なシステム連携を指向している。
【０００５】
【非特許文献１】ダーク・スラマ，ジェイソン・ガービス，ペリー・ラッセル：Ｅｎｔｅｒｐｒｉｓｅ  ＣＯＲＢＡ，ピアソン（１９９９）
【非特許文献２】吉田稔，青木秀起：Ｗｅｂサービスのキホン，ａｔｍａｒｋｉｔ，ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｘｍｌ／ｔａｎｐａｔｓｕ／２１ｗｅｂｓｖｃ／ｗｅｂｓｖｃ０１．ｈｔｍｌ（２００２）．
【非特許文献３】Ｐａｏｌｕｃｃｉ，Ｍ．，Ｋａｗａｍｕｒａ，Ｔ．Ｐａｙｎｅ，Ｒ．ａｎｄ  Ｓｙｃａｒａ，Ｋ．：Ｓｅｍａｎｔｉｃ  Ｍａｔｃｈｉｎｇ  ｏｆ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｃａｐａｂｉｌｉｔｉｅｓ，Ｉｎｔ’ｌ  Ｓｅｍａｎｔｉｃ  Ｗｅｂ  Ｃｏｎｆ，ｐｐ．３３３−３４７（２００２）
【非特許文献４】Ｂｅｎａｔａｌｌａｈ，Ｂ．，Ｃａｓａｔｉ，Ｆ．，Ｔｏｕｍａｎｉ，Ｆ．ａｎｄ  Ｈａｍａｄｉ，Ｒ．：Ｃｏｎｃｅｐｔｕａｌ  Ｍｏｄｅｌｉｎｇ  ｏｆ  Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｃｏｎｖｅｒｓａｔｉｏｎｓ，Ｉｎｔ’ｌ  ｃｏｎｆ．Ａｄｖａｎｃｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ  Ｅｎｇｉｎｅｒｒｉｎｇ，ｐｐ．４４９−４６７（２００３）
【非特許文献５】安田正義：サービス指向アーキテクチャの未来を考察する，ａｔｍａｒｋｉｔ，ｈｔｔｐ：／／ｗｗｗ．ａｔｍａｒｋｉｔ．ｃｏ．ｊｐ／ｆｘｍｌ／ｔａｎｐａｔｓｕ／３３ｓｏａ／ｓｏａ０１．ｈｔｍｌ（２００４）．
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１、２に開示された方法では、システム連携を実現するためには、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの間で流通されるメッセージ形式やソフトウェア・コンポーネントの実行手順を記述するプロセス記述を人手で整合させる必要があるため、人手にかかる負担が大きいという問題があった。例えば、Ｗｅｂサービスでは、ＷＳＤＬで定義されるソフトウェア・コンポーネントに用いるメッセージ形式を、連携させるシステム間で共通のものとして人手で再定義を行った上でないと、システム連携を実現することができなかった。さらに、システム間のプロセスを連携させたり統合したりするには、プロセス記述の再利用可能な部分を検索する必要がある。このため、Ｗｅｂサービスでは、設計者がシステムの仕様書を精査し、システム間のプロセスの再利用可能な部分を人手で発見し、新たなプロセスをＢＥＰＬに定義しなおさなければ、システム連携を実現することができなかった。
【０００７】
また、特許文献３に開示された方法では、ドメインに特化した共通的な概念が単に階層的に整備されたものであるため、再利用可能なプロセスを自動的に検索することができないという問題があった。このため、システム連携を実現するためには、連携されるシステムの複数の仕様書を設計者が精査し、システム間のプロセスの再利用可能な部分を人手で発見し、連携されるシステムのプロセス記述を定義しなおさなければならなかった。
【０００８】
また、特許文献４に開示された方法では、プロセス記述に記述された意味を用いただけでは、異なるシステムのプロセス間で再利用可能な部分を自動的に検索することができないという問題があった。このため、システム連携を実現するためには、設計者がシステムの仕様書を精査し、異なるシステム間のプロセスの整合性を人手で取らなければならなかた。
【０００９】
また、特許文献５に開示された方法では、サービスの再利用による柔軟なシステム連携を実現するには、プロセスの呼出手順や粒度を適切に設定する必要がある上に、再利用可能なプロセスの検索の課題を克服する必要があるため、ＳＯＡは技術として安定して確立されていないという問題があった。
そこで、本発明の目的は、プロセスの粒度に依存することなく、複数のシステム間で再利用可能なプロセスを効率よく抽出することが可能なプロセスマッピング装置、プロセスマッピング管理装置、プロセスマッピング方法、プロセスマッピングプログラムを提供することである。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、請求項１記載のプロセスマッピング装置によれば、プロセスを構成するソフトウェア・コンポーネントの入力メッセージに基づいて、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出する入力メッセージマッピング手段と、前記プロセスを構成するソフトウェア・コンポーネントの出力メッセージに基づいて、前記プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出する出力メッセージマッピング手段と、前記入力メッセージマッピング手段および前記出力メッセージマッピング手段にて抽出されたソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するサブプロセス抽出手段とを備えることを特徴とする。
【００１１】
これにより、サブプロセスを抽出する際に、ソフトウェア・コンポーネントの起点および終点における入力メッセージおよび出力メッセージを整合させた上で、プロセスを構成する様々のソフトウェア・コンポーネントを他のプロセスに流用することができる。このため、システム間で再利用可能なプロセスを抽出するために、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの実行手順を記述するプロセス記述を人手で整合させる必要がなくなるとともに、どのようなプロセスの粒度にも対応することが可能となり、プロセスの粒度に依存することなく、複数のシステム間で再利用可能なプロセスを効率よく抽出することが可能となる。
【００１２】
また、請求項２記載のプロセスマッピング装置によれば、前記サブプロセス抽出手段は、第１システムのソフトウェア・コンポーネントの入力メッセージ集合が第２システムのソフトウェア・コンポーネントの入力メッセージ集合に包含されるソフトウェア・コンポーネントを起点とし、第１システムのソフトウェア・コンポーネントの出力メッセージ集合の一部が第２システムのソフトウェア・コンポーネントの出力メッセージ集合の一部と一致するソフトウェア・コンポーネントを終点とするサブプロセスを抽出することを特徴とする。
【００１３】
これにより、第２システムの入力として第１システムの入力をそのまま用いることが可能となり、システム連携を容易に実現することが可能となるとともに、第２システムの出力にないものを第１システムの出力から取り込むことが可能となり、システム連携を図りつつ、様々の機能を付加することができる。
また、請求項３記載のプロセスマッピング装置によれば、前記サブプロセス抽出手段は、前記第１システムと前記第２システムとの間でソフトウェア・コンポーネントの入力メッセージ集合および出力メッセージ集合の構成要素がそれぞれ一致する割合に基づいて、前記サブプロセス抽出手段にて抽出されたサブプロセスをランキングする組合せ分析手段を備えることを特徴とする。
【００１４】
これにより、入力メッセージまたは出力メッセージに含まれる項目がシステム間で一致する割合の高いソフトウェア・コンポーネントを含むサブプロセスを特定することができる。このため、サブプロセス抽出手段にて抽出されたサブプロセスから再利用可能性の高いサブプロセスを絞り込むことが可能となり、複数のシステム間で再利用可能なプロセスを判断する際の手間を軽減することができる。
【００１５】
また、請求項４記載のプロセスマッピング装置によれば、前記組合せ分析手段にてランキングされたサブプロセスを提示する提示手段と、前記提示したサブプロセスのうち再利用可能と判断されたサブプロセスの選択結果を受領する受領手段と、前記再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとして登録するプロセス共通知識ベースとをさらに備えることを特徴とする。
【００１６】
これにより、サブプロセス抽出手段にて抽出されたサブプロセスが再利用価値のあるかどうかを人手で判断することが可能となる。このため、サブプロセス抽出手段にて抽出されたサブプロセスが再利用価値のあるかどうかをプロセスマッピング装置側で判断する必要がなくなり、システム連携に必要な価値判断の構築を不要として、再利用可能なプロセスのマッピング技術を安定的に確立することができる。また、サブプロセス抽出手段にて抽出されたサブプロセスのうち、再利用可能性の高いサブプロセスを絞り込んでからユーザに提示することができ、サブプロセス抽出手段にて抽出されたサブプロセスが再利用価値のあるかどうかを人手で判断する場合においても、人手にかかる手間を軽減することができる。
【００１７】
また、請求項５記載のプロセスマッピング装置によれば、プロセス間で流通するメッセージの対応関係を蓄積するメッセージ共通知識ベースをさらに備え、前記入力メッセージマッピング手段は、前記メッセージ共通知識ベースの参照結果に基づいて、前記ソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させた上で、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出し、前記出力メッセージマッピング手段は、前記メッセージ共通知識ベースの参照結果に基づいて、前記ソフトウェア・コンポーネントの間で流通する出力メッセージ形式を整合させた上で、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出することを特徴とする。
【００１８】
これにより、メッセージ形式が異なるシステム間においても、メッセージ内容が一致すれば、これらのシステム間で情報を流通させることができる。このため、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの間で流通されるメッセージ形式を人手で整合させる必要がなくなり、人手にかかる負担を抑制しつつ、再利用可能なプロセスの適用範囲を拡大することができる。
【００１９】
また、請求項６記載のプロセスマッピング管理装置によれば、再利用可能なプロセスの対応関係が登録されたプロセス共通知識ベースと、プロセスを構成するソフトウェア・コンポーネントの入力メッセージおよび出力メッセージを受け付ける入出力メッセージ受付手段と、前記入力メッセージおよび前記出力メッセージと対応関係を持つソフトウェア・コンポーネントをそれぞれ起点および終点とするプロセスを前記プロセス共通知識ベースから検索するプロセス検索手段と、前記プロセス検索手段にて検索されたプロセスの対応関係を前記プロセス共通知識ベース上で辿ることにより、再利用可能なプロセスを探索するプロセス探索手段とを備えることを特徴とする。
【００２０】
これにより、プロセス共通知識ベースを参照することで、再利用可能なプロセスを発見することができる。このため、システム間で再利用可能なプロセスを抽出するために、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの実行手順を記述するプロセス記述を人手で整合させる必要がなくなり、再利用可能な複数のプロセスを迅速に得ることができる。
【００２１】
また、請求項７記載のプロセスマッピング方法によれば、マッピングプロセス記述と被マッピングプロセス記述とをプロセスマッピングサーバに入力するステップと、前記マッピングプロセス記述および前記被マッピングプロセス記述に記述されたソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させた上で、前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある入力メッセージを持つソフトウェア・コンポーネントを抽出するステップと、前記マッピングプロセス記述および前記被マッピングプロセス記述に記述されたソフトウェア・コンポーネントの間で流通する出力メッセージ形式を整合させた上で、前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある出力メッセージを持つソフトウェア・コンポーネントを抽出するステップと、前記マッピングプロセス記述および前記被マッピングプロセス記述間で対応関係にある入力メッセージおよび出力メッセージを持つソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するステップと、前記起点のソフトウェア・コンポーネントの入力メッセージ集合の構成要素および前記終点のソフトウェア・コンポーネントの出力メッセージ集合の構成要素が前記マッピングプロセス記述および前記被マッピングプロセス記述間でそれぞれ一致する割合に基づいて、前記抽出されたサブプロセスをランキングし提示するステップとを備えることを特徴とする。
【００２２】
これにより、メッセージ形式が異なるシステム間においても、メッセージ内容が一致すれば、これらのシステム間で情報を流通させることが可能となるとともに、設計者の意図する入出力結果を与えるプロセスであれば、粒度に関係なく、再利用可能性の高いサブプロセスをユーザに提示することができる。このため、システム間で再利用可能なプロセスを抽出するために、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの間で流通されるメッセージ形式やソフトウェア・コンポーネントの実行手順を記述するプロセス記述を人手で整合させる必要がなくなり、システム連携にかかる手間を軽減することが可能となる。
【００２３】
また、請求項８記載のプロセスマッピング方法によれば、前記ランキングされたサブプロセスを提示するステップと、前記提示したサブプロセスのうち再利用可能と判断されたサブプロセスを再利用可能なプロセスとして選択するステップとをさらに備えることを特徴とする。
これにより、サブプロセス抽出手段にて抽出されたサブプロセスが再利用価値のあるかどうかをプロセスマッピング装置側で判断する必要がなくなり、再利用可能なプロセスのマッピング技術を安定的に確立することができる。
【００２４】
また、請求項９記載のプロセスマッピング方法によれば、前記再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとしてデータベース化するステップをさらに備えることを特徴とする。
これにより、プロセス共通知識ベースを参照することで、再利用可能なプロセスを発見することができ、再利用可能な複数のプロセスを迅速に得ることができる。
【００２５】
また、請求項１０記載のプロセスマッピングプログラムによれば、プロセスを構成するソフトウェア・コンポーネントの入力メッセージに基づいて、プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出するステップと、前記プロセスを構成するソフトウェア・コンポーネントの出力メッセージに基づいて、前記プロセス間で対応関係にあるソフトウェア・コンポーネントを抽出するステップと、前記入力メッセージマッピング手段および前記出力メッセージマッピング手段にて抽出されたソフトウェア・コンポーネントをそれぞれ起点および終点とするサブプロセスを抽出するステップとをコンピュータに実行させることを特徴とする。
【００２６】
これにより、システム間で再利用可能なプロセスを抽出するために、設計者がシステムの仕様書を精査し、ソフトウェア・コンポーネントの実行手順を記述するプロセス記述を人手で整合させる必要がなくなるとともに、どのようなプロセスの粒度にも対応することが可能となり、プロセスの粒度に依存することなく、複数のシステム間で再利用可能なプロセスを効率よく抽出することが可能となる。
【発明の効果】
【００２７】
以上説明したように、本発明によれば、サブプロセスを抽出する際に、ソフトウェア・コンポーネントの起点および終点における入力メッセージおよび出力メッセージを整合させることにより、設計者の意図する入出力結果を与えるプロセスであれば、粒度に関係なく、再利用可能性の高いサブプロセスをユーザに提示することができ、システム連携にかかる手間を軽減することが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施形態に係るプロセスマッピング装置およびプロセスマッピング方法について図面を参照しながら説明する。
図１は、本発明の一実施形態に係るプロセスマッピング装置の概略構成を示すブロック図である。
図１において、プロセスマッピング装置には、プロセスマッピングサーバ３、メッセージ知識ベースサーバ４およびプロセス知識ベースサーバ５が設けられている。ここで、プロセスマッピングサーバ３、メッセージ知識ベースサーバ４およびプロセス知識ベースサーバ５は、通信ネットワークを介して接続することができる。また、プロセスマッピングサーバ３は、通信ネットワークを介してユーザ端末６と接続することができる。なお、プロセスマッピングサーバ３、メッセージ知識ベースサーバ４およびプロセス知識ベースサーバ５を接続する通信ネットワークとしては、例えば、ＩＰ通信を行う公衆通信網を用いることができ、インターネットであってもよい。また、企業間の専用通信網であっても、公衆通信網であってもよいが、高信頼性とセキュリティとを備えた専用通信を提供できるＩＰ−ＶＡＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）のようなインターネットであってもよい。また、プロセスマッピングサーバ３、メッセージ知識ベースサーバ４、プロセス知識ベースサーバ５およびユーザ端末６は、ノート型パーソナルコンピュータあるいはデスクトップ型パーソナルコンピュータでもよく、携帯電話端末やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）などであってもよい。
【００２９】
そして、プロセスマッピングサーバ３には、入力メッセージマッピング装置３１、出力メッセージマッピング装置３２、組合せ分析装置３３およびユーザ提示装置３４が設けられ、システムＳＹ１の被マッピングプロセス記述１とシステムＳＹ２のマッピングプロセス記述２とがプロセスマッピングサーバ３に入力される。ここで、プロセス記述とは、例えば、ＷｅｂサービスにおけるＢＰＥＬやＣＯＲＢＡにおけるＩＤＬなどを指しており、ＸＭＬやＸＭＬベースのオントロジ記述言語で記述することができる。そして、プロセス記述には、ソフトウェア・コンポーネントの配列と、ソフトウェア・コンポーネントの入出力メッセージを記述することができる。
【００３０】
また、マッピングされる側のプロセス記述を被マッピングプロセス記述１といい、マッピングする側のプロセス記述をマッピングプロセス記述２という。そして、あるシステムのプロセスＳＹ２が記述されたマッピングプロセス記述２と、他のシステムＳＹ１のプロセスが記述された被マッピングプロセス記述１のプロセスマッピング処理を行うことにより、あるシステムＳＹ２のプロセスに再利用可能なプロセスを他のシステムＳＹ１のプロセスから抽出することができ、あるシステムＳＹ２を他のシステムＳＹ１のプロセスと連携させたり、統合させたりすることができる。
【００３１】
図２は、本発明の一実施形態に係るシステムとプロセスの関係を示すブロック図である。
図２において、ソフトウェア・コンポーネント提供サーバＶ１には、ソフトウェア・コンポーネントＣ１、Ｃ２が搭載され、ソフトウェア・コンポーネント提供サーバＶ２には、ソフトウェア・コンポーネントＣ３、Ｃ４が搭載され、ソフトウェア・コンポーネント提供サーバＶ３には、ソフトウェア・コンポーネントＣ５、Ｃ６が搭載され、ソフトウェア・コンポーネント提供サーバＶ４には、ソフトウェア・コンポーネントＣ７が搭載されているものとする。ここで、ソフトウェア・コンポーネントＣ１〜Ｃ７には、入力メッセージＭＩ１〜ＭＩ７および出力メッセージＭＯ１〜ＭＯ７がそれぞれ与えられている。そして、分散するソフトウェア・コンポーネントＣ１〜Ｃ７に実行手順をプロセス記述として記述することにより、プロセスＰを構築することができる。また、システムは、分散するソフトウェア・コンポーネントＣ１〜Ｃ７により構築され、目的とする機能を提供するものである。
【００３２】
また、図１において、入力メッセージマッピング装置３１は、マッピングプロセス記述１および被マッピングプロセス記述２に記述されたソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させた上で、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある入力メッセージを持つソフトウェア・コンポーネントを抽出する。なお、入力メッセージマッピング装置３１は、ソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させる場合、メッセージ知識ベースサーバ４に蓄積されたメッセージ共通知識ベース４１を参照することができる。
【００３３】
出力メッセージマッピング装置３２は、マッピングプロセス記述１および被マッピングプロセス記述２に記述されたソフトウェア・コンポーネントの間で流通する出力メッセージ形式を整合させた上で、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある出力メッセージを持つソフトウェア・コンポーネントを抽出する。なお、出力メッセージマッピング装置３２は、ソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させる場合、メッセージ知識ベースサーバ４に蓄積されたメッセージ共通知識ベース４１を参照することができる。
【００３４】
組合せ分析装置３３は、システムＳＹ１のソフトウェア・コンポーネントの入力メッセージ集合がシステムＳＹ２のソフトウェア・コンポーネントの入力メッセージ集合に包含されるソフトウェア・コンポーネントを起点とし、システムＳＹ１のソフトウェア・コンポーネントの出力メッセージ集合の一部がシステムＳＹ２のソフトウェア・コンポーネントの出力メッセージ集合の一部と一致するソフトウェア・コンポーネントを終点とするサブプロセスを抽出する。そして、システムＳＹ１とシステムＳＹ２との間において、起点となるソフトウェア・コンポーネントの入力メッセージ集合の構成要素および終点となるソフトウェア・コンポーネントの出力メッセージ集合の構成要素がそれぞれ一致する割合に基づいて、これらのサブプロセスをランキングすることができる。
【００３５】
ユーザ提示装置３４は、組合せ分析装置３３にてランキングされたサブプロセスをユーザ端末６に提示し、提示したサブプロセスのうち再利用可能と判断されたサブプロセスの選択結果をユーザ端末６から受領する。そして、ユーザ端末６にて再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとしてプロセス共通知識ベース５１に登録する。
【００３６】
また、メッセージ知識ベースサーバ４には、プロセス間で流通するメッセージの対応関係を蓄積するメッセージ共通知識ベース４１が設けられている。プロセス知識ベースサーバ５には、再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとして登録するプロセス共通知識ベース５１が設けられている。
また、ユーザ端末６は、プロセスマッピングサーバ３にてランキングされたサブプロセスの再利用価値を検証し、その検証結果をプロセスマッピングサーバ３に返す。
【００３７】
図３は、図１のプロセスマッピング装置の処理シーケンスを示すブロック図である。なお、以下の説明では、システムＳＹ２と管理者が異なるシステムＳＹ１との間でシステム連携を実現するためのプロセスマッピング手順を例にとる。この例では、システムＳＹ２がシステムＳＹ１に対してプロセスマッピングを行うため、システムＳＹ１のプロセス記述が被マッピングプロセス記述１、システムＳＹ２のプロセス記述がマッピングプロセス記述２となる。また、システムＳＹ１は、ソフトウェア・コンポーネントｃ11、ｃ12、ｃ13、ｃ14、ｃ15から構成され、プロセス（ソフトウェア・コンポーネントの実行手順）はｃ11→ｃ12→ｃ13→ｃ14→ｃ15であるものとする。また、システムＳＹ２は、ソフトウェア・コンポーネントｃ21、ｃ22、ｃ23から構成され、プロセスはｃ21→ｃ22→ｃ23であるものとする。
【００３８】
図３において、システムＳＹ１の被マッピングプロセス記述１およびシステムＳＹ２のマッピングプロセス記述２が入力メッセージマッピング装置３１に入力されると（Ｓ１ａ、Ｓ１ｃ）、入力メッセージマッピング装置３１は、メッセージ共通知識ベース４１を参照することにより、マッピングプロセス記述１および被マッピングプロセス記述２に記述されたソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させる（Ｓ２ａ）。ここで、システムＳＹ１、ＳＹ２間で流通する入力メッセージ形式を整合させることにより、メッセージ形式が異なるシステムＳＹ１、ＳＹ２間においても、メッセージ内容が一致すれば、これらのシステムＳＹ１、ＳＹ２間で情報を流通させることができる。このため、設計者がシステムＳＹ１、ＳＹ２の仕様書を精査し、ソフトウェア・コンポーネントの間で流通されるメッセージ形式を人手で整合させる必要がなくなり、人手にかかる負担を抑制しつつ、再利用可能なプロセスの適用範囲を拡大することができる。
【００３９】
そして、入力メッセージマッピング装置３１は、システムＳＹ１、ＳＹ２間で流通する入力メッセージ形式を整合させながら、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある入力メッセージ集合を持つソフトウェア・コンポーネントを抽出する。すなわち、システムＳＹ１の持つソフトウェア・コンポーネントｃ1j（１≦ｊ≦５）のうち、その入力メッセージ集合ＭＩ1jがシステムＳＹ２のあるソフトウェア・コンポーネントｃ2i（１≦ｉ≦３）の入力メッセージ集合ＭＩ2iに包含されるようなソフトウェア・コンポーネントｃ1jを検索する。そして、このような条件を満たすシステムＳＹ１のソフトウェア・コンポーネントｃ1jとシステムＳＹ２のソフトウェア・コンポーネントｃ2iの組み合わせのすべてについて、入力メッセージ集合ＭＩ1j、ＭＩ2i間における和集合Ｕと積集合Ｎを計算し、ソフトウェア・コンポーネントｃ2iから見たソフトウェア・コンポーネントｃ1jの一致スコアＳ2i1j＝｜Ｎ｜／｜Ｕ｜を算出する。なお、システムＳＹ１、ＳＹ２間でメッセージ形式が異なっていても、入力メッセージ内容が一致すれば、入力メッセージは一致するとして一致スコアＳ2i1jを算出する。
【００４０】
例えば、システムＳＹ１のソフトウェア・コンポーネントｃ1jの入力メッセージ集合ＭＩ1jと、システムＳＹ２のソフトウェア・コンポーネントｃ2iの入力メッセージ集合ＭＩ2iに対して、[ＭＩ11∈ＭＩ21]となる場合、システムＳＹ１のソフトウェア・コンポーネントｃ11は、入力メッセージマッピング装置３１の検索結果として選択される。そして、ソフトウェア・コンポーネントｃ21から見たソフトウェア・コンポーネントｃ11が検索されると、入力メッセージ集合ＭＩ11、ＭＩ21間における和集合Ｕと積集合Ｎを計算し、ソフトウェア・コンポーネントｃ21から見たソフトウェア・コンポーネントｃ11の一致スコアＳ2111を算出する。
【００４１】
ここで、入力メッセージ集合ＭＩ1jが入力メッセージ集合ＭＩ2iに包含されるようなソフトウェア・コンポーネントｃ1jを検索することにより、システムＳＹ２の入力メッセージとしてシステムＳＹ１の入力メッセージをそのまま用いることが可能となり、システム連携を容易に実現することが可能となる
また、システムＳＹ１の被マッピングプロセス記述１およびシステムＳＹ２のマッピングプロセス記述２が出力メッセージマッピング装置３２に入力されると（Ｓ１ｂ、Ｓ１ｄ）、出力メッセージマッピング装置３２は、メッセージ共通知識ベース４１を参照することにより、マッピングプロセス記述１および被マッピングプロセス記述２に記述されたソフトウェア・コンポーネントの間で流通する入力メッセージ形式を整合させる（Ｓ２ｂ）。
【００４２】
そして、出力メッセージマッピング装置３２は、システムＳＹ１、ＳＹ２間で流通する出力メッセージ形式を整合させながら、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある出力メッセージ集合を持つソフトウェア・コンポーネントを抽出する。すなわち、システムＳＹ２のあるソフトウェア・コンポーネントｃ2k（１≦Ｋ≦３）の出力メッセージ集合ＭＯ2kと、システムＳＹ１のあるソフトウェア・コンポーネントｃ1l（１≦ｌ≦５）の出力メッセージ集合ＭＯ1lの和集合Ｕと積集合Ｎを計算し、ソフトウェア・コンポーネントｃ2k、ｃ1l間の一致スコアＳ2k1l＝｜Ｎ｜／｜Ｕ｜を算出する。この計算を、両システムＳＹ１、ＳＹ２のすべてのソフトウェア・コンポーネントｃ2k、ｃ1l間でたすきがけで実行する。なお、システムＳＹ１、ＳＹ２間でメッセージ形式が異なっていても、出力メッセージ内容が一致すれば、出力メッセージは一致するとして一致スコアＳ2k1lを算出する。
【００４３】
ここで、両システムＳＹ１、ＳＹ２のソフトウェア・コンポーネントｃ2k、ｃ1l間のたすきがけで一致スコアＳ2k1lを計算することにより、システムＳＹ２の出力メッセージにないものをシステムＳＹ１の出力メッセージから取り込むことが可能となり、システム連携を図りつつ、様々の機能を付加することができる。
次に、入力メッセージマッピング装置３１は、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある入力メッセージ集合を持つソフトウェア・コンポーネントを抽出すると、その入力メッセージ集合を持つソフトウェア・コンポーネントをマッピング結果として組合せ分析装置３３に出力する（Ｓ３ａ）。また、出力メッセージマッピング装置３２は、マッピングプロセス記述１および被マッピングプロセス記述２間で対応関係にある出力メッセージ集合を持つソフトウェア・コンポーネントを抽出すると、その出力メッセージ集合を持つソフトウェア・コンポーネントをマッピング結果として組合せ分析装置３３に出力する（Ｓ３ｂ）。
【００４４】
そして、組合せ分析装置３３は、入力メッセージマッピング装置３１および出力メッセージマッピング装置３２からマッピング結果をそれぞれ受け取ると、これらのマッピング結果に基づいてサブプロセスを抽出し、ユーザ提示装置３４に出力する（Ｓ４）。
すなわち、組合せ分析装置３３は、入力メッセージマッピング装置３１および出力メッセージマッピング装置３２からマッピング結果をそれぞれ受け取ると、システムＳＹ１のソフトウェア・コンポーネントｃ1jのうち、その入力メッセージ集合ＭＩ1jがシステムＳＹ２のあるソフトウェア・コンポーネントｃ2iの入力メッセージ集合ＭＩ2iに包含されるソフトウェア・コンポーネントｃ1jを起点とし、システムＳＹ１のソフトウェア・コンポーネントｃ1lの出力メッセージ集合ＭＯ1lの一部がシステムＳＹ２のあるソフトウェア・コンポーネントｃ2kの出力メッセージ集合ＭＯ2kの一部と一致するソフトウェア・コンポーネントｃ1lを終点とするサブプロセスを抽出する。ここで、サブプロセスとは、あるシステムにおけるプロセスの少なくとも一部を意味する。
【００４５】
これにより、２つのプロセスを構成するソフトウェア・コンポーネントの全てに対してすきがけで対応関係を持つソフトウェア・コンポーネントを検索し、サブプロセスを抽出することができるため、プロセスの粒度に関わらず再利用可能なプロセスの候補を抽出することができ、機能が充実しているが処理が重いプロセスから機能は充実していないが処理が軽いプロセスに至るまで、システム設計者の用途に応じた様々のプロセスを抽出することができる。
【００４６】
そして、ソフトウェア・コンポーネントの起点および終点となるサブプロセスが抽出されると、起点および終点の両方の一致スコアが大きい順にソフトウェア・コンポーネントを組み合わせ、サブプロセスをランキングする。そして、ユーザ提示装置３４は、ランキングされたサブプロセスをユーザ端末６に提示する（Ｓ５）。例えば、ソフトウェア・コンポーネントｃ11を起点とし、ソフトウェア・コンポーネントｃ15を終点とするサブプロセスｐ1と、ソフトウェア・コンポーネントｃ21を起点とし、ソフトウェア・コンポーネントｃ22を終点とするサブプロセスｐ2は、再利用可能性のあるプロセスの候補としてシステムＳＹ２の管理者に提示することができる。
【００４７】
そして、ユーザ端末６は、プロセスマッピングサーバ３にてランキングされたサブプロセスの再利用価値を検証し、再利用可能性のあるプロセスから再利用可能なプロセスを選択する。そして、ユーザ端末６は、再利用可能性のあるプロセスから再利用可能なプロセスを選択すると、その選択結果をプロセスマッピングサーバ３に返す（Ｓ６）。ここで、再利用可能性のあるプロセスから再利用可能なプロセスを選択する場合、サブプロセスの再利用価値の検証をユーザ端末６上で人手で行うことができる。これにより、プロセスマッピングサーバ３にて抽出されたサブプロセスが再利用価値のあるかどうかをプロセスマッピングサーバ３側で判断する必要がなくなり、システム連携に必要な価値判断の構築を不要として、再利用可能なプロセスのマッピング技術を安定的に確立することができる。また、プロセスマッピングサーバ３にて抽出されたサブプロセスのうち、再利用可能性の高いサブプロセスを絞り込んでからユーザ端末６に提示することができ、プロセスマッピングサーバ３にて抽出されたサブプロセスが再利用価値のあるかどうかを人手で判断する場合においても、人手にかかる手間を軽減することができる。
【００４８】
また、異なる複数のシステム間でソフトウェア・コンポーネントの入出力メッセージを利用したプロセスの自動マッピングにより再利用可能なプロセスを抽出し、システム管理者に提示することができ、システム連携に要する人手と時間を削減しつつ、設計者にとって適切なシステム設計を支援することができる。すなわち、複数のシステムの持つプロセスをマッピングし、システム間で再利用可能なプロセスを自動的に検索し、その検索結果を設計者に提示することで、複数の分散オペレーションシステムや業務システムを統合するオペレーションシステムや業務システムを構築する際に、これらの統合システムをどのように設計するかを迅速に決定することができる。また、プロセスマッピング結果を用いることにより、設計者の必要に応じて、現在設計されているプロセスよりも詳細なプロセスや軽量なプロセスを迅速に発見し、プロセスを統合したり連携させたりすることが可能となる。
【００４９】
また、ユーザ端末６では、例えば、Ｗｅｂサービスを用いてシステム設計しているとすると、ユーザ端末６が選択したプロセス記述をＷｅｂサービスにおけるプロセス記述であるＢＰＥＬに変換し、Ｗｅｂサービスの開発ツールに読み込ませることで、ユーザ端末６が選択したプロセス記述に記述されているソフトウェア・コンポーネントを次々に呼び出し、目的とする機能を実現するシステムを提供するためのプログラムを自動生成することができる。このため、プロセスマッピングサーバ３から出力されたプロセス記述のマッピング結果を用いることで、目的とする機能を実現するシステムを自動的に構築することができる。なお、プロセスマッピングサーバ３から出力されたプロセス記述のマッピング結果は、ＷｅｂサービスやＣＯＲＢＡ以外のシステム間インターフェースに対しても適用することができる。
【００５０】
次に、ユーザ提示装置３４は、再利用可能と判断されたサブプロセスの選択結果をユーザ端末６から受領すると、ユーザ端末６にて再利用可能と判断されたサブプロセスの対応関係を再利用可能なプロセスとしてプロセス共通知識ベース５１に登録する（Ｓ７）。
例えば、ユーザ端末６上でシステムＳＹ２の管理者が、ソフトウェア・コンポーネントｃ11を起点とし、ソフトウェア・コンポーネントｃ15を終点とするサブプロセスｐ1と、ソフトウェア・コンポーネントｃ21を起点とし、ソフトウェア・コンポーネントｃ22を終点とするサブプロセスｐ2は再利用可能と判断した場合、これらのサブプロセスｐ1、ｐ2は互いに再利用可能であるという意味（ｐ1＝ｐ2）付与し、ユーザ提示装置３４を通してプロセス共通知識ベース５１に登録することができる。
【００５１】
これにより、互いに再利用可能なプロセスをプロセス共通知識ベース５１に蓄積することが可能となり、過去のプロセスマッピングにより付与された再利用可能であるという意味記述を利用しながら、再利用可能なプロセスを検索することが可能となる。このため、新たなシステム設計を行う際に、ある入力メッセージと出力メッセージを問い合わせとして発行することで、プロセス共通知識ベース５１の検索結果として、再利用可能なプロセスの候補を複数得ることが可能となり、システム設計を迅速化することができる。また、プロセス共通知識ベース５１を用いることで、設計者の意図する入出力結果を与えるプロセスならば、粒度に関係なく、適切なプロセスを発見することができ、システム連携を実現するために必要な手間を軽減することができる。
【００５２】
また、再利用可能なプロセスがプロセス共通知識ベース５１に蓄積されると、ユーザ端末６は、どのような機能を持つシステムを構築するかをプロセス知識ベースサーバ５に問い合わせることができる（Ｓ８）。例えば、ユーザ端末６は、プロセス知識ベースサーバ５に問い合わせとして、入力メッセージおよび出力メッセージを送ることができる。そして、プロセス知識ベースサーバ５は、ユーザ端末６から問い合わせを受けると、再利用可能なプロセスで可能な機能を持つプロセスをユーザ端末６への応答として返却する（Ｓ９）。例えば、プロセス知識ベースサーバ５は、入力メッセージおよび出力メッセージをユーザ端末６から受け取ると、その入力メッセージおよび出力メッセージに対応した再利用可能なプロセスの候補をプロセス共通知識ベース５１から検索し、問合せ応答として、再利用可能な複数のプロセスのランキングをユーザ端末６に送ることができる。
【００５３】
そして、ユーザ端末６は、プロセス知識ベースサーバ５から応答を受け取ると、その応答で得られた再利用可能なプロセスを用いてシステム設計する。この際、例えば、Ｗｅｂサービスを用いてシステム設計しているとすると、ユーザ端末６が選択したプロセス記述をＷｅｂサービスにおけるプロセス記述であるＢＰＥＬに変換し、Ｗｅｂサービスの開発ツールに読み込ませることで、ユーザ端末６が選択したプロセス記述に記述されているソフトウェア・コンポーネントを次々に呼び出し、目的とする機能を実現するシステムを提供するためのプログラムを自動生成することができる。このため、プロセスマッピングサーバ３から出力されたプロセス記述のマッピング結果を用いることで、目的とする機能を実現するシステムを自動的に構築することができる。
【００５４】
なお、入力メッセージマッピング装置３１、出力メッセージマッピング装置３２、組合せ分析装置３３およびユーザ提示装置３４は、これらの装置で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。
そして、このプログラムをＣＤ−ＲＯＭなどの記憶媒体に記憶しておけば、その記憶媒体をコンピュータに装着し、そのプログラムをコンピュータにインストールすることにより、入力メッセージマッピング装置３１、出力メッセージマッピング装置３２、組合せ分析装置３３およびユーザ提示装置３４で行われる処理を実現することができる。また、このプログラムをインターネットを介してダウンロードすることにより、このプログラムを容易に普及させることができる。
【００５５】
また、入力メッセージマッピング装置３１、出力メッセージマッピング装置３２、組合せ分析装置３３およびユーザ提示装置３４で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させる場合、スタンドアロン型コンピュータで実行させるようにしてもよく、ネットワークに接続された複数のコンピュータに分散処理させるようにしてもよい。
【００５６】
以下、本発明の一実施形態として、２つのオンラインストアにおけるユーザログインシステム（システムＳＹ１とステムＳＹ２）のプロセス間のマッピングプロセスを例にとって説明する。
図４は、本発明の一実施形態に係るシステムＳＹ１のプロセスの具体例を示すブロック図、図５は、本発明の一実施形態に係るシステムＳＹ２のプロセスの具体例を示すブロック図である。なお、図４および図５の例は、オンラインストアにおけるログイン手続きを実際に観測することにより導き出したプロセスを単純化したものである。
【００５７】
図４において、システムＳＹ１は、ソフトウェア・コンポーネントＣ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15から構成されている。そして、ソフトウェア・コンポーネントＣ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15には、入力メッセージ集合ＭＩ11、ＭＩ12、ＭＩ13、ＭＩ14、ＭＩ15がそれぞれ割り当てられるとともに、出力メッセージ集合ＭＯ11、ＭＯ12、ＭＯ13、ＭＯ14、ＭＯ15がそれぞれ割り当てられている。ここで、例えば、入力メッセージ集合ＭＩ11には、メッセージ型として“ログインコマンド”が設定されるとともに、データとして“顧客名”および“ｐａｓｓｗｏｒｄ”が設定されている。また、例えば、出力メッセージ集合ＭＯ11には、メッセージ型として“ログインデータ要求コマンド”が設定されるとともに、データとして“顧客名”および“ｐａｓｓｗｏｒｄ”が設定されている。
【００５８】
また、図５において、システムＳＹ２は、ソフトウェア・コンポーネントＣ21、Ｃ22、Ｃ23から構成されている。そして、ソフトウェア・コンポーネントＣ21、Ｃ22、Ｃ23には、入力メッセージ集合ＭＩ21、ＭＩ22、ＭＩ23がそれぞれ割り当てられるとともに、出力メッセージ集合ＭＯ21、ＭＯ22、ＭＯ23がそれぞれ割り当てられている。ここで、例えば、入力メッセージ集合ＭＩ21には、メッセージ型として“ログインコマンド”が設定されるとともに、データとして“名前”および“パスワード”が設定されている。また、例えば、出力メッセージ集合ＭＯ21には、メッセージ型として“ログインデータ要求コマンド”が設定されるとともに、データとして“名前”および“パスワード”が設定されている。なお、ここで言うデータとは、システム間で実際にやり取りされるデータを示す。
【００５９】
ここで、例えば、システムＳＹ１の入力メッセージ集合ＭＩ11では、データが“顧客名”および“ｐａｓｓｗｏｒｄ”となっているのに対し、システムＳＹ２の入力メッセージ集合ＭＩ21では、データが“名前”および“パスワード”となっており、入力メッセージ集合ＭＩ11、ＭＩ21間で入力メッセージ内容が一致しているにもかかわらず、メッセージ形式が異なっている。このため、メッセージ知識ベースサーバ４を参照することにより、システムＳＹ１、ＳＹ２間で流通する入力メッセージ形式を整合させる。これにより、メッセージ形式が異なるシステムＳＹ１、ＳＹ２間においても、メッセージ内容が一致すれば、これらのシステムＳＹ１、ＳＹ２間で情報を流通させることができる。
【００６０】
図６は、本発明の一実施形態に係るシステムＳＹ１、ＳＹ２間におけるメッセージに含まれるデータの同値関係を示す図である。
図６（ａ）において、メッセージ知識ベースサーバ４には、例えば、システムＳＹ１の“顧客名”というデータとシステムＳＹ２の“名前”というデータの同値関係、システムＳＹ１の“顧客”というデータとシステムＳＹ２の“ユーザ”というデータの同値関係、システムＳＹ１の“ｐａｓｓｗｏｒｄ”というデータとシステムＳＹ２の“パスワード”というデータの同値関係が登録されている。
【００６１】
また、図６（ｂ）において、メッセージ知識ベースサーバ４には、例えば、システムＳＹ１の“商品”というデータとシステムＳＹ２の“商品”というデータの同値関係、システムＳＹ１の“作者”というデータとシステムＳＹ２の“作者”というデータの同値関係、システムＳＹ１の“ジャンル”というデータとシステムＳＹ２の“ジャンル”というデータの同値関係が登録されている。
【００６２】
このため、メッセージ知識ベースサーバ４を参照することにより、システムＳＹ１の入力メッセージ集合ＭＩ11の“顧客名”および“ｐａｓｓｗｏｒｄ”というデータと、システムＳＹ２の入力メッセージ集合ＭＩ21の“名前”および“パスワード”というデータとを整合させることができ、メッセージ形式が異なるシステムＳＹ１、ＳＹ２間においても、これらのシステムＳＹ１、ＳＹ２間で情報を流通させることができる。
【００６３】
また、メッセージ型が異なっている場合には、システムＳＹ１、ＳＹ２間でメッセージ型を合わせなければ、システムＳＹ１、ＳＹ２間でメッセージを流通させることができない。このため、メッセージ知識ベースサーバ４を参照することにより、システムＳＹ１、ＳＹ２間で流通するメッセージ型を整合させる。
図７は、本発明の一実施形態に係るシステムＳＹ１、ＳＹ２間におけるメッセージ型の同値関係を示す図である。
【００６４】
図７において、メッセージ知識ベースサーバ４には、例えば、システムＳＹ１の“ログインコマンド”というメッセージ型とシステムＳＹ２の“ログインコマンド”というメッセージ型の同値関係、システムＳＹ１の“ユーザデータ要求コマンド”というメッセージ型とシステムＳＹ２の“ユーザデータ要求コマンド”というメッセージ型の同値関係、システムＳＹ１の“ユーザデータ応答コマンド”というメッセージ型とシステムＳＹ２の“ユーザデータ応答コマンド”というメッセージ型の同値関係、システムＳＹ１の“検索ＩＦ表示コマンド”というメッセージ型とシステムＳＹ２の“検索ＩＦ表示コマンド”というメッセージ型の同値関係が登録されている。これにより、メッセージ知識ベースサーバ４を参照することにより、システムＳＹ１、ＳＹ２間で流通するメッセージ型を整合させることができる。
【００６５】
図８は、本発明の一実施形態に係るメッセージ型の一例を示す図である。なお、図８の実施形態では、ＣＯＲＢＡのＩＤＬにおけるメッセージを例に取った。
図８において、メッセージ型では、システム間でメッセージ交換するデータの型や並びなどが定義される。例えば、ｉｎｔｅｒｆａｃｅ型に他システムに流通するメッセージ名を宣言し、ＲｅｓｕｌｔＴｙｐｅ型に“ＡｄｄＦｉｌｔｅｒ”というメッセージの目的を宣言し、ｉｎ型およびｏｕｔ型にシステム間でやり取りするメッセージを宣言し、ｒａｉｓｅｓ句に例外項目を記述することができる。
【００６６】
なお、メッセージマッピングの主体となるのは、メッセージに含まれるデータである。すなわち、システム間で流通されるのは、メッセージ型ではなく、メッセージに含まれるデータであるため、メッセージに含まれるデータの内容が一致していれば、システム間のメッセージ型を変更することで、システム間でメッセージを流通させることができる。
そして、図４のシステムＳＹ２が図５のシステムＳＹ１に対してプロセスマッピングを行うものとすると、図５のシステムＳＹ１のプロセス記述が被マッピングプロセス記述１として図１の入力メッセージマッピング装置３１に入力され、システムＳＹ２のプロセス記述がマッピングプロセス記述２として入力メッセージマッピング装置３１に入力される。
【００６７】
そして、入力メッセージマッピング装置３１は、メッセージ共通知識ベース４１を参照し、システムＳＹ１の持つソフトウェア・コンポーネントＣ1j（１≦ｊ≦５）のうち、その入力メッセージ集合ＭＩ1jがシステムＳＹ２のあるソフトウェア・コンポーネントＣ2i（１≦ｉ≦３）の入力メッセージ集合ＭＩ2iに包含されるようなソフトウェア・コンポーネントＣ1jを検索する。そして、このような条件を満たすシステムＳＹ１のソフトウェア・コンポーネントＣ1jとシステムＳＹ２のソフトウェア・コンポーネントＣ2iの組み合わせのすべてについて、入力メッセージ集合ＭＩ1j、ＭＩ2i間における和集合Ｕと積集合Ｎを計算し、ソフトウェア・コンポーネントＣ2iから見たソフトウェア・コンポーネントＣ1jの一致スコアＳ2i1j＝｜Ｎ｜／｜Ｕ｜を算出する。なお、システムＳＹ１、ＳＹ２間でメッセージ形式が異なっていても、入力メッセージ内容が一致すれば、入力メッセージは一致するとして一致スコアＳ2i1jを算出する。
【００６８】
例えば、ソフトウェア・コンポーネントＣ11の入力メッセージ集合ＭＩ11は｛（顧客名）、（ｐａｓｓｗｏｒｄ）｝、ソフトウェア・コンポーネントＣ21の入力メッセージ集合ＭＩ21は｛（名前）、（パスワード）｝であり、図６のメッセージ共通知識ベース４１の内容を参照することで、（顧客名）と（名前）は互いに同値であり、（ｐａｓｓｗｏｒｄ）と（パスワード）は互いに同値であることが判る。このため、｛ＭＩ11∈ＭＩ21｝となり、ソフトウェア・コンポーネントＣ11の入力メッセージ集合ＭＩ11はソフトウェア・コンポーネントＣ21の入力メッセージ集合ＭＩ21に包含されることから、ソフトウェア・コンポーネントＣ21に対してソフトウェア・コンポーネントＣ11が選択される。そして、入力メッセージ集合ＭＩ11、ＭＩ21間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝であるため、一致スコアＳ2111はＳ2111＝｜Ｎ｜／｜Ｕ｜＝１となる。
【００６９】
同様に、ソフトウェア・コンポーネントＣ21に対して、｛ＭＩ12∈ＭＩ21｝であるため、ソフトウェア・コンポーネントＣ12が選択される。そして、入力メッセージ集合ＭＩ12、ＭＩ21間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝であるため、一致スコアＳ2112はＳ2112＝｜Ｎ｜／｜Ｕ｜＝１となる。
【００７０】
一方、ソフトウェア・コンポーネントＣ21に対して、｛ＭＩ13∋ＭＩ21｝、｛ＭＩ14∋ＭＩ21｝、｛ＭＩ15∋ＭＩ21｝であるため、ソフトウェア・コンポーネントＣ13、Ｃ14、Ｃ15は選択されず、一致スコアＳ2113、Ｓ2114、Ｓ2115は計算されない。
また、ソフトウェア・コンポーネントＣ22に対して、｛ＭＩ11∈ＭＩ22｝であるため、ソフトウェア・コンポーネントＣ11が選択される。そして、入力メッセージ集合ＭＩ11、ＭＩ22間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝であるため、一致スコアＳ2211はＳ2211＝｜Ｎ｜／｜Ｕ｜＝１となる。
【００７１】
また、ソフトウェア・コンポーネントＣ22に対して、｛ＭＩ12∈ＭＩ22｝であるため、ソフトウェア・コンポーネントＣ12が選択される。そして、入力メッセージ集合ＭＩ12、ＭＩ22間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝であるため、一致スコアＳ2212はＳ2212＝｜Ｎ｜／｜Ｕ｜＝１となる。
【００７２】
一方、ソフトウェア・コンポーネントＣ22に対して、｛ＭＩ13∋ＭＩ22｝、｛ＭＩ14∋ＭＩ22｝、｛ＭＩ15∋ＭＩ22｝であるため、ソフトウェア・コンポーネントＣ13、Ｃ14、Ｃ15は選択されず、一致スコアＳ2213、Ｓ2214、Ｓ2215は計算されない。
また、ソフトウェア・コンポーネントＣ23に対しては、入力メッセージ集合ＭＩ11、ＭＩ12、ＭＩ13、ＭＩ14、ＭＩ15が入力メッセージ集合ＭＩ23に包含されるソフトウェア・コンポーネントＣ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15はないため、ソフトウェア・コンポーネントＣ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15は選択されない。
【００７３】
また、図５のシステムＳＹ１のプロセス記述が被マッピングプロセス記述１として図１の出力メッセージマッピング装置３２に入力され、システムＳＹ２のプロセス記述がマッピングプロセス記述２として出力メッセージマッピング装置３２に入力される。
そして、出力メッセージマッピング装置３２は、メッセージ共通知識ベース４１を参照し、システムＳＹ２のあるソフトウェア・コンポーネントＣ2k（１≦Ｋ≦３）の出力メッセージ集合ＭＯ2kと、システムＳＹ１のあるソフトウェア・コンポーネントＣ1l（１≦ｌ≦５）の出力メッセージ集合ＭＯ1lの和集合Ｕと積集合Ｎを計算し、ソフトウェア・コンポーネントＣ2k、Ｃ1l間の一致スコアＳ2k1l＝｜Ｎ｜／｜Ｕ｜を算出する。この計算を、両システムＳＹ１、ＳＹ２のすべてのソフトウェア・コンポーネントＣ2k、Ｃ1l間でたすきがけで実行する。なお、システムＳＹ１、ＳＹ２間でメッセージ形式が異なっていても、出力メッセージ内容が一致すれば、出力メッセージは一致するとして一致スコアＳ2k1lを算出する。
【００７４】
例えば、ソフトウェア・コンポーネントＣ11の出力メッセージ集合ＭＯ11は｛（顧客名）、（ｐａｓｓｗｏｒｄ）｝、ソフトウェア・コンポーネントＣ21の出力メッセージ集合ＭＯ21は｛（名前）、（パスワード）｝であり、図６のメッセージ共通知識ベース４１の内容を参照することで、（顧客名）と（名前）は互いに同値であり、（ｐａｓｓｗｏｒｄ）と（パスワード）は互いに同値であることが判る。このため、出力メッセージ集合ＭＯ11、ＭＯ21間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝となり、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2111はＳ2111＝｜Ｎ｜／｜Ｕ｜＝１となる。
【００７５】
同様に、出力メッセージ集合ＭＯ12、ＭＯ21間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ12の一致スコアＳ2112はＳ2112＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
同様に、出力メッセージ集合ＭＯ13、ＭＯ21間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）、（推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ13の一致スコアＳ2113はＳ2113＝｜Ｎ｜／｜Ｕ｜＝１／４となる。
【００７６】
同様に、出力メッセージ集合ＭＯ14、ＭＯ21間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ14の一致スコアＳ2114はＳ2114＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
同様に、出力メッセージ集合ＭＯ15、ＭＯ21間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）、（検索商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ15の一致スコアＳ2115はＳ2115＝｜Ｎ｜／｜Ｕ｜＝１／４となる。
【００７７】
同様に、出力メッセージ集合ＭＯ11、ＭＯ22間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）｝となり、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2211はＳ2211＝｜Ｎ｜／｜Ｕ｜＝１／２となる。
同様に、出力メッセージ集合ＭＯ12、ＭＯ22間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ12の一致スコアＳ2212はＳ2212＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
【００７８】
同様に、出力メッセージ集合ＭＯ13、ＭＯ22間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）、（推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ13の一致スコアＳ2213はＳ2213＝｜Ｎ｜／｜Ｕ｜＝１／４となる。
同様に、出力メッセージ集合ＭＯ14、ＭＯ22間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ14の一致スコアＳ2214はＳ2214＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
【００７９】
同様に、出力メッセージ集合ＭＯ15、ＭＯ22間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）、（検索商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ15の一致スコアＳ2215はＳ2215＝｜Ｎ｜／｜Ｕ｜＝１／４となる。
同様に、出力メッセージ集合ＭＯ11、ＭＯ23間の和集合Ｕは｛（顧客名＝名前）、（ｐａｓｓｗｏｒｄ＝パスワード）｝、積集合Ｎは｛（顧客名＝名前）｝となり、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2311はＳ2311＝｜Ｎ｜／｜Ｕ｜＝１／２となる。
【００８０】
同様に、出力メッセージ集合ＭＯ12、ＭＯ23間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ12の一致スコアＳ2312はＳ2312＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
同様に、出力メッセージ集合ＭＯ13、ＭＯ23間の和集合Ｕは｛（顧客名＝名前）、（商品購入履歴）、（商品アクセス履歴）、（推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ13の一致スコアＳ2313はＳ2313＝｜Ｎ｜／｜Ｕ｜＝１／４となる。
【００８１】
同様に、出力メッセージ集合ＭＯ14、ＭＯ23間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）｝、積集合Ｎは｛（顧客名＝名前）｝となるため、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ14の一致スコアＳ2314はＳ2314＝｜Ｎ｜／｜Ｕ｜＝１／３となる。
同様に、出力メッセージ集合ＭＯ15、ＭＯ23間の和集合Ｕは｛（顧客名＝名前）、（推薦商品）、（他顧客推薦商品）、（検索商品）｝、積集合Ｎは｛（顧客名＝名前）、（検索商品）｝となるため、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ15の一致スコアＳ2315はＳ2315＝｜Ｎ｜／｜Ｕ｜＝１／２となる。
【００８２】
次に、入力メッセージマッピング装置３１は、システムＳＹ１、ＳＹ２間で対応関係にある入力メッセージ集合を持つソフトウェア・コンポーネントを抽出すると、その抽出結果を組合せ分析装置３３に出力する。また、出力メッセージマッピング装置３２は、システムＳＹ１、ＳＹ２間で対応関係にある出力メッセージ集合を持つソフトウェア・コンポーネントを抽出すると、その抽出結果を組合せ分析装置３３に出力する。そして、組合せ分析装置３３は、システムＳＹ１のソフトウェア・コンポーネントＣ1jのうち、その入力メッセージ集合ＭＩ1jがシステムＳＹ２のあるソフトウェア・コンポーネントＣ2iの入力メッセージ集合ＭＩ2iに包含されるソフトウェア・コンポーネントＣ1jを起点とし、システムＳＹ１のソフトウェア・コンポーネントＣ1lの出力メッセージ集合ＭＯ1lの一部がシステムＳＹ２のあるソフトウェア・コンポーネントＣ2kの出力メッセージ集合ＭＯ2kの一部と一致するソフトウェア・コンポーネントＣ1lを終点とするサブプロセスを再利用可能性のあるプロセスとして抽出する。
そして、ユーザ提示装置３４は、抽出されたサブプロセスを起点および終点の両方のソフトウェア・コンポーネントの一致スコアが大きい順に組み合せ、これらのサブプロセスをランキングしてユーザ端末６に提示する。
【００８３】
図９〜図１３は、図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスの一例を示すブロック図である。
図９において、システムＳＹ１、ＳＹ２の入力メッセージ集合ＭＩ1j、ＭＩ2i間では、ソフトウェア・コンポーネントＣ21、Ｃ22に対するソフトウェア・コンポーネントＣ11、Ｃ12の一致スコアＳ2111、Ｓ2112、Ｓ2211、Ｓ2212はいずれも１であるが、システムＳＹ１、ＳＹ２の出力メッセージ集合ＭＯ1l、ＭＯ2k間においては、ソフトウェア・コンポーネントＣ21に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2111が１であり、最も大きくなっている。このため、ランキング１位として、起点と終点がソフトウェア・コンポーネントＣ11からなるサブプロセス（Ｃ11）と、起点と終点がソフトウェア・コンポーネントＣ21からなるサブプロセス（Ｃ21）が抽出される。
【００８４】
また、図１０において、システムＳＹ１、ＳＹ２の入力メッセージ集合ＭＩ1j、ＭＩ2i間では、ソフトウェア・コンポーネントＣ21、Ｃ22に対するソフトウェア・コンポーネントＣ11、Ｃ12の一致スコアＳ2111、Ｓ2112、Ｓ2211、Ｓ2212はいずれも１であるが、システムＳＹ１、ＳＹ２の出力メッセージ集合ＭＯ1l、ＭＯ2k間においては、ソフトウェア・コンポーネントＣ22に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2211が１／２であり、２番目に最も大きくなっている。このため、ランキング２位として、起点と終点がソフトウェア・コンポーネントＣ11からなるサブプロセス（Ｃ11）と、起点と終点がそれぞれソフトウェア・コンポーネントＣ21、Ｃ22からなるサブプロセス（Ｃ21、Ｃ22）が抽出される。
【００８５】
また、図１１において、システムＳＹ１、ＳＹ２の入力メッセージ集合ＭＩ1j、ＭＩ2i間では、ソフトウェア・コンポーネントＣ21、Ｃ22に対するソフトウェア・コンポーネントＣ11、Ｃ12の一致スコアＳ2111、Ｓ2112、Ｓ2211、Ｓ2212はいずれも１であるが、システムＳＹ１、ＳＹ２の出力メッセージ集合ＭＯ1l、ＭＯ2k間においては、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ11の一致スコアＳ2311が１／２であり、２番目に最も大きくなっている。このため、ランキング２位として、起点と終点がソフトウェア・コンポーネントＣ11からなるサブプロセス（Ｃ11）と、起点と終点がそれぞれソフトウェア・コンポーネントＣ21、Ｃ23からなるサブプロセス（Ｃ21、Ｃ22、Ｃ23）が抽出される。
【００８６】
また、図１２および図１３において、システムＳＹ１、ＳＹ２の入力メッセージ集合ＭＩ1j、ＭＩ2i間では、ソフトウェア・コンポーネントＣ21、Ｃ22に対するソフトウェア・コンポーネントＣ11、Ｃ12の一致スコアＳ2111、Ｓ2112、Ｓ2211、Ｓ2212はいずれも１であるが、システムＳＹ１、ＳＹ２の出力メッセージ集合ＭＯ1l、ＭＯ2k間においては、ソフトウェア・コンポーネントＣ23に対するソフトウェア・コンポーネントＣ15の一致スコアＳ2311が１／２であり、２番目に最も大きくなっている。このため、ランキング２位として、図１２に示すように、起点と終点がそれぞれソフトウェア・コンポーネントＣ11、Ｃ15からなるサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）と、起点と終点がそれぞれソフトウェア・コンポーネントＣ21、Ｃ23からなるサブプロセス（Ｃ21、Ｃ22、Ｃ23）が抽出される。また、ランキング２位として、図１３に示すように、起点と終点がそれぞれソフトウェア・コンポーネントＣ12、Ｃ15からなるサブプロセス（Ｃ12、Ｃ13、Ｃ14、Ｃ15）と、起点と終点がそれぞれソフトウェア・コンポーネントＣ21、Ｃ23からなるサブプロセス（Ｃ21、Ｃ22、Ｃ23）が抽出される。
【００８７】
そして、ユーザ提示装置３４は、図９〜図１３のサブプロセスが再利用可能性のあるプロセスの上位の候補として得られると、図９〜図１３のサブプロセスをユーザ端末６に提示する。
そして、ユーザ端末６は、プロセスマッピングサーバ３にてランキングされたサブプロセスが示されると、そのサブプロセスの再利用価値を検証し、その検証結果をプロセスマッピングサーバ３に返す。
【００８８】
例えば、システムＳＹ２の管理者は、図９のシステムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21）については、これらの機能は全く同じであり、再利用可能であると判断することができる。また、図１０のシステムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22）については、機能が同じままでシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22）をシステムＳＹ１のサブプロセス（Ｃ11）に短縮できるとみなして、再利用可能であると判断することができる。また、図１１のシステムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）については、システムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）をシステムＳＹ１のサブプロセス（Ｃ11）に短縮できるが、検索機能がなくなるので、再利用できないと判断することができる。また、図１２のシステムＳＹ１のサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）については、システムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）をシステムＳＹ１のサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）に短縮でき、商品推奨機能まで付け加わるので、再利用価値が大きいと判断することができる。また、図１３のシステムＳＹ１のサブプロセス（Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）については、システムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）をシステムＳＹ１のサブプロセス（Ｃ12、Ｃ13、Ｃ14、Ｃ15）に短縮でき、商品推奨機能まで付け加わるので、再利用価値が大きいと判断することができる。
【００８９】
このようにして、設計者がシステムＳＹ１、ＳＹ１の仕様書を精査することなく、システムＳＹ１のサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）を利用してシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）を構築しなおすことが可能となり、人手にかかる負担を軽減しつつ、サービスの再利用による柔軟なシステム連携を実現することができる。また、２つのプロセスを構成するソフトウェア・コンポーネントの全てに対してすきがけで対応関係を持つソフトウェア・コンポーネントを検索するため、プロセスの粒度に関わらず、プロセスマッピングを実現することができる。このため、分岐や同期などを含んでいるプロセスであっても、粒度を大きくとったり、小さくとったりすることで、単純な連続プロセスとして表現できる限り、プロセスマッピングを適用することができる。
【００９０】
また、再利用可能であるとユーザ端末６にて判断された図９のシステムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21）、図１０のシステムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22）、図１２のシステムＳＹ１のサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）および図１３のシステムＳＹ１のサブプロセス（Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）については、ユーザ提示装置３４を介してプロセス共通知識ベース５１に登録することができる。
【００９１】
図１４は、図１のプロセス共通知識ベース５１に登録されたシステムＳＹ１、ＳＹ２間における再利用可能なプロセスの具体例を示すブロック図である。
図１４おいて、プロセス共通知識ベース５１には、システムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21）、システムＳＹ１のサブプロセス（Ｃ11）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22）、システムＳＹ１のサブプロセス（Ｃ11、Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）およびシステムＳＹ１のサブプロセス（Ｃ12、Ｃ13、Ｃ14、Ｃ15）とシステムＳＹ２のサブプロセス（Ｃ21、Ｃ22、Ｃ23）は、それぞれ再利用可能であることが登録されている。なお、プロセス共通知識ベース５１は、例えば、ＸＭＬやＸＭＬベースのオントロジ記述言語であるＯＷＬなどの概念関係を階層的に記述する言語が用いられたテキストファイルから構成することができる。
【００９２】
そして、システムＳＹ１、ＳＹ２間における再利用可能なプロセスが登録されたプロセス共通知識ベース５１を用いることで、過去のプロセスマッピングにより付与された再利用可能であるという意味記述を利用しながら、再利用可能なプロセスを検索することが可能となる。このため、新たなシステム設計を行う際に、ある入力メッセージと出力メッセージを問い合わせとして発行することで、プロセス共通知識ベース５１の検索結果として、再利用可能なプロセスの候補を複数得ることが可能となり、システム設計を迅速化することができる。
【００９３】
図１５は、図１のプロセス共通知識ベース５１を用いたシステムＳＹ１、ＳＹ２間における再利用可能なプロセスの取得方法を示すブロック図である。
図１５おいて、システム設計者は、｛入力メッセージ（名前、パスワード）、出力メッセージ（商品検索）｝という問合せをユーザ端末６からプロセス知識ベースサーバ５に提出したとする。そして、プロセス知識ベースサーバ５は問合せをユーザ端末６から受け取ると、この問合せに対応した再利用可能なプロセスをプロセス共通知識ベース５１から検索する。なお、ユーザ端末６から問合せに対応した再利用可能なプロセスをプロセス共通知識ベース５１から検索する方法としては、上述したプロセスマッピング手法を用いることができる。そして、再利用可能なプロセスがプロセス共通知識ベース５１から１つだけ検索されると、再利用可能であるという意味記述を利用しながら、最初に検索されたプロセスの再利用可能関係を辿ることにより、他の再利用可能なプロセスをプロセス共通知識ベース５１から検索する。
【産業上の利用可能性】
【００９４】
本発明は、信用照会、注文処理、在庫確認などのビジネス・プロセスを実装したサービスを単位として、事前であらゆるビジネス・プロセスを新たに一から構築することなく、既存のビジネス・プロセスを再利用することで、製品開発、調達、生産、販売、物流などの一連のビジネス・プロセスを連結し、経営戦略に基づいて設計されたビジネス・モデルに従ったバリューチェーンを迅速かつ柔軟に構築することができる。
【図面の簡単な説明】
【００９５】
【図１】本発明の一実施形態に係るプロセスマッピング装置の概略構成を示すブロック図である。
【図２】本発明の一実施形態に係るシステムとプロセスの関係を示すブロック図である。
【図３】図１のプロセスマッピング装置の処理シーケンスを示すブロック図である。
【図４】本発明の一実施形態に係るシステムＳＹ１のプロセスの具体例を示すブロック図である。
【図５】本発明の一実施形態に係るシステムＳＹ２のプロセスの具体例を示すブロック図である。
【図６】本発明の一実施形態に係るシステムＳＹ１、ＳＹ２間におけるメッセージに含まれるデータの同値関係を示す図である。
【図７】本発明の一実施形態に係るシステムＳＹ１、ＳＹ２間におけるメッセージ型の同値関係を示す図である。
【図８】本発明の一実施形態に係るメッセージ型の一例を示す図である。
【図９】図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスの一例を示すブロック図である。
【図１０】図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスのその他の例を示すブロック図である。
【図１１】図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスのその他の例を示すブロック図である。
【図１２】図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスのその他の例を示すブロック図である。
【図１３】図１のプロセスマッピング装置にて抽出された再利用可能性のあるプロセスのその他の例を示すブロック図である。
【図１４】図１のプロセス共通知識ベース５１に登録されたシステムＳＹ１、ＳＹ２間における再利用可能なプロセスの具体例を示すブロック図である。
【図１５】図１のプロセス共通知識ベース５１を用いたシステムＳＹ１、ＳＹ２間における再利用可能なプロセスの取得方法を示すブロック図である。
【符号の説明】
【００９６】
１  被マッピングプロセス記述
２  マッピングプロセス記述
３  プロセスマッピングサーバ
４  メッセージ知識ベースサーバ
５  プロセス知識ベースサーバ
６  ユーザ端末
３１  入力メッセージマッピング装置
３２  出力メッセージマッピング装置
３３  組合せ分析装置
３４  ユーザ提示装置
４１  メッセージ共通知識ベース
５１  プロセス共通知識ベース
Ｖ１〜Ｖ４  ソフトウェア・コンポーネント提供サーバ
Ｃ１〜Ｃ７  ソフトウェア・コンポーネント
ＭＩ１〜ＭＩ７、ＭＩ１１〜ＭＩ１５  入力メッセージ
ＭＯ１〜ＭＯ７、ＭＯ１１〜ＭＯ１５  出力メッセージ
Ｐ  プロセス
ＳＹ１、ＳＹ２  システム
【図１】
2006172165.tif 000003
【図２】
2006172165.tif 000004
【図３】
2006172165.tif 000005
【図４】
2006172165.tif 000006
【図５】
2006172165.tif 000007
【図６】
2006172165.tif 000008
【図７】
2006172165.tif 000009
【図８】
2006172165.tif 000010
【図９】
2006172165.tif 000011
【図１０】
2006172165.tif 000012
【図１１】
2006172165.tif 000013
【図１２】
2006172165.tif 000014
【図１３】
2006172165.tif 000015
【図１４】
2006172165.tif 000016
【図１５】
2006172165.tif 000017