ダイヤグラム編集装置
【課題】ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、セマンティクスと異なる視点からダイヤグラムの構成を把握することができるダイヤグラム編集装置を得ることを目的とする。
【解決手段】モデル要素編集部4により編集されたモデル要素が属している構造要素を設定するグループ設定部5を設け、そのグループ設定部5により設定された構造要素間の包含関係を判別して、各構造要素間の包含関係を示す構造空間図を表示する。
【解決手段】モデル要素編集部4により編集されたモデル要素が属している構造要素を設定するグループ設定部5を設け、そのグループ設定部5により設定された構造要素間の包含関係を判別して、各構造要素間の包含関係を示す構造空間図を表示する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ソフトウェア開発の対象システムがモデル化されているダイヤグラムの編集を支援するダイヤグラム編集装置に関するものである。
【背景技術】
【0002】
従来のダイヤグラム編集装置は、ダイヤグラムの構成要素であるモデル要素を編集する編集ウィンドウの他に、その編集ウィンドウにより編集されたモデル要素のパッケージ構造を示すツリービューが設けられている。
ダイヤグラム編集装置の編集ウィンドウでは、ダイヤグラムのセマンティクス、即ち、複数のモデル要素間の接続関係についても明示されるが、ダイヤグラムを構成するモデル要素の個数が多い場合には、全てのモデル要素を表示することができず、ダイヤグラムの全体構成を把握することが困難になる場合がある。
一方、個々のモデル要素の表示領域を小さくすれば、ダイヤグラムの全体を表示することができるが、この場合、個々のモデル要素が見づらくなるため、結果的には、ダイヤグラムの全体構成を把握することが困難になる。
【0003】
なお、ダイヤグラム編集装置の編集ウィンドウには、ダイヤグラムのセマンティクスが表示されるが、編集ウィンドウにより編集されたモデル要素をグループ分けする機能や、各グループの包含関係を明示する機能などを搭載していないので、セマンティクスと異なる視点からダイヤグラムの構成を把握することができない。
【0004】
以下の特許文献1には、既存のプログラムの修正や再利用の容易化を図るために、既存のプログラムを解析して、そのプログラムの骨格構造と呼ばれるプログラム処理パターンを抽出する機能と、利用者の要求に応じて骨格構造を変更してプログラムを自動生成する機能とを備えているプログラム仕様生成方法が開示されている。
しかし、以下の特許文献1においても、編集ウィンドウにより編集されたモデル要素をグループ分けする機能や、各グループの包含関係を明示する機能などを搭載していない。
【0005】
【特許文献1】特開平5−40616号公報(段落番号[0012]、図1)
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来のダイヤグラム編集装置は以上のように構成されているので、ダイヤグラムを構成するモデル要素の個数が多い場合、ダイヤグラムの全体構成を把握することが困難になることがある課題があった。
また、編集ウィンドウを見れば、セマンティクスの視点からダイヤグラムの構成を把握することができるが、セマンティクスと異なる視点からダイヤグラムの構成を把握することができない課題もあった。
【0007】
この発明は上記のような課題を解決するためになされたもので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、セマンティクスと異なる視点からダイヤグラムの構成を把握することができるダイヤグラム編集装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るダイヤグラム編集装置は、モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段を設け、そのグループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示するようにしたものである。
【発明の効果】
【0009】
この発明によれば、モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段を設け、そのグループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示するように構成したので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、セマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果がある。
【発明を実施するための最良の形態】
【0010】
実施の形態1.
図1はこの発明の実施の形態1によるダイヤグラム編集装置を示す構成図であり、図において、マンマシンI/F部1は例えばキーボードやマウスなどから構成され、例えば、モデル要素の編集指令や、モデル要素が属しているグループの設定指令などを入力する入力装置である。
画面表示処理部2はダイヤグラムの構成要素であるモデル要素を編集する際に使用する編集ウィンドウE、編集ウィンドウEに配置するモデル要素の部品を選択するパレットP、編集ウィンドウEにより編集されたモデル要素のパッケージ構造を示すツリービューB、ダイヤグラムを構成しているモデル要素の部分集合である構造要素(同一のグループに属しているモデル要素の集合)を表示する構造要素表示ウィンドウSなどをディスプレイ3に表示する処理を実施する。
【0011】
モデル要素編集部4は画面表示処理部2により表示される編集ウィンドウE上で、マンマシンI/F部1により入力された編集指令にしたがってダイヤグラムの構成要素であるモデル要素を編集する処理を実施する。
なお、画面表示処理部2及びモデル要素編集部4からモデル要素編集手段が構成されている。
グループ設定部5は画面表示処理部2により表示される編集ウィンドウE上で、マンマシンI/F部1により入力された設定指令にしたがってモデル要素編集部4により編集されたモデル要素が属しているグループを設定する処理を実施する。即ち、ダイヤグラムを構成しているモデル要素の部分集合である構造要素を設定する処理を実施する。
なお、画面表示処理部2及びグループ設定部5からグループ設定手段が構成されている。
【0012】
構造空間図生成部6はグループ設定部5により設定された構造要素間(グループ間)の関連として、構造要素間(グループ間)の包含関係を判別して、構造要素間の包含関係を示す構造空間図を生成し、画面表示処理部2を介して、その構造空間図を構造要素表示ウィンドウSに表示する処理を実施する。
なお、画面表示処理部2及び構造空間図生成部6から構造空間図表示手段が構成されている。
図2はこの発明の実施の形態1によるダイヤグラム編集装置の処理内容を示すフローチャートである。
【0013】
図1の例では、ダイヤグラム編集装置の構成要素である画面表示処理部2、モデル要素編集部4、グループ設定部5及び構造空間図生成部6が専用のハードウェア(例えば、MPUを実装している半導体集積回路基板)から構成されていることを想定しているが、ダイヤグラム編集装置がコンピュータから構成されている場合、ダイヤグラム編集装置の構成要素である画面表示処理部2、モデル要素編集部4、グループ設定部5及び構造空間図生成部6の処理内容を記述したプログラムをコンピュータのメモリに格納し、そのコンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0014】
次に動作について説明する。
画面表示処理部2は、図3に示すように、ダイヤグラムのモデル要素を編集する際に使用する編集ウィンドウE、編集ウィンドウEに配置するモデル要素の部品を選択するパレットP、編集ウィンドウEにより編集されたモデル要素のパッケージ構造を示すツリービューB、ダイヤグラムを構成しているモデル要素の部分集合である構造要素を表示する構造要素表示ウィンドウSをディスプレイ3に表示する。
【0015】
図3の例では、ダイヤグラムが14個のモデル要素M1〜M14から構成されており、14個のモデル要素M1〜M14のパッケージ構造がツリービューBに表示されている。
また、図3の例では、ダイヤグラムの最上位のモデル要素M1にぶら下がっているモデル要素M2〜M9が編集ウィンドウEに表示されている。
モデル要素M2はモデル要素M3,M4と接続されており、モデル要素M4はモデル要素M5,M6,M7と接続されており、モデル要素M3はモデル要素M8と接続されている。モデル要素M9は、他のモデル要素と接続されずに独立している。
したがって、図3の例では、下記に示すような順番で、モデル要素M2〜M9が実行されることが考えられる。同一順のモデル要素は並列処理である(例えば、モデル要素M3とモデル要素M4は並列処理)。ただし、これはあくまでも一例であり、他の順番で実行されることがある。
順番1 順番2 順番3
モデル要素M2 モデル要素M3 モデル要素M8
モデル要素M4 モデル要素M5
モデル要素M6
モデル要素M7
モデル要素M8
【0016】
モデル要素M2〜M9は、一般的には異なる処理を実施するが、例えば、同一のモデル要素の処理結果を受けて独自に処理を実施するセマンティクスなどが記述されていることがある
例えば、モデル要素M5〜M7は、同一のモデル要素M4の処理結果を受けて独自に処理を実施するモデル要素である。
このような場合、モデル要素M5〜M7を同一のグループ(構造要素)に属するように設定すれば、複数のモデル要素M5〜M7を一つの構造要素L−2で管理することができる。
なお、この実施の形態1のダイヤグラム編集装置がオブジェクト指向分析の分野に適用される場合には、モデル要素はソフトウェアが表す対象(例えば、利用者やプログラマが認識する対象)を表すことになる。具体的には、モデル要素がクラスやオブジェクトなどを表すことになる。
【0017】
ユーザがモデル要素M1〜M14のグループ化を希望する場合、ユーザがマンマシンI/F部1を操作して、グループの設定指令を入力する。
グループ設定部5は、ユーザがマンマシンI/F部1を操作して、グループの設定指令を入力すると(ステップST1)、画面表示処理部2により表示される編集ウィンドウE上で、グループの設定指令にしたがってモデル要素M2〜M9が属しているグループ(構造要素)を設定する処理を実施する(ステップST2)。
【0018】
図3の点線は、グループ設定部5により設定されたグループ(構造要素)に属しているモデル要素を示している。
構造要素L−1にはモデル要素M2,M3,M4、構造要素L−2にはモデル要素M2,M3,M4,M5,M6,M7、構造要素L−3にはモデル要素M2,M3,M4,M8、構造要素L−4にはモデル要素M9が属するように設定されている。
したがって、図3の例では、構造要素L−1,L−2,L−3,L−4の間には、下記に示すような包含関係がある。ただし、A>Bは、AがBを包含していることを示しているものとする。
L−2>L−1
L−3>L−1
L−4は包含関係なし
【0019】
構造空間図生成部6は、グループ設定部5が、モデル要素M2〜M9が属している構造要素L−1,L−2,L−3,L−4を設定すると、構造要素L−1,L−2,L−3,L−4の包含関係を判別する処理を実施する(ステップST3)。
即ち、構造空間図生成部6は、構造要素L−1,L−2,L−3,L−4に属しているモデル要素を相互に比較することにより、構造要素L−1,L−2,L−3,L−4の包含関係を判別する。
例えば、構造要素L−1にはモデル要素M2,M3,M4が属しているが、構造要素L−2には、構造要素L−1に属しているモデル要素M2,M3,M4の全てが属し、その他にも、モデル要素M5,M6,M7が属しているので、構造要素L−2は、構造要素L−1を包含していると判別する。
【0020】
構造空間図生成部6は、構造要素L−1,L−2,L−3,L−4の包含関係を判別すると、構造要素L−1,L−2,L−3,L−4の包含関係を示す構造空間図を生成する(ステップST4)。
画面表示処理部2は、構造空間図生成部6が構造空間図を生成すると、図3に示すように、その構造空間図を構造要素表示ウィンドウSに表示する(ステップST5)。
【0021】
次に、モデル要素を新たに追加する場合について説明する。ここでは説明の便宜上、構造要素L−3にモデル要素M15を追加する例を説明する。
この場合、ユーザがマンマシンI/F部1を操作して、パレットPに表示されているモデル要素の部品の中から所望の部品を選択する。例えば、□の部品を選択すれば、後述するように、□のモデル要素M15が編集ウィンドウEに配置され、△の部品を選択すれば、△のモデル要素M15が編集ウィンドウEに配置される。
次に、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−3を選択すると、モデル要素編集部4が、図4に示すように、構造要素L−3の領域内に新たなモデル要素M15を配置する。
この際、構造要素L−3に属しているモデル要素M8がモデル要素M3と接続されているので、新たに配置するモデル要素M15についても、モデル要素M8と同様に、モデル要素M3と接続するように自動編集する。
なお、モデル要素M15とモデル要素M3の接続関係は、モデル要素編集部4によりモデル要素M15の属性及びモデル要素M3の属性として設定される。あるいは、モデル要素M15とモデル要素M3を結ぶ接続線の属性として設定される。
また、モデル要素M15の属性には、モデル要素M15が構造要素L−3に属している旨の情報も設定される。
【0022】
以上で明らかなように、この実施の形態1によれば、モデル要素編集部4により編集されたモデル要素が属している構造要素を設定するグループ設定部5を設け、そのグループ設定部5により設定された構造要素間の包含関係を判別して、各構造要素間の包含関係を示す構造空間図を表示するように構成したので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、編集ウィンドウEに示されているセマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果を奏する。
即ち、複数のモデル要素を一つの構造要素で管理することができるので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができる効果を奏する。
また、編集ウィンドウEに示されているセマンティクスと異なる視点でモデル要素をグループ分けすることができるので、セマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果を奏する。
【0023】
なお、この実施の形態1では、グループ設定部5により設定された構造要素に属しているモデル要素を点線で囲んでいるものについて示したが(図3を参照)、これに限るものではなく、例えば、色分け表示や、塗りつぶしパターン分けで、各構造要素に属しているモデル要素を区別するようにしてもよい。
【0024】
また、この実施の形態1では、構造空間図生成部6がグループ設定部5により設定された構造要素間の関連として、構造要素間の包含関係を判別するものについて示したが、構造空間図生成部6がグループ設定部5により設定された構造要素間の関連として、構造要素間の包含関係に限るものではない。
例えば、構造要素L−1と構造要素L−2が接続されている場合、構造要素L−1と構造要素L−2が相互に通信を行う関係、構造要素L−1が構造要素L−2の情報を参照する関係、構造要素L−1が構造要素L−2に情報を書き込む関係、構造要素L−1が構造要素L−2を部品として有する関係、構造要素L−1が構造要素L−2の一般形であることを示す関係などを、構造要素間の関連として判別し、構造要素間の関連を示す構造空間図を生成して表示するようにしてもよい。
【0025】
実施の形態2.
上記実施の形態1では、画面表示処理部2がモデル要素編集部4により編集されたモデル要素を編集ウィンドウE上に表示するものについて示したが、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている任意の構造要素を選択すると、画面表示処理部2がその選択された構造要素に属しているモデル要素を、選択されていない構造要素に属しているモデル要素よりも視覚的に強調して表示するようにしてもよい。
【0026】
具体的には、以下の通りである。
構造要素表示ウィンドウSに表示されている構造要素L−1〜L4のうち、ユーザがマンマシンI/F部1を操作して、例えば、構造要素L−1を選択すると、画面表示処理部2が構造要素L−1に属しているモデル要素M2,M3,M4を視覚的に強調して表示する。
一方、構造要素L−1に属していないモデル要素M5〜M9については視覚的に抑制して表示する。
【0027】
ここで、視覚的に強調して表示する手法としては、例えば、モデル要素の表示領域を大きくしたり、モデル要素の表示色を目立つ色にしたり、モデル要素の表示位置を画面の中央にしたりするなどが考えられる。
一方、視覚的に抑制して表示する手法としては、例えば、モデル要素の表示領域を小さくしたり、モデル要素の表示色を白黒などの限定的な色や薄い色にしたり、モデル要素の表示位置を画面の隅にしたりするなどが考えられる。
【0028】
以上で明らかなように、この実施の形態2によれば、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている任意の構造要素を選択すると、画面表示処理部2がその選択された構造要素に属しているモデル要素を、選択されていない構造要素に属しているモデル要素よりも視覚的に強調して表示するように構成したので、現在選択されている構造要素に属しているモデル要素を直ちに確認することができる効果を奏する。
【0029】
実施の形態3.
図5はこの発明の実施の形態3によるダイヤグラム編集装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
属性設定部7はグループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する処理を実施する。なお、属性設定部7は属性設定手段を構成している。
モデル要素編集部8は図1のモデル要素編集部4と同様の処理を実施する他に、属性設定部7により必須の構成要素である旨の属性が設定されたモデル要素については、削除を目的とする編集を禁止するようにしている。
また、モデル要素編集部8は画面表示処理部2を介して、属性設定部7により設定されたモデル要素の属性を明示する処理を実施する。
なお、モデル要素編集部8はモデル要素編集手段を構成している。
【0030】
次に動作について説明する。
ここでは説明の便宜上、構造要素L−2に属しているモデル要素M5,M6,M7に着目し、初期状態では、モデル要素M5,M6,M7の属性が、必須の構成要素ではない旨を示すように設定されているものとする。
以下、構造要素L−2に属しているモデル要素M5,M6,M7の中で、モデル要素M5,M6の属性を必須の構成要素である旨を示すように設定変更する例を説明する。
【0031】
この場合、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−2を選択するとともに、編集ウィンドウEに表示されているモデル要素M5,M6を選択する。
属性設定部7は、ユーザがマンマシンI/F部1を操作して、モデル要素M5,M6が必須の構成要素である旨の指令を入力すると、モデル要素M5,M6の属性が必須の構成要素である旨を示すように変更する。
【0032】
モデル要素編集部8は、図1のモデル要素編集部4と同様に、画面表示処理部2を介して、モデル要素M2〜M9を編集ウィンドウEに表示するが、上記のようにして、属性設定部7がモデル要素M5,M6の属性を変更すると、モデル要素M5,M6が必須の構成要素であることが明らかになるように、属性設定部7により設定されたモデル要素の属性を明示する。
具体的には、モデル要素M5,M6を特定色で表示するようにする(例えば、必須の構成要素であれば赤色で表示し、必須の構成要素でなければ青色で表示する旨の条件が設定されていれば、モデル要素M5,M6を赤色で表示する)。
【0033】
モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、例えば、モデル要素M7の削除指令を入力すると、モデル要素M7の削除を受け付けて、編集ウィンドウE上からモデル要素M7を消去する。
しかし、モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、モデル要素M5又はモデル要素M6の削除指令を入力しても、上記のようにして、モデル要素M5,M6の属性が変更された場合、モデル要素M5,M6が属している構造要素L−2が存在している限り、モデル要素M5又はモデル要素M6の削除を受け付けないようにする。
【0034】
以上で明らかなように、この実施の形態3によれば、グループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する属性設定部7を設けるように構成したので、モデル要素のセマンティックスを制約する機能をダイヤグラム編集エディタであるモデル要素編集部8に付与することができる効果を奏する。
【0035】
また、この実施の形態3によれば、属性設定部7により必須の構成要素である旨の属性が設定されたモデル要素の削除を目的とする編集を禁止するように構成したので、モデル要素のセマンティックスに反する編集を防止することができる効果を奏する。
また、この実施の形態3によれば、属性設定部7により設定されたモデル要素の属性を明示するように構成したので、モデル要素が必須の構成要素であるか否かを容易に確認することができる効果を奏する。
【0036】
なお、この実施の形態3では、グループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定するものについて示したが、これに限るものではなく、例えば、属性設定部7がモデル要素の内部変数や、モデル要素が有する処理メソッドなどを設定して、モデル要素の内部変数や処理メソッドの制約を規定するようにしてもよい。
【0037】
また、この実施の形態3では、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−2を選択して、編集ウィンドウEに表示されているモデル要素M5,M6を選択するものについて示したが、ユーザがマンマシンI/F部1を操作して、例えば、構造要素間L−1と構造要素間L−3間の接続線と、その接続線に対応するモデル要素M3とモデル要素M8間の接続線とを指定して、属性設定部7がモデル要素M3とモデル要素M8間の接続線が必須の接続線であるか否かを示す属性を設定するようにしてもよい。
モデル要素編集部8は、モデル要素M3とモデル要素M8間の接続線が必須の接続線である旨の属性が設定されている場合、ユーザがマンマシンI/F部1を操作して、モデル要素M3とモデル要素M8間の接続線の削除指令を入力しても、構造要素間L−1と構造要素間L−3間の接続線が存在している限り、モデル要素M3とモデル要素M8間の接続線の削除を受け付けないようにする。
【0038】
実施の形態4.
上記実施の形態1〜3では、特に言及していないが、必須の構成要素であるモデル要素と、その必須のモデル要素における他のモデル要素との接続関係とが定義されている構造要素作用素(モデルテンプレート)が指定された場合、モデル要素編集部8が、その構造要素作用素に定義されている内容にしたがってモデル要素を編集ウィンドウE上で編集するようにしてもよい。
具体的には、以下の通りである。
【0039】
図6は構造要素作用素の一例を示す説明図であり、図において、NM1,NM2は新たに追加する構造要素において必須のモデル要素であり、OMはモデル要素NM1,NM2が接続される相手方のモデル要素である。
以下、図6の構造要素作用素を利用して、図7の編集ウィンドウE上にモデル要素を生成する手順を説明する。
ここでは、説明の便宜上、構造要素L−1,L−3が既に定義されて、モデル要素M2,M3,M4,M8が生成済みであり、新たに構造要素L−2を定義して、モデル要素M21,M22を生成するものとする。
【0040】
まず、ユーザは、マンマシンI/F部1を操作して、利用する構造要素作用素を指定する。ここでは、図6の構造要素作用素を指定するものとする。
モデル要素編集部8は、ユーザが図6の構造要素作用素を指定すると、図6の構造要素作用素を構造要素L−2として、図7の構造要素表示ウィンドウSにインポートする。
また、モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、構造要素L−2の接続先を指定すると(図7の例では、構造要素L−1が接続先)、図8に示すように、構造要素L−2を構造要素L−1と接続する。
【0041】
モデル要素編集部8は、上記のようにして、構造要素L−2を構造要素L−1と接続すると、図6の構造要素作用素は2個のモデル要素NM1,NM2を必須のモデル要素としているので、2個のモデル要素NM1,NM2をモデル要素M21,M22として、編集ウィンドウE上に生成する。
また、図6の構造要素作用素では、必須のモデル要素NM1,NM2が他の構造要素のモデル要素OMと接続するように定義されており、構造要素L−2を構造要素L−1と接続しているので、モデル要素編集部8は、必須のモデル要素NM1,NM2であるモデル要素M21,M22を構造要素L−1のモデル要素M4と接続する(図8の例では、ユーザがマンマシンI/F部1を操作して、モデル要素M21,M22の接続先として、構造要素L−1のモデル要素M4を指定しているものとする)。
【0042】
以上で明らかなように、この実施の形態4によれば、必須のモデル要素NMと、必須のモデル要素NMにおける他のモデル要素OMとの接続関係とが定義されている構造要素作用素が指定された場合、モデル要素編集部8が、その構造要素作用素に定義されている内容にしたがってモデル要素を編集ウィンドウE上で編集するように構成したので、新たなモデル要素を速やかに生成することができる効果を奏する。
【0043】
実施の形態5.
図9はこの発明の実施の形態5によるダイヤグラム編集装置を示す構成図であり、図において、図5と同一符号は同一または相当部分を示すので説明を省略する。
モデル要素検索部9はモデル要素編集8により編集されたモデル要素の中から、グループ設定部5により設定された構造要素に属しているモデル要素を検索する処理を実施する。なお、モデル要素検索部9はモデル要素検索手段を構成している。
【0044】
この実施の形態5では、モデル要素編集8により編集されたモデル要素の中から所望のモデル要素を検索するに際して、ダイヤグラムのセマンティックスを視点とする検索だけでなく、構造要素単位のモデル要素の検索機能を付加しているものである。
具体的には、以下の通りである。
【0045】
データの管理、特に検索機能の実現には、データに対して何らかの体系化を行う必要がある。その理由は、膨大なデータの中から、利用者が目的に合致するデータを発見する際、全てのデータを調べ上げるには多くの手間がかかり事実上困難であるため、調べるデータの件数を絞り込む必要がある。この絞り込みには、データの体系を利用することができるからである。
例えば、国語辞書は、単語の表記を五十音順で体系化しているため、見つけたい単語が定まれば、辞書の任意のページを開いたときに、その単語が開いたページの前にあるか後にあるかが分かる。
したがって、ページを開く度に、およそ半分の候補に絞り込むことができる。つまり、単語を五十音で体系化することにより、目的とする単語の検索速度を高めることができる。
【0046】
単語と同様にダイヤグラムの管理や検索を行う場合にも、何らかの体系に基づいてデータを保存することにより、検索の効率化を図ることができるが、ダイヤグラムの体系を作ることは自明ではない。
例えば、モデル要素の名称を使って体系化を行う場合を考えてみると、モデル要素に付ける名称は、モデル化の対象に応じて様々変化する。
図10の例では、1つの中心要素Cに、他の全ての要素Lが一対一で接続しているスター型のモデル構造を示している。
スター型のモデルの構造は共通であっても、対象によっては、例えば、「担任教師」と「教室の備品」という関係であったり、「ネットワークハブ」と「ネットワークに接続するコンピュータの種類」という関係であったり、様々な名称が付けられる。したがって、モデル要素の名称による体系化は、モデル要素の構造に着目した検索には役に立たないことが分かる。
【0047】
次に、モデル要素自体の構造に着目して体系化を行う場合を考えてみる。
先程のスター構造を例に考えると、スター構造は、中心要素Cが一つに決まっているが、その他の要素Lの個数は、一つ以上であれば、スター構造と見なすことができる。したがって、スター構造であるか否かの判定は、要素数が増えるほど手間のかかる処理となる。
また、スター構造として体系化に組み入れたいダイヤグラムがある場合、任意のモデル要素に対して、新たなモデル要素を追加することができない。
その理由は、図11に示すように、「本棚」や「用具入れ」などの任意の要素を、スター構造のその他要素Lである「棚」に関連付けてしまうと、スター構造が崩れてしまうからである。
このことは、モデル要素のセマンティクスとダイヤグラム管理の効率が両立しない状況が容易に生じてしまうことを意味する。
【0048】
これに対して、図12に示すように、モデル要素の中心要素Cと構造空間における構造要素C(中心要素Cが属している構造要素)を対応付けるとともに、モデル要素の中心要素Cに接続されていているその他の要素Lと構造空間における構造要素L(その他の要素Lが属している構造要素L)を対応付ける体系化を行うと、「本棚」や「用具入れ」などの任意の要素をその他の要素Lである「棚」に関連付けることにより、スター構造が崩れても、構造空間での表現は何ら変わらない。
【0049】
例えば、構造要素Lとモデル要素であるその他の要素Lの対応情報を使用することにより、仮に任意の要素が関連付けられても、スター構造の要素に含まれているモデル要素と、スター構造の要素に含まれていないモデル要素とを区別することが可能になる。
したがって、構造要素に属しているモデル要素を調べれば、スター構造に多少の変更が加えられても、速やかに所望のモデル要素を検索することができることを意味する。
そこで、この実施の形態5では、モデル要素検索部9がモデル要素編集8により編集されたモデル要素の中から所望のモデル要素を検索する際、構造要素とモデル要素の対応関係を参照して、グループ設定部5により設定された構造要素に属しているモデル要素を検索するようにしている。
【図面の簡単な説明】
【0050】
【図1】この発明の実施の形態1によるダイヤグラム編集装置を示す構成図である。
【図2】この発明の実施の形態1によるダイヤグラム編集装置の処理内容を示すフローチャートである。
【図3】編集ウイエンドウEや構造要素表示ウイエンドウSなどを示す説明図である。
【図4】編集ウイエンドウEや構造要素表示ウイエンドウSなどを示す説明図である。
【図5】この発明の実施の形態3によるダイヤグラム編集装置を示す構成図である。
【図6】構造要素作用素の一例を示す説明図である。
【図7】構造要素作用素がインポートされている状態を示す説明図である。
【図8】モデル要素の生成例を示す説明図である。
【図9】この発明の実施の形態5によるダイヤグラム編集装置を示す構成図である。
【図10】スター型のモデル構造を示す説明図である。
【図11】崩れたスター型のモデル構造を示す説明図である。
【図12】モデルセマンティクスと構造空間を示す説明図である。
【符号の説明】
【0051】
1 マンマシンI/F部、2 画面表示処理部(モデル要素編集手段、グループ設定手段、構造空間図表示手段)、3 ディスプレイ、4 モデル要素編集部(モデル要素編集手段)、5 グループ設定部(グループ設定手段)、6 構造空間図生成部(構造空間図表示手段)、7 属性設定部(属性設定手段)、8 モデル要素編集部(モデル要素編集手段)、9 モデル要素検索部(モデル要素検索手段)。
【技術分野】
【0001】
この発明は、ソフトウェア開発の対象システムがモデル化されているダイヤグラムの編集を支援するダイヤグラム編集装置に関するものである。
【背景技術】
【0002】
従来のダイヤグラム編集装置は、ダイヤグラムの構成要素であるモデル要素を編集する編集ウィンドウの他に、その編集ウィンドウにより編集されたモデル要素のパッケージ構造を示すツリービューが設けられている。
ダイヤグラム編集装置の編集ウィンドウでは、ダイヤグラムのセマンティクス、即ち、複数のモデル要素間の接続関係についても明示されるが、ダイヤグラムを構成するモデル要素の個数が多い場合には、全てのモデル要素を表示することができず、ダイヤグラムの全体構成を把握することが困難になる場合がある。
一方、個々のモデル要素の表示領域を小さくすれば、ダイヤグラムの全体を表示することができるが、この場合、個々のモデル要素が見づらくなるため、結果的には、ダイヤグラムの全体構成を把握することが困難になる。
【0003】
なお、ダイヤグラム編集装置の編集ウィンドウには、ダイヤグラムのセマンティクスが表示されるが、編集ウィンドウにより編集されたモデル要素をグループ分けする機能や、各グループの包含関係を明示する機能などを搭載していないので、セマンティクスと異なる視点からダイヤグラムの構成を把握することができない。
【0004】
以下の特許文献1には、既存のプログラムの修正や再利用の容易化を図るために、既存のプログラムを解析して、そのプログラムの骨格構造と呼ばれるプログラム処理パターンを抽出する機能と、利用者の要求に応じて骨格構造を変更してプログラムを自動生成する機能とを備えているプログラム仕様生成方法が開示されている。
しかし、以下の特許文献1においても、編集ウィンドウにより編集されたモデル要素をグループ分けする機能や、各グループの包含関係を明示する機能などを搭載していない。
【0005】
【特許文献1】特開平5−40616号公報(段落番号[0012]、図1)
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来のダイヤグラム編集装置は以上のように構成されているので、ダイヤグラムを構成するモデル要素の個数が多い場合、ダイヤグラムの全体構成を把握することが困難になることがある課題があった。
また、編集ウィンドウを見れば、セマンティクスの視点からダイヤグラムの構成を把握することができるが、セマンティクスと異なる視点からダイヤグラムの構成を把握することができない課題もあった。
【0007】
この発明は上記のような課題を解決するためになされたもので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、セマンティクスと異なる視点からダイヤグラムの構成を把握することができるダイヤグラム編集装置を得ることを目的とする。
【課題を解決するための手段】
【0008】
この発明に係るダイヤグラム編集装置は、モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段を設け、そのグループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示するようにしたものである。
【発明の効果】
【0009】
この発明によれば、モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段を設け、そのグループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示するように構成したので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、セマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果がある。
【発明を実施するための最良の形態】
【0010】
実施の形態1.
図1はこの発明の実施の形態1によるダイヤグラム編集装置を示す構成図であり、図において、マンマシンI/F部1は例えばキーボードやマウスなどから構成され、例えば、モデル要素の編集指令や、モデル要素が属しているグループの設定指令などを入力する入力装置である。
画面表示処理部2はダイヤグラムの構成要素であるモデル要素を編集する際に使用する編集ウィンドウE、編集ウィンドウEに配置するモデル要素の部品を選択するパレットP、編集ウィンドウEにより編集されたモデル要素のパッケージ構造を示すツリービューB、ダイヤグラムを構成しているモデル要素の部分集合である構造要素(同一のグループに属しているモデル要素の集合)を表示する構造要素表示ウィンドウSなどをディスプレイ3に表示する処理を実施する。
【0011】
モデル要素編集部4は画面表示処理部2により表示される編集ウィンドウE上で、マンマシンI/F部1により入力された編集指令にしたがってダイヤグラムの構成要素であるモデル要素を編集する処理を実施する。
なお、画面表示処理部2及びモデル要素編集部4からモデル要素編集手段が構成されている。
グループ設定部5は画面表示処理部2により表示される編集ウィンドウE上で、マンマシンI/F部1により入力された設定指令にしたがってモデル要素編集部4により編集されたモデル要素が属しているグループを設定する処理を実施する。即ち、ダイヤグラムを構成しているモデル要素の部分集合である構造要素を設定する処理を実施する。
なお、画面表示処理部2及びグループ設定部5からグループ設定手段が構成されている。
【0012】
構造空間図生成部6はグループ設定部5により設定された構造要素間(グループ間)の関連として、構造要素間(グループ間)の包含関係を判別して、構造要素間の包含関係を示す構造空間図を生成し、画面表示処理部2を介して、その構造空間図を構造要素表示ウィンドウSに表示する処理を実施する。
なお、画面表示処理部2及び構造空間図生成部6から構造空間図表示手段が構成されている。
図2はこの発明の実施の形態1によるダイヤグラム編集装置の処理内容を示すフローチャートである。
【0013】
図1の例では、ダイヤグラム編集装置の構成要素である画面表示処理部2、モデル要素編集部4、グループ設定部5及び構造空間図生成部6が専用のハードウェア(例えば、MPUを実装している半導体集積回路基板)から構成されていることを想定しているが、ダイヤグラム編集装置がコンピュータから構成されている場合、ダイヤグラム編集装置の構成要素である画面表示処理部2、モデル要素編集部4、グループ設定部5及び構造空間図生成部6の処理内容を記述したプログラムをコンピュータのメモリに格納し、そのコンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
【0014】
次に動作について説明する。
画面表示処理部2は、図3に示すように、ダイヤグラムのモデル要素を編集する際に使用する編集ウィンドウE、編集ウィンドウEに配置するモデル要素の部品を選択するパレットP、編集ウィンドウEにより編集されたモデル要素のパッケージ構造を示すツリービューB、ダイヤグラムを構成しているモデル要素の部分集合である構造要素を表示する構造要素表示ウィンドウSをディスプレイ3に表示する。
【0015】
図3の例では、ダイヤグラムが14個のモデル要素M1〜M14から構成されており、14個のモデル要素M1〜M14のパッケージ構造がツリービューBに表示されている。
また、図3の例では、ダイヤグラムの最上位のモデル要素M1にぶら下がっているモデル要素M2〜M9が編集ウィンドウEに表示されている。
モデル要素M2はモデル要素M3,M4と接続されており、モデル要素M4はモデル要素M5,M6,M7と接続されており、モデル要素M3はモデル要素M8と接続されている。モデル要素M9は、他のモデル要素と接続されずに独立している。
したがって、図3の例では、下記に示すような順番で、モデル要素M2〜M9が実行されることが考えられる。同一順のモデル要素は並列処理である(例えば、モデル要素M3とモデル要素M4は並列処理)。ただし、これはあくまでも一例であり、他の順番で実行されることがある。
順番1 順番2 順番3
モデル要素M2 モデル要素M3 モデル要素M8
モデル要素M4 モデル要素M5
モデル要素M6
モデル要素M7
モデル要素M8
【0016】
モデル要素M2〜M9は、一般的には異なる処理を実施するが、例えば、同一のモデル要素の処理結果を受けて独自に処理を実施するセマンティクスなどが記述されていることがある
例えば、モデル要素M5〜M7は、同一のモデル要素M4の処理結果を受けて独自に処理を実施するモデル要素である。
このような場合、モデル要素M5〜M7を同一のグループ(構造要素)に属するように設定すれば、複数のモデル要素M5〜M7を一つの構造要素L−2で管理することができる。
なお、この実施の形態1のダイヤグラム編集装置がオブジェクト指向分析の分野に適用される場合には、モデル要素はソフトウェアが表す対象(例えば、利用者やプログラマが認識する対象)を表すことになる。具体的には、モデル要素がクラスやオブジェクトなどを表すことになる。
【0017】
ユーザがモデル要素M1〜M14のグループ化を希望する場合、ユーザがマンマシンI/F部1を操作して、グループの設定指令を入力する。
グループ設定部5は、ユーザがマンマシンI/F部1を操作して、グループの設定指令を入力すると(ステップST1)、画面表示処理部2により表示される編集ウィンドウE上で、グループの設定指令にしたがってモデル要素M2〜M9が属しているグループ(構造要素)を設定する処理を実施する(ステップST2)。
【0018】
図3の点線は、グループ設定部5により設定されたグループ(構造要素)に属しているモデル要素を示している。
構造要素L−1にはモデル要素M2,M3,M4、構造要素L−2にはモデル要素M2,M3,M4,M5,M6,M7、構造要素L−3にはモデル要素M2,M3,M4,M8、構造要素L−4にはモデル要素M9が属するように設定されている。
したがって、図3の例では、構造要素L−1,L−2,L−3,L−4の間には、下記に示すような包含関係がある。ただし、A>Bは、AがBを包含していることを示しているものとする。
L−2>L−1
L−3>L−1
L−4は包含関係なし
【0019】
構造空間図生成部6は、グループ設定部5が、モデル要素M2〜M9が属している構造要素L−1,L−2,L−3,L−4を設定すると、構造要素L−1,L−2,L−3,L−4の包含関係を判別する処理を実施する(ステップST3)。
即ち、構造空間図生成部6は、構造要素L−1,L−2,L−3,L−4に属しているモデル要素を相互に比較することにより、構造要素L−1,L−2,L−3,L−4の包含関係を判別する。
例えば、構造要素L−1にはモデル要素M2,M3,M4が属しているが、構造要素L−2には、構造要素L−1に属しているモデル要素M2,M3,M4の全てが属し、その他にも、モデル要素M5,M6,M7が属しているので、構造要素L−2は、構造要素L−1を包含していると判別する。
【0020】
構造空間図生成部6は、構造要素L−1,L−2,L−3,L−4の包含関係を判別すると、構造要素L−1,L−2,L−3,L−4の包含関係を示す構造空間図を生成する(ステップST4)。
画面表示処理部2は、構造空間図生成部6が構造空間図を生成すると、図3に示すように、その構造空間図を構造要素表示ウィンドウSに表示する(ステップST5)。
【0021】
次に、モデル要素を新たに追加する場合について説明する。ここでは説明の便宜上、構造要素L−3にモデル要素M15を追加する例を説明する。
この場合、ユーザがマンマシンI/F部1を操作して、パレットPに表示されているモデル要素の部品の中から所望の部品を選択する。例えば、□の部品を選択すれば、後述するように、□のモデル要素M15が編集ウィンドウEに配置され、△の部品を選択すれば、△のモデル要素M15が編集ウィンドウEに配置される。
次に、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−3を選択すると、モデル要素編集部4が、図4に示すように、構造要素L−3の領域内に新たなモデル要素M15を配置する。
この際、構造要素L−3に属しているモデル要素M8がモデル要素M3と接続されているので、新たに配置するモデル要素M15についても、モデル要素M8と同様に、モデル要素M3と接続するように自動編集する。
なお、モデル要素M15とモデル要素M3の接続関係は、モデル要素編集部4によりモデル要素M15の属性及びモデル要素M3の属性として設定される。あるいは、モデル要素M15とモデル要素M3を結ぶ接続線の属性として設定される。
また、モデル要素M15の属性には、モデル要素M15が構造要素L−3に属している旨の情報も設定される。
【0022】
以上で明らかなように、この実施の形態1によれば、モデル要素編集部4により編集されたモデル要素が属している構造要素を設定するグループ設定部5を設け、そのグループ設定部5により設定された構造要素間の包含関係を判別して、各構造要素間の包含関係を示す構造空間図を表示するように構成したので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができるとともに、編集ウィンドウEに示されているセマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果を奏する。
即ち、複数のモデル要素を一つの構造要素で管理することができるので、ダイヤグラムを構成するモデル要素の個数が多い場合でも、ダイヤグラムの全体構成を容易に把握することができる効果を奏する。
また、編集ウィンドウEに示されているセマンティクスと異なる視点でモデル要素をグループ分けすることができるので、セマンティクスと異なる視点からダイヤグラムの構成を把握することができる効果を奏する。
【0023】
なお、この実施の形態1では、グループ設定部5により設定された構造要素に属しているモデル要素を点線で囲んでいるものについて示したが(図3を参照)、これに限るものではなく、例えば、色分け表示や、塗りつぶしパターン分けで、各構造要素に属しているモデル要素を区別するようにしてもよい。
【0024】
また、この実施の形態1では、構造空間図生成部6がグループ設定部5により設定された構造要素間の関連として、構造要素間の包含関係を判別するものについて示したが、構造空間図生成部6がグループ設定部5により設定された構造要素間の関連として、構造要素間の包含関係に限るものではない。
例えば、構造要素L−1と構造要素L−2が接続されている場合、構造要素L−1と構造要素L−2が相互に通信を行う関係、構造要素L−1が構造要素L−2の情報を参照する関係、構造要素L−1が構造要素L−2に情報を書き込む関係、構造要素L−1が構造要素L−2を部品として有する関係、構造要素L−1が構造要素L−2の一般形であることを示す関係などを、構造要素間の関連として判別し、構造要素間の関連を示す構造空間図を生成して表示するようにしてもよい。
【0025】
実施の形態2.
上記実施の形態1では、画面表示処理部2がモデル要素編集部4により編集されたモデル要素を編集ウィンドウE上に表示するものについて示したが、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている任意の構造要素を選択すると、画面表示処理部2がその選択された構造要素に属しているモデル要素を、選択されていない構造要素に属しているモデル要素よりも視覚的に強調して表示するようにしてもよい。
【0026】
具体的には、以下の通りである。
構造要素表示ウィンドウSに表示されている構造要素L−1〜L4のうち、ユーザがマンマシンI/F部1を操作して、例えば、構造要素L−1を選択すると、画面表示処理部2が構造要素L−1に属しているモデル要素M2,M3,M4を視覚的に強調して表示する。
一方、構造要素L−1に属していないモデル要素M5〜M9については視覚的に抑制して表示する。
【0027】
ここで、視覚的に強調して表示する手法としては、例えば、モデル要素の表示領域を大きくしたり、モデル要素の表示色を目立つ色にしたり、モデル要素の表示位置を画面の中央にしたりするなどが考えられる。
一方、視覚的に抑制して表示する手法としては、例えば、モデル要素の表示領域を小さくしたり、モデル要素の表示色を白黒などの限定的な色や薄い色にしたり、モデル要素の表示位置を画面の隅にしたりするなどが考えられる。
【0028】
以上で明らかなように、この実施の形態2によれば、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている任意の構造要素を選択すると、画面表示処理部2がその選択された構造要素に属しているモデル要素を、選択されていない構造要素に属しているモデル要素よりも視覚的に強調して表示するように構成したので、現在選択されている構造要素に属しているモデル要素を直ちに確認することができる効果を奏する。
【0029】
実施の形態3.
図5はこの発明の実施の形態3によるダイヤグラム編集装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
属性設定部7はグループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する処理を実施する。なお、属性設定部7は属性設定手段を構成している。
モデル要素編集部8は図1のモデル要素編集部4と同様の処理を実施する他に、属性設定部7により必須の構成要素である旨の属性が設定されたモデル要素については、削除を目的とする編集を禁止するようにしている。
また、モデル要素編集部8は画面表示処理部2を介して、属性設定部7により設定されたモデル要素の属性を明示する処理を実施する。
なお、モデル要素編集部8はモデル要素編集手段を構成している。
【0030】
次に動作について説明する。
ここでは説明の便宜上、構造要素L−2に属しているモデル要素M5,M6,M7に着目し、初期状態では、モデル要素M5,M6,M7の属性が、必須の構成要素ではない旨を示すように設定されているものとする。
以下、構造要素L−2に属しているモデル要素M5,M6,M7の中で、モデル要素M5,M6の属性を必須の構成要素である旨を示すように設定変更する例を説明する。
【0031】
この場合、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−2を選択するとともに、編集ウィンドウEに表示されているモデル要素M5,M6を選択する。
属性設定部7は、ユーザがマンマシンI/F部1を操作して、モデル要素M5,M6が必須の構成要素である旨の指令を入力すると、モデル要素M5,M6の属性が必須の構成要素である旨を示すように変更する。
【0032】
モデル要素編集部8は、図1のモデル要素編集部4と同様に、画面表示処理部2を介して、モデル要素M2〜M9を編集ウィンドウEに表示するが、上記のようにして、属性設定部7がモデル要素M5,M6の属性を変更すると、モデル要素M5,M6が必須の構成要素であることが明らかになるように、属性設定部7により設定されたモデル要素の属性を明示する。
具体的には、モデル要素M5,M6を特定色で表示するようにする(例えば、必須の構成要素であれば赤色で表示し、必須の構成要素でなければ青色で表示する旨の条件が設定されていれば、モデル要素M5,M6を赤色で表示する)。
【0033】
モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、例えば、モデル要素M7の削除指令を入力すると、モデル要素M7の削除を受け付けて、編集ウィンドウE上からモデル要素M7を消去する。
しかし、モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、モデル要素M5又はモデル要素M6の削除指令を入力しても、上記のようにして、モデル要素M5,M6の属性が変更された場合、モデル要素M5,M6が属している構造要素L−2が存在している限り、モデル要素M5又はモデル要素M6の削除を受け付けないようにする。
【0034】
以上で明らかなように、この実施の形態3によれば、グループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する属性設定部7を設けるように構成したので、モデル要素のセマンティックスを制約する機能をダイヤグラム編集エディタであるモデル要素編集部8に付与することができる効果を奏する。
【0035】
また、この実施の形態3によれば、属性設定部7により必須の構成要素である旨の属性が設定されたモデル要素の削除を目的とする編集を禁止するように構成したので、モデル要素のセマンティックスに反する編集を防止することができる効果を奏する。
また、この実施の形態3によれば、属性設定部7により設定されたモデル要素の属性を明示するように構成したので、モデル要素が必須の構成要素であるか否かを容易に確認することができる効果を奏する。
【0036】
なお、この実施の形態3では、グループ設定部5により設定された構造要素に属しているモデル要素が必須の構成要素であるか否かを示す属性を設定するものについて示したが、これに限るものではなく、例えば、属性設定部7がモデル要素の内部変数や、モデル要素が有する処理メソッドなどを設定して、モデル要素の内部変数や処理メソッドの制約を規定するようにしてもよい。
【0037】
また、この実施の形態3では、ユーザがマンマシンI/F部1を操作して、構造要素表示ウィンドウSに表示されている構造要素L−2を選択して、編集ウィンドウEに表示されているモデル要素M5,M6を選択するものについて示したが、ユーザがマンマシンI/F部1を操作して、例えば、構造要素間L−1と構造要素間L−3間の接続線と、その接続線に対応するモデル要素M3とモデル要素M8間の接続線とを指定して、属性設定部7がモデル要素M3とモデル要素M8間の接続線が必須の接続線であるか否かを示す属性を設定するようにしてもよい。
モデル要素編集部8は、モデル要素M3とモデル要素M8間の接続線が必須の接続線である旨の属性が設定されている場合、ユーザがマンマシンI/F部1を操作して、モデル要素M3とモデル要素M8間の接続線の削除指令を入力しても、構造要素間L−1と構造要素間L−3間の接続線が存在している限り、モデル要素M3とモデル要素M8間の接続線の削除を受け付けないようにする。
【0038】
実施の形態4.
上記実施の形態1〜3では、特に言及していないが、必須の構成要素であるモデル要素と、その必須のモデル要素における他のモデル要素との接続関係とが定義されている構造要素作用素(モデルテンプレート)が指定された場合、モデル要素編集部8が、その構造要素作用素に定義されている内容にしたがってモデル要素を編集ウィンドウE上で編集するようにしてもよい。
具体的には、以下の通りである。
【0039】
図6は構造要素作用素の一例を示す説明図であり、図において、NM1,NM2は新たに追加する構造要素において必須のモデル要素であり、OMはモデル要素NM1,NM2が接続される相手方のモデル要素である。
以下、図6の構造要素作用素を利用して、図7の編集ウィンドウE上にモデル要素を生成する手順を説明する。
ここでは、説明の便宜上、構造要素L−1,L−3が既に定義されて、モデル要素M2,M3,M4,M8が生成済みであり、新たに構造要素L−2を定義して、モデル要素M21,M22を生成するものとする。
【0040】
まず、ユーザは、マンマシンI/F部1を操作して、利用する構造要素作用素を指定する。ここでは、図6の構造要素作用素を指定するものとする。
モデル要素編集部8は、ユーザが図6の構造要素作用素を指定すると、図6の構造要素作用素を構造要素L−2として、図7の構造要素表示ウィンドウSにインポートする。
また、モデル要素編集部8は、ユーザがマンマシンI/F部1を操作して、構造要素L−2の接続先を指定すると(図7の例では、構造要素L−1が接続先)、図8に示すように、構造要素L−2を構造要素L−1と接続する。
【0041】
モデル要素編集部8は、上記のようにして、構造要素L−2を構造要素L−1と接続すると、図6の構造要素作用素は2個のモデル要素NM1,NM2を必須のモデル要素としているので、2個のモデル要素NM1,NM2をモデル要素M21,M22として、編集ウィンドウE上に生成する。
また、図6の構造要素作用素では、必須のモデル要素NM1,NM2が他の構造要素のモデル要素OMと接続するように定義されており、構造要素L−2を構造要素L−1と接続しているので、モデル要素編集部8は、必須のモデル要素NM1,NM2であるモデル要素M21,M22を構造要素L−1のモデル要素M4と接続する(図8の例では、ユーザがマンマシンI/F部1を操作して、モデル要素M21,M22の接続先として、構造要素L−1のモデル要素M4を指定しているものとする)。
【0042】
以上で明らかなように、この実施の形態4によれば、必須のモデル要素NMと、必須のモデル要素NMにおける他のモデル要素OMとの接続関係とが定義されている構造要素作用素が指定された場合、モデル要素編集部8が、その構造要素作用素に定義されている内容にしたがってモデル要素を編集ウィンドウE上で編集するように構成したので、新たなモデル要素を速やかに生成することができる効果を奏する。
【0043】
実施の形態5.
図9はこの発明の実施の形態5によるダイヤグラム編集装置を示す構成図であり、図において、図5と同一符号は同一または相当部分を示すので説明を省略する。
モデル要素検索部9はモデル要素編集8により編集されたモデル要素の中から、グループ設定部5により設定された構造要素に属しているモデル要素を検索する処理を実施する。なお、モデル要素検索部9はモデル要素検索手段を構成している。
【0044】
この実施の形態5では、モデル要素編集8により編集されたモデル要素の中から所望のモデル要素を検索するに際して、ダイヤグラムのセマンティックスを視点とする検索だけでなく、構造要素単位のモデル要素の検索機能を付加しているものである。
具体的には、以下の通りである。
【0045】
データの管理、特に検索機能の実現には、データに対して何らかの体系化を行う必要がある。その理由は、膨大なデータの中から、利用者が目的に合致するデータを発見する際、全てのデータを調べ上げるには多くの手間がかかり事実上困難であるため、調べるデータの件数を絞り込む必要がある。この絞り込みには、データの体系を利用することができるからである。
例えば、国語辞書は、単語の表記を五十音順で体系化しているため、見つけたい単語が定まれば、辞書の任意のページを開いたときに、その単語が開いたページの前にあるか後にあるかが分かる。
したがって、ページを開く度に、およそ半分の候補に絞り込むことができる。つまり、単語を五十音で体系化することにより、目的とする単語の検索速度を高めることができる。
【0046】
単語と同様にダイヤグラムの管理や検索を行う場合にも、何らかの体系に基づいてデータを保存することにより、検索の効率化を図ることができるが、ダイヤグラムの体系を作ることは自明ではない。
例えば、モデル要素の名称を使って体系化を行う場合を考えてみると、モデル要素に付ける名称は、モデル化の対象に応じて様々変化する。
図10の例では、1つの中心要素Cに、他の全ての要素Lが一対一で接続しているスター型のモデル構造を示している。
スター型のモデルの構造は共通であっても、対象によっては、例えば、「担任教師」と「教室の備品」という関係であったり、「ネットワークハブ」と「ネットワークに接続するコンピュータの種類」という関係であったり、様々な名称が付けられる。したがって、モデル要素の名称による体系化は、モデル要素の構造に着目した検索には役に立たないことが分かる。
【0047】
次に、モデル要素自体の構造に着目して体系化を行う場合を考えてみる。
先程のスター構造を例に考えると、スター構造は、中心要素Cが一つに決まっているが、その他の要素Lの個数は、一つ以上であれば、スター構造と見なすことができる。したがって、スター構造であるか否かの判定は、要素数が増えるほど手間のかかる処理となる。
また、スター構造として体系化に組み入れたいダイヤグラムがある場合、任意のモデル要素に対して、新たなモデル要素を追加することができない。
その理由は、図11に示すように、「本棚」や「用具入れ」などの任意の要素を、スター構造のその他要素Lである「棚」に関連付けてしまうと、スター構造が崩れてしまうからである。
このことは、モデル要素のセマンティクスとダイヤグラム管理の効率が両立しない状況が容易に生じてしまうことを意味する。
【0048】
これに対して、図12に示すように、モデル要素の中心要素Cと構造空間における構造要素C(中心要素Cが属している構造要素)を対応付けるとともに、モデル要素の中心要素Cに接続されていているその他の要素Lと構造空間における構造要素L(その他の要素Lが属している構造要素L)を対応付ける体系化を行うと、「本棚」や「用具入れ」などの任意の要素をその他の要素Lである「棚」に関連付けることにより、スター構造が崩れても、構造空間での表現は何ら変わらない。
【0049】
例えば、構造要素Lとモデル要素であるその他の要素Lの対応情報を使用することにより、仮に任意の要素が関連付けられても、スター構造の要素に含まれているモデル要素と、スター構造の要素に含まれていないモデル要素とを区別することが可能になる。
したがって、構造要素に属しているモデル要素を調べれば、スター構造に多少の変更が加えられても、速やかに所望のモデル要素を検索することができることを意味する。
そこで、この実施の形態5では、モデル要素検索部9がモデル要素編集8により編集されたモデル要素の中から所望のモデル要素を検索する際、構造要素とモデル要素の対応関係を参照して、グループ設定部5により設定された構造要素に属しているモデル要素を検索するようにしている。
【図面の簡単な説明】
【0050】
【図1】この発明の実施の形態1によるダイヤグラム編集装置を示す構成図である。
【図2】この発明の実施の形態1によるダイヤグラム編集装置の処理内容を示すフローチャートである。
【図3】編集ウイエンドウEや構造要素表示ウイエンドウSなどを示す説明図である。
【図4】編集ウイエンドウEや構造要素表示ウイエンドウSなどを示す説明図である。
【図5】この発明の実施の形態3によるダイヤグラム編集装置を示す構成図である。
【図6】構造要素作用素の一例を示す説明図である。
【図7】構造要素作用素がインポートされている状態を示す説明図である。
【図8】モデル要素の生成例を示す説明図である。
【図9】この発明の実施の形態5によるダイヤグラム編集装置を示す構成図である。
【図10】スター型のモデル構造を示す説明図である。
【図11】崩れたスター型のモデル構造を示す説明図である。
【図12】モデルセマンティクスと構造空間を示す説明図である。
【符号の説明】
【0051】
1 マンマシンI/F部、2 画面表示処理部(モデル要素編集手段、グループ設定手段、構造空間図表示手段)、3 ディスプレイ、4 モデル要素編集部(モデル要素編集手段)、5 グループ設定部(グループ設定手段)、6 構造空間図生成部(構造空間図表示手段)、7 属性設定部(属性設定手段)、8 モデル要素編集部(モデル要素編集手段)、9 モデル要素検索部(モデル要素検索手段)。
【特許請求の範囲】
【請求項1】
ダイヤグラムの構成要素であるモデル要素を編集するモデル要素編集手段と、上記モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段と、上記グループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示する構造空間図表示手段とを備えたダイヤグラム編集装置。
【請求項2】
構造空間図表示手段は、グループ設定手段により設定されたグループ間の関連として、グループ間の包含関係を判別して、各グループ間の包含関係を示すグループの構造空間図を表示することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項3】
モデル要素編集手段は、構造空間図表示手段により表示されている構造空間図上のグループが指定された場合、上記グループに属しているモデル要素を上記グループに属していないモデル要素よりも強調表示することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項4】
グループ設定手段により設定されたグループに属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する属性設定手段を設けたことを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項5】
モデル要素編集手段は、属性設定手段により必須の構成要素である旨の属性が設定されたモデル要素の削除を目的とする編集を禁止することを特徴とする請求項4記載のダイヤグラム編集装置。
【請求項6】
モデル要素編集手段は、属性設定手段により設定されたモデル要素の属性を明示することを特徴とする請求項4記載のダイヤグラム編集装置。
【請求項7】
モデル要素編集手段は、必須の構成要素であるモデル要素と、上記モデル要素における他のモデル要素との接続関係とが定義されているモデルテンプレートが指定された場合、上記モデルテンプレートに定義されている内容にしたがってモデル要素を編集することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項8】
モデル要素編集手段により編集されたモデル要素の中から、グループ設定手段により設定されたグループに属しているモデル要素を検索するモデル要素検索手段を設けたことを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項1】
ダイヤグラムの構成要素であるモデル要素を編集するモデル要素編集手段と、上記モデル要素編集手段により編集されたモデル要素が属しているグループを設定するグループ設定手段と、上記グループ設定手段により設定されたグループ間の関連を判別して、各グループ間の関連を示すグループの構造空間図を表示する構造空間図表示手段とを備えたダイヤグラム編集装置。
【請求項2】
構造空間図表示手段は、グループ設定手段により設定されたグループ間の関連として、グループ間の包含関係を判別して、各グループ間の包含関係を示すグループの構造空間図を表示することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項3】
モデル要素編集手段は、構造空間図表示手段により表示されている構造空間図上のグループが指定された場合、上記グループに属しているモデル要素を上記グループに属していないモデル要素よりも強調表示することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項4】
グループ設定手段により設定されたグループに属しているモデル要素が必須の構成要素であるか否かを示す属性を設定する属性設定手段を設けたことを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項5】
モデル要素編集手段は、属性設定手段により必須の構成要素である旨の属性が設定されたモデル要素の削除を目的とする編集を禁止することを特徴とする請求項4記載のダイヤグラム編集装置。
【請求項6】
モデル要素編集手段は、属性設定手段により設定されたモデル要素の属性を明示することを特徴とする請求項4記載のダイヤグラム編集装置。
【請求項7】
モデル要素編集手段は、必須の構成要素であるモデル要素と、上記モデル要素における他のモデル要素との接続関係とが定義されているモデルテンプレートが指定された場合、上記モデルテンプレートに定義されている内容にしたがってモデル要素を編集することを特徴とする請求項1記載のダイヤグラム編集装置。
【請求項8】
モデル要素編集手段により編集されたモデル要素の中から、グループ設定手段により設定されたグループに属しているモデル要素を検索するモデル要素検索手段を設けたことを特徴とする請求項1記載のダイヤグラム編集装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−219649(P2007−219649A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−36942(P2006−36942)
【出願日】平成18年2月14日(2006.2.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願日】平成18年2月14日(2006.2.14)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]