(57)【特許請求の範囲】
【請求項１】
第１および第２のアイテム情報と各々の属性データとをそれぞれ有する複数のシンボルを記憶する記憶手段と、
前記複数のシンボルの少なくとも一部を配置表示する表示手段と、
表示された前記シンボルからユーザが選択した１シンボルの前記第１のアイテム情報についてユーザの操作指示を受付けて対応する操作意図情報を生成する入力手段と、
前記選択されたシンボルの第１のアイテム情報についての前記操作意図情報および対応する前記属性データに基づいて、表示された他のシンボルの前記第２のアイテム情報について後に受付可能な操作指示を示す受付可否情報を出力する受付可否判定手段と、
前記第２のアイテム情報を、前記受付可否情報に基づいて前記第１のアイテム情報とは識別し得るように前記表示手段に表示させる識別表示制御手段と、
前記操作意図情報が、前記選択されたシンボルを他のシンボルに接続する操作である場合に、前記選択されたシンボルの第１のアイテム情報に係る属性データに基づいて前記他のシンボルの第２のアイテム情報に係る属性データを更新する属性更新手段と
を具備することを特徴とする操作支援装置。
【請求項２】
前記操作指示の推移状況として、一連の操作指示内容を操作種類情報として記憶する操作種類記憶手段をさらに有し、
前記入力手段は、前記操作種類情報に基づいて前記対応する操作意図情報を生成することを特徴とする請求項１記載の操作支援装置。
【請求項３】
前記第１および第２のアイテム情報にそれぞれ対応する前記属性データは、固定属性値および変動属性値を含み、
前記変動属性値は、更新可能であること
を特徴とする請求項１記載の操作支援装置。
【請求項４】
前記記憶手段は、前記シンボルに対応するシンボルデータと前記シンボル間を結ぶ結線データとを記憶し、
前記シンボルデータは、対応するシンボルの座標、少なくとも一つのアイテム情報、および属性データを含んでおり、
前記結線データは、２つのシンボル間の結線としてスタートポイントおよびエンドポイントを含んでいること
を特徴とする請求項１記載の操作支援装置。
【請求項５】
２つのアイテム情報間の関係をシンボルユニットにより表している制約情報を記憶する制約記憶手段をさらに有し、
前記受付可否判定手段は、前記操作意図情報、前記属性データ、および前記制約情報に基づいて、前記後に受付可能な以後の操作指示を判定すること
を特徴とする請求項４記載の操作支援装置。
【請求項６】
第１のアイテム情報のシンボルと前記第２のアイテム情報のシンボルとが結線される場合に、前記第１のアイテム情報に対応する属性データが前記第２のアイテム情報に対応する属性データと適合するかどうかを判定するアイテムチェック手段をさらに有することを特徴とする請求項５記載の操作支援装置。
【請求項７】
前記アイテムチェック手段が前記第１のアイテム情報に対応する属性データが前記第２のアイテム情報の属性データと適合しないと判定した場合に、前記表示手段にエラー情報を表示させ、前記受付けた操作指示を受付前の状態に戻して前記表示手段に表示させるエラー情報制御手段をさらに有することを特徴とする請求項６記載の操作支援装置。
【請求項８】
前記属性更新手段は、同一シンボルが他のアイテム情報を含む場合に、前記第２のアイテム情報の更新された属性データを、同一シンボルの他のアイテム情報に伝播することにより更新し、
他のアイテム情報の未定属性値は、伝播された属性データにより更新されること
を特徴とする請求項７記載の操作支援装置。
【請求項９】
前記属性更新手段は、同一シンボルが他のシンボルに結線され、且つ他のシンボルのアイテム情報が、伝播された属性データにより更新される場合に、同一シンボルで他のアイテム情報の更新された属性データを、他のシンボルへ伝播することで更新することを特徴とする請求項８記載の操作支援装置。
【請求項１０】
前記記憶手段は、シンボルデータとして分岐点データ、一つのシンボルに対応する一つの分岐点および前記一つのシンボルの一つのアイテム情報に対応する分岐点の各分岐ラインを記憶することを特徴とする請求項４記載の操作支援装置。
【請求項１１】
前記受付可否判定手段は、前記表示手段に複数のアイテム情報が表示され、かつ、あるアイテム情報に対応する配置位置についての移動操作が前記入力手段により受付けられた場合、ユーザによる操作指示対象としてアイテム情報のグループを決定することを特徴とする請求項１記載の操作支援装置。
【請求項１２】
前記受付可否判定手段は、前記あるアイテム情報の属性データが、前記グループの各アイテム情報の属性データと一致するかを判定し、
前記表示手段は前記属性データのそれぞれの一致度により前記グループの各アイテム情報を多様に表示すること
を特徴とする請求項１１記載の操作支援装置。
【請求項１３】
記憶手段に第１および第２のアイテム情報と各々の属性データとをそれぞれ有する複数のシンボルを記憶するステップと、
表示手段に前記複数のシンボルの少なくとも一部を配置表示するステップと、
入力手段により、表示された前記シンボルからユーザが選択した１シンボルの前記第１のアイテム情報についてユーザの操作指示を受付けて対応する操作意図情報を生成するステップと、
前記選択されたシンボルの第１のアイテム情報についての前記操作意図情報および対応する前記属性データに基づいて、表示された他のシンボルの前記第２のアイテム情報について後に受付可能な操作指示を示す受付可否情報を出力する受付可否判定手段により該受付可否情報を出力するステップと、
前記第２のアイテム情報を、前記受付可否情報に基づいて前記第１のアイテム情報とは識別し得るように前記表示手段に表示させる識別表示制御手段により表示させるステップと、
前記操作意図情報が、前記選択されたシンボルを他のシンボルに接続する操作である場合に、前記選択されたシンボルの第１のアイテム情報に係る属性データに基づいて前記他のシンボルの第２のアイテム情報に係る属性データを更新する属性更新手段により更新するステップと
を有することを特徴とする操作支援方法。
【請求項１４】
前記第１のアイテム情報に対応する属性データが、前記受付可否情報を出力するステップにおける前記第２のアイテム情報に対応する属性データと一致するかどうかを決定するステップをさらに有することを特徴とする請求項１３の操作支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばアイテムの端子間を結線で記述する処理装置に関する。
【０００２】
【従来の技術】
ソフトウェアの開発分野において、各種方法論に基づいて計算機上で図形を利用してシステム／ソフトウェア設計を行ったりすることが増えている。その際、記述した内容の結果は、記述した内容が完了した時点で、ユーザが内容をチェックする、もしくは、ユーザが検査項目を選択し、計算機上のシステムが規則に従って自動的に検査する機能を有している場合もある。
【０００３】
しかし、このような場合に、もし誤った記述が発見されると、単に記述が誤った部分に止どまることなく、他の部分にもその影響が波及することが多々あり、このため訂正等の作業に多大な時間を要することがある。
【０００４】
また、最近のＧＵＩ環境のもとでは、例えばファイルを意味するアイコンをプリントを意味するアイコンに移動させて当該ファイルのプリントを実行させることが可能となった。
【０００５】
しかし、例えば複数のプリンタが接続されている場合に、例えば用紙サイズ、カラー／白黒等の点でどのプリンタが最適かを知るためには改めてプリンタの属性を調べる必要があり、操作性の点で問題がある。
【０００６】
【発明が解決しようとする課題】
本発明は、ＧＵＩ上での操作性の向上を図り、記述生産性や品質を向上させることができる処理装置を提供することを目的としている。
【０００７】
即ち、本発明は、図面の記述作業の際に、ユーザに対して的確なナビゲートを提供でき、操作性の向上及び記述の誤りの低減が可能となる処理装置を提供することを目的としている。
【０００８】
本発明は、上記のナビゲートをより的確に提供できる処理装置を提供することを目的としている。
【０００９】
本発明は、ユーザーに対して操作があるたびに図面の記述の誤りを指摘できる処理装置を提供することを目的としている。
【００１０】
本発明は、図面の記述をより正確に行うことができる処理装置を提供することを目的としている。
【００１１】
また、本発明の別の目的は、最適なオブジェクトの選択を簡単な操作で行うことができる処理装置を提供することにある。
【００１２】
【課題を解決するための手段】
本発明の操作支援装置は、第１および第２のアイテム情報と各々の属性データとをそれぞれ有する複数のシンボルを記憶する記憶手段と、複数のシンボルの少なくとも一部を配置表示する表示手段と、表示されたシンボルからユーザが選択した１シンボルの第１のアイテム情報についてユーザの操作指示を受付けて対応する操作意図情報を生成する入力手段と、選択されたシンボルの第１のアイテム情報についての操作意図情報および対応する属性データに基づいて、表示された他のシンボルの第２のアイテム情報について後に受付可能な操作指示を示す受付可否情報を出力する受付可否判定手段と、第２のアイテム情報を、受付可否情報に基づいて第１のアイテム情報とは識別し得るように表示手段に表示させる識別表示制御手段と、操作意図情報が、選択されたシンボルを他のシンボルに接続する操作である場合に、選択されたシンボルの第１のアイテム情報に係る属性データに基づいて他のシンボルの第２のアイテム情報に係る属性データを更新する属性更新手段とを具備することを特徴とする操作支援装置である。
【００１５】
さらに、請求項１３記載の本発明の操作支援方法は、記憶手段に第１および第２のアイテム情報と各々の属性データとをそれぞれ有する複数のシンボルを記憶するステップと、表示手段に複数のシンボルの少なくとも一部を配置表示するステップと、入力手段により、表示されたシンボルからユーザが選択した１シンボルの第１のアイテム情報についてユーザの操作指示を受付けて対応する操作意図情報を生成するステップと、選択されたシンボルの第１のアイテム情報についての操作意図情報および対応する属性データに基づいて、表示された他のシンボルの第２のアイテム情報について後に受付可能な操作指示を示す受付可否情報を出力する受付可否判定手段により該受付可否情報を出力するステップと、第２のアイテム情報を、受付可否情報に基づいて第１のアイテム情報とは識別し得るように表示手段に表示させる識別表示制御手段により表示させるステップと、操作意図情報が、選択されたシンボルを他のシンボルに接続する操作である場合に、選択されたシンボルの第１のアイテム情報に係る属性データに基づいて他のシンボルの第２のアイテム情報に係る属性データを更新する属性更新手段により更新するステップとを有することを特徴とする操作支援方法である。
【００２９】
本発明は、以下の記憶媒体に適用することも可能である。なお、記憶媒体としては、ハードディスク、ＣＤＲＯＭ、フロッピディスク、ＭＯなどのプログラムを記憶することが可能は媒体の全てが含まれる。
【００３０】
すなわち、アイテムの端子間を結線して図面を記述する処理を記憶する記憶媒体であって、前記各端子の属性を記憶させる手段と、前記端子間を結線するための第１の端子が指定されたとき、前記記憶された属性に基づき前記端子間を結線することが可能な第２の端子を選択し、この第２の端子を他の端子から区別して表示させる手段とを具備することを特徴とする、記憶媒体を提供可能である。
【００３１】
アイテムの端子間を結線して図面を記述する処理を記憶する記憶媒体であって、前記各端子の属性を記憶させる手段と、前記端子間を結線するための第１の端子が指定されたとき、前記記憶された属性に基づき前記端子間を結線することが可能な第２の端子を選択し、この第２の端子を他の端子から区別して表示する手段と、前記端子間が結線されたとき、これら端子の属性を関連する端子にも伝播させ、各端子の属性を推定して更新させる手段とを具備することを特徴とする、記憶媒体も提供可能である。
【００３２】
アイテムの端子間を結線して図面を記述する処理を記憶する記憶媒体であって、前記各端子の属性を固定属性と変動属性とに区別して記憶させる手段と、前記端子間を結線するための第１の端子が指定されたとき、前記記憶された属性に基づき前記端子間を結線することが可能な第２の端子を選択し、この第２の端子を他の端子から区別して表示させる手段と、前記端子間が結線されたとき、これら端子の属性を関連する端子にも伝播させ、変動属性を有する端子についてはその属性を推定して更新させる手段とを具備することを特徴とする、記憶媒体も提供可能である。
【００３３】
上記の記憶媒体において、前記第２の端子が選択されたとき、前記記憶された属性に基づき第１の端子と第２の端子の属性の適否を判断させる手段をさらに具備することを特徴とする、記憶媒体も提供可能である。さらに、この記憶媒体において、前記第１の端子と第２の端子との属性が適合しないとき、これらの選択前の表示に戻す手段をさらに具備することを特徴とする、記憶媒体も提供可能である。また、この記憶媒体において、前記記憶された属性に基づき各端子の属性の適否を一括して検査する手段をさらに具備することを特徴とする、記憶媒体も提供可能である。
【００３４】
また、画面上で第１のオブジェクトを所定のグループ内の第２のオブジェクトに移動させて所定の処理を実行させる処理を記憶する記憶媒体であって、前記各オブジェクトの属性を記憶する手段と、前記第１のオブジェクトの移動操作に基づき目的とするグループを特定するグループ特定手段と、前記第１のオブジェクトの属性と前記特定されたグループ内の複数の第２のオブジェクトの各属性との適否を判断する手段と、前記適合する第２のオブジェクトと残りのオブジェクトとを区別して表示する表示手段とを具備することを特徴とする、記憶媒体を提供可能である。
【００３５】
また、上記の記憶媒体において、前記グループ特定手段が、第１のオブジェクトが移動されたグループ内にはいったときに、当該グループを、目的とするグループとして特定することを特徴とする、記憶媒体も提供可能である。更に、上記の記憶媒体において、前記表示手段が、複数の第２のオブジェクトを適合度合いに応じて段階的に区別して表示することを特徴とする、媒体媒体も提供可能である。
【００３６】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
【００３７】
図１は一実施形態に係る処理装置の構成を示す図である。最初に構成要素の概要を図２に沿って説明した後、個々の構成要素の作用を説明する。
【００３８】
キーボード／マウス等の入力装置１を利用してユーザが図面等の記述作業を行うものとする。記述されているアイテムは、記述アイテム格納部１１０に逐次保存されていく。
【００３９】
ユーザが入力装置１を通して行う操作は、装置内に信号として取り込み、その情報を基に、操作意図判定部２０がユーザのエディタへの操作を検知する（ステップ２０１）。エディタへの操作は、アイテムの配置、移動、削除等、複数に渡るのが一般的である。また、その操作が、一つの操作で完了するものと、一連の操作で完了するものがある。たとえば、アイテムの移動操作の場合には、ドラッグによって行われる。即ち、アイテム上でマウスボタンを押すことにより選択し、マウスボタンを押したままマウスを移動し、目的の場所でマウスボタンを離すことにより、アイテムの移動操作を完了する。このように、複数の操作で目的の操作を完了する種類の操作もある。そこで、ユーザが起こす一連の操作を検知しながら、そのエディタで認められる操作の種類を格納した操作種別保持部１００の情報を基にその操作で行いたいことを操作意図判定部２０で判定する（ステップ２０２）。
【００４０】
リアルタイム操作指示部３０では、操作意図判定部２０で判定した操作の対象となっているアイテムと、そのアイアムに関連のあるアイテムの情報を記述アイテム格納部１１０から取り出し、その情報と記述制約保持部１２０から取り出した、記述対象アイテムに関する記述制約を基に、許可できる操作範囲を記述ナビゲートとして表示装置・出力装置２からユーザに提供する（ステップ２０３、２０４）。表示装置・出力装置２は、計算機のディスプレイ等を意味し、実際のエディタの画面を指す。具体的には、先のアイテムの移動操作の例では、ユーザがアイテムを選択して、移動を開始した時点で、アイテムを移動させられる範囲が制約として保持されていれば、エディタ画面上に移動させられる範囲を視覚的に表示する、もしくは、移動させられない範囲を視覚的に表示する等のナビゲート情報を提供する（ステップ２０５、２０６）。
【００４１】
リアルタイム記述アイテム検査部４０では、ユーザの操作が完了したことを検出し（ステップ２０７）、その時点で、その結果が記述制約保持部１２０に保持されている制約に違反していないかを検査する（ステップ２０８）。違反が検出された場合には、エラー情報提供部５０が表示装置・出力装置２を通してその情報をユーザに提供すると同時に、記述アイテム格納部１１０の情報を基に、操作前の状態にアイテムの状態を元に戻す（ステップ２０９）。
【００４２】
リアルタイム記述アイテム検査部４０が操作に違反がないことを判定した場合には、記述情報伝播部６０を通して記述アイテムの新しい情報が、記述アイテム格納部１１０に送られて更新される（ステップ２１０、２１１）。本装置で検査する制約は、単純に判定できるものと、記述アイテム間の関係を辿らなければ判定できないものがある。また、記述アイテムが持つ性質（制約検査に必要なアイテムの性質）も、固定的なものと非固定的なものがある。非固定的なものは、他のアイテムとのそのアイテムと関係によって、その性質が決定される。記述情報伝播部６０では、操作によって記述情報が更新されるたびに、その情報を他の関連アイテムに伝播し、記述アイテム性質推定部７０にて、未定であった性質を推定する。
【００４３】
記述アイテム一括検査部８０では、リアルタイム記述アイテム検査部４０を利用しないで記述された図面に対して、一括して記述制約保持部１２０の内容を基に検査する。検査した結果は、表示装置・出力装置２を通してユーザに提供する。
【００４４】
具体的な例を用いて装置の流れを説明する。
【００４５】
図３に示すような、ブロック線図を記述する図面エディタを例題として利用する。ブロック線図は、シンボルとそのシンボル間を結ぶ結線で構成される。ユーザは、ユーザの目的とするものを表現できるようにシンボルを配置し、その間を結線で結ぶ操作をエディタ上で行う。
【００４６】
シンボルは端子を複数有しており、結線はシンボルのある端子間を結ぶことで決定される。複数の端子を区別する必要がある場合には、端子には例えば“Ｘ”、“Ｕ”、“Ｌ”といった添字が付けられており、１つのシンボル内の端子は、その添字ですべて意味が区別できるものである。ブロック線図は、様々な目的に利用される。
【００４７】
ブロック線図を制御図を記述するために利用する場合を例にとる。この場合、シンボルは演算や関数を意味し、シンボル間の結線はデータの流れを意味する。演算や関数を意味するシンボルは、入力と出力を持っている各端子が入力もしくは、出力を示すことになる。それは、シンボル毎に決定されている。
【００４８】
例えば、シンボルとしては積分器、加算器、スイッチ、ΜΑΧ（最大値を出力する関数）、リミッタ（ある入力に対して、その上限／下限を設定し、入力がその有効範囲内であれば、そのまま出力し、上限／下限外の入力は、上限もしくは下限の値を出力する関数）等がある。図３の加算シンボルは、２つの入力端子と１つの出力端子を有しており、ΜΑΧシンボルは３つの入力端子と１つの出力端子を有しており、リミッタシンボルは３つの入力端子と１つの出力端子を有している。
【００４９】
図３の場合、加算器シンボルとΜΑΧシンボルが結線されており、ΜΑΧシンボルとリミッタシンボルが結線されており、３つのシンボル間に関係付けがなされている。この関係付けの意味は、加算器の出力データがΜΑΧの入力データとなり、ΜΑΧの出力データがリミッタの入力データとなることである。このように、データフローが結線により定義される。
【００５０】
演算／関数以外のシンボルとして、図面への入力と出力を示す入出力シンボルと定数を示す定数シンボルがある。入力シンボルは編集対象図面外からのデータを取り込むことを表現するために利用し、出力シンボルは編集対象図面外へデータを出すことを表現するために利用する。定数シンボルは、しきい値を表現するために利用する。例えば、先のリミッタの上限／下限値に値を設定するような場合に利用される。
【００５１】
ここでは、結線操作における誤りを検出する場合を例にとる。結線操作は、２種類の操作によって行われるものとする。実際のエディタでは、操作方法の実現はこの場合に限るものではない。
【００５２】
・あるシンボルの端子上でマウスボタンを押し、その状態でマウスを移動させ、別の場所でマウスボタンを離した場合に操作を完了する。
−マウスボタンを離した場所が別の端子上であれば、結線操作と判断する。
−マウスボタンを離した場所が別の端子上でなければ、片方がフリーの線が記述されたと判断する。
【００５３】
・あるシンボルの端子に接続している結線の端点（線の端）上でマウスボタンをクリックし、そのまま移動させ、別の場所でマウスボタンを離した場合に操作を完了する。
−マウスボタンを離した場所が別の端子上であれば、結線操作と判断する。
−マウスボタンを離した場所にが別の端子上でなければ、片方がフリーの線が記述されたと判断する。
【００５４】
操作意図判定部２０
入力装置１が、操作意図判定２０へユーザの操作を通知する。このレベルの情報は、マウスを動かしたとか、マウスボタンを押したといったプリミティブなものである。
【００５５】
その基本操作が、本装置として認めているものかを判断し、認めていないものに対しては処理を行わない。先に示した結線に関して、最初にマウスボタンを押す操作は有効である。図４に示すように、本装置として有効な一連の操作を操作の状態遷移として操作種類保持部１００に格納している。図４は、結線操作に関する部分を抽出したものである。
【００５６】
丸は、操作の状態を示し、丸から丸への線は、線上に示したプリミティブな操作を行うとその線の指し示す先の状態へ遷移することを意味している。黒で塗りつぶした丸で示される未操作状態において、あるシンボルの端子上で左ボタンが押されると、結線操作開始の状態に移る。そして、左ボタンを押したままでマウスの移動が始まると、結線操作中の状態に移る。結線操作中に左ボタンを押したままでマウスの移動が起きると結線操作中の状態を続ける。結線操作中状態で、左ボタンが離されると結線操作を終了して、未操作状態に戻る。また、結線操作開始状態において、左ボタン押し以外の操作（例えば、左ボタンを離す）が行われた場合には、未操作状態に戻る。
【００５７】
図３に示す操作種類保持部１００の情報を基に、入力装置１から送られて来るプリミティブな操作単位をベースに現在のユーザの操作意図を判定する。
【００５８】
リアルタイム操作指示部３０
操作意図判定部２０で判断された操作種別と記述アイテム格納部１１０の情報と記述制約保持部１２０の情報を利用して、ユーザに対して操作のナビゲート情報を提供する。先に、記述アイテム格納部１１０、記述制約保持部１２０の内容を説明した後に、リアルタイム操作指示部３０の詳細を説明する。
【００５９】
記述アイテム格納部１１０
図面上に記述されたアイテムは、記述アイテム格納部１１０に図５に示すような構造で格納しておく。図５に示される記述アイテム格納部１１０はシンボルリストと結線リストで構成される。図５の内容は図３下部に示した図面を表現した情報である。
【００６０】
シンボルリストには、加算器、ΜΑΧ、リミッタ等のシンボル要素が格納されている。各シンボルに持たせる情報を以下に示す。
【００６１】
・種別  種別を示すもの（加算器、ΜΑΧ、リミッタ等）。
・座標  それぞれのエディタで使用している座標を登録しておく。
・端子情報  そのシンボルが有している端子に関する情報を順に格納しておく。
【００６２】
各端子が結び付けられている結線の情報と端子の意味情報を持つ。図３を例に説明すると、ΜΑΧは４つの端子（３入力端子＋１出力端子）を有し、１つ目の端子（端子１）は、接続線リストの１本目の結線にポインタが張られている。また、４本目の端子（端子４）は、接続線リストの２本目の結線にポインタが張られている。端子の意味情報の内容は別途説明する。
【００６３】
結線リストには、各結線に関する情報が順に格納されている。各結緑に持たせる情報を以下に示す。
【００６４】
・座標リスト  その結線の座標情報をそれぞれのエディタで使用している座標で登録しておく。
・始点  その結線の端点のうちで始点が接続しているシンボルの端子へのポインタが張られている。図３を例に説明すると、１本目の結線は加算器の３本目の端子（出力端子）とΜΑΧの１本目の端子（入力第１端子）の間を結んでいる。結線リストの１本目の始点は、シンボルリストの加算器の３本目（出力第１端子）へポインタが張られている。
・終点  その結線の端点のうちで終点が接続しているシンボルの端子へのポインタが張られている。図３を例に説明すると、１本目の結線は加算器の４本目の端子（出力端子）とΜΑΧの１本目の端子（入力第１端子）の間を結んでいる。結線リストの１本目の終点は、シンボルリストのΜΑΧの１本目（入力第１端子）へポインタが張られている。
【００６５】
端子情報（意味情報）
本装置において検査を実施するにあたり、端子情報（意味情報）が非常に重要な意味を成す。端子には様々な情報を持たせる枠組みを用意することができるが、その例を図６を基に説明する。
【００６６】
端子情報は、端子属性項目とその値のリストで構成される。図６は図３の加算器の第１端子に関する情報の例である。
【００６７】
・入出力  その端子が入力端子であるか、出力端子であるかを示す。この例の場合は、入力端子であることを意味している。
・データタイプ  その端子がどのような種類のデータであるかを示す。ここでは、本実施例ではアナログとデジタルの２種類を想定して説明する。加算器は、アナログ値の加算を行うものとしているために、‘アナログ‘が設定されている。
・単位  データタイプがアナログの端子に関しては、その単位を属性として持たせる。加算器自身は、どのような単位の加算も行えるが、その端子に結び付けられたシンボルによって、その単位が決定される場合も有り得る。現状では単位が決定されていないため、“未定”が設定されている。
【００６８】
属性は、先の２種類のように固定的な固定属性と、非固定的な変動属性に分られる。固定属性は図面上のどのシンボルにおいても同じである。図面上の別の加算器が配置されていても、その加算器の属性も同一である。変動属性は、結線により他のシンボルの情報によって決定される。結線の状況が変更されれば、その値は変動する可能性もある。図面上の別の加算器が配置されていれば、その属性は異なることになる。属性は、上記３種類に限るものではなく、検査すべき観点に基づいて用意しておくだけでよい。
【００６９】
記述制約保持部１２０
リアルタイム操作指示部３０において、ユーザに操作ナビゲートを行うために記述上の制約を保持している。制約はシンボル端子が持つ属性項目をベースに定義しておく。ここでは、結線に関する制約を例に取って説明する制約は、シンボルの種類に依存しないものとシンボルの種類に依存するものの２種類に分類される。
【００７０】
入出力属性に関する制約
この制約は、シンボルの種類に依存しない制約である。結線をシンボル端子間に結ぶ際に、入出力属性が‘出力‘同士の端子間を結線してはならない。これは、データの流れに矛盾が生じるためである。
【００７１】
この制約は、例えば下のような表記方法で定義しておく。
if  結線リスト，結線要素，始点，入出力属性＝＝‘出力‘then結線リスト，結線要素，終点，入出力属性！＝‘出力‘
if  結線リスト，結線要素，終点，入出力属性＝＝‘出力′then結線リスト，結線要素，始点，入出力属性！＝‘出力‘
即ち、「結線リスト上の、ある結線リストの始点が指し示すシンボルの端子属性の入出力属性値が‘出力‘の時は、その結線リストの終点が指し示すシンボルの端子属性の、入出力属性値が‘出力‘であってはならない。結線リスト上の、ある結線リストの終点が指し示すシンボルの端子属性の、入出力属性値が‘出力‘の時は、その結線リストの始点が指し示すシンボルの端子属性の、入出力属性値が‘出力‘であってはならない。」と読む。
【００７２】
データタイプ属性に関する制約
この制約は、シンボルの種類に依存しない制約である。結線をシンボル端子間に結ぶ際に、データタイプが一致しない端子間を結線してはならない。これは、シンボルが意味する演算や関数の使用方法を誤ることを意味するからである。
【００７３】
この制約は、例えば下のような表記方法で定義しておく。
結線リスト，結線要素，始点，データタイプ属性＝＝結線リスト，結線要素，終点，データタイプ属性
即ち、「結線リスト上の、ある結線リストの始点が指し示すシンボルの端子属性の、データタイプ属性値は、その結線リストの終点が指し示すシンボルの端子属性の、データタイプ属性値と等しくなければならない。」と読む。
【００７４】
単位属性に関する制約
この制約はシンボルの種類に依存する制約である。この制約は２種類ある。
【００７５】
１．シンボルの端子に結線できるデータの単位が固定的に決まっている場合には、それを制約として定義しておく。
【００７６】
例えば、「SymbolＡという種類のシンボルの第１端子は、必ずＶ（電圧）を単位にするデータと結び付ける必要がある。」という場合には、下のような表記方法で定義しておく。
SymbolΑ．端子１．単位＝＝‘Ｖ‘
即ち、「SymbolΑという種類の全シンボルに関して、端子１の端子属性の単位属性値は、‘Ｖ‘と等しくなければならない。」と読む。
【００７７】
２．ある種類のシンボルの端子に関して、上記１の制約は持たないものの、シンボル内の他の端子の状況に応じた制約を定義しておく。
【００７８】
例えば、「SymbolＢという種類のシンボルの第１端子に結線されるデータと第２端子に結線されるデータの単位は等しくなければならない。」という場合には、下のような表記方法で定義しておく。
SymbolＢ．端子１．単位＝＝SymbolＢ．端子２．単位
SymbolＢ．端子２．単位＝＝SymbolＢ．端子１．単位
即ち、「SymbolＢという種類の全シンボルに関して、端子１の端子属性の単位属性値は、端子２の端子属性の単位属性値と等しくなければならない。端子２の端子属性の単位属性値は、端子１の端子属性の単位属性値と等しくなければならない。」と読む。
【００７９】
例えば、SymbolΒが２つの入力を持ち、その入力の値を比較してその真偽を出力として返すことを意味するシンボルだとする。その場合、２つの入力端子に流れてくるデータの単位は、固定ではないが、−致している必要がある。
【００８０】
以上のように、記述アイテムは記述アイテム格納部１１０に格納され、記述制約は記述制約文字ぶ１２０に保持されている。
【００８１】
リアルタイム操作指示部３０の説明に戻る。リアルタイム操作指示部３０は、操作意図判定部２０から送られてくる情報を基に、既に記述されているアイテムと制約から、ユーザ操作のナビゲート情報を表示装置・出力装置２を通してユーザに提供する。図７の図面例を用いて結線操作の場合を説明する。
【００８２】
図７にはシンボルが４つ配置（７１０、７２０、７３０、７４０）されており、ユーザは種別がSymbol１のシンボル（７１０）のＲ１端子（７１３）から別のシンボル端子へ結線操作を試みている。操作意図判定部２０にて、操作種別保持部１００の内容から、シンボル端子上でマウスボタンが押されたことにより、結線操作開始状態に移行したことを判定している。この時点で、他の記述アイテムと制約情報からナビゲート情報を生成する。
【００８３】
シンボルリストに格納されている各シンボル要素の情報を図８に示す。（座標情報は省略）
制約情報は先に説明した通りであるが、シンボルの種類に依存する制約である単位属性に関する制約を図９に示す。
【００８４】
Ｓｔｅｐ１
結線の始点となる端子に関して、判明している端子属性情報をシンボルリストから取り出す。
【００８５】
図７の例では、シンボル（７１０）の第３端子（Ｒ１端子：７１３）から結線操作を試みている。図７に示すシンボルリストからシンボル（７１０）に相当するシンボル情報（７１０）を取り出す。さらに、その中から第３端子の端子情報を取り出す（７１３）。図１０（１０１０）に示される情報が取り出される。
【００８６】
Ｓｔｅｐ２
制約情報等から、結線の始点となる端子に関する端子属性情報を推定補足する。
【００８７】
シンボル（７１０）は、その種別がSymbol１である。そこで図９に示した制約情報から、種別Symbol１に関する制約（９１０）を抽出する。種別Symbol１に関する制約の２項目に定義された制約から、端子３の端子属性の単位属性値は、端子２の端子属性の単位属性値と等しくなければならない。そこで、シンボル（７１０）の端子２の端子属性の単位属性値を検索する。図７の端子２の端子属性の単位属性値（７１２）が‘Ｖ‘に設定されているので、その値をＳｔｅｐ１で取り出した端子３の端子属性の単位属性値に反映させる。図１０（１０２０）にその情報を示す。
【００８８】
Ｓｔｅｐ３
結線の終点の候補となる端子をシンボルリストから検索し、結線候補端子集合を生成する。
【００８９】
すでに結線が結び付けられていない端子をシンボルリストから検索する。図７のシンボルリストにおいて、結線リストへポインタが張られていない端子が端子集合として生成される。図７の（７１１、７２２、７２３、７３１、７３２、７４１、７４２、７４３、７４４、７４５）の端子が要素として生成される。その状況を図１１に示す。シンボル要素の中で、塗りつぶしされていない要素が結線候補端子集合として生成される。
【００９０】
Ｓｔｅｐ４
Ｓｔｅｐ３で生成した結線候補端子集合の中で、制約情報を基に終点を結び付けられる結線可能端子集合を生成する。Ｓｔｅｐ３で生成された結線候補端子集合の要素を記述制約保持部１２０の制約情報と照らし合わせて結線可能であるかを判定する。
【００９１】
入出力属性に関する制約チェック
結線する両端子の入出力属性が‘出力‘同士の端子間を結線してはならないという制約を判定する。結線の始点となる端点の入出力属性値と結線候補端子集合の各要素の入出力属性値から判定する。
【００９２】
図７の場合には、始点となる端子（７１３）の入出力属性値は、端子情報（１０２０）から出力であることが判別できる。そのため、終点となる端子の入出力属性値は、出力であることが認められない。図１１の結線候補端子集合の各要素の入出力属性値をチェックする。その結果、４つの端子（１１２３、１１３２、１１４４、１１４５）が候補から削除される。
【００９３】
データタイプ属性に関する制約チェック
結線する両端子のデータタイプが一致しない端子間を結線してはならないという制約を判定する。結線の始点となる端点のデータタイプ属性値と結線候補端子集合の各要素のデータタイプ属性値から判定する。
【００９４】
図７の場合には、始点となる端子（７１３）のデータタイプ属性値は、端子情報（１０２０）からアナログであることが判別できる。そのため、終点となる端子のデータタイプ属性値は、アナログでなければ認められない。先の制約チェックで残った結線候補端子集合の各要素のデータタイプ属性値をチェックする。その結果、２つの端子（１１３１、１１４２）が候補から削除される。
【００９５】
単位属性に関する制約チェック
結線する両端子の単位属性値が一致しない端子間を結線してはならないという制約を判定する。結線の始点となる端点の単位属性値と結線候補端子集合の各要素の単位値から判定する。その際、シンボル内の端子間に設定された制約も考慮して判定する。
【００９６】
始点端子の単位属性値は、Ｓｔｅｐ２の結果から‘Ｖ‘である。データタイプ属性に関する制約チェック後に、候補として残った端子は、４つ（１１１１、１１２２、１１４１、１１４３）である。各々に関して、シンボル種別に設定された制約を基に、各端子の単位属性値を推定し、単位属性値の一致を判定する。
【００９７】
終点端子候補のシンボル（７１０）の第１端子（１１１１）は、シンボル種別がSymbol１である。Symbol１の第１端子についての制約は設定されていないため、第１端子の単位属性値は‘未定‘である。そのため、始点端子の単位属性値‘Ｖ‘とは矛盾しないため、結線候補端子集合に留める。
【００９８】
終点端子候補のシンボル（７２０）の第２端子（１１２２）は、シンボル種別がSymbol２である。Symbol２の第２端子の単位属性値についての制約は、図８（９２０）に定義されるように、Symbol２の第１端子の単位属性値と等しくなければならない。図１１のシンボルリスト情報において、シンボル（７２０）の第１端子の単位属性値は‘Ｈｚ‘となっている。よって、終点端子候補のシンボル（７２０）の第２端子（１１２２）の単位属性値は‘Ｈｚ‘であると推定できる。そのため、終点端子の単位属性値‘Ｖ‘とは矛盾するため、結線候補端子集合から削除される。
【００９９】
終点端子候補のシンボル（７４０）の第１端子（１１４１）は、シンボル種別がSymbol４である。Symbol４の第１端子についての制約は設定されていないため、第１端子の単位属性値は‘未定‘である。そのため、始点端子の単位属性値‘Ｖ‘とは矛盾しないため、結線候補端子集合に留める。
【０１００】
終点端子候補のシンボル（７４０）の第３端子（１１４３）は、シンボル種別がSymbol４である。Symbol４の第３端子の単位属性値についての制約は、図９（９３０）に定義されるように、固定属性として‘Ａ‘でなくてはならない。よって、終点端子候補のシンボル（７４０）の第３端子（１１４３）の単位属性値は‘Ａ‘である。そのため、始点端子の単位属性値‘Ｖ‘とは矛盾するため、結線候補端子集合から削除される。
【０１０１】
以上の制約情報に基づいたチェックにより、最終的に結線可能端子集合は、図１２に示すものが生成される。シンボル要素の中で、塗りつぶされていない要素が結線可能端子集合である。
【０１０２】
Ｓｔｅｐ５
Ｓｔｅｐ４で生成した結線可能端子集合の情報を表示装置・出力装置２からユーザに提示する。
【０１０３】
Ｓｔｅｐ４の結果として、制約条件を満たす結線操作は終点端子が限られることになる。その情報をユーザに提供する。提供する方式は、
・結線可能な端子を強調して表示する。手段は、
−対象となる端子を点滅表示
−対象となる端子を他の端子より目立つ別の色／線等で表示
等がある。
・結線不可能な端子を非強調表示する。手段は、
−対象となる端子を画面上で非表示
−対象となる端子を他の端子より目立たない色／線等で表示
等がある。
【０１０４】
この情報は、最終的な結線可能端子集合図１２のシンボル要素情報を基に生成し、エディタ上での表示ルーチンで特殊効果を加えて表示する。この表示は、操作意図判定部２０において、図４の結線操作中状態にあると判断している間中続けるものである。図１３は、図７の操作においてユーザに結線情報を提供しているイメージ画面の１例を示すものである。結線可能端子は、太線に変更され、かつ、下向矢印が端子先に表示される。結線不可能端子は、点線に変更される。
【０１０５】
このナビゲート情報により、ユーザは的確にかつ迅速に結線操作を遂行することができる。
【０１０６】
リアルタイム記述アイテム検査部４０／エラー情報提供部５０
リアルタイム記述アイテム検査部４０は、操作意図判定部２０における結線操作において、結線操作中に左ボタン離しのプリミティブ操作を検知し、未操作状態に推移した時点で、結線の終点に関して制約チェックを行う。制約のチェック手段は、リアルタイム操作指示部３０の手段と同じである。始点となる端子の端子属性値を推定し、終点となる端子の端子属性値を推定し、その間に矛盾がないことを判定する。
【０１０７】
矛盾する結線操作であることが判定された場合には、エラー情報提供部５０にて、画面上からメッセージとして、違反した制約に関する情報を提示し、その結線操作を無効とする。リアルタイム操作指示部３０の判定手段と異なる点は、終点が端子上以外の場合も有り得るため、その場合は、無矛盾扱いとする。
【０１０８】
記述情報伝播部６０／記述アイテム性質推定部７０
リアルタイム記述アイテム検査部４０が操作に違反がないことを判定した場合には、記述情報伝播部６０を通して記述アイテムの新しい情報が、記述アイテム格納部１１０に送られ更新される。
【０１０９】
図７の結線操作で、始点を端子（７１３）とし、終点を端子（７４１）とした場合には、結線リストを１本追加し、始点と終点の端子属性値を一致させるように端子情報を更新する。記述アイテム格納部１１０のシンボルリストは図８から図１４のように書き換えられる。
【０１１０】
本装置で検査する制約は、単純に判定できるものと、記述アイテム間の関係を辿らなければ判定できないものがある。また、記述アイテムが持つ属性値（制約検査に必要なアイテムの性質）も、固定的なものと非固定的なものがある。非固定的なものは、他のアイテムとのそのアイテムとの関係によって、その性質が決定される。記述情報伝播部６０では、操作によって記述情報が更新されるたびに、その情報を他の関連アイテムに伝搬し、記述アイテム性質推定部７０にて、未定であった性質を推定する。
【０１１１】
基本伝播／推定方式（図１５参照）
Ｓｔｅｐ１
新たな結線操作によって確定した端子間の関係、即ち始点または終点の端子属性を収集すると（ステップ１５０１）、その値を双方向に伝播する（ステップ１５０２、１５０３）。
【０１１２】
・始点側の端子属性値を終点側の端子属性値に伝播する。
・終点側の端子属性値を始点側の端子属性値に伝播する。
伝播するとは、未定となっている端子属性値を結線された反対側の端子の端子属性値をもとに推定することである（ステップ１５０４、１５０５）。属性値が変更された場合には、シンボルリストの情報を更新する。先に示した単位属性の属性値はそのまま複写することにより伝播される。図１４に示した例では、始点の端子属性値のみが終点側に伝播されたが、双方向に伝播を行う。
【０１１３】
Ｓｔｅｐ２
シンボル内の他の端子属性値へ伝播する（ステップ１５０６、１５０７）。
【０１１４】
各端子において伝播により端子属性値が変更された場合に、シンボル種別に定義されている制約を基に、同一シンボル内の他の端子の端子属性値を推定する（ステップ１５０８、１５０９）。変更された場合には、シンボルリストの情報を更新する。
【０１１５】
Ｓｔｅｐ３
シンボル内端子属性伝播に端子属性値が変更された場合に、結線経由で他のシンボルへ制約を伝播する端子属性値が変更された端子に結線が結ばれている場合には、その結線を辿り、結線の反対側の端点へ端子属性値の伝播を行う（ステップ１５１０、１５１１）。
【０１１６】
Ｓｔｅｐ２に戻り、関連する端子属性値の変更が発生する限りこの処理を続ける。
【０１１７】
各ステップを図１６の例を用いて説明する。シンボル（１６１０）の第３端子（１６１３）とシンボル（１６２０）の第１端子（１６２１）が結線で結ばれている状況である。図１６下部には現状のシンボルリストの内容（端子属性値）が示してある。定義されている制約は、シンボル種別Αに関して１つ定義されている。シンボル種別Αの第３端子の単位属性は、第１端子の単位属性値に等しい。この状況で、シンボル（１６３０）の第２端子（１６３１）からシンボル（１６１０）の第１端子に結線を結ぶ操作を試みたとする。端子属性に関する制約に矛盾がないため、結線操作は有効である。
【０１１８】
Ｓｔｅｐ１では、シンボル（１６３０）の第２端子（１６３１）の属性値が、シンボル（１６１０）の第１端子（１６１１）に伝播される。その結果として、シンボル（１６１０）の第１端子（１６１１）の単位属性値が‘未定‘から‘Ｈｚ‘に変更される。逆向きに伝播する情報はない。
【０１１９】
Ｓｔｅｐ２では、シンボル（１６１０）の第１端子（１６１１）に伝播された結果をシンボル（１６１０）の別の端子へ伝播する。シンボル（１６１０）はシンボル種別Αであり、端子間の制約が定義されている。制約を充足する結果として、第３端子（１６１３）の単位属性値が第１端子（１６１１）と等しくなり‘未定‘から‘Ｈｚ‘に変更される。他の制約が定義されていれば、第２端子（１６１２）への伝播も行われる。
【０１２０】
Ｓｔｅｐ３では、シンボル（１６１０）の第３端子（１６１３）に伝播された結果を結線を通じて他のシンボルへ伝播する。シンボル（１６１０）の第３端子（１６１３）とシンボル（１６２０）の第１端子（１６２１）の間には結線関係がある。そこで、シンボル（１６１０）の第３端子（１６１３）の端子属性値をシンボル（１６２０）の第１端子（１６２１）に伝播する。その結果として、シンボル（１６２０）の第１端子（１６２１）の単位属性値がシンボル（１６１０）の第３端子（１６１３）と等しくなり‘未定‘から‘Ｈｚ‘に変更される。さらに、Ｓｔｅｐ２に戻りシンボル（１６２０）内での制約による伝播を繰り返し、シンボル（１６２０）の第２端子から、さらに、別のシンボルへ端子属性が伝播される。
【０１２１】
最終的には、図１７に示す情報がシンボルリストに格納される。Ｓｔｅｐ１の伝播が（１７５０）、Ｓｔｅｐ２の伝播が（１７６０）、Ｓｔｅｐ３の伝播が（１７７０）を指し示している。
【０１２２】
分岐を含めたリアルタイム操作指示部／検査部／伝播／推定部
本記述装置では、シンボルの配置とそのシンボルの有する端子間の結線操作のみではなく、結線からの分岐を扱うことを想定している。
【０１２３】
分岐とは、ある結線の途中に別の結線を結び付ける特殊シンボルを意味する。図１８に示す例では、シンボル（１８１０）の第２端子（１８１１）の入出力属性値が出力で、この端子から流れたデータが分岐点シンボル（１８４０）に入る。分岐点シンボル（１８４０）からは、入ったデータと同じものがシンボル（１８２０）第１端子（１８２１）とシンボル（１８３０）第１端子（１８３１）へ入ることを意味する。ここでは、分岐点は４方向（左、上、下、右）に結線を結び付けられることとしている。これをシンボルと同じ扱いができるように、４つの端子として管理する。図１８下部は、上部の状況におけるシンボルリストと結線リストを示している。
【０１２４】
分岐点はユーザが配置するのではなく、ある結線上でマウスボタンを押し、他の場所でマウスボタンを離すと、始点の場所に分岐点が生成される。または、ある端子から結線を引き始め、別の結線上でマウスボタンを離すと終点の場所に分岐点が生成される。分岐点の端子属性は、他のシンボルとは異なり、すべてが変動属性であり、その制約は、以下の通りとなる。
【０１２５】
入出力  入出力属性は、４方向のいずれの端子も、入力にも出力にもなり得る。結線している他のシンボルの端子属性値によって変動する。入出力属性値を決定する制約は、
・１つの端子のみが入出力属性値として‘入力‘と持つことができる。
・１つの端子の入出力属性値が‘入力‘と決定すると、伝播が発生して、他の端子の入出力属性値は‘出力‘に決定される。
・上記以外の場合には、入出力属性値は‘未定‘である。
【０１２６】
データタイプ  データタイプ属性値は、４方向の端子すべてが同値である。結線している他のシンボルの端子属性値によって変動する。データタイプ属性値を決定する制約は、
・１つの端子のデータタイプ属性値が決定すると、伝播が発生して、他の３つの端子のデータタイプ属性が同じ値に決定される。
である。
【０１２７】
単位  単位属性値は、４方向の端子すべてが同値である。結線している他のシンボルの端子属性値によって変動する。単位属性値を決定する制約は、
・１つの端子の単位属性値が決定すると、伝播が発生して、他の３つの端子の単位属性が同じ値に決定される。
である。
【０１２８】
図１９の場合には、シンボル（１９１０）の第２端子（１９１１）から、シンボル（１９２０）とシンボル（１９３０）の端子の結線（１９４０）へ、新たな結線を結ぶ操作を行っている。この場合、新たに生成される結線（１９５０）の始点と終点の端子属性チェックを行う必要がある。
【０１２９】
入出力属性のチェックから説明する。シンボル（１９１０）の第２端子（１９１１）の入出力属性値は固定属性値で‘出力‘とする。シンボル（１９２０）の第１端子（１９２１）とシンボル（１９３０）の第１端子（１９３１）の入出力属性値は固定属性値で‘入力‘とする。
【０１３０】
新たに引く結線の始点となっている端子（１９１１）の入出力属性値は、‘出力‘である。終点の入出力属性値は、終点が分岐点であるため、直接取得することはできない。そこで、分岐点に接続している他の接続線を辿り、入出力属性値を推定する。この例では、分岐点からシンボル（１９２０）の第１端子（１９２１）とシンボル（１９３０）の第１端子（１９３１）間の結線があるため、終点の入出力属性値は、出力もしくは入力のいずれの可能性も認められる（未定に相当する）ことになる。
【０１３１】
しかしながら、始点入出力属性値は出力と固定的であるため、必ず終点の入出力属性値は入力となる。図１９の下側に示すように、新分岐点の左側の入出力属性値は‘入力‘となり、上方の入出力属性値、下方の入出力属性値、（右方入出力属性値）は、‘出力‘となることが推定される。ここで利用した制約は、結線の片方の入出力属性値が‘出力‘であれば、反対側の入出力属性値は‘入力‘であるというものである。これは、記述制約保持部１２０の説明における、結線の両側の入出力属性値が共に‘出力‘になることを禁止していることから判断される。結果として生成されるシンボルリスト情報は、図１９下部に示す。
【０１３２】
このように、分岐点が生成される場合には、始点／終点に生成される分岐点に接続する結線を辿り、入出力属性値の推定を試みる。入出力属性値が決定出来ない場合には、‘未定‘としておき、エラー扱いとはしない。
【０１３３】
分岐点に関する入出力属性値の伝播は、以下の手順で行う。入出力属性値の組合せの正当性が認められる接続が完了した時点で、入出力属性値の伝播を行う。これは、分岐点等で、それまで入出力属性値が未定であった範囲を決定させるための処理である。
【０１３４】
図２０で説明する。上部左側の状況において、分岐点（２０１０）と分岐点
（２０２０）の入出力属性が‘未定‘であったとする。そこで、シンボル（２０３０）から分岐点（２０２０）から延びる結線へ新たな結線を引く操作を行い、分岐点（２０４０）が生成されたとする。
【０１３５】
この場合、まず、結線の両端における端子属性値の伝播を行う。シンボル（２０３０）の第２端子（２０３１）の入出力属性値が‘出力‘であったとすると、まず、分岐点（２０４０）の左方端子の入出力属性値が伝播を受け、‘入力‘と推定される。
【０１３６】
次に、分岐点内での端子属性値の伝播を行う。左方端子の入出力属性値が入力となるため、他の３方端子の入出力属性値は出力となる。
【０１３７】
次に、分岐点の各端子から結線を通じて他のシンボル／分岐点へ入出力属性値を伝播する。分岐点（２０４０）と結線している分岐点（２０２０）の下方端子の入出力属性値が‘入力‘と推定される。さらに、分岐点（２０２０）内での伝播後に、分岐点（２０１０）の４方端子の入出力属性値も伝播の結果決定する。その結果が図２０の下側に示してある。この方法により、伝播できる範囲に全て入出力属性を伝播し、未定であった範囲の分岐点の入出力属性値の特定を行い、シンボルリストに送り更新格納する。
【０１３８】
入出力属性以外の属性（データタイプ属性／単位属性）に関しても、同様に確定した属性値を伝播することが可能である。異なる点は、分岐点内での属性伝播の方法を属性単位で用意することで可能となる。
【０１３９】
このように、端子に関する属性がすべて変動属性である分岐点の属性値に関しても、結線情報から伝播／推定することが可能となり、リアルタイム操作指示部３０、リアルタイム記述アイテム検査部４０の精度を向上させることが可能となる。分岐点は、属性値が変動するため、ユーザの意図が明確に図面上に表現されていることを確認することが負担となるため、この手段を有することにより、その負荷が軽減される。
【０１４０】
結線操作は、これまでの例に示した以外に、すでにある端子に結線されている端点を別の端点につなぎ変える操作もある。この操作に関しても、始点ないし終点をある端子から離した時に、端子が有していた端子属性値を初期化し、つなぎ変え後は、ここまでの説明と同様の処理を行うことにより、同様の結果が得られる。結線を削除する際にも、端子属性値の初期化を行うことにより、シンボルリスト内の情報を無矛盾化する。
【０１４１】
記述アイテム一括検査部８０
リアルタイムに検査する機能を利用せずに記述された図面に関しては、リアルタイム記述アイテム検査部４０の検査手段を利用して、すべてのシンボルリスト内の情報を伝播し、その結果において、制約に矛盾が生じないかを一括して検査を行うことができる。
【０１４２】
記述アイテム格納部１１０に、図面情報を格納し、シンボルリスト内のシンボル要素の固定端子属性値のみを制約に基づいて取り込む。そして、結線リストを辿り、各シンボルの端子属性値を記述情報伝播部６０の手段を用いて伝播する。他のシンボルの端子属性値が未定の場合には、記述アイテム性質推定部７０の手段を用いて推定し、確定した場合にはそれを格納し、さらに伝播を続ける。その際、もし、伝播した属性値とすでに格納してある属性値の間に矛盾が発生した場合には、エラーとして表示装置・出力装置を通してユーザに通知する。
【０１４３】
次に、本発明の他の実施形態について説明する。
【０１４４】
この実施形態に関しても基本的構成は図１に示したものを利用する。
【０１４５】
たとえば、ＧＵＩを利用した、ウインドウシステムにおいて、次のような状況を想定する。ファイルを意味するアイコンをマウスで選択し、プリンタを意味するアイコン上へ移動しプリントさせる操作を考える。
【０１４６】
図２１で説明する。図２１の上部に操作開始状況（２１１０）を示す。ウインドウ上でファイルを選択し、移動を開始する。ファイルを選択した時点で、操作意図判定部２０は、ファイルに関する操作の候補を操作種類保持部１００の情報を基に生成する。ファイルアイコンを移動させた時点で、操作意図判定部２０は、ファイルを別のディレクトリへ移動させる、もしくは、プリンタへファイルを投入するという操作意図に絞り込む。ファイルアイコンの移動を開始した時点では、まだ、操作は決定されない。
【０１４７】
ファイルアイコンがプリンタの集合を示すエリア内へ入る（図２１の下部（２１２０））と、操作意図判定部２０はユーザがファイルをプリントしたいという操作意図を判定する。その時点で、リアルタイム操作指示部３０は、プリント操作に関する制約を基にリアルタイム操作指示部３０がユーザにナビゲート情報を提供する。図１の構成図では、記述制約保持部１２０となっているが、この場所に、プリント操作制約を保持しておき、その情報を用いてナビゲート情報を生成する。
【０１４８】
アイテムの属性として、
ファイルに関しては、以下を持たせる。
（１）ファイルサイズ
（２）白黒印刷用のファイルか
（３）カラーを含むファイルか
プリンタに関しては、以下を持たせる。
（１）白黒印刷可能／不可能（固定属性）
（２）カラー印刷可能／不可能（固定属性）
（３）印刷能力（固定属性）
（４）現在の印刷中／印刷待ちのファイルとそのサイズ（動的属性）
（５）現在使用可能か／不可能か（動的属性）
プリント操作制約としては、以下を持たせる。
（１）使用中止のプリンタへはファイルを投入できない（プリンタ属性５）。
（２）プリンタに投入されているファイル規模（プリンタ属性４）と印刷能力（プリンタ属性３）からと現在投入しようとしているファイルサイズ（ファイル属性１）からプリンタを比較し、最も早く印刷完了できるプリンタを第１優先とする。
（３）カラーを含むファイル（ファイル属性３）は、白黒印刷用のプリンタへの投入は避ける。
（４）その他
リアルタイム操作指示部３０では、ファイルアイコンがプリンタの集合を示すエリア内に入った時点で、ファイル属性値とプリンタ属性値を評価し、操作指示を生成する。図２１の場合、ファイルは、カラーを含み、プリンタΑは、カラー印刷可能、印刷中ファイル無し、プリンタＢは、カラー印刷可能、印刷中ファイル有り、プリンタＣは、使用中止状態とする。これらの属性値を取り込み、プリント操作制約から、プリンタΑに投入することが最も適切であることを判断する。そこで、ウインドウ上のプリンタアイコンの表示を変更させる。プリンタＣは、完全に使用中止なため、非表示もしくは淡色表示しておく。プリンタΑとプリンタＢは、共に使用可能であるが、制約条件の成立状態から、プリンタΑのアイコン表示を特にユーザに強調の方法は、点滅、色の強弱、大きさ、等を用いる。
【０１４９】
なお、プリント操作制約は、状況によって、（２）と（３）が相反する場合がある。例えば、カラーを含むファイルであるが、カラーの印刷用のプリンタが混んでいる、あるいは白黒印刷用プリンタは、すぐ投入できる状態などである。この問題は、制約に優先度を付ける、もしくは、ユーザによって、優先度を可変とするといった方法で、対処できる。
【０１５０】
もしくは、アイコンの強調表示だけでなく、制約情報を文字で提供する。すなわち、プリンタΑの下には、‘最も早く白黒で印刷可能‘、プリンタＢの下には、‘カラー印刷可能、印字まで＊＊分‘といった情報をユーザに提供し、最終的には、ユーザが判断するという方法もある。
【０１５１】
【発明の効果】
以上説明したように本発明では、ＧＵＩ上での操作性の向上を図り、記述生産性や品質を向上させることができる。
【０１５２】
即ち、本発明では、図面の記述作業の際に、ユーザに対して的確なナビゲートを提供でき、操作性の向上及び記述の誤りの低減が可能となる。また、上記のナビゲートをより的確に提供できる。更に、ユーザーに対して操作があるたびに図面の記述の誤りを指摘できる。また、図面の記述をより正確に行うことができる。  また、本発明では、最適なオブジェクトの選択を簡単な操作で行うことができる。
【図面の簡単な説明】
【図１】本発明の図面記述装置の構成を示すブロック図。
【図２】本発明の基本処理手順を示すフローチャート。
【図３】図面記述装置で記述するアイテム例と、図面例。
【図４】操作種類保持部内の操作の状態遷移情報。
【図５】記述アイテム格納部内の情報構造図。
【図６】シンボル端子情報の構造図。
【図７】記述図面例。
【図８】図７の図面における情報構造図。
【図９】記述制約保持部内の制約情報構造。
【図１０】記述アイテム属性伝播の例。
【図１１】リアルタイム操作指示部の制約判定過程。
【図１２】リアルタイム操作指示部の制約判定結果。
【図１３】リアルタイム操作指示部のユーザナビゲート画面例。
【図１４】記述アイテム格納部内の情報更新結果構造図。
【図１５】記述情報伝播／記述アイテム性質推定の処理手順を示すフローチャート。
【図１６】記述図面例と情報構造図。
【図１７】記述情報伝播／記述アイテム性質推定部動作過程。
【図１８】記述図面例と情報構造図。
【図１９】記述図面例と画面操作と情報構造図。
【図２０】記述図面例と画面操作と情報伝播過程。
【図２１】ウインドウＧＵＩにおける実施例の説明図。
【符号の説明】
１………入力装置
２………表示装置・出力装置
２０………操作意図判定部
３０………リアルタイム操作指示部
４０………リアルタイム記述アイテム検査部
５０………エラー情報提供部
６０………記述情報伝播部
７０………記述アイテム性質推定部
８０………記述アイテム一括検査部
１００………操作種類保持部
１１０………記述アイテム格納部
１２０………記述制約保持部
【図１】
0003712482.tif 000002
【図２】
0003712482.tif 000003
【図３】
0003712482.tif 000004
【図４】
0003712482.tif 000005
【図５】
0003712482.tif 000006
【図６】
0003712482.tif 000007
【図７】
0003712482.tif 000008
【図８】
0003712482.tif 000009
【図９】
0003712482.tif 000010
【図１０】
0003712482.tif 000011
【図１１】
0003712482.tif 000012
【図１２】
0003712482.tif 000013
【図１３】
0003712482.tif 000014
【図１４】
0003712482.tif 000015
【図１５】
0003712482.tif 000016
【図１６】
0003712482.tif 000017
【図１７】
0003712482.tif 000018
【図１８】
0003712482.tif 000019
【図１９】
0003712482.tif 000020
【図２０】
0003712482.tif 000021
【図２１】
0003712482.tif 000022