(57)【要約】  システムの構築手順を、計算量を抑えつつ、より確実に生成する。  本発明によるシステム構築支援システムは、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する状態モデル分割部５０１と、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定部５０２と、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算部５０３と、グループごとに計算された手順を統合する手順統合部５０４とを備える。
2017090506.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割手段と、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算手段と、
前記グループごとに計算された手順を統合する手順統合手段とを備えた
ことを特徴とするシステム構築支援システム。
【請求項２】
状態モデル分割手段は、状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、前記状態モデルを１つ以上のグループに分割する
請求項１に記載のシステム構築支援システム。
【請求項３】
状態モデル分割手段は、グループごとの手順計算結果および可逆性の判定結果に基づいて、グループを再編成する
請求項１または請求項２に記載のシステム構築支援システム。
【請求項４】
状態モデル分割手段は、有効な手順が算出されず、かつ可逆的でないと判定されたグループがあった場合に、当該グループと当該グループに属する状態要素群のいずれかに依存性を有している状態要素を含むグループとを１つのグループに纏める再編成を行う
請求項３に記載のシステム構築支援システム。
【請求項５】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割手段と、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、
前記可逆性の判定結果に基づいて、前記グループを再編成するグループ再編成手段とを備えた
ことを特徴とする情報処理装置。
【請求項６】
情報処理装置が、
状態モデルに含まれる状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、前記状態モデルを１つ以上のグループに分割し、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
前記グループごとに計算された手順を統合する
ことを特徴とするシステム構築支援方法。
【請求項７】
情報処理装置が、
前記状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
分割後の各グループに属する状態要素群の前記可逆性を判定し、
前記可逆性の判定結果に基づいて、前記グループの再編成を行い、
再編成後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
前記グループごとに計算された手順を統合する
請求項６に記載のシステム構築支援方法。
【請求項８】
情報処理装置が、
状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
手順計算の結果、有効な手順が算出されなかったグループがあった場合に、当該グループに属する状態要素群の可逆性に基づいて、前記グループの再編成を行い、
再編成されたグループについて、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
再編成後のグループごとに計算された手順を統合する
ことを特徴とするシステム構築支援方法。
【請求項９】
コンピュータに、
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割処理、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算処理、および
前記グループごとに計算された手順を統合する手順統合処理
を実行させるためのシステム構築支援プログラムを記憶する記憶媒体。
【請求項１０】
コンピュータに、
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割処理、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、および
前記可逆性の判定結果に基づいて、前記グループを再編成するグループ再編成処理
を実行させるためのシステム構築支援プログラムを記憶する記憶媒体。
【請求項１１】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
指定されたグループに属する状態要素群の可逆性を判定し、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
前記グループごとに計算された手順を統合する
システム構築支援方法。
【請求項１２】
状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、前記状態モデルを１つ以上のグループに分割する
請求項１１に記載のシステム構築支援方法。
【請求項１３】
グループごとの手順計算結果および可逆性の判定結果に基づいて、グループを再編成する
請求項１１または請求項１２に記載のシステム構築支援方法。
【請求項１４】
有効な手順が算出されず、かつ可逆的でないと判定されたグループがあった場合に、当該グループと当該グループに属する状態要素群のいずれかに依存性を有している状態要素を含むグループとを１つのグループに纏める再編成を行う
請求項１３に記載のシステム構築支援方法。
【請求項１５】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
指定されたグループに属する状態要素群の可逆性を判定し、
前記可逆性の判定結果に基づいて、前記グループを再編成する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの構築を支援するシステム構築支援システム、情報処理装置、システム構築支援方法およびシステム構築支援プログラムに関する。
【背景技術】
【０００２】
一般にシステムの構築／変更は、システムの管理者がシステムを構成する部品を要求通りの状態にするための手順書を作成し、作業者が、その手順書に沿って作業を実行することにより実施される。一般に、システムの構築と言った場合、各部品を初期状態から要求状態に移行することを表す。また、システムの変更といった場合、各部品を現在状態から要求状態に移行することを表す。しかし、両者は移行前の状態が任意の状態か初期状態かの違いだけであるため、本明細書では、これら両方を含むものとして「システムの構築」と表現する。すなわち、本明細書においてシステムの構築といった場合、システムを任意の状態から要求状態に移行することを表す。また、以下では、システムを構成する要素をシステム構成要素または部品と表現する場合がある。【０００３】
構築作業を正しく完了するためには、構築作業が正しい順序で実行される必要がある。構築作業の順序性は、システム構成要素の特性や組み合わせによって多様に変化する。そのため、手順書を正しく生成するためには、対象とされるシステムおよびその部品に関する深い理解が必要であり、高度な専門技術と膨大な時間を要する。【０００４】
そのような課題に対して、構築手順に関する要件に基づいて部品を形式的に表現し、その要件から構築手順を自動的に生成する技術がある。例えば、非特許文献１には、システムの構築後の状態（各部品の要求状態）がモデルとして宣言的に記述された情報から、システムの現在の状態と構築後の状態との差分を計算して、構築手順を自動で生成する技術が記載されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Kuroda, T. et al., "Model-based IT Change Management for Large System Definitions with State-related Dependencies", Proc. of EDOC 2014, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に記載の構築手順生成方法は、大まかに、状態モデルの単純化と、状態モデルの分割と、構築手順の計算と、構築手順の統合という４つの処理を含んでいる。これらの処理の内容を説明する前に、まず非特許文献１に記載されている状態モデルについて説明する。【０００７】
状態モデルは、システムの状態をモデルとして宣言的に記述する方式の一つである。状態モデルは、より具体的には、システムの構築手順の計算に必要な情報を表したデータモデルであり、状態要素を示す情報と、状態要素間の依存性を示す情報とを含む。ここで、状態要素は、独立して状態を持つシステム内の構成要素であり、手順計算上考慮される最小の構成単位である。また、状態要素は、排他的な複数の状態と、その間の状態遷移とによって定義される。状態は、文字通り、システムがとり得る状態である。状態はいくつでも定義できる。状態要素は、必ず一つの現在状態と、任意個の要求状態とを含む。また、状態遷移は、状態要素がどの状態からどの状態へ変化可能かを表すものであり、同一状態要素内の任意の状態間に定義できる。依存性は、ある状態要素（第１の状態要素）内の状態遷移（第１の状態遷移）から、他の状態要素（第２の状態要素）内の状態に対して定義される。第１の状態要素が第１の状態遷移を行うためには、第２の状態要素が、指定した状態でなければならないという条件を表す。【０００８】
図１１は、ＴｏｍｃａｔパッケージとＵｂｕｎｔｕ  ＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）について定義した状態モデルの例を示す説明図である。図１１に示す"Ｔｏｍｃａｔ"状態要素は、Ｗｅｂコンテナの一種である"Ｔｏｍｃａｔ"に対応したコンポネントの状態を定義する状態要素を想定している。また、"Ｕｂｕｎｔｕ"状態要素は、仮想マシン（ＶＭ）上で動作するオペレーティングシステム（ＯＳ）の一種である"Ｕｂｕｎｔｕ"に対応したコンポネントの状態を定義する状態要素を想定している。以下、図１１に示すように、状態要素を長方形で表記する。また、状態を楕円形で表記する。その際、現在状態を二重線の楕円形、要求状態を黒塗りの楕円形で表記する。また、状態遷移を実線の矢印で表記し、依存性を破線の矢印で表記する。なお、依存性の矢印は、矢印の元が依存する側、矢印の先が依存される側を表している。図１１に示す例では、各状態要素は現在状態が"ｆ"（例えば、インストールされていない状態）で、要求状態が"ｔ"（例えば、インストールされている状態）と定義されている。【０００９】
なお、図１１では、依存性が、状態要素から他の状態要素内の状態へ至る矢印として表示されているが、この場合、矢印の元の状態要素内の全ての状態遷移が、矢印の先の状態に依存していることを表す。【００１０】
また各状態要素を表す長方形の外枠付近には、その状態要素の型とＩｄｅｎｔｉｆｉｃａｔｉｏｎ（ＩＤ）とがそれぞれ記されている。"："の左側が型名、右側がＩＤである。なお、状態要素の型は省略可能である。また、以下では、ある状態要素が、他の状態要素内の状態に依存する状態遷移を含む場合、「前者の状態要素は後者の状態要素に依存する」または「前者の状態要素は後者の状態要素への依存性を持つ」等、状態要素を単位にして表現する場合がある。【００１１】
次に、非特許文献１に記載の構築手順生成方法が含む４つの処理について簡単に説明する。状態モデルの単純化処理は、変更されないことが明らかな部品に関連する依存性を、状態モデルから除去する処理である。ここで、ある状態がその状態要素の現在状態もしくは要求状態として指定されているか、またはある状態が他の状態要素内の遷移から依存されているかのいずれかを満たす場合、本明細書ではある状態がそのような状態にあることを「広義の要求状態」と呼ぶ。状態モデルの単純化の一例としては、ある状態要素の現在状態が要求状態であるとき、当該状態要素を、構築手順計算の対象外として状態モデルから除去する処理が挙げられる。これは、当該状態要素においては遷移を行う必要がないと判断されるためである。このとき、さらに当該状態要素に関連する依存性を状態モデルから除去してもよい。また、ある状態要素において、広義の要求状態以外の遷移および当該遷移が持つ依存性を除去してもよい。これは、広義の要求状態への遷移は行う必要があると判断されるが、それ以外の遷移は行う必要がないと判断されるためである。【００１２】
また、状態モデルの分割処理は、状態モデルを、構築手順を計算するにあたり、一緒に考慮して計算を行う必要があると見込まれる単位に分割する処理である。状態モデルの分割の例として、同一状態モデル内の状態要素間に依存性による関連がなければ、これら状態要素を異なるグループに属するように分割する処理が挙げられる。ここでは、分割後のグループの各々が、一緒に考慮して計算を行う必要があると見込まれる単位に相当する。なお、非特許文献１では、状態要素間に依存性がある場合でも、それが一方通行の依存性であれば、同様に分割してもよいとされている。【００１３】
図１２は、状態モデルの分割の例を示す説明図である。図１２（ａ）は、状態モデルの例を示し、図１２（ｂ）はその状態モデルの分割例を示している。例えば、"Ｔ．ｐｋｇ"と"Ｔ．ｓｖｃ"のように互いに依存し合っている、すなわち依存性に循環がある場合には、関連する状態要素を同一グループとし、それ以外は別グループに分割される。なお、図１２（ｃ）は状態モデルの分割後の手順作成方法の例を示し、図１２（ｄ）はそれにより生成された手順の例を示している。【００１４】
なお、図１２（ａ）には、状態モデルの例として、４つの状態要素（"Ｊ．ｐｋｇ"と"Ｊ．ｓｖｃ"と"Ｔ．ｐｋｇ"と"Ｔ．ｓｖｃ"）を含むモデルが示されている。本例では、状態要素"Ｊ．ｓｖｃ"は、状態要素"Ｊ．ｐｋｇ"に依存性を有している。また、状態要素"Ｔ．ｐｋｇ"は、状態要素"Ｔ，ｓｖｃ"に依存している。また、状態要素"Ｔ．ｓｖｃ"は、状態要素"Ｔ．ｐｋｇ"に依存している。本例の場合、依存性による関連性がない状態要素間、例えば"Ｊ．ｐｋｇ"から見て"Ｔ．ｐｋｇ"や"Ｔ．ｓｖｃ"、またその逆や、"Ｊ．ｓｖｃ"から見て"Ｔ．ｐｋｇ"や"Ｔ．ｓｖｃ"、またその逆などは、分割可能と判断される（図１２（ｂ）中のｇ１とｇ３の関係、ｇ２とｇ３の関係等参照）。また、状態要素"Ｊ．ｓｖｃ"は、状態要素"Ｊ．ｐｋｇ"に依存性を有しているが、依存性の方向が一方通行であるので、状態要素"Ｊ．ｓｖｃ"と"Ｊ．ｐｋｇ"は分割可能と判断される（図１２（ｂ）中のｇ１とｇ２の関係参照）。一方、状態要素"Ｔ．ｐｋｇ"と"Ｔ．ｓｖｃ"とは互いに依存性を有しており、依存性に循環があるため、分割不可と判断される。したがって、状態要素"Ｔ．ｐｋｇ"と"Ｔ．ｓｖｃ"とは同一グループとされる（図１２（ｂ）中のｇ３参照）。【００１５】
構築手順の計算処理では、上記のような状態モデルの分割処理により分割されたグループごとに、手順計算が行われる。このとき、あるグループに対して、当該グループ内の状態要素に依存している状態要素を含むその他のグループがある場合、当該他のグループの手順計算が完了した後に、当該グループの手順計算が行われる。例えば、あるグループｇの手順計算を行う場合、まず、グループｇ内の状態要素に依存している状態要素を含むその他のグループの各々について、依存性を持つ状態遷移をまとめた仮状態要素を生成する。ここで、仮状態要素は、依存性を持つ状態遷移がそこまでの手順計算で得られた順序を満たすように適宜仮状態を繋いだものである。そして、生成された仮状態要素と、グループｇに含まれる状態要素とをあわせたものを手順計算上の制約とし、例えばＡｕｔｏｍａｔｅｄ  Ｐｌａｎｎｉｎｇ（自動計画）等の手法により、グループｇにおける手順を計算する。【００１６】
構築手順の統合処理では、上記の構築手順の計算処理により、各グループの手順と、各グループの手順間の順序関係とが判明しているため、各グループの手順間の順序関係が壊れないよう、各グループの手順が全て統合される。これにより、システム全体の構築手順が生成される。【００１７】
非特許文献１に記載の方法は、このように対象システムの状態モデルを、当該状態モデルに含まれる状態要素間の依存性に基づいて、なるべく小さな状態要素群の単位に分割して手順を計算することで、システム全体の手順生成にかかる計算量の削減を図っている。【００１８】
しかし、非特許文献１に記載の方法では、状態モデルの分割を行った結果、実際には存在する手順を存在しないと誤って判断してしまうことがある。換言すると、非特許文献１に記載の方法は、特定の条件下では、必ずしも構築手順を発見できないという問題があった。【００１９】
図１３〜図１５を参照して、非特許文献１に開示されている技術では構築手順を発見できない具体例を示す。図１３に示す状態モデルは、上記の特定の条件に当てはまるケースである。図１３に示す状態モデルにおいて、状態要素"Ａ"の状態"ｆ"から状態"ｕ"への遷移は、状態要素"Ｂ"の状態"ｔ"に依存している。また、状態要素"Ａ"の状態"ｆ"から状態"ｔ"への遷移は、状態要素"Ｂ"の状態"ｕ"に依存している。状態要素"Ａ"，"Ｂ"ともに、現在状態は"ｆ"であり、いずれも要求状態"ｔ"にする手順を導出する必要がある。ここで、この手順を人が頭で考えれば、まず状態要素"Ｂ"を状態"ｆ"から状態"ｔ"に遷移させ、次に状態要素"Ａ"を状態"ｆ"から状態"ｕ"に遷移させ、最後に状態要素"Ａ"を状態"ｕ"から状態"ｔ"に遷移させればよいことが分かる。【００２０】
次に、非特許文献１に記載の方法による構築手順の生成例を示す。非特許文献１に記載の方法では、手順生成を行うシステムが、まず状態モデルを単純化する。なお、状態モデルの単純化は、処理全体の計算量を削減することが目的であり、単純化を行わなくとも構築手順を生成するという目的は達成できる。また、後述する本発明の方法は単純化に対して寄与するものではなく、また単純化を行ったか否かに何らの影響も受けない。よってここでは、単純化が行われなかったものとして話を進める。【００２１】
次いで、システムは、状態モデルを分割する。図１３に示す状態モデルの場合、状態要素"Ａ"から状態要素"Ｂ"への依存性はあるが、状態要素"Ｂ"は状態要素"Ａ"に依存しておらず、一方通行の依存性であるので、システムは、状態要素Ａと状態要素Ｂとを別グループに分割する。結果として、図１３に示す状態モデルは、図１４に示すような、状態要素"Ａ"はグループｇ１、状態要素"Ｂ"はグループｇ２といった形に分割される。【００２２】
次いで、システムは、状態モデルを分割してできたグループの各々について手順計算を行う。このとき、システムは、グループ内に、他のグループに含まれる状態要素から依存されている状態要素がある場合には、当該他のグループの計算が完了してから当該グループの手順計算を行う。図１４に示す例の場合、グループｇ１には、他のグループの状態要素から依存されている状態要素が含まれていない。一方、グループｇ２には、グループｇ１の状態要素"Ａ"から依存されている状態要素"Ｂ"が含まれている。このため、システムは、グループｇ１の手順計算から行う。なお、非特許文献１に記載の方法では、各グループの手順計算の際、他のグループに含まれる状態要素への依存性は無視される。【００２３】
ここで、グループｇ１の構築手順の計算処理では、状態要素"Ａ"を状態"ｆ"から状態"ｔ"に直接遷移させる手順と、状態要素"Ａ"を状態"ｆ"から状態"ｕ"に遷移させた後で状態"ｔ"に遷移させる手順の２種類の手順が生成され得る。どちらが生成されるかは手順計算の方式に依存するが、本例では遷移回数の少ない前者の手順が生成されたものとする。グループｇ１の手順計算が完了すると、グループｇ２において、当該グループ中の状態要素に依存している状態要素を含む他のグループがなくなり、グループｇ２の手順計算が可能になる。システムは、グループｇ２の構築手順を計算するにあたって、グループ内に含まれる状態要素"Ｂ"に依存している他グループの状態要素"Ａ"の仮状態要素を生成する。その上で、システムは、生成した仮状態要素がグループｇ２に含まれているものとして手順計算を行う。【００２４】
ここで、状態要素"Ａ"の仮状態要素は、グループｇ１の手順計算の結果として生成された手順に含まれる状態および遷移のみを含むものである。図１５に、上記の方法で生成された仮状態要素の例を示す。図１５には、グループｇ１に含まれる状態要素"Ａ"の仮状態要素"Ａ'"が示されている。ところで、図１５に示すような仮状態要素"Ａ'"を含むグループｇ２には、全ての状態要素を要求状態に遷移させられる手順が存在しないことが分かる。このため、システムは、図１３に示す状態モデルの状態要素を全て要求に遷移させる手順は存在しない旨の処理結果を返す。【００２５】
しかし、上述した通り、実際には図１３に示す状態モデルの状態要素を全て要求状態にする手順は存在しており、上記処理結果は誤りである。このように、非特許文献１に記載の方法では、特定のケースで構築手順の生成に失敗してしまう問題がある。【００２６】
上述した例に関して補足しておくと、グループｇ１の手順計算を行った際、状態要素"Ａ"を状態"ｆ"から状態"ｕ"に遷移させた後で状態"ｔ"に遷移させる手順を生成していた場合には、上記の問題は発生しない。しかし、手順の候補が複数あった場合にいずれが生成されるかは手順計算の方式に依存しており、非特許文献１に記載の方法が、特定のケースで構築手順の生成に失敗してしまうリスクを潜在的に抱えていることには変わりない。【００２７】
そこで、本発明は、上述した課題に鑑み、システムの構築手順を、計算量を抑えつつ、より確実に生成できるシステム構築支援システム、情報処理装置、システム構築支援方法およびシステム構築支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２８】
本発明の一態様に係るシステム構築支援システムは、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する状態モデル分割手段と、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算手段と、グループごとに計算された手順を統合する手順統合手段とを備える。【００２９】
また、本発明の一態様に係る情報処理装置は、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する状態モデル分割手段と、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、可逆性の判定結果に基づいて、グループを再編成するグループ再編成手段とを備える。【００３０】
また、本発明の一態様に係るシステム構築支援方法は、情報処理装置が、状態モデルに含まれる状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、状態モデルを１つ以上のグループに分割し、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、グループごとに計算された手順を統合する。【００３１】
また、本発明の一態様に係るシステム構築支援方法は、情報処理装置が、状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割し、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、手順計算の結果、有効な手順が算出されなかったグループがあった場合に、当該グループに属する状態要素群の可逆性に基づいて、グループの再編成を行い、再編成されたグループについて、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、再編成後のグループごとに計算された手順を統合する。【００３２】
また、本発明の一態様に係るシステム構築支援方法は、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、指定されたグループに属する状態要素群の可逆性を判定し、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、前記グループごとに計算された手順を統合する。【００３３】
また、本発明の一態様に係る情報処理方法は、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、前記可逆性の判定結果に基づいて、前記グループを再編成する。【００３４】
また、本発明の一態様に係るシステム構築支援プログラムは、コンピュータに、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する状態モデル分割処理、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算処理、およびグループごとに計算された手順を統合する手順統合処理を実行させる。本発明の一態様は、上述のシステム構築支援プログラムを記憶する記憶媒体によっても実現される。【００３５】
また、本発明の一態様に係るシステム構築支援プログラムは、コンピュータに、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する状態モデル分割処理、指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、および可逆性の判定結果に基づいて、グループを再編成するグループ再編成処理を実行させる。本発明の一態様は、上述のシステム構築支援プログラムを記憶する記憶媒体によっても実現される。
【発明の効果】
【００３６】
本発明によれば、システムの構築手順を、計算量を抑えつつ、より確実に生成できるシステム構築支援システム、情報処理装置、システム構築支援方法およびシステム構築支援プログラムを提供できる。
【図面の簡単な説明】
【００３７】
【図１】第１の実施形態にかかるシステム構築手順生成装置の構成例を示すブロック図である。
【図２】第１の実施形態のシステム構築手順生成装置の全体の動作の一例を示すフローチャートである。
【図３】状態モデル単純化処理のより詳細な処理フローの一例を示すフローチャートである。
【図４】可逆性判定処理のより詳細な処理フローの一例を示すフローチャートである。
【図５】グループ別手順計算処理のより詳細な処理フローの一例を示すフローチャートである。
【図６】第２の実施形態にかかるシステム構築手順生成装置の構成例を示すブロック図である。
【図７】第２の実施形態のシステム構築手順生成装置の全体の動作の一例を示すフローチャートである。
【図８】第２の実施形態のグループ別手順計算処理のより詳細な処理フローの一例を示すフローチャートである。
【図９】本発明の概要を示すブロック図である。
【図１０】本発明による情報処理装置の他の構成例を示すブロック図である。
【図１１】状態モデルの例を示す説明図である。
【図１２】状態モデルの分割例を示す説明図である。
【図１３】状態モデルの他の例を示す説明図である。
【図１４】状態モデルの分割例を示す説明図である。
【図１５】仮状態要素の例を示す説明図である。
【図１６】本発明の実施形態に係るシステム構築手順生成装置及び情報処理装置を実現できるコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００３８】
以下、本発明の実施形態について図面を参照して説明する。その前に、非特許文献１に記載の方法が構築手順の生成に成功する条件である成功条件について述べる。なお、以下の分析は本発明の発明者によって与えられたものである。
【００３９】
状態モデルを、当該状態モデルに含まれる状態要素間の依存性に基づいて１つ以上のグループに分割したときに、あるグループｇに属する分割後の状態モデルである部分状態モデルが、他のグループに属する部分状態モデルの状態要素から依存されている状態要素を含んでいたとする。このとき、グループｇに属する部分状態モデルがとり得る任意の状態から他の任意の状態への遷移経路が必ず存在する場合は、構築手順の生成に成功する。ここで、グループｇの状態、より具体的にはグループｇに属する部分状態モデルの状態は、当該部分状態モデルに含まれている各状態要素の状態の直積で表すものとする。また、遷移経路は、１回以上の遷移の列を表す。
【００４０】
上記の成功条件を直感的に言い表すと、グループｇに属する部分状態モデルは常に、何回か遷移すれば他の任意の状態に到達できる、ということである。本明細書では、グループｇに属する部分状態モデルがこの条件を満たすとき、「グループｇまたはグループｇに属する状態要素群は可逆的（Invertible）」であると表現する。また、この性質を「可逆性（Invertibility）」と呼ぶ。
【００４１】
一方、グループｇが可逆的でない場合、上記例のように、構築手順の生成に失敗する可能性がある。失敗する可能性がある条件を直感的に言い表すと、グループｇには、ある状態から何回遷移しても到達できない他の状態がある、ということである。
【００４２】
例えば図１４に示した状態モデルでは、グループｇ２の状態要素"Ｂ"は状態"ｕ"から状態"ｔ"へ遷移できないため、グループｇ２は可逆的でない。このグループｇ２は、グループｇ１の状態要素"Ａ"から依存されている状態要素"Ｂ"を含むため、構築手順の生成に失敗する可能性があり、実際に失敗する例は上述した通りである。
【００４３】
したがって、非特許文献１に記載の方法で構築手順の生成に失敗しないことを確認するには、次の点を確認すればよい。すなわち、状態モデルを１つ以上のグループに分割したときに、他のグループの状態要素から依存されている状態要素を含むグループが全て可逆的である、換言すると、可逆的でないグループの状態要素に依存する状態要素を含むグループが存在しない、ことを確認すればよい。また、仮に、可逆的でないグループの状態要素に依存する状態要素を含むグループが存在した場合には、グループの分割の仕方を変更し、そのようなグループがないようにすればよい。このようにすれば、状態モデルの分割に伴って構築手順の生成に失敗する可能性を排除できる。
【００４４】
＜第１の実施形態＞
次に、本発明の第１の実施形態について図面を参照して説明する。
【００４５】
［構成の説明］
図１は、本発明の第１の実施形態にかかるシステム構築手順生成装置の構成例を示すブロック図である。なお、当該システム構築手順生成装置は、本発明によるシステム構築手順支援システムが備える情報処理装置の一例でもある。図１に示すシステム構築手順生成装置１は、状態モデル単純化部１１と、状態モデル分割部１２と、可逆性判定部１５と、グループ別手順計算部１３と、手順統合部１４と、を備える。
【００４６】
これらの部は、それぞれ概略次のように動作する。
【００４７】
状態モデル単純化部１１は、手順の構築対象とされたシステムの状態モデルから、構築に不要と見込まれる要素を除去する。以下、手順の構築対象とされるシステムを、単に対象システムと表現する場合がある。
【００４８】
状態モデル分割部１２は、システムの構築手順を計算するにあたって、一緒に考慮して計算を行う必要があると見込まれる単位に状態モデルを分割する。ここで、「一緒に考慮して計算を行う必要があると見込まれる単位」とは、具体的には、状態モデルをグループに分割したときに、可逆的でないグループの状態要素に依存する状態要素を含むグループが存在しないようなグループ単位をいう。なお、最終的にそのようなグループ単位に分割されればよく、必ずしも最初の分割処理でそのようなグループに分割されることは要しない。状態モデル分割部１２は、まず、非特許文献１に記載されているような状態要素間の依存性に基づいて、状態モデルを分割してもよい。
【００４９】
可逆性判定部１５は、状態モデル分割部１２による分割の結果、得られた部分状態モデルのグループの各々について、当該グループに属する部分状態モデルの可逆性を判定する。
【００５０】
グループ別手順計算部１３は、状態モデル分割部１２による分割の結果、得られた部分状態モデルのグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算する。
【００５１】
手順統合部１４は、グループ別手順計算部１３によって計算されたグループごとの手順を統合し、システム全体の構築手順を生成する。
【００５２】
システム構築手順生成装置１は、例えば、パーソナルコンピュータやサーバ装置といったコンピュータであってもよい。また、図１に示す例には、システム構築手順生成装置１に、入力装置１０１、出力装置１０２および記憶部１０３が接続される例が示されているが、これらはシステム構築手順生成装置１自身が備えていてもよい。また、本実施形態において、状態モデル単純化部１１、状態モデル分割部１２、可逆性判定部１５、グループ別手順計算部１３および手順統合部１４は、例えば、プログラムに従って動作するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）等によって実現される。
【００５３】
［動作の説明］
次に、本実施形態の動作を説明する。図２は、本実施形態のシステム構築手順生成装置１の全体の動作の一例を示すフローチャートである。図２に示す例では、まず、状態モデル単純化部１１は、対象システムの状態モデルを入力として受け取り、受け取った状態モデルから、構築に不要と見込まれる要素を除去する（ステップＳ１１）。以下、ここで受け取った状態モデルを状態モデルＭ１１と表現し、また単純化された状態モデルを状態モデルＭ１２と表現する場合がある。なお、単純化されたか否かを特に問わない場合は、単純化されていなくても、状態モデルＭ１２と表現する場合がある。
【００５４】
次いで、状態モデル分割部１２は、構築手順を計算する上で一緒に考慮して計算を行う必要があると見込まれるグループ単位に状態モデルＭ１２を分割する（ステップＳ１２）。
【００５５】
次いで、可逆性判定部１５は、状態モデル分割部１２によって分割された各グループである各部分状態モデルについて、可逆性を判定する（ステップＳ１３）。状態モデル分割部１２は、ステップＳ１３での判定結果を受けて、必要に応じて状態モデルＭ１２の分割（グループ化）をやり直す。
【００５６】
次いで、グループ別手順計算部１３は、状態モデル分割部１２によって分割されたグループごとに、システム構築における部分的な手順を計算する（ステップＳ１４）。
【００５７】
最後に、手順統合部１４は、グループ別手順計算部１３によって計算されたグループごとの手順を統合し、システム全体の構築手順を生成する（ステップＳ１５）。
【００５８】
次に、図２のステップＳ１１の動作について、図３を参照してより詳細に説明する。図３は、図２のステップＳ１１として示した状態モデル単純化処理のより詳細な処理フローの一例を示すフローチャートである。この状態モデルの単純化処理は、非特許文献１に記載の状態モデルの単純化処理と基本的に同様でよい。
【００５９】
図３に示す例では、まず、状態モデル単純化部１１は、対象システムの状態モデルＭ１１を入力として受け取る（ステップＳ１１１）。
【００６０】
次いで、状態モデル単純化部１１は、状態要素の現在状態が要求状態であるか判定し（ステップＳ１１２）、要求状態であるとき、当該状態要素は構築手順計算の対象外として状態モデルから除去し（ステップＳ１１３）、さらに当該状態要素に関連する依存性も状態モデルから除去する（ステップＳ１１４）。
【００６１】
また、状態モデル単純化部１１は、広義の要求状態への遷移以外の遷移について、当該遷移が持つ依存性を除去する（ステップＳ１１５）。
【００６２】
このような動作により、単純化された状態モデルＭ１２が生成される。
【００６３】
次に、図２のステップＳ１２の動作について、より詳細に説明する。図２のステップＳ１２として示した状態モデルの分割処理は、非特許文献１に記載の状態モデルの分割処理と基本的に同様でよい。すなわち、状態モデル分割部１２は、単純化された状態モデルＭ１２内の各状態要素について、その他の状態要素への依存性がなければ、別のグループとして分割する。このとき、状態モデル分割部１２は、依存性がある場合でも、それが一方通行の依存性であるならば、同様に別のグループとして分割する。このような動作によって、１つ以上のグループ（部分状態モデルＭ１３）が生成される。
【００６４】
次に、図２のステップＳ１３の動作ついて、図４を参照してより詳細に説明する。図４は、ステップＳ１３として示した可逆性判定処理のより詳細な処理フローの一例を示すフローチャートである。図４に示す例では、まず、可逆性判定部１５は、分割後のグループから、まだ可逆性が判定されていないグループを一つ選ぶ（ステップＳ１３１）。以下、ステップＳ１３１で選択したグループをグループｇとする。
【００６５】
次いで、可逆性判定部１５は、グループｇの可逆性を判定する（ステップＳ１３２）。判定方法は限定されないが、可逆性判定部１５は、例えばグループｇに含まれる全ての状態要素の直積オートマトンを作成し、それをグラフに見立て強連結成分を確認する等して判定してもよい。
【００６６】
ステップＳ１３２の判定の結果、グループｇが可逆的であった場合、可逆性判定部１５は、グループｇの可逆性の判定を完了して、ステップＳ１３１に戻る。一方、グループｇが可逆的でなかった場合、可逆性判定部１５は、判定結果またはグループ再編成の依頼を、状態モデル分割部１２に出力する。
【００６７】
次いで、状態モデル分割部１２は、上記の判定結果またはグループ再編成の依頼を受けて、状態モデルＭ１２の分割方法を変更する（ステップＳ１３３）。変更対象になるのは、グループｇと、該グループｇが有する状態要素に依存する状態要素を含むグループ全部である。状態モデル分割部１２は、変更対象グループに含まれる全ての状態要素を一つにまとめたものを新たなグループとして、部分状態モデルＭ１３を作成しなおし、ステップＳ１３１に戻る。なお、ステップＳ１３３において作成された新たなグループは手順計算が完了していないものとして扱う。
【００６８】
以降、可逆性が判定されていないグループがなくなるまでこれらの動作を繰り返す（ステップＳ１３４）。
【００６９】
次に、図２のステップＳ１４の動作について、図５を参照して詳細に説明する。図５は、図２のステップＳ１４として示したグループ別手順計算処理のより詳細な処理フローの一例を示すフローチャートである。このグループ別手順計算処理は、非特許文献１に記載のシステム構築手順の計算処理と基本的に同様でよい。すなわち、最初に、グループ別手順計算部１３は、分割によって得られたグループのうち、当該グループ内の状態要素に依存する状態要素を含む他のグループが存在しないものか、当該グループ内の状態要素に依存する状態要素を含む他の全てのグループの手順計算が完了しているものを、任意に一つ選ぶ（ステップＳ１４１）。ステップＳ１４１で選んだグループをグループｇとする。
【００７０】
次いで、グループ別手順計算部１３は、グループｇに含まれる状態要素に依存している状態要素を含む他のグループの各々について、依存性を持つ状態遷移をまとめた仮状態要素を生成する（ステップＳ１４２）。
【００７１】
次いで、グループ別手順計算部１３は、生成した仮状態要素と、グループｇに含まれる状態要素をあわせたものを、手順計算上の制約とし、グループｇにおける手順を計算する（ステップＳ１４３）。ここで、グループ内の手順計算は、例えばＡｕｔｏｍａｔｅｄ
Ｐｌａｎｎｉｎｇ（自動計画）の技術により行うことができる。なお、グループ別手順計算部１３は、上記に限らずその他の技術を用いて手順計算を行ってもよい。ステップＳ１４３により手順計算を完了すると、ステップＳ１４７に戻る。なお、ステップＳ１４７において、当該グループｇは手順計算が完了したグループとして扱われる。
【００７２】
ステップＳ１４３の結果、グループｇに有効な手順が存在しないことが分かった場合は（ステップＳ１４４のＮｏ）、グループ別手順計算部１３は、状態モデルＭ１２には要求されたシステム状態への構築手順が存在しない旨の処理結果を生成し（ステップＳ１４５）、図２のステップＳ１５を省略して全体の処理を完了する（ステップＳ１４６）。
【００７３】
グループ別手順計算部１３は、手順計算が完了していないグループがなくなるまで上記の動作を繰り返す（ステップＳ１４７）。
【００７４】
次に、図２のステップＳ１５の動作について、より詳細に説明する。図２のステップＳ１５の動作として示した手順統合処理は、非特許文献１に記載のシステム構築手順の統合処理と基本的に同様でよい。すなわち、手順統合部１４は、ステップＳ１４により判明した各グループの手順と、各グループの手順間の順序関係とから、各グループの手順間の順序関係が壊れないように、各グループの手順を全て統合する。この動作により、全体のシステム構築手順を生成する。
【００７５】
［効果の説明］
以上のように、本実施形態は、状態モデル分割後の部分状態モデルの各グループについて、手順計算を行う前に可逆性を計算し、必要に応じて分割をやり直すように構成されている。これにより、最終的に、可逆的でないグループの状態要素が、その他のグループに含まれる状態要素に依存されることがないようにグループを分割できるため、システムの構築手順が実際には存在するにも関わらず、存在しないと誤って判断してしまうのを回避することができる。すなわち、本実施形態によれば、状態要素間の依存性に基づくグループ分割では正しく手順が生成できないケースであっても、正しく手順を生成することが可能である。
【００７６】
＜第２の実施形態＞
次に、本発明の第２の実施形態について図面を参照して説明する。以下では、第１の実施形態と同様の部分は同じ符号を付して記載省略し、異なる部分についてのみ説明する。
【００７７】
［構成の説明］
図６は、本発明の第２の実施形態にかかるシステム構築手順生成装置の構成例を示すブロック図である。図６に示すシステム構築手順生成装置２は、状態モデル単純化部１１と、状態モデル分割部２２と、可逆性判定部２５と、グループ別手順計算部２３と、手順統合部１４と、を備える。
【００７８】
これらの部は、それぞれ概略次のように動作する。
【００７９】
状態モデル分割部２２は、システムの構築手順を計算するにあたって、一緒に考慮して計算を行う必要があると見込まれる単位に状態モデルを分割する。ここで、「一緒に考慮して計算を行う必要があると見込まれる単位」とは、少なくとも、依存性に循環のある状態要素が同じグループになるようなグループ単位をいう。ただし、本実施形態では、状態モデル分割部２２は、可逆性判定部２５からの指示に応じて、グループを再編成する機能を有する。より具体的には、状態モデル分割部２２は、可逆性判定部２５からの指示により、指定された２以上のグループを、１つのグループに統合する機能を有する。
【００８０】
可逆性判定部２５は、状態モデル分割部２２による分割の結果、得られた部分状態モデルのグループのうちの指定されたグループについて、当該グループに属する部分状態モデルの可逆性を判定する。可逆性判定部２５は、例えば、グループ別手順計算部２３から指定されたグループについて、可逆性を判定する。また、可逆性判定部２５は、判定の結果、指定されたグループが可逆的でない場合であって、指定されたグループに仮状態要素が含まれている場合に、状態モデル分割部２２にグループの再編成を依頼する。
【００８１】
グループ別手順計算部２３は、状態モデル分割部２２による分割の結果、得られた部分状態モデルのグループごとに、システム構築における部分的な手順を計算する。本実施形態のグループ別手順計算部２３は、分割によって得られたグループごとに構築手順を計算した結果、手順が存在しないグループが存在した場合に、そのグループについて可逆性判定部２５に可逆性を判定させて、グループの再編集をするかどうかを判定させる機能を有する。
【００８２】
［動作の説明］
次に、本実施形態の動作を説明する。図７は、本実施形態のシステム構築手順生成装置の全体の動作の一例を示すフローチャートである。図７に示す例では、まず、状態モデル単純化部１１は、対象システムの状態モデルを入力として受け取り、受け取った状態モデルから、構築に不要と見込まれる要素を除去する（ステップＳ２１）。なお、ステップＳ２１の動作は、第１の実施形態におけるステップＳ１１と同様でよい。以下、ここで受け取った状態モデルを状態モデルＭ２１と表現し、また単純化された状態モデルを状態モデルＭ２２と表現する場合がある。なお、単純化されたか否かを特に問わない場合は、単純化されていなくても、状態モデルＭ２２と表現する場合がある。
【００８３】
次いで、状態モデル分割部２２は、構築手順を計算する上で一緒に考慮して計算を行う必要があると見込まれるグループ単位に状態モデルＭ２２を分割する（ステップＳ２２）。ステップＳ２２の動作は、第１の実施形態におけるステップＳ１２と同様でよい。ステップＳ２２では、１つ以上の部分状態モデルＭ２３が生成される。
【００８４】
次いで、グループ別手順計算部２３は、状態モデル分割部２２によって分割されたグループごとに、システム構築における部分的な手順の計算を行う（ステップＳ２３）。
【００８５】
さらに、ステップＳ２３では、必要に応じて、可逆性判定部２５が可逆性の判定を行ったり、状態モデル分割部２２が状態モデルＭ２２の分割のやり直し（グループ再編成）を行う。
【００８６】
最後に、手順統合部１４は、グループ別手順計算部２３によって計算されたグループごとの手順を統合し、システム全体の構築手順を生成する（ステップＳ２４）。なお、ステップＳ２４の動作は、第１の実施形態におけるステップＳ１５と同様でよい。
【００８７】
次に、図７のステップＳ２３の動作について、図８を参照してより詳細に説明する。図８は、図７のステップＳ２３として示したグループ別手順計算処理（グループ再編成処理を含む）のより詳細な処理フローの一例を示すフローチャートである。図８に示す例では、まず、グループ別手順計算部２３は、分割によって得られたグループのうち、当該グループ内の状態要素に依存する状態要素を含む他のグループが存在しないものか、当該グループ内の状態要素に依存する状態要素を含む他の全てのグループの手順計算が完了しているものから、任意に一つ選択する（ステップＳ２３１）。以下、ステップＳ２３１で選んだグループをグループｇとする。
【００８８】
次いで、グループ別手順計算部２３は、グループｇに含まれる状態要素に依存している状態要素を含む他のグループの各々について、依存性を持つ状態遷移をまとめた仮状態要素を生成する（ステップＳ２３２）。
【００８９】
次いで、グループ別手順計算部２３は、生成した仮状態要素と、グループｇに含まれる状態要素をあわせたものを、手順計算上の制約とし、グループｇにおける手順を計算する（ステップＳ２３３）。
【００９０】
なお、ステップＳ２３１〜ステップＳ２３３の動作は、図５に示した第１の実施形態のステップＳ１４１〜ステップＳ１４３と同様でよい。
【００９１】
ステップＳ２３３により手順計算が完了すると、ステップＳ２３１では当該グループｇを手順計算が完了したグループとして扱う。
【００９２】
ステップＳ２３３の結果、グループｇに有効な手順が存在しないことが分かった場合は（ステップＳ２３４のＮｏ）、可逆性判定部２５は、グループｇの可逆性を判定する（ステップＳ２３５）。なお、ステップＳ２３５で、可逆性判定部２５は、可逆性だけでなく、グループｇが仮状態要素を含むかの確認も行う。
【００９３】
ステップＳ２３５の結果、グループｇが可逆的でなく、かつ仮状態要素を含んでいる場合（ステップＳ２３５のＹｅｓ）、状態モデル分割部２２は、状態モデルＭ２２の分割方法を変更する（ステップＳ２３６）。ここで、変更対象になるグループは、グループｇと、該グループｇに含まれる状態要素に依存する状態要素を含むグループ全部である。状態モデル分割部２２は、例えば、可逆性判定部２５からの要求に応じて、変更対象グループに含まれる全ての状態要素をまとめたものを新たなグループとして、部分状態モデルＭ２３を作成しなおす。その後、ステップＳ２３９に戻る。なお、ステップＳ２３９において、ステップＳ２３６のグループ統合により新たに作成されたグループは手順計算が完了していないものとして扱われる。
【００９４】
一方、ステップＳ２３５において、グループｇが可逆的または仮状態要素を含んでいない場合（ステップＳ２３５のＮｏ）、可逆性判定部２５は、状態モデルＭ２２には要求されたシステム状態への構築手順が存在しない旨の処理結果を生成し（ステップＳ２３７）、図７のステップＳ２４を省略して全体の処理を完了する（ステップＳ２３８）。
【００９５】
グループ別手順計算部２３、可逆性判定部２５および状態モデル分割部２２は、手順計算が完了していないグループがなくなるまで上記の動作を繰り返す（ステップＳ２３９）。
【００９６】
［効果の説明］
本実施形態は、状態モデル分割後の部分状態モデルの各グループについて手順計算を行う過程で、有効な手順が生成できないグループがあった場合に、依存性および可逆性を判定した上で、適宜グループの分割をやり直すよう構成されている。このため、仮に最初の状態モデルの分割処理で可逆的でないグループの状態要素が、他のグループの状態要素に依存されるようなグループ構成が含まれており、当該他のグループの手順計算の結果、依存先のグループの手順が生成できないと判断された場合であっても、グループの再編成を行うことにより、そのような誤判定を防止することができる。すなわち、本実施形態によれば、単純な依存性に基づくグループ分割では正しく手順が生成できなかったケースであっても、正しく手順を生成することが可能である。
【００９７】
なお、上記の各実施形態では、状態モデルを分割する部（状態モデル分割部１２、状態モデル分割部２２）と、分割後のグループを再編成する部とが同じ場合を例に示したが、これらは別々の部であってもよい。
【００９８】
次に、本発明の概要を説明する。図９は、本発明の概要を示すブロック図である。図９に示すシステム構築手順支援システムは、状態モデル分割部５０１と、可逆性判定部５０２と、グループ別手順計算部５０３と、手順統合部５０４とを備える。
【００９９】
状態モデル分割部５０１（例えば、状態モデル分割部１２、状態モデル分割部２２）は、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する。
【０１００】
可逆性判定部５０２（例えば、可逆性判定部１５、可逆性判定部２５）は、指定されたグループに属する状態要素群の可逆性を判定する。
【０１０１】
グループ別手順計算部５０３（例えば、グループ別手順計算部１３、グループ別手順計算部２３）は、分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算する。
【０１０２】
手順統合部５０４（例えば、手順統合部１４）は、グループごとに計算された手順を統合する。
【０１０３】
ここで、状態モデル分割部５０１は、状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、状態モデルを１つ以上のグループに分割してもよい。
【０１０４】
また、状態モデル分割部５０１は、グループごとの手順計算結果および可逆性の判定結果に基づいて、グループを再編してもよい。
【０１０５】
また、状態モデル分割部５０１は、有効な手順が算出されず、かつ可逆的でないと判定されたグループがあった場合に、当該グループと当該グループに属する状態要素群のいずれかに依存性を有している状態要素を含むグループとを１つのグループに纏める再編成を行ってもよい。
【０１０６】
このような構成により、状態要素間の依存性に基づいて状態モデルを分割しただけでは防げない、実際には手順が存在するにも関わらず手順が存在しないと誤って判定してしまう問題を回避できる。したがって、システムの構築手順を、計算量を抑えつつ、より確実に生成できる。
【０１０７】
また、図１０は、本発明による情報処理装置の他の構成例を示すブロック図である。図１０に示すように、本発明による情報処理装置の他の構成例は、状態モデル分割部５０１と、可逆性判定部５０２と、グループ再編成部５０５とを備えていてもよい。
【０１０８】
図１０に示す構成において、状態モデル分割部５０１は、少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、状態モデルを１つ以上のグループに分割する。また、可逆性判定部５０２は、指定されたグループに属する状態要素群の可逆性を判定する。グループ再編成部５０５は、可逆性の判定結果に基づいて、グループを再編成する。
【０１０９】
このような構成によっても、同様の問題を回避できる。したがって、システムの構築手順を、計算量を抑えつつ、より確実に生成できる。
【０１１０】
＜他の形態＞
上述のように、本発明の実施形態に係るシステム構築手順生成装置は、パーソナルコンピュータやサーバ装置等のコンピュータであってもよい。具体的には、本発明の実施形態に係るシステム構築手順生成装置は、記憶媒体から読み出されたプログラムがロードされたメモリと、そのプログラムを実行するプロセッサとを含むコンピュータによって実現できる。本発明の実施形態に係るシステム構築手順生成装置は、専用のハードウェアによっても実現できる。本発明の実施形態に係るシステム構築手順生成装置は、前述のコンピュータと専用のハードウェアとの組み合わせによっても実現できる。
【０１１１】
同様に、上述の情報処理装置は、記憶媒体から読み出されたプログラムがロードされたメモリと、そのプログラムを実行するプロセッサとを含むコンピュータによって実現できる。上述の情報処理装置は、専用のハードウェアによっても実現できる。上述の情報処理装置は、前述のコンピュータと専用のハードウェアとの組み合わせによっても実現できる。
【０１１２】
図１６は、本発明の実施形態に係るシステム構築手順生成装置及び情報処理装置を実現できるコンピュータ１０００の構成の例を示すブロック図である。図１６を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記憶媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記憶媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記憶媒体である。記憶装置１００３が記憶媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、入力装置１０１、出力装置１０２、及び、記憶部１０３などにアクセスすることができる。プロセッサ１００１は、記憶媒体１００５にアクセスできる。
【０１１３】
記憶媒体１００５には、コンピュータ１０００を、システム構築手順生成装置１として動作させるプログラムが格納されている。言い換えると、記憶媒体１００５は、例えば、状態モデル単純化部１１、状態モデル分割部１２、グループ別手順計算部１３、手順統合部１４、及び、可逆性判定部１５の機能を実現するプログラムを記憶している。
【０１１４】
プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、システム構築手順生成装置１として動作する。即ち、状態モデル単純化部１１、状態モデル分割部１２、グループ別手順計算部１３、手順統合部１４及び可逆性判定部１５は、それぞれ、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。
【０１１５】
状態モデル単純化部１１、状態モデル分割部１２、グループ別手順計算部１３、手順統合部１４、及び、可逆性判定部１５は、それぞれ、専用の回路によっても実現できる。状態モデル単純化部１１、状態モデル分割部１２、グループ別手順計算部１３、手順統合部１４、及び、可逆性判定部１５は、それぞれ、上述のメモリ１００２及びプロセッサ１００１と、専用の回路との組み合わせによっても実現できる。
【０１１６】
記憶媒体１００５には、コンピュータ１０００を、システム構築手順生成装置２として動作させるプログラムが格納されていてもよい。言い換えると、記憶媒体１００５は、例えば、状態モデル単純化部１１、状態モデル分割部２２、グループ別手順計算部２３、手順統合部１４、及び、可逆性判定部２５の機能を実現するプログラムを記憶していてもよい。
【０１１７】
プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、システム構築手順生成装置２として動作する。即ち、さらに、状態モデル分割部２２、グループ別手順計算部２３、及び可逆性判定部２５は、それぞれ、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。
【０１１８】
状態モデル分割部２２、グループ別手順計算部２３、及び可逆性判定部２５は、それぞれ、専用の回路によっても実現できる。状態モデル分割部２２、グループ別手順計算部２３、及び可逆性判定部２５は、それぞれ、上述のメモリ１００２及びプロセッサ１００１と、専用の回路との組み合わせによっても実現できる。
【０１１９】
記憶媒体１００５には、コンピュータ１０００を、図９に示すシステム構築手順生成装置として動作させるプログラムが格納されていてもよい。言い換えると、記憶媒体１００５は、例えば、状態モデル分割部５０１、可逆性判定部５０２、グループ別手順計算部５０３、及び、手順統合部５０４の機能を実現するプログラムを記憶していてもよい。
【０１２０】
プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、図９に示すシステム構築手順生成装置として動作する。状態モデル分割部５０１、可逆性判定部５０２、グループ別手順計算部５０３、及び、手順統合部５０４は、それぞれ、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。
【０１２１】
状態モデル分割部５０１、可逆性判定部５０２、グループ別手順計算部５０３、及び、手順統合部５０４は、それぞれ、専用の回路によっても実現できる。状態モデル分割部５０１、可逆性判定部５０２、グループ別手順計算部５０３、及び、手順統合部５０４は、それぞれ、上述のメモリ１００２及びプロセッサ１００１と、専用の回路との組み合わせによっても実現できる。
【０１２２】
記憶媒体１００５には、コンピュータ１０００を、図１０に示す情報処理装置として動作させるプログラムが格納されていてもよい。言い換えると、記憶媒体１００５は、例えば、状態モデル分割部５０１、可逆性判定部５０２、及び、グループ再編成部５０５の機能を実現するプログラムを記憶していてもよい。
【０１２３】
プロセッサ１００１は、記憶媒体１００５に格納されているプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行する。そして、コンピュータ１０００は、図１０に示す情報処理装置として動作する。状態モデル分割部５０１、及び、可逆性判定部５０２に加えて、グループ再編成部５０５は、上述のプログラムがロードされたメモリ１００２と、そのプログラムを実行するプロセッサ１００１とにより実現できる。
【０１２４】
グループ再編成部５０５は、専用の回路によっても実現できる。グループ再編成部５０５は、上述のメモリ１００２及びプロセッサ１００１と、専用の回路との組み合わせによっても実現できる。
【０１２５】
以上、本実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１２６】
以上で説明した本実施形態は、２０１５年１１月２７日に出願された日本出願特願２０１５−２３１３３３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２７】
本発明は、Ｉｎｔｅｒｎｅｔ  Ｔｅｃｈｎｏｌｏｇｙ（ＩＴ）システムに限らず、複数の部品からなるシステムを構築する際の設計支援に好適に適用可能である。
【符号の説明】
【０１２８】
１、２  システム構築手順生成装置
１１  状態モデル単純化部
１２、２２  状態モデル分割部
１３、２３  グループ別手順計算部
１４  手順統合部
１５、２５  可逆性判定部
１０１  入力装置
１０２  出力装置
１０３  記憶部
５０１  状態モデル分割部
５０２  可逆性判定部
５０３  グループ別手順計算部
５０４  手順統合部
５０５  グループ再編成部
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記憶媒体
【図１】
2017090506.tif 000003
【図２】
2017090506.tif 000004
【図３】
2017090506.tif 000005
【図４】
2017090506.tif 000006
【図５】
2017090506.tif 000007
【図６】
2017090506.tif 000008
【図７】
2017090506.tif 000009
【図８】
2017090506.tif 000010
【図９】
2017090506.tif 000011
【図１０】
2017090506.tif 000012
【図１１】
2017090506.tif 000013
【図１２】
2017090506.tif 000014
【図１３】
2017090506.tif 000015
【図１４】
2017090506.tif 000016
【図１５】
2017090506.tif 000017
【図１６】
2017090506.tif 000018
【手続補正書】
【提出日】平成30年5月23日(2018.5.23)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割手段と、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算手段と、
前記グループごとに計算された手順を統合する手順統合手段とを備えた
ことを特徴とするシステム構築支援システム。
【請求項２】
状態モデル分割手段は、状態要素間の依存性と、分割後のグループに属する状態要素群の可逆性とに基づいて、前記状態モデルを１つ以上のグループに分割する
請求項１に記載のシステム構築支援システム。
【請求項３】
状態モデル分割手段は、グループごとの手順計算結果および可逆性の判定結果に基づいて、グループを再編成する
請求項１または請求項２に記載のシステム構築支援システム。
【請求項４】
状態モデル分割手段は、有効な手順が算出されず、かつ可逆的でないと判定されたグループがあった場合に、当該グループと当該グループに属する状態要素群のいずれかに依存性を有している状態要素を含むグループとを１つのグループに纏める再編成を行う
請求項３に記載のシステム構築支援システム。
【請求項５】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割手段と、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定手段と、
前記可逆性の判定結果に基づいて、前記グループを再編成するグループ再編成手段とを備えた
ことを特徴とする情報処理装置。
【請求項６】
コンピュータに、
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割処理、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算するグループ別手順計算処理、および
前記グループごとに計算された手順を統合する手順統合処理
を実行させるためのシステム構築支援プログラム。
【請求項７】
コンピュータに、
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割する状態モデル分割処理、
指定されたグループに属する状態要素群の可逆性を判定する可逆性判定処理、および
前記可逆性の判定結果に基づいて、前記グループを再編成するグループ再編成処理
を実行させるためのシステム構築支援プログラム。
【請求項８】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
指定されたグループに属する状態要素群の可逆性を判定し、
分割後のグループごとに、当該グループに属する状態要素群を要求状態へ遷移させるための手順を計算し、
前記グループごとに計算された手順を統合する
システム構築支援方法。
【請求項９】
有効な手順が算出されず、かつ可逆的でないと判定されたグループがあった場合に、当該グループと当該グループに属する状態要素群のいずれかに依存性を有している状態要素を含むグループとを１つのグループに纏める再編成を行う
請求項８に記載のシステム構築支援方法。
【請求項１０】
少なくとも状態モデルに含まれる状態要素間の依存性に基づいて、前記状態モデルを１つ以上のグループに分割し、
指定されたグループに属する状態要素群の可逆性を判定し、
前記可逆性の判定結果に基づいて、前記グループを再編成する
情報処理方法。
【国際調査報告】
2017090506.tif 000019
2017090506.tif 000020