JP2010152748A - グラフ変換支援システム、グラフ変換支援方法、及びプログラム - Google Patents
グラフ変換支援システム、グラフ変換支援方法、及びプログラム Download PDFInfo
- Publication number
- JP2010152748A JP2010152748A JP2008331453A JP2008331453A JP2010152748A JP 2010152748 A JP2010152748 A JP 2010152748A JP 2008331453 A JP2008331453 A JP 2008331453A JP 2008331453 A JP2008331453 A JP 2008331453A JP 2010152748 A JP2010152748 A JP 2010152748A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- conversion
- equivalence
- conversion operation
- support system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】等価関係が定義されているグラフを変換する場合に、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、グラフ変換を支援する。
【解決手段】入力装置20が入力解析手段100へ入力情報を送信すると、入力解析手段100は、受信した入力情報から変換操作Kを特定し、その変換操作Kを探索信号として探索手段SKへ送信する。探索手段SKは、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得し、変換操作Kを適用可能な適用箇所を特定し、適用箇所の情報を等価性判定手段JKへ送信する。等価性判定手段JKは、グラフのデータ構造を取得し、適用箇所が等価性条件CKを満たしているか否かをグラフのデータ構造を用いて判定し、等価性条件CKを満たす適用箇所の情報を描画手段130に送信する。描画手段130は、適用箇所を示す情報をウィジェット60上に描画する。
【選択図】図1
【解決手段】入力装置20が入力解析手段100へ入力情報を送信すると、入力解析手段100は、受信した入力情報から変換操作Kを特定し、その変換操作Kを探索信号として探索手段SKへ送信する。探索手段SKは、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得し、変換操作Kを適用可能な適用箇所を特定し、適用箇所の情報を等価性判定手段JKへ送信する。等価性判定手段JKは、グラフのデータ構造を取得し、適用箇所が等価性条件CKを満たしているか否かをグラフのデータ構造を用いて判定し、等価性条件CKを満たす適用箇所の情報を描画手段130に送信する。描画手段130は、適用箇所を示す情報をウィジェット60上に描画する。
【選択図】図1
Description
本発明は、等価関係が定義されているグラフの変換において、ノードや辺の追加/削除などの変換操作のグラフへの適用技術に関し、特に、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、管理者によるグラフ変換を支援するグラフ変換支援システム、グラフ変換支援方法、及びこの方法をコンピュータに実行させるプログラムに関する。
一般的に、数学の一分野であるグラフ理論では、ノードの集合と辺の集合で構成されるグラフを扱う。このときのグラフは、ノード間の構造や関係を示すのに適した表現形式である。このようなグラフの例として、RBAC(Role-Based Access Control)におけるロールの階層構造を表したRBAC1というモデルが非特許文献1に開示されている。RBACは、ユーザに許可する特権を制御するアクセス制御モデルの1つであり、ユーザ、ロール、及び特権の3組から構成される。
管理者は、あらかじめロールに複数の特権を割り当てる。そして、ユーザとロールを関連付けることで、ユーザは関連付けられたロールに割り当てられた特権を使用できる。例えば、ロールとして部長ロールが存在し、部長ロールには承認特権が割り当てられているとする。管理者が部長(ユーザ)を部長ロールに関連付けることにより、部長は承認特権を使用できる。このようにRBACでは、ロール(部長ロール)を介してユーザ(部長)と特権(認証特権)を結びつける。ロールは特権を取りまとめる単位であり、ロールを用いることでユーザに効率よく特権を許可することができる。
先に挙げた例のように、実組織内における役職などとロールとの親和性は高い。役職をロールとして表した場合、組織改編に伴い、ロールの改編が必要となることもある。
RBAC1はロールの階層構造を表現するグラフで、そのノードはロールを表し、その辺はロールに割り当てられる特権の継承関係を表す。グラフ間には関係が定義されることがある。例えば、RBAC1では、グラフの等価関係を定義できる。2つのグラフのロール集合(ノード集合を意味する)をS1={α1,…αn}、S2={β1,…βm}としたときに、以下に示す関係を満たすときに2つのグラフは等価関係にあるという。
(1)n=m
(2)∀α∈S1、∃β∈S2、P(α)=P(β)
(3)∀β∈S2、∃α∈S1、P(α)=P(β)
ここで、P(α)、P(β)はロールに割り当てられている特権集合を返す関数である。
(1)n=m
(2)∀α∈S1、∃β∈S2、P(α)=P(β)
(3)∀β∈S2、∃α∈S1、P(α)=P(β)
ここで、P(α)、P(β)はロールに割り当てられている特権集合を返す関数である。
すなわち、ノード数が等しく、一方のグラフ中のノードに割り当てられている特権集合と等しい特権集合を持つノードが他方のグラフ中に存在するときに、2つのグラフは等価関係にある。グラフの変換前後において、それらの2つのグラフが等価関係にあるということは、2つのグラフで定義するロール集合が等しいということを意味する。つまり、2つのグラフに含まれるユーザに割り当て可能なロール集合は等しい。
また、ロールには、オブジェクト指向技術の抽象クラスに相当する抽象ロールという概念も存在する。抽象ロールは、抽象クラスと同様に、他のロールに共通する特権を集約し、グラフの拡張を容易にする目的で使用される。抽象クラスが具体的なオブジェクトを生成しないのと同様に、抽象ロールにはユーザが割り当てられない。従って、抽象ロールは、等価関係を判定するときのロール集合から除外できる。
グラフの等価関係は、組織改編などを契機とするロールの改編が必要などの理由で、グラフを拡張するときに有用である。管理者がグラフを拡張する場合、グラフを一度、拡張しやすい形に変換することが多い。例えば、あるプロジェクト1の役職を表したRBAC1モデルに準拠するグラフ1を、新しいプロジェクト2の役職を追加する形で拡張したRBAC1モデルに準拠するグラフ2に変換する場合を考える。プロジェクト1とプロジェクト2における同じ役職(例えば、プログラマ)に共通の特権を抽象化してある場合、新しいプロジェクトを追加するには、抽象化したロールの子ロールとして各プロジェクトのロールを追加すればよい。
このような場合、共通の特権を取りまとめる抽象ロールを持つような形(このような形に変換したグラフ1をグラフ1’とする)にグラフ1を変換する必要がある。しかし、グラフ1とグラフ1’の間に等価関係が満たされないと、グラフ1とグラフ1’の表す意味(すなわち、グラフが表すロール集合)が変わってしまうため、グラフ1をグラフ2に変換するという管理者の目的を達成できない。
すなわち、等価関係を満たさないグラフ1’をベースとして拡張したグラフ2は、グラフ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
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のステップと、特定された変換操作の適用可能な箇所をグラフから探索する第2のステップと、変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する第3のステップと、等価性を満たす条件を満たしている変換操作の適用可能な箇所を通知する第4のステップと、変換操作の適用可能な箇所の情報としてウィジェットを表示する第5のステップとを含むグラフ変換支援方法を提供することもできる。
さらに、本発明のプログラムは、上記グラフ変換支援方法をコンピュータに実行させることを特徴とする。
さらに、本発明のプログラムは、上記グラフ変換支援方法をコンピュータに実行させることを特徴とする。
本発明によれば、管理者がグラフエディタを用いてグラフを変換するときに、変換操作を選択した後に、等価関係を満たす変換操作の適用箇所を容易に把握することができる。このようして変換操作を適用することにより、等価関係を満たさなくなるか否かを管理者自身が判断する必要がなくなるので、管理者の操作負担を軽減することが可能となる。すなわち、管理者が変換操作の選択をすると、端末側が、変換操作の適用可能な箇所をグラフから探索し、適用可能な箇所が等価性条件を満たしているか否かを判定し、表示装置が等価性を満たしている適用箇所を管理者に通知するために、管理者の操作負担が軽減される。
《実施形態》
次に、本発明のグラフ変換支援システムを実現するための最良の実施形態について、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るグラフ変換支援システムの構成を示すブロック図である。先ず、図1に示すグラフ変換支援システムの構成について説明する。本実施形態のグラフ変換支援システムは、等価関係が定義されているグラフの変換を支援する端末10と、管理者からの入力情報を受け付けてグラフに適用する変換操作を選択する入力装置20と、複数のウィジェット60から構成されるグラフエディタ(図示せず)を表示する表示装置30とを備えて構成されている。
次に、本発明のグラフ変換支援システムを実現するための最良の実施形態について、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るグラフ変換支援システムの構成を示すブロック図である。先ず、図1に示すグラフ変換支援システムの構成について説明する。本実施形態のグラフ変換支援システムは、等価関係が定義されているグラフの変換を支援する端末10と、管理者からの入力情報を受け付けてグラフに適用する変換操作を選択する入力装置20と、複数のウィジェット60から構成されるグラフエディタ(図示せず)を表示する表示装置30とを備えて構成されている。
端末10は、グラフのデータを処理するデータ処理装置40と、グラフのデータ構造を格納するグラフ保持領域140を有する記憶装置50とを備えて構成されている。
データ処理装置40は、入力情報からグラフに適用する変換操作を特定する入力解析手段100と、変換操作の適用可能な箇所をグラフから探す複数の探索手段S1〜SNと、変換操作ごとに、適用可能な箇所が等価性を満たす条件(以後、等価性条件と呼ぶ)を満たしているか否かを判定する複数の等価性判定手段J1〜JNと、等価性条件を満たしている適用箇所を管理者に通知するために、表示装置30のウィジェット60上に描画を行う描画手段130とを備えて構成されている。
次に、図1に示すグラフ変換支援システムの動作について概略的に説明する。グラフ変換支援システムは、図1に示すような構成を採用することにより、入力装置20は、管理者による入力操作の情報(入力情報)を受け付け、表示装置30のウィジェット60上に表示された変換操作の選択を行う。このとき、選択時に入力装置20から入力された入力情報は、端末10のデータ処理装置40における入力解析手段100へ送信される。
また、表示装置30はウィジェット60を管理者に対して表示する。表示装置30にウィジェット60が表示されることで、管理者は、変換操作、グラフ、及び、変換操作の適用箇所を認識することができる。さらに、ウィジェット60は、管理者に対して変換操作を提示すると共に、グラフの表示領域も備えている。したがって、管理者は、入力装置20を用いて、表示装置30のウィジェット60に提示されている変換操作を自在に選択することが可能である。
端末10は、データ処理装置40と記憶装置50とを含む端末であって、データ処理装置40は、入力解析手段100と探索手段S1〜SNと等価性判定手段J1〜JNと描画手段130とを備えている。従って、データ処理装置40の入力解析手段100が入力装置20から入力情報を受信すると、入力解析手段100は、その入力情報から変換操作を特定し、特定された変換操作に対応する探索手段SK(1≦K≦N)に対して探索信号を送信する。
探索手段SKは、入力解析手段100から探索信号を受信すると、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得し、変換操作を適用できるグラフの適用箇所を特定する。そして、探索手段SKは、特定された適用箇所の情報を等価性判定手段JKへ送信する。
これによって、等価性判定手段JK(1≦K≦N)は、探索手段SKから適用箇所の情報を受信すると、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得し、受信した適用箇所の情報から全ての適用箇所を抽出する。そして、等価性判定手段JKは、抽出した各適用箇所に対して、等価性条件を満たすか否かをグラフのデータ構造を用いて順に判定する。そして、等価性条件を満たす全ての適用箇所の情報を描画手段130へ送信する。
また、描画手段130は、等価性判定手段JK(1≦K≦N)から適用箇所の情報を受信すると、その適用箇所の情報から全ての適用箇所を抽出する。そして、管理者に通知するために抽出した各適用箇所を示す情報を表示装置30のウィジェット60上に描画する。尚、記憶装置50は、グラフ保持領域140を含んでいて、このグラフ保持領域140はグラフのデータ構造を格納している。
すなわち、図1に示すグラフ変換支援システムによれば、管理者が入力装置20を用いてグラフに適用する変換操作を選択すると、入力装置20は、管理者が入力した入力情報を端末10におけるデータ処理装置40の入力解析手段100へ送信する。入力解析手段100は、受信した入力情報から変換操作を特定し、特定された変換操作に対応する探索手段Siへ探索信号を送信する。これによって、探索手段Siは、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得して、変換操作を適用可能な適用箇所を特定する。そして、探索手段SKは、特定された適用箇所の情報を、変換操作に対応する等価性判定手段JKへ送信する。
等価性判定手段Jiは、記憶装置50のグラフ保持領域140に格納されているグラフのデータ構造を取得し、適用箇所が等価性条件を満たしているか否かを、取得したグラフのデータ構造を用いて判定し、等価性条件を満たしている適用箇所の情報を描画手段130へ送信する。そして、描画手段103は、等価性判定手段JKから受信した適用箇所を管理者に通知するために、適用箇所を示す情報を表示装置30のウィジェット60上に描画する。これによって、グラフ変換支援システムは、入力装置20を操作する管理者に対して等価関係が定義されているグラフの変換を支援することができる。
次に、図1乃至図5を参照して、図1に示すグラフ変換支援システムの動作について詳細に説明する。図2は、図1に示す入力解析手段100の動作の流れを示すフローチャートである。図3は、図1に示す探索手段SK(1≦K≦N)の動作の流れを示すフローチャートである。図4は、図1に示す等価性判定手段JK(1≦K≦N)の動作の流れを示すフローチャートである。また、図5は、図1に示す描画手段130の動作の流れを示すフローチャートである。
尚、前提条件として、記憶装置50のグラフ保持領域140には、グラフ1(図示せず)のデータ構造が格納されているとする。また、表示装置30のウィジェット60上にはグラフ1が表示され、変換操作として変換操作1〜変換操作N(図示せず)がウィジェット60に提示されているとする。さらに、変換操作K(1≦K≦N)に対応する探索手段と等価性判定手段は、それぞれ、探索手段SKと等価性判定手段JKであるものとする。また、等価性判定手段JKが判定する等価性条件は等価性条件CKとする。さらに、表示装置30はウィジェット60を表示するものとする。
いま、管理者が入力装置20を用いて、ウィジェット60上に表示されているグラフ1に適用する変換操作K(1≦K≦N)を選択したとする。変換操作1を選択するために入力装置20から入力された入力情報は、入力解析手段100へ送信される。
以上のような前提条件に基づいて、先ず、図2のフローチャートに基づいて入力解析手段100の動作の流れを説明する。入力解析手段100は、入力装置20から入力情報を受信すると(ステップA1)、受信された入力情報から変換操作Kを特定する(ステップA2)。そして、入力解析手段100は、特定された変換操作Kに対応する探索手段SKへ探索信号を送信する(ステップA3)。
次に、図3のフローチャートに基づいて探索手段SKの動作の流れを説明する。探索手段SKは、入力解析手段100から探索信号を受信すると(ステップB1)、記憶装置50のグラフ保持領域140に格納されているグラフ1のデータ構造を取得する(ステップB2)。そして、探索手段SKは、取得したデータ構造を対象に、変換操作Kを適用できるグラフの適用箇所を特定する(ステップB3)。さらに、探索手段SKは、等価性判定手段JKに対して、特定したグラフの適用箇所の情報を送信する(ステップB4)。
次に、図4のフローチャートに基づいて等価性判定手段JKの動作の流れを説明する。等価性判定手段JKは、探索手段SKから適用箇所の情報を受信すると(ステップC1)、受信した適用箇所の情報から全ての適用箇所を抽出し、全ての適用箇所を適用箇所集合(図示せず)に格納する(ステップC2)。また、等価性判定手段JKは、記憶装置50のグラフ保持領域140に格納されているグラフ1のデータ構造を取得する(ステップC3)。
次に、等価性判定手段JKは、適用可能箇所集合(図示せず)を空集合に初期化する(ステップC4)。ここで、等価性判定手段JKは、適用箇所集合が空集合であるか否かを判定し(ステップC5)、適用箇所集合が空集合でない場合は(ステップC5でNO)、適用箇所集合から適用箇所を1つ取り出し(ステップC6)、取り出した適用箇所が等価性条件CKを満たすか否かをグラフ1のデータ構造を用いて判定する(ステップC7)。
ステップC7で、等価性条件CKを満たす場合は(ステップC7でYES)、適用可能箇所集合に適用箇所を追加して(ステップC8)、ステップC5に戻り前述の処理を繰り返す。一方、ステップC7で、等価性条件CKを満たさない場合は(ステップC7でNO)、そのままステップC5に戻って前述の処理を繰り返す。
また、ステップC5で、適用箇所集合が空集合の場合は(ステップC5でYES)、適用可能箇所集合が空集合であるか否かを調べる(ステップC9)。ここで、適用可能箇所集合が空集合でない場合は(ステップC9でNO)、適用可能箇所集合に含まれる適用箇所の情報を描画手段130へ送信し(ステップC10)、終了する。また、ステップC9で、適用可能箇所集合が空集合である場合は(ステップC9でYES)、そのまま終了する。
次に、図5のフローチャートに基づいて描画手段130の動作の流れを説明する。描画手段130は、等価性判定手段JKから適用箇所の情報を受信すると(ステップD1)、受信した適用箇所の情報から全ての適用箇所を抽出し、全ての適用箇所を適用箇所集合(図示せず)に格納する(ステップD2)。
ここで、描画手段130は、適用箇所集合が空集合であるか否かを判定し(ステップD3)、適用箇所集合が空集合でない場合は(ステップD3でNO)、適用箇所集合から適用箇所を1つ取り出し(ステップD4)、取り出した適用箇所を示す情報をウィジェット60上に描画する(ステップD5)。そして、ステップD3に戻って前述の処理を繰り返し、適用箇所集合が空集合の場合は、処理を終了する。尚、ステップD3で、適用箇所集合が空集合の場合は(ステップD3でYES)、そのまま処理を終了する。
上記のような動作を行うグラフ変換支援システムによれば、管理者が変換操作を選択した場合に、等価関係を満たす変換操作の適用箇所を管理者に通知する。そのため、管理者は、等価関係を満たすことが保証される変換操作の適用箇所を知ることができ、変換操作を適用することで等価関係が満たされるか否かを管理者自身が判断する必要がなくなるため、管理者の操作負担を軽減することができる。
《実施例》
次に、図1に示すグラフ変換支援システムの具体的な実施例について説明する。図6は、本発明に適用されるグラフ変換支援システムの具体的な実施例の構成を示すブロック図である。図6に示すグラフ変換支援システムの実施例は、企業内の組織改編などを契機として必要となったRBAC1モデルに準拠するグラフの変換を、ウィンドウ60aで構成されたグラフエディタを用いて行う事例である。
次に、図1に示すグラフ変換支援システムの具体的な実施例について説明する。図6は、本発明に適用されるグラフ変換支援システムの具体的な実施例の構成を示すブロック図である。図6に示すグラフ変換支援システムの実施例は、企業内の組織改編などを契機として必要となったRBAC1モデルに準拠するグラフの変換を、ウィンドウ60aで構成されたグラフエディタを用いて行う事例である。
図6に示すグラフ変換支援システムの実施例の構成は、図1に示す実施形態の構成に対応したものである。従って、図1と図6の構成を対比すると、本実施例は、入力装置20としてマウス20aを、データ処理装置40としてCPU(Central Processing Unit)40aを、表示装置30としてディスプレイ30aを、記憶装置50としてHDD(Hard Disk Drive)50aを、ウィジェット60としてグラフエディタを構成するウィンドウ60aを持つPC(Personal Computer)10aを備えている。この実施例では、端末10としてPC10aが用いられている。尚、探索手段SK(1≦K≦N)、等価性判定手段JK(1≦K≦N)、描画手段130、及びグラフ保持領域140の構成は図1と変わらない。
CPU40aは、入力解析手段100、探索手段SK(1≦K≦6)、等価性判定手段JK(1≦K≦6)、及び描画手段130として動作する。また、HDD50aは、グラフ保持領域140として動作する。
図7は、図6に示すグラフ変換支援システムの実施例に適用されるグラフG1を示す図である。今、HDD50aのグラフ保持領域140には、RBAC1モデルに準拠する図7に示すようなグラフG1のデータ構造が格納されており、ディスプレイ30aのウィンドウ60aにグラフG1が表示されているものとする。図7の()内にはそのロールに直接割り当てられている特権集合が記述されている。すなわち、継承している特権は図の簡略化のために記述していない。例えば、ロール2に割り当てられている特権集合は{p1、p2}であるが、図中ではロール2に直接割り当てられている特権p2のみを(p2)として記述する。
また、ウィンドウ60a上には、変換操作として、辺の追加操作、辺の削除操作、特権の追加操作、特権の削除操作、抽象ロールの追加操作、及び抽象ロールの削除操作が提示されているものとする。これらの変換操作と探索手段SK、及び等価性判定手段JKとの対応付けは以下の通りである。
辺の追加操作:探索手段S1、等価性判定手段J1
辺の削除操作:探索手段S2、等価性判定手段J2
特権の追加操作:探索手段S3、等価性判定手段J3
特権の削除操作:探索手段S4、等価性判定手段J4
抽象ロールの追加操作:探索手段S5、等価性判定手段J5
抽象ロールの削除操作:探索手段S6、等価性判定手段J6
辺の削除操作:探索手段S2、等価性判定手段J2
特権の追加操作:探索手段S3、等価性判定手段J3
特権の削除操作:探索手段S4、等価性判定手段J4
抽象ロールの追加操作:探索手段S5、等価性判定手段J5
抽象ロールの削除操作:探索手段S6、等価性判定手段J6
さらに、各等価性判定手段JK(1≦K≦6)が判定する等価性条件CKは以下の通りである。
(1)C1:追加する辺の両端の2つのロールR1(継承元)及びR2(継承先)に対して、R1の特権集合⊆R2の特権集合を満たしている。
(2)C2:削除する辺の両端の2つのロールR1(継承元)及びR2(継承先)に対して、辺を削除後に、R1の特権集合⊆R2の特権集合を満たしている。
(3)C3:特権を追加するロールの親ロールの1つ以上に、追加する特権が割り当てられている。
(4)C4:特権を削除するロールの親ロールの1つ以上に、削除する特権が割り当てられている。
(5)C5:任意のロール間に追加可能である。
(6)C6:削除する抽象ロールに特権が直接割り当てられていない(継承している特権はあってもよい)。
(1)C1:追加する辺の両端の2つのロールR1(継承元)及びR2(継承先)に対して、R1の特権集合⊆R2の特権集合を満たしている。
(2)C2:削除する辺の両端の2つのロールR1(継承元)及びR2(継承先)に対して、辺を削除後に、R1の特権集合⊆R2の特権集合を満たしている。
(3)C3:特権を追加するロールの親ロールの1つ以上に、追加する特権が割り当てられている。
(4)C4:特権を削除するロールの親ロールの1つ以上に、削除する特権が割り当てられている。
(5)C5:任意のロール間に追加可能である。
(6)C6:削除する抽象ロールに特権が直接割り当てられていない(継承している特権はあってもよい)。
上記のC1〜C6の等価性条件は、対応する操作を用いてグラフを変換したときに、変換前後の2つのグラフのロール集合をS1={α1,…αn}、S2={β1,…βm}とすると、以下に示す関係を満たす(すなわち等価関係を満たす)ことを保証する。
(1)n=m
(2)∀α∈S1、∃β∈S2、P(α)=P(β)
(3)∀β∈S2、∃α∈S1、P(α)=P(β)
ここで、P(α)、P(β)はロールに割り当てられている特権集合を返す関数である。
(2)∀α∈S1、∃β∈S2、P(α)=P(β)
(3)∀β∈S2、∃α∈S1、P(α)=P(β)
ここで、P(α)、P(β)はロールに割り当てられている特権集合を返す関数である。
いま、管理者がマウス20aを用いてウィンドウ60a上に表示されているグラフG1に対する変換操作として、辺の追加操作を選択したとする。このとき、管理者は辺の追加操作の選択に、マウス20aのクリック動作を用いたとする。マウス20aは、クリック履歴(すなわち、クリックされたマウスのボタンの種類(例えば、左ボタン)と座標の履歴)を入力情報としてCPU40aの入力解析手段100へ送信する。
入力解析手段100は入力情報を受信すると、入力情報の中のクリックされた座標の履歴から変換操作として辺の追加操作が選択されたことを特定する。そして、辺の追加操作に対応する探索手段S1へ探索信号を送信する。
探索手段S1は、探索信号を受信すると、HDD50aのグラフ保持領域140に格納されているグラフG1のデータ構造を取得する。そして、探索手段S1は、取得したデータ構造を対象に、辺の追加操作を適用できるグラフの適用箇所として、次のようなロールを特定する。
・(ロール1、ロール4)
・(ロール1、ロール5)
・(ロール1、ロール6)
・(ロール2、ロール6)
・(ロール3、ロール4)
・(ロール3、ロール5)
そして、特定したグラフの適用箇所の情報を等価性判定手段J1へ信する。
・(ロール1、ロール5)
・(ロール1、ロール6)
・(ロール2、ロール6)
・(ロール3、ロール4)
・(ロール3、ロール5)
そして、特定したグラフの適用箇所の情報を等価性判定手段J1へ信する。
等価性判定手段J1は、探索手段S1から適用箇所の情報を受信すると、受信した適用箇所の情報から全ての適用箇所を抽出し、適用箇所集合に格納する。いま、適用箇所集合は、{(ロール1、ロール4)、(ロール1、ロール5)、(ロール1、ロール6)、(ロール2、ロール6)、(ロール3、ロール4)、(ロール3、ロール5)}である。また、グラフ保持領域に格納されているグラフG1のデータ構造を取得する。さらに、箇所集合を空集合に初期化する。
いま、適用箇所集合が空集合でないため、適用箇所集合から適用箇所(ロール1、ロール4)を取りだし、適用箇所(ロール1、ロール4)が等価性条件C1を満たすか否かをグラフG1のデータ構造を用いて判定する。適用箇所(ロール1、ロール4)は等価性条件C1を満たすため、適用可能箇所集合に適用箇所(ロール1、ロール4)を加える。この処理を適用箇所集合が空集合になるまで繰り返えされる。
その結果、適用可能箇所集合は、{(ロール1、ロール4)、(ロール1、ロール5)、(ロール1、ロール6)}となる。適用可能箇所集合が空集合ではないため、適用可能箇所集合に含まれる適用箇所(ロール1、ロール4)、(ロール1、ロール5)、(ロール1、ロール6)の情報を描画手段130へ送信する。
描画手段130は、等価性判定手段J1から適用箇所の情報を受信すると、受信した適用箇所の情報から全ての適用箇所(ロール1、ロール4)、(ロール1、ロール5)、(ロール1、ロール6)を抽出し、適用箇所集合に格納する。いま、適用箇所集合は、{(ロール1、ロール4)、(ロール1、ロール5)、(ロール1、ロール6)}である。
適用箇所集合が空集合でないため、適用箇所集合から適用箇所(ロール1、ロール4)を取り出し、適用箇所(ロール1、ロール4)に辺を追加可能であること示す点線をウィンドウ60a上に描画する。この処理を適用箇所集合が空集合になるまで繰り返す。その結果、図8のように描画される。尚、図8は、等価性を満たしながら辺を追加可能な箇所を示しているグラフを示す図である。このようにして、管理者は、図8の点線で示された箇所に等価性を満たしながら、辺を追加可能であることを知ることができる。
本発明のグラフ変換支援システムによれば、等価関係が定義されているグラフの変換において、ノードや辺の追加/削除などの変換操作をグラフに適用する場合、変換操作を選択後、等価関係を満たす変換操作の適用箇所を管理者に提示することで、管理者によるグラフ変換を支援する用途に適用することができる。
10 端末
10a PC
20 入力装置
20a マウス
30 表示装置
30a ディスプレイ
40 データ処理装置
40a CPU
50 記憶装置
50a HDD
60 ウィジェット
60a ウィンドウ
100 入力解析手段
SK(1≦K≦N) 探索手段
JK(1≦K≦N) 等価性判定手段
130 描画手段
140 グラフ保持領域
10a PC
20 入力装置
20a マウス
30 表示装置
30a ディスプレイ
40 データ処理装置
40a CPU
50 記憶装置
50a HDD
60 ウィジェット
60a ウィンドウ
100 入力解析手段
SK(1≦K≦N) 探索手段
JK(1≦K≦N) 等価性判定手段
130 描画手段
140 グラフ保持領域
Claims (15)
- 等価関係が定義されているグラフの変換を支援する端末と、管理者からの入力情報を受け付けて前記グラフに適用する変換操作を選択する入力装置と、複数のウィジェットから構成されるグラフエディタを表示する表示装置とを備えるグラフ変換支援システムであって、
前記端末は、データ処理装置と記憶装置とを備え、
前記データ処理装置は
選択されたグラフに適用する変換操作を特定する入力解析手段と、
前記入力解析手段で特定された変換操作の適用可能な箇所を前記グラフから探索する探索手段と、
前記変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する等価性判定手段と、
前記等価性を満たす条件を満たしている変換操作の適用可能な箇所を前記表示装置へ通知する描画手段とを具備し、
前記記憶装置は、
前記グラフのデータ構造を格納するグラフ保持領域を具備する
ことを特徴とするグラフ変換支援システム。 - 前記入力解析手段が特定する変換操作、前記探索手段、及び、前記等価性判定手段は、それぞれ複数で構成され、前記変換操作、前記探索手段、及び、前記等価性判定手段は、それぞれ1つずつ対応付けられていることを特徴とする請求項1に記載のグラフ変換支援システム。
- 等価性を満たす条件である等価性条件は、前記等価性判定手段と対応付けられることを特徴とする請求項1又は2に記載のグラフ変換支援システム。
- 前記入力装置は、グラフに適用する変換操作を選択したときの入力情報を前記入力解析手段へ送信することを特徴とする請求項1乃至3の何れか1項に記載のグラフ変換支援システム。
- 前記入力解析手段は、前記入力装置から入力された入力情報に基づいてグラフに適用する変換操作を特定し、特定された変換操作と対応付けられる前記探索手段に対して探索信号を送信することを特徴とする請求項1乃至4の何れか1項に記載のグラフ変換支援システム。
- 前記探索手段は、前記グラフ保持領域に格納されているグラフのデータ構造を取得して、その探索手段に対応付けられる変換操作を適用できるグラフの適用箇所を特定し、特定された適用箇所の情報を前記探索手段に対応付けられた等価性判定手段へ送信することを特徴とする請求項1乃至5の何れか1項に記載のグラフ変換支援システム。
- 前記等価性判定手段は、前記グラフ保持領域に格納されているグラフのデータ構造を取得して、前記適用箇所の情報から該当する適用箇所を取得し、取得された適用箇所が、前記等価性判定手段と対応付けられる等価性条件を満たすか否かを判定し、等価性条件を満たす全ての適用可能箇所の情報を前記描画手段へ送信することを特徴とする請求項1乃至6の何れか1項に記載のグラフ変換支援システム。
- 前記描画手段は、前記適用可能箇所の情報から適用箇所を取得し、取得された適用箇所を示す情報を前記ウィジェットに描画することで、前記変換操作の適用可能な箇所を前記表示装置へ通知することを特徴とする請求項1乃至7の何れか1項に記載のグラフ変換支援システム。
- 前記グラフは、RBACモデルにおけるロールの階層構造を表すグラフであることを特徴とする請求項1乃至8の何れか1項に記載のグラフ変換支援システム。
- 前記等価性判定手段が判定する等価性条件は、
前記グラフの辺の追加操作に関しては、追加する辺の両端の継承元ロールR1と継承先ロールR2の2つのロールに対し、R1の特権集合⊆R2の特権集合を満たし、
前記グラフの辺の削除操作に関しては、削除する辺の両端の継承元ロールR1と継承先ロールR2の2つのロールに対し、辺を削除後に、R1の特権集合⊆R2の特権集合を満たし、
特権の追加操作に関しては、特権を追加するロールの親ロールの1つ以上に、追加する特権が割り当てられ、
特権の削除操作に関しては、特権を削除するロールの親ロールの1つ以上に、削除する特権が割り当てられ、
抽象ロールの追加操作に関しては、任意のロール間に追加可能であり、
前記抽象ロールの削除操作に関しては、削除する抽象ロールに特権が直接割り当てられていない
ことを特徴とする請求項3乃至9の何れか1項に記載のグラフ変換支援システム。 - 等価関係が定義されているグラフの変換を支援するグラフ変換支援方法であって、
選択されたグラフに適用する変換操作を特定する第1のステップと、
特定された変換操作の適用可能な箇所をグラフから探索する第2のステップと、
前記変換操作の適用可能な箇所が等価性を満たす条件を満たしているか否かを判定する第3のステップと、
前記等価性を満たす条件を満たしている変換操作の適用可能な箇所を通知する第4のステップと、
前記変換操作の適用可能な箇所の情報としてウィジェットを表示する第5のステップとを含むことを特徴とするグラフ変換支援方法。 - 前記第2のステップは、前記第1のステップで特定された変換操作を適用できるグラフの適用箇所を特定することを特徴とする請求項11に記載のグラフ変換支援方法。
- 前記第3のステップは、前記適用箇所が等価性を満たす条件を満たすか否かを判定し、その適用箇所から適用可能な箇所を選択することを特徴とする請求項11又は12に記載のグラフ変換支援方法。
- 前記第4のステップは、前記適用可能箇所を示す情報を前記ウィジェットに描画することで、前記変換操作の適用可能な箇所を通知することを特徴とする請求項11乃至13の何れか1項に記載のグラフ変換支援方法。
- 請求項11乃至14の何れか1項に記載のグラフ変換支援方法をコンピュータに実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008331453A JP2010152748A (ja) | 2008-12-25 | 2008-12-25 | グラフ変換支援システム、グラフ変換支援方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008331453A JP2010152748A (ja) | 2008-12-25 | 2008-12-25 | グラフ変換支援システム、グラフ変換支援方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010152748A true JP2010152748A (ja) | 2010-07-08 |
Family
ID=42571743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008331453A Pending JP2010152748A (ja) | 2008-12-25 | 2008-12-25 | グラフ変換支援システム、グラフ変換支援方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010152748A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013542501A (ja) * | 2010-09-23 | 2013-11-21 | マイクロソフト コーポレーション | データモデルの二重化 |
US9720959B2 (en) | 2013-07-16 | 2017-08-01 | Fujitsu Limited | Data output method, computer-readable recording medium storing data output program and data output system |
US9727662B2 (en) | 2013-07-16 | 2017-08-08 | Fujitsu Limited | Data output method, computer-readable recording medium storing data output program and data output system |
-
2008
- 2008-12-25 JP JP2008331453A patent/JP2010152748A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013542501A (ja) * | 2010-09-23 | 2013-11-21 | マイクロソフト コーポレーション | データモデルの二重化 |
US9460189B2 (en) | 2010-09-23 | 2016-10-04 | Microsoft Technology Licensing, Llc | Data model dualization |
US11003637B2 (en) | 2010-09-23 | 2021-05-11 | Microsoft Technology Licensing, Llc | Data model dualization |
US9720959B2 (en) | 2013-07-16 | 2017-08-01 | Fujitsu Limited | Data output method, computer-readable recording medium storing data output program and data output system |
US9727662B2 (en) | 2013-07-16 | 2017-08-08 | Fujitsu Limited | Data output method, computer-readable recording medium storing data output program and data output system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7471646B2 (en) | System and methods for inline property editing in tree view based editors | |
JP4821000B2 (ja) | オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム | |
US20110249002A1 (en) | Manipulation and management of links and nodes in large graphs | |
US20090150779A1 (en) | Method and apparatus for displaying help information | |
JP5984215B2 (ja) | 動的マニュアル作成装置及びその方法並びにコンピュータプログラム | |
JPH0944334A (ja) | ウィンドウ関係の識別アイコン付木構造一覧表示方法及び装置 | |
US9354770B2 (en) | Information processing apparatus displaying path information in reverse hierarchical order | |
US12079236B2 (en) | Systems and methods for context development | |
JP2007272870A (ja) | 印刷制御装置、gui表示方法、プリンタドライバ及び記録媒体 | |
US20160124723A1 (en) | Graphically building abstract syntax trees | |
CN106796515A (zh) | 用于元数据驱动的用户界面框架的系统和方法 | |
JP2010152748A (ja) | グラフ変換支援システム、グラフ変換支援方法、及びプログラム | |
JP2008276575A (ja) | データ管理装置及びそのプログラム | |
JP2010108331A (ja) | 情報処理装置、アプリケーション起動方法およびプログラム | |
JP2005267307A (ja) | 画面作成装置、方法、プログラム、及び記録媒体 | |
JP5244754B2 (ja) | 緊急対策行動支援装置及び方法 | |
JP6213660B2 (ja) | 情報管理装置、情報共有システム、制御方法、及びコンピュータ読み取り可能な記録媒体 | |
JP5553726B2 (ja) | 情報処理装置、情報処理装置の制御方法、プログラム | |
JP6019815B2 (ja) | データ処理システム、アプリケーション提示方法、及びプログラム | |
JP2002328908A (ja) | グループウェア | |
JP2015111429A (ja) | 変更管理支援装置、変更管理支援方法及び変更管理支援プログラム | |
JP6107337B2 (ja) | 操作記録装置、操作記録方法及び操作記録プログラム | |
JP2009205207A (ja) | タグ情報に基づく情報分類表示システム | |
JP4470776B2 (ja) | 視覚的表示プログラム | |
JP2005044259A (ja) | 人事支援システム、人事支援方法及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100716 |