JP2005251128A - モデル編集システム、モデル編集方法およびモデル編集用プログラム - Google Patents

モデル編集システム、モデル編集方法およびモデル編集用プログラム Download PDF

Info

Publication number
JP2005251128A
JP2005251128A JP2004064671A JP2004064671A JP2005251128A JP 2005251128 A JP2005251128 A JP 2005251128A JP 2004064671 A JP2004064671 A JP 2004064671A JP 2004064671 A JP2004064671 A JP 2004064671A JP 2005251128 A JP2005251128 A JP 2005251128A
Authority
JP
Japan
Prior art keywords
editing
model
information
program
rule
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
Application number
JP2004064671A
Other languages
English (en)
Inventor
Kenju Sano
建樹 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2004064671A priority Critical patent/JP2005251128A/ja
Publication of JP2005251128A publication Critical patent/JP2005251128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】
エディタを使用してモデルを編集する場合に、各々のエディタの設定を変更することなく統一された編集ルールによるモデル編集を実行することができるシステムを提供する。
【解決手段】
作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデルの編集が可能なモデル編集システムにおいて、
表現形式の異なる複数の編集装置と、前記編集装置の各々は、前記モデル要素を表示するための表示情報を出力する表示部と、その表示されたモデル要素に関連付けられた情報を変更することで、前記モデルを編集する操作部とを有し、
前記モデルを編集する場合に使用される編集ルールと、前記モデルとを対応付けて格納する記憶部とを備える。そして前記操作部は、前記モデルに対応する前記編集ルールを読み込み、読み込んだ編集ルールに基づいて、表示されたモデルに対する編集動作を実行し、前記表示部は、実行された編集動作に基づいて前記表示情報を出力する。
【選択図】 図1

Description

本発明は、モデル要素編集システム、編集方法および編集用プログラムに関する。
ソフトウェア開発や、ビジネスの構造をとらえる手法としてオブジェクト指向を使用したモデリングが行われている。特にソフトウェア開発においては、UMLに代表されるモデリング言語を使用してソフトウェアの構造の整理するモデリングを実行し、そのモデリングによって生成されたモデルを用いることで、少ない情報量でソフトウェアの構造を表現する技術が知られている。
生成されたモデルは様々な表現形式(ツリー構造形式、一覧表形式、グラフ構造形式など)で表現することが可能であり、生成されたモデルを編集する場合には、各々の表現形式でモデルの表示が可能な複数のエディタが使用される。このようなエディタを使用して、特定の編集ルールが存在するモデルを編集する場合でも、各エディタに編集ルールを実装することで、その特定の編集ルールに基づいてモデルの編集を実行が可能であった(例えば、非特許文献1参照。)。
非特許文献1に記載の技術において、利用者はControllerを通じmodelにApplication Objectを編集するよう指示を与える。Controllerは利用者の操作を表示するためにViewにもメッセージを送る。Viewはmodelの内容を表示するためにアクセスする。modelはApplication Objectの内容と同期する。Viewは、ウィンドウサイズの変更やスクロールといった局面ではControllerにメッセージを送り、選択対象の変更などの操作を実行させる。modelは、Controllerにより変更された場合、Viewにメッセージを送り再表示を促す。
この技術において、編集ルールはControllerとmodelに分散して実装される。複数の表現形式のControllerとViewを1つのmodelに付加した場合、毎回同じルールをControllerに実装する。編集ルールを追加・変更したい場合、全ての異なる種類のControllerとmodelを変更する。
特定の編集ルールの実装が可能なエディタを使用してモデルの編集を行うことで、より柔軟なソフトウェア開発が行われるようになり、編集ルールが追加・変更が頻繁に行われることが増えている。編集ルールが追加・変更された場合でも、その編集ルールを適切にエディタに反映させ、モデルの編集に不具合が発生しないシステムが望まれる。
Alexander著「Painless Panes for Smalltalk Windows」ACM OOPSLA'87 Proceedings、1987年 10月4日、pp.290-291.
本発明が解決しようとする課題は、エディタを使用してモデルを編集する場合に、各々のエディタの設定を変更することなく編集ルールの統一を実行することができるオブジェクト指向のモデル編集システムを提供することにある。
本発明が解決しようとする更なる課題は、モデルの編集ルールの変更を容易に実行することができ、変更された編集ルールを各々のエディタが自動的に読み込むことで、変更された編集ルールに沿ったモデルの編集を適切に実行することが可能なオブジェクト指向のモデル編集システムを提供することにある。
本発明が解決しようとする更なる課題は、エディタが読込んだ編集ルールに基づいた編集可否を、編集実行前にモデルの編集者に通知することが可能なオブジェクト指向のモデル編集システムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデル(41)の編集が可能なモデル編集システムにおいて、
表現形式の異なる複数の編集装置(5、6、7、8)と、前記編集装置(5、6、7、8)の各々は、前記モデル要素を表示するための表示情報を出力する表示部(51)と、その表示されたモデル要素に関連付けられた情報を変更することで、前記モデル(41)を編集する操作部(55)とを有し、
前記モデル(41)を編集する場合に使用される編集ルール(42)と、前記モデル(41)とを対応付けて格納する記憶部(4)とを備え、
前記操作部(55)は、前記モデル(41)に対応する前記編集ルール(42)を読み込み、読み込んだ編集ルール(42)に基づいて、表示されたモデル(41)に対する編集動作を実行し、前記表示部(51)は、実行された編集動作に基づいて前記表示情報を出力するモデル編集システムによって、ソフトウェア設計におけるモデリングを実行する。
そのモデル編集システムにおいて、前記操作部(55)は、前記編集ルール(42)を前記モデル要素の編集時に動的に読み取り、読み取った編集ルール(42)に基づいて編集操作の可否を決定するモデル編集システムによって、ソフトウェア設計におけるモデリングを実行する。このとき、前記操作部は、前記編集操作の可否を、前記モデル編集操作の実行前に決定する。
これによって、複数のエディタを使用してソフトウェアを設計する場合に、各々のエディタで異なる編集ルールを設定してしまうことを防止し、さらに、モデル編集時に動的に編集ルールを読込むことが可能なので、スムースなモデリングの実行が可能になる。
そのモデル編集システムにおいて、前記編集装置(5、6、7、8)は、前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力する操作進行表示部(54)を備え、
前記操作部(55)は、前記モデル要素の編集状況を前記操作進行表示部(54)に通知し、前記操作進行表示部(54)は、前記通知と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力するモデル編集システムによって、ソフトウェア設計におけるモデリングを実行する。このとき、前記操作進行表示部は、前記編集操作可否情報を前記モデル編集操作の実行前に表示する。
そのモデル編集システムにおいて、さらに、情報入力装置(3)と、情報表示装置(2)と、編集されたモデル(41)の編集状況を示すモデル編集状況を記憶する操作状態記憶部(43)とを備え、
前記操作部(55)は、前記情報入力装置(3)から入力された命令に応答して、前記モデル編集状況を抽出し、抽出した前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を前記操作進行表示部(54)に通知し、前記操作進行表示部(54)は、前記通知と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力し、前記情報表示装置(2)は、入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示するモデル編集システムによって、ソフトウェア設計におけるモデリングを実行する。
上記のようなモデリングシステムをコンピュータソフトウェアによって実現する場合、
作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデル(41)の編集が可能なモデル編集プログラムにおいて、
表現形式の異なる複数の編集用エディタプログラムの少なくとも一つから、前記モデル要素を表示するための表示情報を出力するステップと、その表示されたモデル要素に関連付けられた情報を変更することで、前記モデル(41)を編集するステップと、前記モデル(41)に対応し、前記モデル(41)を編集する場合に使用される編集ルール(42)を読み込むステップと、読み込んだ編集ルール(42)に基づいて、前記モデル(41)に対する編集を実行するステップと、実行された編集動作に基づいて前記表示情報を出力するステップを具備する方法をコンピュータで実行可能なプログラムを用いてソフトウェア設計におけるモデリングを実行する。
そのモデル編集プログラムにおいて、前記編集ルール(42)を前記モデル要素の編集時に動的に読み取るステップと、読み取った編集ルール(42)に基づいて、前記モデル要素の編集操作の可否を決定するステップを具備する方法をコンピュータで実行可能なプログラムを用いてソフトウェア設計におけるモデリングを実行し、さらに、
決定した前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力するステップと、前記モデル要素の編集状況を通知するステップと、通知された編集状況と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力するステップを具備する方法をコンピュータで実行可能なプログラムを用いてソフトウェア設計におけるモデリングを実行する。この場合において、編集操作可否の決定や、前記編集操作可否情報の出力を、操作実行前に行うことで、エディタが読込んだ編集ルールに基づいた編集可否を、編集実行前にモデルの編集者に通知することが可能になる。
さらに、そのモデル編集プログラムにおいて、情報入力装置(3)から入力された命令に応答して、編集されたモデル(41)の編集状況を示すモデル編集状況を抽出するステップと、抽出された前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を通知するステップと、通知された変種状況と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力するステップと、入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示するステップを具備する方法をコンピュータで実行可能なプログラム。
さらに、作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデル(41)の編集を実行するモデル編集方法において、
表現形式の異なる複数の編集用エディタの少なくとも一つから、前記モデル要素を表示するための表示情報を出力するステップと、その表示されたモデル要素に関連付けられた情報を変更することで、前記モデル(41)を編集するステップと、前記モデル(41)に対応し、前記モデル(41)を編集する場合に使用される編集ルール(42)を読み込むステップと、読み込んだ編集ルール(42)に基づいて、前記モデル(41)に対する編集を実行するステップと、実行された編集動作に基づいて前記表示情報を出力するステップを具備するモデル編集方法によって、オブジェクト指向を用いて構成されたモデルの編集を実行する。
そのモデル編集方法において、前記編集ルール(42)を前記モデル要素の編集時に動的に読み取るステップと、読み取った編集ルール(42)に基づいて、前記モデル要素の編集操作の可否を決定するステップを具備するモデル編集方法によってモデル編集を行い、さらに、決定した前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力するステップと、前記モデル要素の編集状況を通知するステップと、通知された編集状況と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力するステップを具備するモデル編集方法によって、オブジェクト指向を用いて構成されたモデルの編集を実行する。この場合において、編集操作可否の決定や、前記編集操作可否情報の出力を、操作実行前に行うことで、エディタが読込んだ編集ルールに基づいた編集可否を、編集実行前にモデルの編集者に通知することが可能になる。
そのモデル編集方法において、情報入力装置(3)から入力された命令に応答して、編集されたモデル(41)の編集状況を示すモデル編集状況を抽出するステップと、抽出された前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を通知するステップと、通知された変種状況と前記編集ルール(42)とに基づいて前記編集操作可否情報を出力するステップと、入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示するステップを具備するモデル編集方法によって、オブジェクト指向を用いて構成されたモデルの編集を実行する。
本発明によれば、編集ルールを統一的に管理するため、表現形式の異なる複数のエディタを使用して特定のモデルを編集する場合に、編集ルールの変更が生じても、エディタ毎の対応が不要になり、各々のエディタ間の編集ルールの欠落や矛盾を防止できる。
さらに、本発明によれば、モデルの編集に新たなエディタを追加する必要が生じた場合にも、エディタ毎に各編集ルールに対応するプログラムを作成する必要が無いため、様々な表現形式のエディタを追加することが可能である。
さらに、本発明によれば、各々のモデルの編集ルールの変更を容易に実行することができ、変更された編集ルールを各々のエディタが自動的に読み込むことで、変更された編集ルールに沿ったモデルの編集を適切に実行することが可能になる。
さらに、本発明によれば、エディタが読込んだ編集ルールに基づいた編集可否を、編集実行前にモデルの編集者に通知することが可能であり、操作の無駄を軽減し、操作時間を短縮するオブジェクト指向のモデル編集が実現できる。
以下に図面を使用して本発明を実施するための最良の形態について述べる。
[実施の構成]
図1は本発明を実施するための最良の形態におけるシステムの構成を示すブロック図である。本発明におけるモデル編集システムは、コンピュータプログラムによるソフトウェア処理によって実現することも、具体的な回路構成によって実現することも可能である。以下に述べる説明では、本発明におけるモデル編集システムがコンピュータソフトウェアによって実現する場合を例に述べる。図1を参照すると、本実施の形態はコンピュータ1と表示装置2と入力装置3とで構成される。コンピュータ1はプログラム制御により動作する演算処理装置である。コンピュータ1はCPU(Central Processing Unit:中央演算処理装置)とメモリとを備え、所定の演算処理を実行する。
表示装置2は、液晶表示装置に代表される情報表示装置である。コンピュータ1と接続され、コンピュータ1から出力される情報表示用データに基づいて所定の情報の表示を実行する。
入力装置3は、マウスやタッチパッドに代表されるポインティング機能を有する情報入力装置である。情報入力者(モデルの編集者)が行った操作に応答して画面上のポインタを移動させるための信号を出力する。以下に述べるポインティングデバイスは、上記のマウスやタッチパッドに限定されるものではなく、例えば仮想現実的入力デバイスを用いることも可能である。
コンピュータ1は更にモデル41と編集ルール42とを備えるモデル情報記憶部4と、操作状態記憶部43と、エディタプログラム5とを含む。モデル情報記憶部4は、データを格納する機能を有する情報記憶装置である。モデル41は、ソフトウェアの設計情報をモデルとして表示するための情報である。モデル41は、複数のモデル要素と、そのモデル要素の各々の関連性を示す関連性情報とで構成される。編集ルール42は、格納されたモデル41を編集する場合に使用される編集ルールである。操作状態記憶部43はエディタプログラム5から出力された命令に応答して所定の情報の書き込みと読み出しを実行する記憶装置である。操作状態記憶部43は、所定のモデル要素の現在の操作状態を記憶し、後に述べる操作プログラム55の指示により操作状態の更新を実行し、更新された操作状態を現在の操作状態として格納する。操作状態記憶部43は、現在の操作状態として、操作が開始されているかどうかに関する情報と、現在選択されているモデル要素を特定するための情報と、そのほかに操作プログラム55が必要とする情報のすべてを格納する。
エディタプログラム5はモデル41の表示、編集を実行可能な機能を備えるコンピュータプログラムである。エディタプログラム5はモデル表示プログラム51とモデル変更プログラム52とモデル要素表示場所計算プログラム53と操作進行表示プログラム54と操作プログラム55と該当モデル要素検索プログラム56とを備える。モデル表示プログラム51はモデル41からエディタプログラム5で表示可能なモデル要素を読み出し、そのモデル要素の表示位置に関する情報をモデル要素表示場所計算プログラム53に要求する。モデル要素表示場所計算プログラム53は、その要求に応答してそのモデル要素の表示位置に関する情報を計算し、モデル表示プログラム51に出力する。モデル表示プログラム51は出力された情報に基づいて、そのモデル要素を表示装置2で表示可能な形式に変更して表示装置2に出力する。
モデル変更プログラム52は、操作プログラム55からの指示に基づいてモデル41に格納されたモデルを更新する。また、モデル変更プログラム52が、更新前に再度編集ルール42を読み込み、更新可能かどうかを判定するような構成にしても良い。このような構成にすることで、例えば、マルチスレッド、マルチプロセスのような状況下で、同時並行的に複数のエディタで一つのモデルを編集する場合に、直前まで編集可能であったが一瞬先にトランザクションとして他者がモデルを変更した結果、編集が不可になってしまう場合にも対応可能である。さらに、このような構成のモデル変更プログラム52によれば、フィードバックに全ルールの計算を行うと時間がかかり過ぎてしまい、ポインタなどの動きに対する反応が遅くなってしまうような場合に、編集フィードバック用ルールと、実際に編集を実施(更新)する場合のルールを分離し、上記の判定を実行することで、フィードバック時には処理が軽くなるようなルールを使用し、最終段階では全てのルールを使用して計算を実行するということが可能になる。モデル要素表示場所計算プログラム53は、モデル表示プログラム51が読み出したモデル要素を表示装置2に表示する表示位置を計算する。操作進行表示プログラム54は、操作プログラム55からの操作進行表示命令を受け取り、表示装置2に操作の進行状況を表示する。
以下に、入力装置3がマウスである場合を例に、操作の進行状況について説明する。
マウスポインタの移動時には、マウスカーソルをその場所で可能な動作が類推できるような形状に変更する。例えば、マウスによりドラッグアンドドロップを行う場合、ドラッグ開始時にはその操作の内容が類推できるような形状(マウスボタンを押す動作を示すアイコンなど)にマウスポインタを変更し、ドラッグ中には現在のマウスポインタがある場所がドロップ場所として適切かどうかに応じた形状にマウスポインタを変更し、ドロップ時にはその操作が成功したかどうかを示す形状に変更する。また、マウスによりメニューをプルダウンまたはポップアップさせる場合、現在の操作状態やマウスポインタの位置に応じ、メニューのうち実行不可能なものを、実行可能なものとは別の表示に変更する。さらに、マウスによりモデル要素のサイズをドラッグ操作で変更する場合、ドラッグ中に変更後の表示サイズに相当するアウトラインを表示する。このような動作を行うことで、表示装置2は操作の進行状況を表示する。
操作プログラム55は入力装置3からの入力を受け取り、操作状態記憶部43から読み出した操作が開始されているかどうかの情報と、選択されているモデル要素を特定する情報、他の状態情報に基づき、編集ルール42と該当モデル要素検索プログラム56からのモデル要素情報を元に、操作進行表示プログラム54に操作進行表示を指示し、操作を実行する場合はモデル変更プログラム52にそのモデル要素の変更を指示する。
操作状態が「操作なし」であれば、現在のマウスカーソルの位置に存在するモデル要素に加え、選択されているモデル要素にも可能な操作を編集ルールに基づいて決定し、操作の進行状況を変更する。操作が可能で、入力装置3から操作開始の指示があった場合、操作状態を操作中に変更する。選択が可能で、入力装置3から選択変更(追加、削除、解除、全選択など)の指示があった場合、選択対象を変更する。
また、操作状態が「操作中」であれば、現在のマウスポインタ位置に存在するモデル要素と、編集ルールに基づき、操作の実行が可能かどうかを計算し、操作進行表示に操作の実行の可否を指示する。入力装置3から操作完了の指示があった場合、操作可能であればモデル変更プログラム52に変更を指示し、操作進行表示プログラム54には操作完了を表示させる。操作不可能な場合は操作進行表示プログラム54に操作失敗を表示させる。
該当モデル要素検索プログラム56は、指定された位置に存在するモデル要素を検索し、検出したモデル要素に関する情報を、モデル表示プログラム51に通知する。
[実施の動作]
以下に図面を使用して本発明の実施の形態の動作について述べる。図2は本発明の実施の形態の動作を示すフローチャートである。図2を参照すると、本実施の形態の動作は、ソフトウェアを設計するためにモデル編集システム(モデリングツール)を起動すると開始する。以下に述べるモデル編集システムは、入力装置3としてマウス(ポインティングデバイス)を使用され、表示装置2の表示画面には、そのマウスの動作に応答するマウスポインタが表示される場合を例に説明を行う。また、本発明のモデル編集システムは、様々な分野に適応可能であるが、以下の説明では本発明のモデル編集システムをアプリケーションソフトウェアの開発設計に使用した場合を例に述べる。
ステップS101において、モデル編集システムで使用可能なエディタプログラム5を起動する。エディタプログラム5は、複数の編集可能なモデルが存在した場合、編集を実行する特定のモデルを指定して読込む。モデル表示プログラム51は、そのモデルを表示装置2の表示画面に表示する(ステップS102)。ステップS103において、エディタプログラム5は、指定されたモデルに対応する編集ルールをモデル情報記憶部から読み込み、編集開始まで待機状態を保持する。編集ルールをモデル情報記憶部から読み込むので、各々のモデルの編集ルールの変更を容易に実行することができる。さらに、変更された編集ルールを各々のエディタが自動的に読み込むことで、変更された編集ルールに沿ったモデルの編集を適切に実行することが可能になる。
ステップS104において、エディタプログラム5は読込んだモデルの操作状態を操作状態記憶部43から読込む。また、操作プログラム55は入力装置3から出力された信号に基づいてマウスポインタの位置を監視する。ステップS105において、該当モデル要素検索プログラム56は、表示装置2の表示画面に表示しているモデル要素の少なくとも一つにマウスポインタが重なったかどうかの判断を行う。モデル要素にマウスポインタが重なった場合、ステップS106に進み、操作プログラム55は操作状態記憶部43から読込んだ操作状態に基づいて、そのモデル要素の操作状態が「操作中」(編集可能状態)であるかどうかの判断を行う。モデル要素にマウスポインタが重なっていない場合、エディタプログラムはその状態を「操作なし」と判断し、ステップS113に進む。
ステップS106において、そのモデル要素が「操作中」であった場合、操作プログラム55は、予め(ステップ103において)読込んだ編集ルールから、そのモデル要素の状態(操作中)に対応する編集ルールを照合し、その編集ルールに適応した操作可能情報を表示するようにモデル表示プログラムに指示をする(ステップS107)。そのモデル要素が「操作中」でない場合、操作プログラム55は、そのモデル要素の操作状態を「操作なし」と判断し、処理はステップS118に進む。
ステップS108において、操作プログラム55は、編集ルールに適応した編集実行命令が入力されたかどうかの判断を行う。編集ルールに適応した編集実行命令が入力された場合、操作プログラム55は入力された命令に対応してモデルの編集作業(操作)を実行する(ステップS109)。このとき、操作プログラム55は実行された編集作業の情報をモデル変更プログラム52に通知する。モデル変更プログラムは、通知された情報に基づいてモデル情報記憶部4に格納されたモデル41を更新する。このとき、モデル変更プログラム52が、更新前に再度編集ルール42を読み込む構成を備えていた場合、更新可能かどうかの判定を実行し、更新可能な場合、モデル情報記憶部4に格納されたモデル41を更新する。また、操作進行表示プログラムは、実行されている編集作業に応答して、逐次編集ルールを照合し、その編集ルールに適応した操作可能情報を表示するようにモデル表示プログラムに指示をする。これにより、モデル編集作業中に編集ルールに違反する編集が実行されることを防止し、さらに、操作不可能な編集を編集作業実行前に知ることができるので、より信頼性の高いソフトウェア設計が可能になる。
モデル要素に対する編集作業(操作)が終了した操作プログラム55は、その操作が終了した後、ステップS111に進み、操作状態記憶部43に格納されたモデルの操作進行状況を更新する。ステップS112において、操作進行状況の更新が終了したエディタプログラム5は、そのモデルに対する編集作業を終了するかどうかの判断を行う。編集を継続する場合は、処理はステップS104に戻り、更新された操作状態を再読み込みし、編集作業(操作)を継続する。
ステップS108において、編集ルールに適応していない編集実行命令が入力された場合、処理はステップS110に進み、エディタプログラム5は入力された命令を破棄し、操作進行状況の更新を実行する(ステップ111)。その後、処理はステップS112に進み、そのモデルに対する編集作業を終了するかどうかの判断を行う。
ステップS105における判断の結果、マウスポインタに重なるモデル要素が存在しない場合には処理はステップS113に進む。ステップS113において、操作プログラム55は、モデル編集のための操作(例えば、モデル要素の追加など。)が開始されたかどうかの判断を行う。操作が開始していない場合、処理は戻り操作プログラム55はマウスポインタの位置を監視する。
ステップS113において、モデル編集のための操作が開始され場合、処理はステップS114に進む。ステップS114において、操作プログラム55は入力装置3からの信号に基づいて、予め(ステップ103において)読込んだ編集ルールに適応した操作可能情報を表示する。
ここで、新たなモデル要素の追加が行われた場合、モデル要素表示場所計算プログラム53は、その新たなモデル要素の表示が可能な位置を計算し、モデル表示プログラム51に出力する。ステップS115において、操作プログラム55は、編集ルールに適応した編集実行命令が入力されたかどうかの判断を行う。編集ルールに適応した編集実行命令が入力された場合、エディタプログラム5は入力された命令に対応してモデルの編集動作を実行する(ステップS116)。
このとき、操作プログラム55は実行された編集作業の情報をモデル変更プログラム52に通知する。モデル変更プログラムは、通知された情報に基づいてモデル情報記憶部4に格納されたモデル41を更新する。このとき、モデル変更プログラム52が、更新前に再度編集ルール42を読み込む構成を備えていた場合、更新可能かどうかの判定を実行し、更新可能な場合、モデル情報記憶部4に格納されたモデル41を更新する。また、操作進行表示プログラムは、実行されている編集作業に応答して、逐次編集ルールを照合し、その編集ルールに適応した操作可能情報を表示するようにモデル表示プログラムに指示をする。
ステップS115において、編集ルールに適応していない編集実行命令が入力された場合、処理はステップS117に進み、エディタプログラム5は入力された命令を破棄し、操作進行状況の更新を実行する(ステップ111)。その後、処理はステップS112に進み、そのモデルに対する編集作業を終了するかどうかの判断を行う。
ステップS106において、そのモデル要素の操作状態が「操作なし」の場合、処理はステップS118に進む。ステップS118において、予め(ステップ103において)読込んだ編集ルールから、そのモデル要素の状態(未選択状態)に対応する編集ルールを照合し、その編集ルールに適応した操作可能情報を表示する。ステップS119において、エディタプログラム5は、編集ルールに適応した編集実行命令が入力されたかどうかの判断を行う。編集ルールに適応した編集実行命令が入力された場合、エディタプログラム5は入力された命令に対応してモデルの編集動作を実行する(ステップS120)。
このとき、操作プログラム55は実行された編集作業の情報をモデル変更プログラム52に通知する。モデル変更プログラムは、通知された情報に基づいてモデル情報記憶部4に格納されたモデル41を更新する。このとき、モデル変更プログラム52が、更新前に再度編集ルール42を読み込む構成を備えていた場合、更新可能かどうかの判定を実行し、更新可能な場合、モデル情報記憶部4に格納されたモデル41を更新する。また、操作進行表示プログラムは、実行されている編集作業に応答して、逐次編集ルールを照合し、その編集ルールに適応した操作可能情報を表示するようにモデル表示プログラムに指示をする。
モデル要素に対する編集作業(操作)が終了したエディタプログラム5は、その操作が終了した後、ステップS111に進み、操作状態記憶部43に格納されたモデルの操作進行状況を更新する。ステップS112において、操作進行状況の更新が終了したエディタプログラム5は、そのモデルに対する編集作業を終了するかどうかの判断を行う。編集を継続する場合は、処理はステップS104に戻り、更新された操作状態を再読み込みし、編集作業(操作)を継続する。
ステップS119において、編集ルールに適応していない編集実行命令が入力された場合、処理はステップS121に進み、エディタプログラム5は入力された命令を破棄し、操作進行状況の更新を実行する(ステップ111)。その後、処理はステップS112に進み、そのモデルに対する編集作業を終了するかどうかの判断を行う。
以下に、図面を使用して本実施の形態の動作を具体的に説明する。図3は本実施の形態に述べるモデルの例を示す図である。以下の説明で述べるモデルは、パッケージとオブジェクトの2種類のモデル要素から構成される。ここでモデル要素とは、各エディタの中で使用されるエディタ中のそれぞれのモデルの意味を表す図要素と定義し、パッケージとは、モデル要素をグループ化したものと定義する。図3を参照すると、以下の説明で述べるモデルは二つのパッケージ(パッケージA、パッケージB)と、3つのオブジェクト(オブジェクトX、オブジェクトY、オブジェクトZ)とを有し、包含関係と継承関係により構成されている。パッケージAは、パッケージBとオブジェクトXとの各々と包含関係を有し、パッケージBは更にオブジェクトYとオブジェクトZとの各々と包含関係を有する。また、オブジェクトXはオブジェクトYとオブジェクトZとの各々と継承関係を有する。
図4は、このモデルと編集ルールとの構成の一例を示すテーブルである。図4に示す構成はテーブルによって対応付けられているが、モデルと編集ルールとの対応は論理式で示すことも可能であるし、論理値を返却するプログラムで示すことも可能である。図4を参照すると、編集ルールは複数のルールから構成される。
図5は、このモデルを図形エディタで表示した場合の例を示す図である。図5を参照すると、この図形エディタはパッケージは矩形として表示し、オブジェクトは楕円として表示する。またこの図形エディタは、包含関係は図形の包含関係として(含む側が親、含まれる側が子)、継承関係は矢印として(矢印の元が親、先が子)表示する。
図6から図8は、モデルを編集ルールに基づいて図形エディタによって編集する場合の動作の例を示す図である。図6から図8に示す例は、モデル情報記憶部4に格納されたモデル41が図3に示されるモデルであり、同様にモデル情報記憶部4に格納される編集ルール42が図4に示される編集ルールである場合を例に説明を行う。
図6はオブジェクトXが選択され、マウス操作によりメニューがポップアップした時の模式図である。図6を参照すると、通常ポップアップメニューでは「複製」、「削除」、「属性変更」の3つの操作を表示するが、ルール1により継承の子を持つオブジェクトXは削除できないためそのようなフィードバック(削除メニューの禁止)を操作進行表示プログラム54により行っている。この状態は「操作中」状態であるが、この後「複製」を選択すると操作プログラム55はモデル変更プログラム52にオブジェクトXを複製するよう指示を行い、操作状態を「操作なし」に変更するように操作状態記憶部43に指示する。また、操作プログラム55は操作進行表示プログラム54に選択ノブ(網掛け矩形)を複製された新しいオブジェクトに移動させ、ポップアップメニューを消去するよう指示する。
図7は、オブジェクトYが選択され、マウス操作によりメニューがポップアップした時の模式図である。図7を参照すると、ルール2によりパッケージBには包含関係の子を追加できないためそのようなフィードバック(複製メニューの禁止)を操作進行表示プログラム54により行っている。この状態は「操作中」状態であるが、この後「削除」を選択すると操作プログラム55はモデル変更プログラム52にオブジェクトYを削除するよう指示を行い、操作状態を「操作なし」に変更するように操作状態記憶部43に指示する。また操作プログラム55は操作進行表示プログラム54に選択ノブ(網掛け矩形)の削除とポップアップメニューの消去を指示する。
図8は、オブジェクトXが選択され、マウス操作によりドラッグアンドドロップでオブジェクトXを移動しようとした時の模式図である。図8を参照すると、ルール2によりパッケージBには包含関係の子を追加できないため、ドラッグ中にマウスポインタがパッケージB内にある場合はそのようなフィードバック(マウスポインタを×としドロップ不可を表示)を操作進行表示プログラム54により行っている。また、パッケージA内で、パッケージB外の場合は、マウスポインタを○としドロップ可を表示するよう操作進行表示プログラム54に指示する。この状態は「操作中」状態であるが、この後パッケージBでドロップ(マウスボタンを放す)と操作状態を「操作なし」に変更して操作進行表示プログラム54にマウスポインタを通常に戻すよう指示する。パッケージAでドロップすると、モデル変更プログラム52にオブジェクトXの位置属性を変更するよう指示を行い、操作状態を「操作なし」に変更して操作進行表示プログラム54に新しい位置におけるオブジェクトXに選択ノブ(網掛け矩形)を付け、マウスポインタを通常に戻すよう指示する。
[第2の実施の形態]
図面を使用して、本発明の第2の実施の形態について述べる。図9は本発明の第2の実施の形態の構成を示すブロック図である。図8を参照すると、本発明の第2の実施例の構成は、プログラム制御により動作するコンピュータ1と、表示装置2と、入力装置3とから構成されている。
コンピュータ1は、モデル情報記憶部4と、図形エディタプログラム6と、一覧表示図エディタプログラム7と、階層図エディタプログラム8と、プロパティエディタプログラム9と、操作状態記憶部10とを含む。図形エディタプログラム6には、モデル要素表示プログラム61と、モデル要素変更プログラム62と、モデル要素表示場所計算プログラム63と、操作進行表示プログラム64と、操作プログラム65と、該当モデル要素検索プログラム66とを含む。一覧表示図エディタプログラム7と、階層図エディタプログラム8と、プロパティエディタプログラム9も、図形エディタプログラム6と同様の構成である。これらの機能ブロックは、第1の実施例の同名のプログラムはそのプログラムと同様に動作する。
操作状態記憶部10は各々のエディタプログラム(5、6、7、8)からが備える操作プログラムから送信された操作状態(10a〜10d)を、各エディタプログラム毎に格納する。
本発明の第2の実施の形態における編集ルールは、モデル情報記憶部4内にモデル41に対応付けられて格納され、管理されている。 図形エディタプログラム6と、一覧表示図エディタプログラム7と、階層図エディタプログラム8と、プロパティエディタプログラム9について、コンピュータ1はモデル情報記憶部4に一貫した編集ルールを維持する。各エディタプログラムは、モデル編集時に動的に編集ルールを参照する。そのため、モデルの編集ルールを変更した場合でもこれらのエディタの変更は不要である。 また、編集ルールごとに機能を追加する必要がないため、これらのエディタとは異なる新しいエディタを容易に追加できる。
図1は、第1の実施の形態におけるシステムの構成を示すブロック図である。 図2Aは、第1の実施の形態の動作を示すフローチャートの前半部分である。 図2Bは、第1の実施の形態の動作を示すフローチャートの後半部分である。 図3は、モデルの例を示す図である。 図4は、モデルが持ちうる編集ルールの一例を示すテーブルである。 図5は、モデルをエディタで表示した場合の例を示す図である。 図6は、エディタの動作を示す模式図である。 図7は、エディタの動作を示す模式図である。 図8は、エディタの動作を示す模式図である。 図9は、第2の実施の形態におけるシステムの構成を示すブロック図である。
符号の説明
1…コンピュータ
2…表示装置
3…入力装置
4…モデル情報記憶部
41…モデル
42…編集ルール
43…操作状態記憶部
5…エディタプログラム
51…モデル表示プログラム
52…モデル変更プログラム
53…モデル要素表示場所計算プログラム
54…操作進行表示プログラム
55…操作プログラム
56…該当モデル要素検索プログラム
6…図形エディタプログラム
61…モデル表示プログラム
62…モデル変更プログラム
63…モデル要素表示場所計算プログラム
64…操作進行表示プログラム
65…操作プログラム
66…該当モデル要素検索プログラム
7…一覧表示図エディタプログラム
8…階層図エディタプログラム
9…プロパティエディタプログラム
10…操作状態記憶部
10a…図形エディタ操作状態
10b…階層図エディタ操作状態
10c…一覧表示操作状態
10d…プロパティエディタ操作状態

Claims (18)

  1. 作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデルの編集が可能なモデル編集システムにおいて、
    前記モデル要素を表示するための表示情報を出力する表示部と、その表示されたモデル要素に関連付けられた情報を変更することで、前記モデルを編集する操作部とを有する編集装置と、
    前記モデルを編集する場合に使用される編集ルールと前記モデルとを対応付けて格納する記憶部と
    を備え、
    前記操作部は、前記モデルに対応する前記編集ルールを読み込み、読み込んだ編集ルールに基づいて、表示されたモデルに対する編集動作を実行し、
    前記表示部は、実行された編集動作に基づいて前記表示情報を出力する
    モデル編集システム。
  2. 請求項1に記載のモデル編集システムにおいて、
    前記操作部は、前記編集ルールを前記モデルの編集時に動的に読み取り、読み取った編集ルールに基づいて編集操作の可否を決定する
    モデル編集システム。
  3. 請求項2に記載のモデル編集システムにおいて、
    前記操作部は、前記編集操作の可否を、前記モデル編集操作の実行前に決定する
    モデル編集システム。
  4. 請求項1から3の何れか1項に記載のモデル編集システムにおいて、
    前記編集装置は、前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力する操作進行表示部を備え、
    前記操作部は、前記モデル要素の編集状況を前記操作進行表示部に通知し、
    前記操作進行表示部は、前記通知と前記編集ルールとに基づいて前記編集操作可否情報を出力する
    モデル編集システム。
  5. 請求項4に記載のモデル編集システムにおいて、
    前記操作進行表示部は、前記編集操作可否情報を前記モデル編集操作の実行前に表示する
    モデル編集システム。
  6. 請求項3から5の何れか1項に記載のモデル編集システムにおいて、さらに、
    情報入力装置と、
    情報表示装置と、
    編集されたモデルの編集状況を示すモデル編集状況を記憶する操作状態記憶部とを備え、
    前記操作部は、前記情報入力装置から入力された命令に応答して、前記モデル編集状況を抽出し、抽出した前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を前記操作進行表示部に通知し、
    前記操作進行表示部は、前記通知と前記編集ルールとに基づいて前記編集操作可否情報を出力し、
    前記表示装置は、入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示する
    モデル編集システム。
  7. 作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデルの編集が可能なモデル編集プログラムにおいて、
    編集用エディタプログラムのから、前記モデル要素を表示するための表示情報を出力するステップと、
    その表示されたモデル要素に関連付けられた情報を変更することで、前記モデルを編集するステップと、
    前記モデルに対応し、前記モデルを編集する場合に使用される編集ルールを読み込むステップと、
    読み込んだ編集ルールに基づいて、前記モデルに対する編集を実行するステップと、
    実行された編集動作に基づいて前記表示情報を出力するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  8. 請求項7に記載のモデル編集プログラムにおいて、
    前記編集ルールを前記モデル要素の編集時に動的に読み取るステップと、
    読み取った編集ルールに基づいて、前記モデル要素の編集操作の可否を決定するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  9. 請求項8に記載のモデル編集プログラムにおいて、
    前記編集操作の可否を、前記モデル編集操作の実行前に決定するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  10. 請求項7から9の何れか1項に記載のモデル編集プログラムにおいて、
    決定した前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力するステップと、
    前記モデル要素の編集状況を通知するステップと、
    通知された編集状況と前記編集ルールとに基づいて前記編集操作可否情報を出力するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  11. 請求項10に記載のモデル編集プログラムにおいて、
    前記編集操作可否情報を前記モデル編集操作の実行前に表示するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  12. 請求項7から11の何れか1項に記載のモデル編集プログラムにおいて、
    情報入力装置から入力された命令に応答して、編集されたモデルの編集状況を示すモデル編集状況を抽出するステップと、
    抽出された前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を通知するステップと、
    通知された変種状況と前記編集ルールとに基づいて前記編集操作可否情報を出力するステップと、
    入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示するステップ
    を具備する方法をコンピュータで実行可能なプログラム。
  13. 作成される製品を構成する構成要素である複数のモデル要素と、前記複数のモデル要素の各々の関連性を示す関連性情報とを含むモデルの編集を実行するモデル編集方法において、
    編集用エディタから、前記モデル要素を表示するための表示情報を出力するステップと、
    その表示されたモデル要素に関連付けられた情報を変更することで、前記モデルを編集するステップと、
    前記モデルに対応し、前記モデルを編集する場合に使用される編集ルールを読み込むステップと、
    読み込んだ編集ルールに基づいて、前記モデルに対する編集を実行するステップと、
    実行された編集動作に基づいて前記表示情報を出力するステップ
    を具備するモデル編集方法。
  14. 請求項13に記載のモデル編集方法において、
    前記編集ルールを前記モデル要素の編集時に動的に読み取るステップと、
    読み取った編集ルールに基づいて、前記モデル要素の編集操作の可否を決定するステップ
    を具備するモデル編集方法。
  15. 請求項14に記載のモデル編集方法において、
    前記編集操作の可否を、前記モデル編集操作の実行前に決定するステップ
    を具備するモデル編集方法。
  16. 請求項14または15に記載のモデル編集方法において、
    決定した前記編集操作の可否に対応して、編集操作可否を表示するための編集操作可否情報を出力するステップと、
    前記モデル要素の編集状況を通知するステップと、
    通知された編集状況と前記編集ルールとに基づいて前記編集操作可否情報を出力するステップ
    を具備するモデル編集方法。
  17. 請求項16に記載のモデル編集方法において、
    前記編集操作可否情報を前記モデル編集操作の実行前に表示するステップ
    を具備するモデル編集方法。
  18. 請求項13から17の何れか1項に記載のモデル編集方法において、
    情報入力装置から入力された命令に応答して、編集されたモデルの編集状況を示すモデル編集状況を抽出するステップと、
    抽出された前記モデル編集状況と前記命令とに基づいて前記モデル要素の編集状況を通知するステップと、
    通知された変種状況と前記編集ルールとに基づいて前記編集操作可否情報を出力するステップと、
    入力された前記編集操作可否情報に基づいて、前記モデル要素に対する編集可否を表示するステップ
    を具備するモデル編集方法。
JP2004064671A 2004-03-08 2004-03-08 モデル編集システム、モデル編集方法およびモデル編集用プログラム Pending JP2005251128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004064671A JP2005251128A (ja) 2004-03-08 2004-03-08 モデル編集システム、モデル編集方法およびモデル編集用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004064671A JP2005251128A (ja) 2004-03-08 2004-03-08 モデル編集システム、モデル編集方法およびモデル編集用プログラム

Publications (1)

Publication Number Publication Date
JP2005251128A true JP2005251128A (ja) 2005-09-15

Family

ID=35031519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004064671A Pending JP2005251128A (ja) 2004-03-08 2004-03-08 モデル編集システム、モデル編集方法およびモデル編集用プログラム

Country Status (1)

Country Link
JP (1) JP2005251128A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059178A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd 設計支援装置および設計文書編集方法ならびにプログラム
JP2011504627A (ja) * 2007-11-23 2011-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059178A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd 設計支援装置および設計文書編集方法ならびにプログラム
JP2011504627A (ja) * 2007-11-23 2011-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
US7908569B2 (en) Creating virtual targets in directory structures
JP4809577B2 (ja) プログラムに対してメッセージを発行するためのシステムおよび方法
JP2005310116A (ja) コンピュータシステムおよびそのアンドゥおよびリドゥ方法
JP2006107478A (ja) ワークフローを設計するための拡張可能フレームワーク
JP3279556B2 (ja) データ編集方法
KR101538907B1 (ko) 논리 구조 설계 표면
JP2003337728A (ja) データファイル履歴管理方法およびその装置
JP2006119884A (ja) シーケンスプログラムの編集装置
KR102300005B1 (ko) 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템
JP4197095B2 (ja) Guiプログラムの作成支援装置及び作成支援方法並びに作成支援プログラムを記録したコンピュータが読取可能な記録媒体
WO2012155844A1 (zh) 自动移除代码的方法及装置
JP2005251128A (ja) モデル編集システム、モデル編集方法およびモデル編集用プログラム
US9262060B1 (en) Method and apparatus for performing viewmarking
JP2003015923A (ja) カーソルの補助的表示方法、ファイル管理方法およびファイル管理プログラム
CN112181483B (zh) 等离子体控制系统软件开发平台及方法
JP5483011B2 (ja) Plcのプログラム開発支援装置及びコンピュータを当該装置として機能させるためのコンピュータプログラム
Frankel et al. An on-line assistance system for the simulation model development environment
JP2008305021A (ja) 情報処理装置及びアプリケーション管理方法
JP2007041962A (ja) メニュー表示装置、メニュー表示方法、およびメニュー表示プログラム
JP2003196091A (ja) プログラム作成支援システム及びプログラム作成支援方法
JP2004272409A (ja) オブジェクト仮止め装置、オブジェクト仮止め方法及びオブジェクト仮止めプログラム
JPH06202841A (ja) アイコンの表示方法
JP4471098B2 (ja) インタフェース装置、インタフェース方法、インタフェースプログラム及び記録媒体
JPH1145103A (ja) プログラミング装置並びに割込処理記述方法、プログラマブルコントローラ、及び記録媒体
CN118227250A (zh) 页面中的工具栏显示方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20050720

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Effective date: 20080909

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20081110

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081210

A521 Written amendment

Effective date: 20090209

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090316