(57)【要約】【課題】等価関係が定義されているグラフを変換する場合に、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、グラフ変換を支援する。【解決手段】入力装置２０が入力解析手段１００へ入力情報を送信すると、入力解析手段１００は、受信した入力情報から変換操作Ｋを特定し、その変換操作Ｋを探索信号として探索手段ＳＫへ送信する。探索手段ＳＫは、記憶装置５０のグラフ保持領域１４０に格納されているグラフのデータ構造を取得し、変換操作Ｋを適用可能な適用箇所を特定し、適用箇所の情報を等価性判定手段ＪＫへ送信する。等価性判定手段ＪＫは、グラフのデータ構造を取得し、適用箇所が等価性条件ＣＫを満たしているか否かをグラフのデータ構造を用いて判定し、等価性条件ＣＫを満たす適用箇所の情報を描画手段１３０に送信する。描画手段１３０は、適用箇所を示す情報をウィジェット６０上に描画する。【選択図】図１
2010152748.tif 000002
【特許請求の範囲】
【請求項１】
等価関係が定義されているグラフの変換を支援する端末と、管理者からの入力情報を受け付けて前記グラフに適用する変換操作を選択する入力装置と、複数のウィジェットから構成されるグラフエディタを表示する表示装置とを備えるグラフ変換支援システムであって、
前記端末は、データ処理装置と記憶装置とを備え、
前記データ処理装置は
選択されたグラフに適用する変換操作を特定する入力解析手段と、
前記入力解析手段で特定された変換操作の適用可能な箇所を前記グラフから探索する探索手段と、
前記変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する等価性判定手段と、
前記等価性を満たす条件を満たしている変換操作の適用可能な箇所を前記表示装置へ通知する描画手段とを具備し、
前記記憶装置は、
前記グラフのデータ構造を格納するグラフ保持領域を具備する
ことを特徴とするグラフ変換支援システム。
【請求項２】
前記入力解析手段が特定する変換操作、前記探索手段、及び、前記等価性判定手段は、それぞれ複数で構成され、前記変換操作、前記探索手段、及び、前記等価性判定手段は、それぞれ１つずつ対応付けられていることを特徴とする請求項１に記載のグラフ変換支援システム。
【請求項３】
等価性を満たす条件である等価性条件は、前記等価性判定手段と対応付けられることを特徴とする請求項１又は２に記載のグラフ変換支援システム。
【請求項４】
前記入力装置は、グラフに適用する変換操作を選択したときの入力情報を前記入力解析手段へ送信することを特徴とする請求項１乃至３の何れか1項に記載のグラフ変換支援システム。
【請求項５】
前記入力解析手段は、前記入力装置から入力された入力情報に基づいてグラフに適用する変換操作を特定し、特定された変換操作と対応付けられる前記探索手段に対して探索信号を送信することを特徴とする請求項１乃至４の何れか1項に記載のグラフ変換支援システム。
【請求項６】
前記探索手段は、前記グラフ保持領域に格納されているグラフのデータ構造を取得して、その探索手段に対応付けられる変換操作を適用できるグラフの適用箇所を特定し、特定された適用箇所の情報を前記探索手段に対応付けられた等価性判定手段へ送信することを特徴とする請求項１乃至５の何れか1項に記載のグラフ変換支援システム。
【請求項７】
前記等価性判定手段は、前記グラフ保持領域に格納されているグラフのデータ構造を取得して、前記適用箇所の情報から該当する適用箇所を取得し、取得された適用箇所が、前記等価性判定手段と対応付けられる等価性条件を満たすか否かを判定し、等価性条件を満たす全ての適用可能箇所の情報を前記描画手段へ送信することを特徴とする請求項１乃至６の何れか1項に記載のグラフ変換支援システム。
【請求項８】
前記描画手段は、前記適用可能箇所の情報から適用箇所を取得し、取得された適用箇所を示す情報を前記ウィジェットに描画することで、前記変換操作の適用可能な箇所を前記表示装置へ通知することを特徴とする請求項１乃至７の何れか1項に記載のグラフ変換支援システム。
【請求項９】
前記グラフは、ＲＢＡＣモデルにおけるロールの階層構造を表すグラフであることを特徴とする請求項１乃至８の何れか1項に記載のグラフ変換支援システム。
【請求項１０】
前記等価性判定手段が判定する等価性条件は、
前記グラフの辺の追加操作に関しては、追加する辺の両端の継承元ロールＲ１と継承先ロールＲ２の２つのロールに対し、Ｒ１の特権集合⊆Ｒ２の特権集合を満たし、
前記グラフの辺の削除操作に関しては、削除する辺の両端の継承元ロールＲ１と継承先ロールＲ２の２つのロールに対し、辺を削除後に、Ｒ１の特権集合⊆Ｒ２の特権集合を満たし、
特権の追加操作に関しては、特権を追加するロールの親ロールの１つ以上に、追加する特権が割り当てられ、
特権の削除操作に関しては、特権を削除するロールの親ロールの１つ以上に、削除する特権が割り当てられ、
抽象ロールの追加操作に関しては、任意のロール間に追加可能であり、
前記抽象ロールの削除操作に関しては、削除する抽象ロールに特権が直接割り当てられていない
ことを特徴とする請求項３乃至９の何れか1項に記載のグラフ変換支援システム。
【請求項１１】
等価関係が定義されているグラフの変換を支援するグラフ変換支援方法であって、
選択されたグラフに適用する変換操作を特定する第1のステップと、
特定された変換操作の適用可能な箇所をグラフから探索する第２のステップと、
前記変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する第３のステップと、
前記等価性を満たす条件を満たしている変換操作の適用可能な箇所を通知する第４のステップと、
前記変換操作の適用可能な箇所の情報としてウィジェットを表示する第５のステップとを含むことを特徴とするグラフ変換支援方法。
【請求項１２】
前記第２のステップは、前記第１のステップで特定された変換操作を適用できるグラフの適用箇所を特定することを特徴とする請求項１１に記載のグラフ変換支援方法。
【請求項１３】
前記第３のステップは、前記適用箇所が等価性を満たす条件を満たすか否かを判定し、その適用箇所から適用可能な箇所を選択することを特徴とする請求項１１又は１２に記載のグラフ変換支援方法。
【請求項１４】
前記第４のステップは、前記適用可能箇所を示す情報を前記ウィジェットに描画することで、前記変換操作の適用可能な箇所を通知することを特徴とする請求項１１乃至１３の何れか１項に記載のグラフ変換支援方法。
【請求項１５】
請求項１１乃至１４の何れか１項に記載のグラフ変換支援方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、等価関係が定義されているグラフの変換において、ノードや辺の追加／削除などの変換操作のグラフへの適用技術に関し、特に、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、管理者によるグラフ変換を支援するグラフ変換支援システム、グラフ変換支援方法、及びこの方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
一般的に、数学の一分野であるグラフ理論では、ノードの集合と辺の集合で構成されるグラフを扱う。このときのグラフは、ノード間の構造や関係を示すのに適した表現形式である。このようなグラフの例として、ＲＢＡＣ（Role-Based Access Control）におけるロールの階層構造を表したＲＢＡＣ１というモデルが非特許文献１に開示されている。ＲＢＡＣは、ユーザに許可する特権を制御するアクセス制御モデルの１つであり、ユーザ、ロール、及び特権の３組から構成される。
【０００３】
管理者は、あらかじめロールに複数の特権を割り当てる。そして、ユーザとロールを関連付けることで、ユーザは関連付けられたロールに割り当てられた特権を使用できる。例えば、ロールとして部長ロールが存在し、部長ロールには承認特権が割り当てられているとする。管理者が部長（ユーザ）を部長ロールに関連付けることにより、部長は承認特権を使用できる。このようにＲＢＡＣでは、ロール（部長ロール）を介してユーザ（部長）と特権（認証特権）を結びつける。ロールは特権を取りまとめる単位であり、ロールを用いることでユーザに効率よく特権を許可することができる。
【０００４】
先に挙げた例のように、実組織内における役職などとロールとの親和性は高い。役職をロールとして表した場合、組織改編に伴い、ロールの改編が必要となることもある。
【０００５】
ＲＢＡＣ１はロールの階層構造を表現するグラフで、そのノードはロールを表し、その辺はロールに割り当てられる特権の継承関係を表す。グラフ間には関係が定義されることがある。例えば、ＲＢＡＣ１では、グラフの等価関係を定義できる。２つのグラフのロール集合（ノード集合を意味する）をＳ１＝｛α１，…αｎ｝、Ｓ２＝｛β１，…βｍ｝としたときに、以下に示す関係を満たすときに２つのグラフは等価関係にあるという。
（１）ｎ＝ｍ
（２）∀α∈Ｓ１、∃β∈Ｓ２、Ｐ（α）＝Ｐ（β）
（３）∀β∈Ｓ２、∃α∈Ｓ１、Ｐ（α）＝Ｐ（β）
ここで、Ｐ（α）、Ｐ（β）はロールに割り当てられている特権集合を返す関数である。
【０００６】
すなわち、ノード数が等しく、一方のグラフ中のノードに割り当てられている特権集合と等しい特権集合を持つノードが他方のグラフ中に存在するときに、２つのグラフは等価関係にある。グラフの変換前後において、それらの２つのグラフが等価関係にあるということは、２つのグラフで定義するロール集合が等しいということを意味する。つまり、２つのグラフに含まれるユーザに割り当て可能なロール集合は等しい。
【０００７】
また、ロールには、オブジェクト指向技術の抽象クラスに相当する抽象ロールという概念も存在する。抽象ロールは、抽象クラスと同様に、他のロールに共通する特権を集約し、グラフの拡張を容易にする目的で使用される。抽象クラスが具体的なオブジェクトを生成しないのと同様に、抽象ロールにはユーザが割り当てられない。従って、抽象ロールは、等価関係を判定するときのロール集合から除外できる。
【０００８】
グラフの等価関係は、組織改編などを契機とするロールの改編が必要などの理由で、グラフを拡張するときに有用である。管理者がグラフを拡張する場合、グラフを一度、拡張しやすい形に変換することが多い。例えば、あるプロジェクト１の役職を表したＲＢＡＣ1モデルに準拠するグラフ１を、新しいプロジェクト２の役職を追加する形で拡張したＲＢＡＣ1モデルに準拠するグラフ２に変換する場合を考える。プロジェクト１とプロジェクト２における同じ役職（例えば、プログラマ）に共通の特権を抽象化してある場合、新しいプロジェクトを追加するには、抽象化したロールの子ロールとして各プロジェクトのロールを追加すればよい。
【０００９】
このような場合、共通の特権を取りまとめる抽象ロールを持つような形（このような形に変換したグラフ１をグラフ１’とする）にグラフ１を変換する必要がある。しかし、グラフ１とグラフ１’の間に等価関係が満たされないと、グラフ１とグラフ１’の表す意味（すなわち、グラフが表すロール集合）が変わってしまうため、グラフ１をグラフ２に変換するという管理者の目的を達成できない。
【００１０】
すなわち、等価関係を満たさないグラフ１’をベースとして拡張したグラフ２は、グラフ１を拡張したグラフであることが保証されない。そのため、グラフの等価関係を判定することは有用である。
【００１１】
管理者がグラフを変換するときに、複数のウィジェットから構成されるグラフエディタを用いて変換することがある。管理者は、マウスなどの入力機器を通してグラフエディタを操作し、グラフエディタの提供する機能（例えば、辺の追加／削除、ノードの追加／削除、ノードの描画位置の移動、など）を用いてグラフを変換する。このときグラフエディタは、管理者からの入力指示に基づいて画面上に表示するグラフを変形させて表示する。管理者は、画面に表示されるグラフを見ながら繰り返しグラフに修正を加えることでグラフを変換する。
【非特許文献１】R.S.Sandhu,E.J.Coyne,H.L.Feinstein,and C.E.Youman,"Role-Based Access Control Models",IEEE Computer, vol.29, no.2, pages 38-47,Feb.1996
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記従来のグラフ変換支援システムでは、管理者がグラフエディタを用いてグラフを変換するときに、変換操作の選択後に等価関係を満たす変換操作の適用箇所を容易に把握できないという問題がある。その理由は、グラフエディタの目的が、ノードや辺の意味を考慮することなくグラフの構成要素（ノードや辺）を変換することにあり、グラフの等価関係を考慮していないためである。そのため、管理者は、変換操作を選択し、その変換操作をグラフに適用した場合にグラフの等価関係を満たすか否かを常に確認する必要がある。
【００１３】
本発明は、このような事情に鑑みてなされたものであり、等価関係が定義されているグラフの変換において、変換操作のグラフへの適用に関し、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、管理者によるグラフ変換を支援するグラフ変換支援システム、グラフ変換支援方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
前記の目的を達成するために、本発明のグラフ変換支援システムは、等価関係が定義されているグラフの変換を支援する端末と、管理者からの入力情報を受け付けてグラフに適用する変換操作を選択する入力装置と、複数のウィジェットから構成されるグラフエディタを表示する表示装置とを備えるグラフ変換支援システムであって、端末は、データ処理装置と記憶装置とを備え、データ処理装置は、選択されたグラフに適用する変換操作を特定する入力解析手段と、入力解析手段で特定された変換操作の適用可能な箇所をグラフから探索する探索手段と、変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する等価性判定手段と、等価性を満たす条件を満たしている変換操作の適用可能な箇所を表示装置へ通知する描画手段とを具備し、記憶装置は、グラフのデータ構造を格納するグラフ保持領域を具備することを特徴とする。
【００１５】
また、本発明はグラフ変換支援方法を提供することもできる。すなわち、等価関係が定義されているグラフの変換を支援するグラフ変換支援方法であって、選択されたグラフに適用する変換操作を特定する第1のステップと、特定された変換操作の適用可能な箇所をグラフから探索する第２のステップと、変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する第３のステップと、等価性を満たす条件を満たしている変換操作の適用可能な箇所を通知する第４のステップと、変換操作の適用可能な箇所の情報としてウィジェットを表示する第５のステップとを含むグラフ変換支援方法を提供することもできる。
さらに、本発明のプログラムは、上記グラフ変換支援方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、管理者がグラフエディタを用いてグラフを変換するときに、変換操作を選択した後に、等価関係を満たす変換操作の適用箇所を容易に把握することができる。このようして変換操作を適用することにより、等価関係を満たさなくなるか否かを管理者自身が判断する必要がなくなるので、管理者の操作負担を軽減することが可能となる。すなわち、管理者が変換操作の選択をすると、端末側が、変換操作の適用可能な箇所をグラフから探索し、適用可能な箇所が等価性条件を満たしているか否かを判定し、表示装置が等価性を満たしている適用箇所を管理者に通知するために、管理者の操作負担が軽減される。
【発明を実施するための最良の形態】
【００１７】
《実施形態》
次に、本発明のグラフ変換支援システムを実現するための最良の実施形態について、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るグラフ変換支援システムの構成を示すブロック図である。先ず、図１に示すグラフ変換支援システムの構成について説明する。本実施形態のグラフ変換支援システムは、等価関係が定義されているグラフの変換を支援する端末１０と、管理者からの入力情報を受け付けてグラフに適用する変換操作を選択する入力装置２０と、複数のウィジェット６０から構成されるグラフエディタ（図示せず）を表示する表示装置３０とを備えて構成されている。
【００１８】
端末１０は、グラフのデータを処理するデータ処理装置４０と、グラフのデータ構造を格納するグラフ保持領域１４０を有する記憶装置５０とを備えて構成されている。
【００１９】
データ処理装置４０は、入力情報からグラフに適用する変換操作を特定する入力解析手段１００と、変換操作の適用可能な箇所をグラフから探す複数の探索手段Ｓ１〜ＳＮと、変換操作ごとに、適用可能な箇所が等価性を満たす条件（以後、等価性条件と呼ぶ）を満たしているか否かを判定する複数の等価性判定手段Ｊ１〜ＪＮと、等価性条件を満たしている適用箇所を管理者に通知するために、表示装置３０のウィジェット６０上に描画を行う描画手段１３０とを備えて構成されている。
【００２０】
次に、図１に示すグラフ変換支援システムの動作について概略的に説明する。グラフ変換支援システムは、図１に示すような構成を採用することにより、入力装置２０は、管理者による入力操作の情報（入力情報）を受け付け、表示装置３０のウィジェット６０上に表示された変換操作の選択を行う。このとき、選択時に入力装置２０から入力された入力情報は、端末１０のデータ処理装置４０における入力解析手段１００へ送信される。
【００２１】
また、表示装置３０はウィジェット６０を管理者に対して表示する。表示装置３０にウィジェット６０が表示されることで、管理者は、変換操作、グラフ、及び、変換操作の適用箇所を認識することができる。さらに、ウィジェット６０は、管理者に対して変換操作を提示すると共に、グラフの表示領域も備えている。したがって、管理者は、入力装置２０を用いて、表示装置３０のウィジェット６０に提示されている変換操作を自在に選択することが可能である。
【００２２】
端末１０は、データ処理装置４０と記憶装置５０とを含む端末であって、データ処理装置４０は、入力解析手段１００と探索手段Ｓ１〜ＳＮと等価性判定手段Ｊ１〜ＪＮと描画手段１３０とを備えている。従って、データ処理装置４０の入力解析手段１００が入力装置２０から入力情報を受信すると、入力解析手段１００は、その入力情報から変換操作を特定し、特定された変換操作に対応する探索手段ＳＫ（１≦Ｋ≦Ｎ）に対して探索信号を送信する。
【００２３】
探索手段ＳＫは、入力解析手段１００から探索信号を受信すると、記憶装置５０のグラフ保持領域１４０に格納されているグラフのデータ構造を取得し、変換操作を適用できるグラフの適用箇所を特定する。そして、探索手段ＳＫは、特定された適用箇所の情報を等価性判定手段ＪＫへ送信する。
【００２４】
これによって、等価性判定手段ＪＫ（１≦Ｋ≦Ｎ）は、探索手段ＳＫから適用箇所の情報を受信すると、記憶装置５０のグラフ保持領域１４０に格納されているグラフのデータ構造を取得し、受信した適用箇所の情報から全ての適用箇所を抽出する。そして、等価性判定手段ＪＫは、抽出した各適用箇所に対して、等価性条件を満たすか否かをグラフのデータ構造を用いて順に判定する。そして、等価性条件を満たす全ての適用箇所の情報を描画手段１３０へ送信する。
【００２５】
また、描画手段１３０は、等価性判定手段ＪＫ（１≦Ｋ≦Ｎ）から適用箇所の情報を受信すると、その適用箇所の情報から全ての適用箇所を抽出する。そして、管理者に通知するために抽出した各適用箇所を示す情報を表示装置３０のウィジェット６０上に描画する。尚、記憶装置５０は、グラフ保持領域１４０を含んでいて、このグラフ保持領域１４０はグラフのデータ構造を格納している。
【００２６】
すなわち、図1に示すグラフ変換支援システムによれば、管理者が入力装置２０を用いてグラフに適用する変換操作を選択すると、入力装置２０は、管理者が入力した入力情報を端末１０におけるデータ処理装置４０の入力解析手段１００へ送信する。入力解析手段１００は、受信した入力情報から変換操作を特定し、特定された変換操作に対応する探索手段Ｓｉへ探索信号を送信する。これによって、探索手段Ｓｉは、記憶装置５０のグラフ保持領域１４０に格納されているグラフのデータ構造を取得して、変換操作を適用可能な適用箇所を特定する。そして、探索手段ＳＫは、特定された適用箇所の情報を、変換操作に対応する等価性判定手段ＪＫへ送信する。
【００２７】
等価性判定手段Ｊｉは、記憶装置５０のグラフ保持領域１４０に格納されているグラフのデータ構造を取得し、適用箇所が等価性条件を満たしているか否かを、取得したグラフのデータ構造を用いて判定し、等価性条件を満たしている適用箇所の情報を描画手段１３０へ送信する。そして、描画手段１０３は、等価性判定手段ＪＫから受信した適用箇所を管理者に通知するために、適用箇所を示す情報を表示装置３０のウィジェット６０上に描画する。これによって、グラフ変換支援システムは、入力装置２０を操作する管理者に対して等価関係が定義されているグラフの変換を支援することができる。
【００２８】
次に、図１乃至図５を参照して、図１に示すグラフ変換支援システムの動作について詳細に説明する。図２は、図1に示す入力解析手段１００の動作の流れを示すフローチャートである。図３は、図1に示す探索手段ＳＫ（１≦Ｋ≦Ｎ）の動作の流れを示すフローチャートである。図４は、図１に示す等価性判定手段ＪＫ（１≦Ｋ≦Ｎ）の動作の流れを示すフローチャートである。また、図５は、図１に示す描画手段１３０の動作の流れを示すフローチャートである。
【００２９】
尚、前提条件として、記憶装置５０のグラフ保持領域１４０には、グラフ１（図示せず）のデータ構造が格納されているとする。また、表示装置３０のウィジェット６０上にはグラフ１が表示され、変換操作として変換操作１〜変換操作Ｎ（図示せず）がウィジェット６０に提示されているとする。さらに、変換操作Ｋ（１≦Ｋ≦Ｎ）に対応する探索手段と等価性判定手段は、それぞれ、探索手段ＳＫと等価性判定手段ＪＫであるものとする。また、等価性判定手段ＪＫが判定する等価性条件は等価性条件ＣＫとする。さらに、表示装置３０はウィジェット６０を表示するものとする。
【００３０】
いま、管理者が入力装置２０を用いて、ウィジェット６０上に表示されているグラフ１に適用する変換操作Ｋ（１≦Ｋ≦Ｎ）を選択したとする。変換操作１を選択するために入力装置２０から入力された入力情報は、入力解析手段１００へ送信される。
【００３１】
以上のような前提条件に基づいて、先ず、図２のフローチャートに基づいて入力解析手段１００の動作の流れを説明する。入力解析手段１００は、入力装置２０から入力情報を受信すると（ステップＡ１）、受信された入力情報から変換操作Ｋを特定する（ステップＡ２）。そして、入力解析手段１００は、特定された変換操作Ｋに対応する探索手段ＳＫへ探索信号を送信する（ステップＡ３）。
【００３２】
次に、図３のフローチャートに基づいて探索手段ＳＫの動作の流れを説明する。探索手段ＳＫは、入力解析手段１００から探索信号を受信すると（ステップＢ１）、記憶装置５０のグラフ保持領域１４０に格納されているグラフ１のデータ構造を取得する（ステップＢ２）。そして、探索手段ＳＫは、取得したデータ構造を対象に、変換操作Ｋを適用できるグラフの適用箇所を特定する（ステップＢ３）。さらに、探索手段ＳＫは、等価性判定手段ＪＫに対して、特定したグラフの適用箇所の情報を送信する（ステップＢ４）。
【００３３】
次に、図４のフローチャートに基づいて等価性判定手段ＪＫの動作の流れを説明する。等価性判定手段ＪＫは、探索手段ＳＫから適用箇所の情報を受信すると（ステップＣ１）、受信した適用箇所の情報から全ての適用箇所を抽出し、全ての適用箇所を適用箇所集合（図示せず）に格納する（ステップＣ２）。また、等価性判定手段ＪＫは、記憶装置５０のグラフ保持領域１４０に格納されているグラフ１のデータ構造を取得する（ステップＣ３）。
【００３４】
次に、等価性判定手段ＪＫは、適用可能箇所集合（図示せず）を空集合に初期化する（ステップＣ４）。ここで、等価性判定手段ＪＫは、適用箇所集合が空集合であるか否かを判定し（ステップＣ５）、適用箇所集合が空集合でない場合は（ステップＣ５でＮＯ）、適用箇所集合から適用箇所を１つ取り出し（ステップＣ６）、取り出した適用箇所が等価性条件ＣＫを満たすか否かをグラフ１のデータ構造を用いて判定する（ステップＣ７）。
【００３５】
ステップＣ７で、等価性条件ＣＫを満たす場合は（ステップＣ７でＹＥＳ）、適用可能箇所集合に適用箇所を追加して（ステップＣ８）、ステップＣ５に戻り前述の処理を繰り返す。一方、ステップＣ７で、等価性条件ＣＫを満たさない場合は（ステップＣ７でＮＯ）、そのままステップＣ５に戻って前述の処理を繰り返す。
【００３６】
また、ステップＣ５で、適用箇所集合が空集合の場合は（ステップＣ５でＹＥＳ）、適用可能箇所集合が空集合であるか否かを調べる（ステップＣ９）。ここで、適用可能箇所集合が空集合でない場合は（ステップＣ９でＮＯ）、適用可能箇所集合に含まれる適用箇所の情報を描画手段１３０へ送信し（ステップＣ１０）、終了する。また、ステップＣ９で、適用可能箇所集合が空集合である場合は（ステップＣ９でＹＥＳ）、そのまま終了する。
【００３７】
次に、図５のフローチャートに基づいて描画手段１３０の動作の流れを説明する。描画手段１３０は、等価性判定手段ＪＫから適用箇所の情報を受信すると（ステップＤ１）、受信した適用箇所の情報から全ての適用箇所を抽出し、全ての適用箇所を適用箇所集合（図示せず）に格納する（ステップＤ２）。
【００３８】
ここで、描画手段１３０は、適用箇所集合が空集合であるか否かを判定し（ステップＤ３）、適用箇所集合が空集合でない場合は（ステップＤ３でＮＯ）、適用箇所集合から適用箇所を１つ取り出し（ステップＤ４）、取り出した適用箇所を示す情報をウィジェット６０上に描画する（ステップＤ５）。そして、ステップＤ３に戻って前述の処理を繰り返し、適用箇所集合が空集合の場合は、処理を終了する。尚、ステップＤ３で、適用箇所集合が空集合の場合は（ステップＤ３でＹＥＳ）、そのまま処理を終了する。
【００３９】
上記のような動作を行うグラフ変換支援システムによれば、管理者が変換操作を選択した場合に、等価関係を満たす変換操作の適用箇所を管理者に通知する。そのため、管理者は、等価関係を満たすことが保証される変換操作の適用箇所を知ることができ、変換操作を適用することで等価関係が満たされるか否かを管理者自身が判断する必要がなくなるため、管理者の操作負担を軽減することができる。
【００４０】
《実施例》
次に、図１に示すグラフ変換支援システムの具体的な実施例について説明する。図６は、本発明に適用されるグラフ変換支援システムの具体的な実施例の構成を示すブロック図である。図６に示すグラフ変換支援システムの実施例は、企業内の組織改編などを契機として必要となったＲＢＡＣ1モデルに準拠するグラフの変換を、ウィンドウ６０ａで構成されたグラフエディタを用いて行う事例である。
【００４１】
図６に示すグラフ変換支援システムの実施例の構成は、図１に示す実施形態の構成に対応したものである。従って、図１と図６の構成を対比すると、本実施例は、入力装置２０としてマウス２０ａを、データ処理装置４０としてＣＰＵ(Central Processing Unit)４０ａを、表示装置３０としてディスプレイ３０ａを、記憶装置５０としてＨＤＤ(Hard Disk Drive)５０ａを、ウィジェット６０としてグラフエディタを構成するウィンドウ６０ａを持つＰＣ(Personal Computer)１０ａを備えている。この実施例では、端末１０としてＰＣ１０ａが用いられている。尚、探索手段ＳＫ（１≦Ｋ≦Ｎ）、等価性判定手段ＪＫ（１≦Ｋ≦Ｎ）、描画手段１３０、及びグラフ保持領域１４０の構成は図１と変わらない。
【００４２】
ＣＰＵ４０ａは、入力解析手段１００、探索手段ＳＫ（１≦Ｋ≦６）、等価性判定手段ＪＫ（１≦Ｋ≦６）、及び描画手段１３０として動作する。また、ＨＤＤ５０ａは、グラフ保持領域１４０として動作する。
【００４３】
図７は、図６に示すグラフ変換支援システムの実施例に適用されるグラフＧ１を示す図である。今、ＨＤＤ５０ａのグラフ保持領域１４０には、ＲＢＡＣ１モデルに準拠する図７に示すようなグラフＧ１のデータ構造が格納されており、ディスプレイ３０ａのウィンドウ６０ａにグラフＧ１が表示されているものとする。図７の（）内にはそのロールに直接割り当てられている特権集合が記述されている。すなわち、継承している特権は図の簡略化のために記述していない。例えば、ロール２に割り当てられている特権集合は｛ｐ１、ｐ２｝であるが、図中ではロール２に直接割り当てられている特権ｐ２のみを（ｐ２）として記述する。
【００４４】
また、ウィンドウ６０ａ上には、変換操作として、辺の追加操作、辺の削除操作、特権の追加操作、特権の削除操作、抽象ロールの追加操作、及び抽象ロールの削除操作が提示されているものとする。これらの変換操作と探索手段ＳＫ、及び等価性判定手段ＪＫとの対応付けは以下の通りである。
【００４５】
辺の追加操作：探索手段Ｓ１、等価性判定手段Ｊ１
辺の削除操作：探索手段Ｓ２、等価性判定手段Ｊ２
特権の追加操作：探索手段Ｓ３、等価性判定手段Ｊ３
特権の削除操作：探索手段Ｓ４、等価性判定手段Ｊ４
抽象ロールの追加操作：探索手段Ｓ５、等価性判定手段Ｊ５
抽象ロールの削除操作：探索手段Ｓ６、等価性判定手段Ｊ６
【００４６】
さらに、各等価性判定手段ＪＫ（１≦Ｋ≦６）が判定する等価性条件ＣＫは以下の通りである。
（１）Ｃ１：追加する辺の両端の２つのロールＲ１（継承元）及びＲ２（継承先）に対して、Ｒ１の特権集合⊆Ｒ２の特権集合を満たしている。
（２）Ｃ２：削除する辺の両端の２つのロールＲ１（継承元）及びＲ２（継承先）に対して、辺を削除後に、Ｒ１の特権集合⊆Ｒ２の特権集合を満たしている。
（３）Ｃ３：特権を追加するロールの親ロールの１つ以上に、追加する特権が割り当てられている。
（４）Ｃ４：特権を削除するロールの親ロールの１つ以上に、削除する特権が割り当てられている。
（５）Ｃ５：任意のロール間に追加可能である。
（６）Ｃ６：削除する抽象ロールに特権が直接割り当てられていない（継承している特権はあってもよい）。
【００４７】
上記のＣ１〜Ｃ６の等価性条件は、対応する操作を用いてグラフを変換したときに、変換前後の２つのグラフのロール集合をＳ１＝｛α１，…αｎ｝、Ｓ２＝｛β１，…βｍ｝とすると、以下に示す関係を満たす（すなわち等価関係を満たす）ことを保証する。
【００４８】
（１）ｎ＝ｍ
（２）∀α∈Ｓ１、∃β∈Ｓ２、Ｐ（α）＝Ｐ（β）
（３）∀β∈Ｓ２、∃α∈Ｓ１、Ｐ（α）＝Ｐ（β）
ここで、Ｐ（α）、Ｐ（β）はロールに割り当てられている特権集合を返す関数である。
【００４９】
いま、管理者がマウス２０ａを用いてウィンドウ６０ａ上に表示されているグラフＧ１に対する変換操作として、辺の追加操作を選択したとする。このとき、管理者は辺の追加操作の選択に、マウス２０ａのクリック動作を用いたとする。マウス２０ａは、クリック履歴（すなわち、クリックされたマウスのボタンの種類（例えば、左ボタン）と座標の履歴）を入力情報としてＣＰＵ４０ａの入力解析手段１００へ送信する。
【００５０】
入力解析手段１００は入力情報を受信すると、入力情報の中のクリックされた座標の履歴から変換操作として辺の追加操作が選択されたことを特定する。そして、辺の追加操作に対応する探索手段Ｓ１へ探索信号を送信する。
【００５１】
探索手段Ｓ１は、探索信号を受信すると、ＨＤＤ５０ａのグラフ保持領域１４０に格納されているグラフＧ１のデータ構造を取得する。そして、探索手段Ｓ１は、取得したデータ構造を対象に、辺の追加操作を適用できるグラフの適用箇所として、次のようなロールを特定する。
【００５２】
・（ロール１、ロール４）
・（ロール１、ロール５）
・（ロール１、ロール６）
・（ロール２、ロール６）
・（ロール３、ロール４）
・（ロール３、ロール５）
そして、特定したグラフの適用箇所の情報を等価性判定手段Ｊ１へ信する。
【００５３】
等価性判定手段Ｊ１は、探索手段Ｓ１から適用箇所の情報を受信すると、受信した適用箇所の情報から全ての適用箇所を抽出し、適用箇所集合に格納する。いま、適用箇所集合は、｛（ロール１、ロール４）、（ロール１、ロール５）、（ロール１、ロール６）、（ロール２、ロール６）、（ロール３、ロール４）、（ロール３、ロール５）｝である。また、グラフ保持領域に格納されているグラフＧ１のデータ構造を取得する。さらに、箇所集合を空集合に初期化する。
【００５４】
いま、適用箇所集合が空集合でないため、適用箇所集合から適用箇所（ロール１、ロール４）を取りだし、適用箇所（ロール１、ロール４）が等価性条件Ｃ１を満たすか否かをグラフＧ１のデータ構造を用いて判定する。適用箇所（ロール１、ロール４）は等価性条件Ｃ１を満たすため、適用可能箇所集合に適用箇所（ロール１、ロール４）を加える。この処理を適用箇所集合が空集合になるまで繰り返えされる。
【００５５】
その結果、適用可能箇所集合は、｛（ロール１、ロール４）、（ロール１、ロール５）、（ロール１、ロール６）｝となる。適用可能箇所集合が空集合ではないため、適用可能箇所集合に含まれる適用箇所（ロール１、ロール４）、（ロール１、ロール５）、（ロール１、ロール６）の情報を描画手段１３０へ送信する。
【００５６】
描画手段１３０は、等価性判定手段Ｊ１から適用箇所の情報を受信すると、受信した適用箇所の情報から全ての適用箇所（ロール１、ロール４）、（ロール１、ロール５）、（ロール１、ロール６）を抽出し、適用箇所集合に格納する。いま、適用箇所集合は、｛（ロール１、ロール４）、（ロール１、ロール５）、（ロール１、ロール６）｝である。
【００５７】
適用箇所集合が空集合でないため、適用箇所集合から適用箇所（ロール１、ロール４）を取り出し、適用箇所（ロール１、ロール４）に辺を追加可能であること示す点線をウィンドウ６０ａ上に描画する。この処理を適用箇所集合が空集合になるまで繰り返す。その結果、図８のように描画される。尚、図８は、等価性を満たしながら辺を追加可能な箇所を示しているグラフを示す図である。このようにして、管理者は、図８の点線で示された箇所に等価性を満たしながら、辺を追加可能であることを知ることができる。
【産業上の利用可能性】
【００５８】
本発明のグラフ変換支援システムによれば、等価関係が定義されているグラフの変換において、ノードや辺の追加／削除などの変換操作をグラフに適用する場合、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、管理者によるグラフ変換を支援する用途に適用することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態に係るグラフ変換支援システムの構成を示すブロック図である。
【図２】図1に示す入力解析手段１００の動作の流れを示すフローチャートである。
【図３】図1に示す探索手段ＳＫの動作の流れを示すフローチャートである。
【図４】図１に示す等価性判定手段ＪＫの動作の流れを示すフローチャートである。
【図５】図１に示す描画手段１３０の動作の流れを示すフローチャートである。
【図６】本発明に適用されるグラフ変換支援システムの具体的な実施例の構成を示すブロック図である。
【図７】図６に示すグラフ変換支援システムの実施例に適用されるグラフＧ１を示す図である。
【図８】等価性を満たしながら辺を追加可能な箇所を示しているグラフを示す図である。
【符号の説明】
【００６０】
１０  端末
１０ａ  ＰＣ
２０  入力装置
２０ａ  マウス
３０  表示装置
３０ａ  ディスプレイ
４０  データ処理装置
４０ａ  ＣＰＵ
５０  記憶装置
５０ａ  ＨＤＤ
６０  ウィジェット
６０ａ  ウィンドウ
１００  入力解析手段
ＳＫ（１≦Ｋ≦Ｎ）  探索手段
ＪＫ（１≦Ｋ≦Ｎ）  等価性判定手段
１３０  描画手段
１４０  グラフ保持領域
【図１】
2010152748.tif 000003
【図２】
2010152748.tif 000004
【図３】
2010152748.tif 000005
【図４】
2010152748.tif 000006
【図５】
2010152748.tif 000007
【図６】
2010152748.tif 000008
【図７】
2010152748.tif 000009
【図８】
2010152748.tif 000010