(57)【要約】【課題】複数のジョブの関連性を規定するジョブネットワークに要するジョブの定義の入力段階において、効率的なジョブネットワークの生成を支援する解析方法、解析装置及びコンピュータプログラムを提供する。【解決手段】解析装置１は、ジョブの実行に要するリソースに関する情報を含むジョブの定義の入力を受け付け（ステップＳ１）、受け付けたジョブの定義に基づいて、各リソースに関連する一又は複数のジョブを対応付け（ステップＳ２）、複数のリソースに対応付けられたジョブに基づいてリソースを集約し（ステップＳ３）、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定し（ステップＳ４）、複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を、並行処理の提案が可能なジョブ群として表示（出力）する（ステップＳ５）。【選択図】図２
2007241642.tif 000002
【特許請求の範囲】
【請求項１】
複数のジョブの関連性を解析する解析装置を用いた解析方法において、
ジョブの実行に要するリソースを示したジョブの定義の入力を受け付け、
各リソースに関連する一又は複数のジョブを対応付け、
複数のリソースに対応付けられたジョブに基づいてリソースを集約し、
集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定し、
複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力する
ことを特徴とする解析方法。
【請求項２】
複数のジョブの関連性を解析する解析装置において、
ジョブの実行に要するリソースを示したジョブの定義の入力を受け付ける手段と、
各リソースに関連する一又は複数のジョブを関連付ける手段と、
複数のリソースに対応付けられたジョブに基づいてリソースを集約する手段と、
集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定する手段と、
複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力するジョブ出力手段と
を備えることを特徴とする解析装置。
【請求項３】
前記ジョブ出力手段は、分離可能な複数のジョブ群を並行処理の提案が可能なジョブ群として出力する様に構成してあることを特徴とする請求項２に記載の解析装置。
【請求項４】
ジョブの定義に基づいて、複数のジョブの関連性を規定するジョブネットワークを作成する手段を更に備えることを特徴とする請求項２又は請求項３に記載の解析装置。
【請求項５】
ジョブの実行に要するリソースを示したジョブの定義の入力を受け付けるコンピュータに、複数のジョブの関連性を解析させるコンピュータプログラムにおいて、
コンピュータに、各リソースに関連する一又は複数のジョブを関連付けさせる手順と、
コンピュータに、複数のリソースに対応付けられたジョブに基づいてリソースを集約させる手順と、
コンピュータに、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定させる手順と、
コンピュータに、複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力させる手順と
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のジョブの関連性を解析する解析方法、該解析方法を実行することが可能な解析装置、及び該解析装置を実現するためのコンピュータプログラムに関し、特に効率的なジョブネットワークの生成を支援する解析方法、解析装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年のソフトウェア開発における生産性の向上、信頼性の向上等の要求に伴い、コンピュータによるシステム分析、設計、製造、保守等の作業を支援するＣＡＳＥ(Commuter Aided Software Engineering) ツールが一般的に普及している。この様なツールを有する装置では、仕事の単位（タスク）をジョブとして定義し、定義された複数のジョブの関連性を規定するジョブネットワークを自動的に生成するという処理を実行する（例えば特許文献１参照。）。
【特許文献１】特開２００１−１６６９２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら特許文献１等の従来の装置に対しては、更に効率的なジョブネットワークの生成の支援が普遍的な課題として存在している。
【０００４】
本発明は斯かる事情に鑑みて成されたものであり、ジョブと、ジョブの実行に要するファイル、データベース等のリソースとの関係から並行処理の提案が可能なジョブ群を出力することにより、効率的なジョブネットワークの生成を支援すべくジョブの解析を行う解析方法、該解析方法を実行することが可能な解析装置、及び該解析装置を実現するためのコンピュータプログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
第１発明に係る解析方法は、複数のジョブの関連性を解析する解析装置を用いた解析方法において、ジョブの実行に要するリソースを示したジョブの定義の入力を受け付け、各リソースに関連する一又は複数のジョブを対応付け、複数のリソースに対応付けられたジョブに基づいてリソースを集約し、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定し、複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力することを特徴とする。
【０００６】
第２発明に係る解析装置は、複数のジョブの関連性を解析する解析装置において、ジョブの実行に要するリソースを示したジョブの定義の入力を受け付ける手段と、各リソースに関連する一又は複数のジョブを関連付ける手段と、複数のリソースに対応付けられたジョブに基づいてリソースを集約する手段と、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定する手段と、複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力するジョブ出力手段とを備えることを特徴とする。
【０００７】
第３発明に係る解析装置は、第２発明において、前記ジョブ出力手段は、分離可能な複数のジョブ群を並行処理の提案が可能なジョブ群として出力する様に構成してあることを特徴とする。
【０００８】
第４発明に係る解析装置は、第２発明又は第３発明において、ジョブの定義に基づいて、複数のジョブの関連性を規定するジョブネットワークを作成する手段を更に備えることを特徴とする。
【０００９】
第５発明に係るコンピュータプログラムは、ジョブの実行に要するリソースを示したジョブの定義の入力を受け付けるコンピュータに、複数のジョブの関連性を解析させるコンピュータプログラムにおいて、コンピュータに、各リソースに関連する一又は複数のジョブを関連付けさせる手順と、コンピュータに、複数のリソースに対応付けられたジョブに基づいてリソースを集約させる手順と、コンピュータに、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定させる手順と、コンピュータに、複数のジョブ群への分離が可能と判定した場合に、複数のジョブ群を出力させる手順とを実行させることを特徴とする。
【００１０】
本発明では、並行処理の提案が可能なジョブ群を出力することにより、並行処理の可否の検討を促して効率的なジョブネットワークの生成を支援することが可能である。
【発明の効果】
【００１１】
本発明に係る解析方法、解析装置及びコンピュータプログラムは、ジョブの実行に要するファイル、データベース等のリソースを示したジョブの定義の入力を受け付け、各リソースに関連する一又は複数のジョブを対応付け、複数のリソースに対応付けられたジョブに基づいてリソースを集約し、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定し、複数のジョブ群への分離が可能と判定した場合に、分離可能な複数のジョブ群を、並行処理の提案が可能なジョブ群として出力することにより、並行処理の可否の検討を促して効率的なジョブネットワークの生成を支援することが可能である等、優れた効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。図１は、本発明の解析装置の構成例を示すブロック図である。図１中１は、複数のジョブの関連性を解析してジョブネットワークの生成を支援する解析装置であり、解析装置１は、汎用型コンピュータ等のコンピュータを用いて構成されている。解析装置１は、装置全体を制御するＣＰＵ(Central Processing Unit) 等の制御手段１０と、本発明のコンピュータプログラム１００及びデータ等の各種情報を記録したＣＤ−ＲＯＭ等の記録媒体から各種情報を読み取るＣＤ−ＲＯＭドライブ等の補助記憶手段１１と、補助記憶手段１１が読み取った各種情報を記録するハードディスク等の記録手段１２と、情報を一時的に記憶するＲＡＭ(Random Access Memory)等の記憶手段１３と、マウス、キーボード等の入力手段１４と、モニタ等の表示手段１５とを備えている。
【００１３】
そして記録手段１２に記録した本発明のコンピュータプログラム１００を記憶手段１３に記憶させて、制御手段１０の制御にて実行することにより、コンピュータは、本発明の解析装置１として動作する。また記録手段１２には、本発明のコンピュータプログラム１００だけでなく、ジョブの実行の対象となるファイル、データベース等のリソースと、組合せ可能な単位プログラムである様々なモジュールとが記録されており、更にはジョブの定義を示すジョブパラメータ定義書等の様々なデータが記録されている。なお解析装置１の処理に要するリソースとしては、記録手段１２に記録されているファイル、データベース等のリソースだけでなく、アクセス可能な外部の装置に記録されたデータベースをリソースとして用いる様にしても良い。
【００１４】
次に本発明の解析装置１の処理について説明する。図２は、本発明の解析装置１の処理の一例を示すフローチャートである。ユーザは、ジョブネットワークを生成すべく解析装置１に対し、ジョブの定義の入力を行う。入力されるジョブの定義には、ジョブの識別子、ジョブの名称、ジョブに用いるモジュール、前後に行われるジョブ、及びジョブによる処理の対象となるリソースに関する情報が含まれている。さらにリソースに関する情報としては、リソースの名称及びリソースの記録位置を示すディレクトリ、並びにリソースに対する入出力、並び替え等の処理の種類を示す処理パラメータ等の情報が含まれている。
【００１５】
解析装置１は、コンピュータプログラム１００を実行する制御手段１０の制御により、ジョブの実行に要するリソースに関する情報を含むジョブの定義の入力を受け付ける（ステップＳ１）。
【００１６】
図３は、本発明の解析装置１が受け付けたジョブ及びリソースの関係並びにジョブの流れの一例を示す概念図である。図３は、ステップＳ１において、解析装置１がユーザから最初に入力を受け付けたジョブの定義に基づくジョブの流れを示している。図３において、「Ａ０１」、「Ａ０２」、…は、夫々ジョブを示し、ジョブ間の矢印は、ジョブが実行される順序を示している。即ちジョブは「Ａ０１」、「Ａ０２」、…、「Ａ０５」の順で実行される。また図３において「００１」、「００２」、…は、夫々リソースを示し、ジョブ及びリソース間の矢印は、ジョブの実行によるリソースに対する入出力を示している。例えばジョブ「Ａ０１」は、リソース「００１」に対する出力を行い、ジョブ「Ａ０３」は、リソース「００１」及び「００２」からの入力、即ちこれらのリソースの読込を行う。またジョブ「Ａ０５」は、リソース「００３」からの入力を受け付け、リソース「００４」に対する出力を行う。
【００１７】
そして図２のフローチャートに示す様に、解析装置１は、制御手段１０の制御により、受け付けたジョブの定義に基づいて、各リソースに関連する一又は複数のジョブを対応付ける（ステップＳ２）。
【００１８】
図４は、本発明の解析装置１が処理するリソースへのジョブの対応付けの一例を示す概念図である。解析装置１は、図３に図示する様な流れとなるジョブの定義を受け付け、ステップＳ２において、各リソースに関連する一又は複数のジョブを対応付ける。具体的には、図４（ａ）に示す様にリソース「００１」にジョブ「Ａ０１」及び「Ａ０３」を対応付け、図４（ｂ）に示す様にリソース「００２」にジョブ「Ａ０２」及び「Ａ０３」を対応付け、図４（ｃ）に示す様にリソース「００３」にジョブ「Ａ０４」及び「Ａ０５」を対応付け、そして図４（ｄ）に示す様にリソース「００４」にジョブ「Ａ０５」を対応付ける。ステップＳ２及び図４に示す対応付けにより、（Ａ０１，Ａ０３）、（Ａ０２，Ａ０３）、（Ａ０４，Ａ０５）及び（Ａ０５）のタスクセットを抽出することができる。
【００１９】
そして図２のフローチャートに示す様に、解析装置１は、制御手段１０の制御により、複数のリソースに対応付けられたジョブに基づいてリソースを集約する（ステップＳ３）。
【００２０】
図５は、本発明の解析装置１が処理するリソースの集約の一例を示す概念図である。解析装置１は、ステップＳ２及び図４に示す様にリソースに対する対応付けを行った後、ステップＳ３において、複数のリソースに対応付けられたジョブに基づいてリソースを集約する。即ちステップＳ３では、ジョブを対応付けたリソース間で、同じジョブが対応しているリソースについてはジョブ群（ジョブグループ）として集約する。具体的には、図４（ａ）及び（ｂ）に示す様にリソース「００１」及び「００２」には、ジョブ「Ａ０３」が夫々対応付けられている。そこで図５（ａ）に示す様にリソース「００１」及び「００２」は、同じグループに属すると見なし、リソース「００１」及び「００２」に関連するジョブ「Ａ０１」、「Ａ０２」及び「Ａ０３」は分離することが不可能な一連の処理であると見なす。そして図５（ａ）に示す様にリソース「００１」及び「００２」を、ジョブ「Ａ０１」、「Ａ０２」及び「Ａ０３」を含むジョブ群として集約する。
【００２１】
また図４（ｃ）及び（ｄ）に示す様にリソース「００３」及び「００４」には、ジョブ「Ａ０５」が夫々対応付けられている。そこで図５（ｂ）に示す様にリソース「００３」及び「００４」は、同じグループに属すると見なし、リソース「００３」及び「００４」に関連するジョブ「Ａ０４」及び「Ａ０５」は分離することが不可能な一連の処理であると見なす。そして図５（ｂ）に示す様にリソース「００３」及び「００４」を、ジョブ「Ａ０４」及び「Ａ０５」を含むジョブ群として集約する。
【００２２】
そして図２のフローチャートに示す様に、解析装置１は、制御手段１０の制御により、集約した結果に基づいて、実行に要する全てのリソースが群間で異なる複数のジョブ群への分離の可否を判定し（ステップＳ４）、複数のジョブ群への分離が可能と判定した場合に、分離可能な複数のジョブ群を、並行処理の提案が可能なジョブ群として表示手段１５に表示（出力）する（ステップＳ５）。なおステップＳ４にて複数のジョブ群への分離が不可能と判定した場合、ジョブ群の表示は行わない。
【００２３】
図５に示す様に複数のジョブ群に集約された場合、ステップＳ４において、複数のジョブ群に分離することが可能であると判定し、ステップＳ５において各ジョブを含む複数のジョブ群を表示する。そしてユーザは、表示された複数のジョブ群を把握し、これらのジョブ群が並行処理可能か否かを判断し、並行処理が可能であると判定した場合、並行処理を実行する様にジョブの定義を修正する。この様にして本発明は入力されたジョブの定義に基づき並行処理の提案をすることができるので、効率的なジョブネットワークの生成を支援することができる。
【００２４】
そして必要に応じてジョブの定義を修正したユーザは、最終的にジョブが確定した後、ジョブネットワークの作成を開始させる操作を行う。
【００２５】
操作を受け付けた解析装置１は、制御手段１０の制御により、受け付けたジョブの定義に基づいて、複数のジョブの関連性を規定するジョブネットワークを生成する（ステップＳ６）。
【００２６】
図６は、本発明の解析装置１にて生成されるジョブネットワークの一例の一部を示す説明図である。図６は、ステップＳ６において受け付けたジョブの定義に基づき生成されたジョブネットワークの例を示している。このように実行順序及びジョブの定義に基づくジョブネットワークの生成は、出願時における公用技術を用いることが可能である。
【００２７】
図２に示したフローチャートでは、ジョブの定義の入力からジョブ群の表示と、ジョブネットワークの生成とを一連の流れとして示しているが、ステップＳ１〜Ｓ５までの並行処理の提案までの処理と、ステップＳ６のジョブネットワーク生成処理とは夫々独立した処理として実行する様にしても良い。
【００２８】
前記実施の形態では、解析装置を単独で機能する装置として示したが、本発明はこれに限らず、夫々のプログラムを記録及び実行する処理、並びに各種情報の記録を夫々異なる装置にて行う等、様々な形態に展開することが可能である。
【００２９】
また前記実施の形態では、ジョブとリソースとの関連性に基づいて複数のジョブ群を出力する形態を示したが、本発明の他の形態として、ジョブ及びリソースの関連性だけでなく、ジョブ間の排他性等の他の制約条件を考慮する様にしても良い。
【００３０】
さらに前記実施の形態では、並行処理が可能なジョブ群として提案する形態を示したが、本発明はこれに限らず、処理を再構成する様々な提案方法に展開することが可能である。
【図面の簡単な説明】
【００３１】
【図１】本発明の解析装置の構成例を示すブロック図である。
【図２】本発明の解析装置の処理の一例を示すフローチャートである。
【図３】本発明の解析装置が受け付けたジョブ及びリソースの関係並びにジョブの流れの一例を示す概念図である。
【図４】本発明の解析装置が処理するリソースへのジョブの対応付けの一例を示す概念図である。
【図５】本発明の解析装置が処理するリソースの集約の一例を示す概念図である。
【図６】本発明の解析装置にて生成されるジョブネットワークの一例の一部を示す説明図である。
【符号の説明】
【００３２】
１  解析装置
１００  コンピュータプログラム
【図１】
2007241642.tif 000003
【図２】
2007241642.tif 000004
【図３】
2007241642.tif 000005
【図４】
2007241642.tif 000006
【図５】
2007241642.tif 000007
【図６】
2007241642.tif 000008