JP3761156B2 - Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method - Google Patents

Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method Download PDF

Info

Publication number
JP3761156B2
JP3761156B2 JP2001228351A JP2001228351A JP3761156B2 JP 3761156 B2 JP3761156 B2 JP 3761156B2 JP 2001228351 A JP2001228351 A JP 2001228351A JP 2001228351 A JP2001228351 A JP 2001228351A JP 3761156 B2 JP3761156 B2 JP 3761156B2
Authority
JP
Japan
Prior art keywords
connection
difference
old
new
line
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.)
Expired - Fee Related
Application number
JP2001228351A
Other languages
Japanese (ja)
Other versions
JP2003044538A (en
Inventor
由美子 風間
幹生 立花
真由美 仁志
憲明 岸本
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2001228351A priority Critical patent/JP3761156B2/en
Publication of JP2003044538A publication Critical patent/JP2003044538A/en
Application granted granted Critical
Publication of JP3761156B2 publication Critical patent/JP3761156B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、CAD図面やソフトウェア設計のモデル図などの接続図面の編集表示装置に関し、特にCADシステムやソフトウェア設計システムによる図面設計において、セマンティックな図面の変更箇所差分抽出を行い、その結果を強調表示する接続図面の編集表示装置、その動作方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【0002】
【従来の技術】
近年、電子・電気回路などを設計する際、CADシステムを用いて回路図、ラダー図、フローチャートなどを作成することが一般的になっている。また、ソフトウェア設計時の設計のモデル(状態遷移図)、オブジェクト図(クラス図)なども同様に図面エディタで作成することが一般的になっている(以下回路図、ラダー図、フローチャート、モデル図、オブジェクト図を含めて「接続図面」という)。設計時に新規作成した接続図面に対して改定を加えていくことは、日常的に頻繁に行われているが、通常はその改定履歴を残すようにしている。そして、改定箇所は、以下のように確認されていた。
【0003】
まず、接続図面に対する変更箇所などの改定情報は、紙面に出力した図面上に雲枠を書いて注記を記述したり、図面上に設けられている改定欄に文章で記述したりして管理され、各接続図面における改定箇所は、改定前と後の図面を別画面に表示したり印字出力し、それを見比べることによって具体的な変更箇所を視覚的に確認していた。
【0004】
また、CADシステムの発達に伴い、改定前と後の図面上のシンボルの各座標及び、文字列の位置情報をそれぞれに比較し、差分を求め、変更、削除、追加を区別して自動表示していた。
【0005】
また、図面改定の際に、最新図面と今回改定中の図面とを比較し、不一致があるときには、その不一致箇所の図面情報を変更履歴コマンド情報に変換し、バージョンとともに保存する。そして、図面の読込みの時にバージョンと変更履歴コマンド情報を元に各バージョン毎の図面情報を別々のレイヤに自動生成し、各レイヤの表示色を変えることによって改定点を確認していた。
【0006】
【発明が解決しようとする課題】
しかしながら、改定前後の図面を見比べることにより改定箇所を把握する方法では、変更箇所が抽出されていないので、実際の改定箇所の見落としが発生し、誤りなく変更箇所を確認することが容易ではない。
【0007】
また、図面上のシンボルの座標などの位置情報をそれぞれ比較して差異を求める方法は、見栄えをよくするために、単にシンボル位置を移動するような場合にも差異として認識されてしまうという問題があった。
【0008】
また、最新図面と今回改定中の図面とを比較し、不一致がある部分の図面情報を抽出してバージョンとともに保存する方法では、上記と同様にシンボルの表示位置の移動だけでも差異として認識してしまう問題があり、また、改版が多く行われた後では、改定箇所の確認が容易ではないという問題もあった。
【0009】
本発明は上記に鑑みてなされたもので、シンボル表示位置の単なる変更は改定とみなさない等、設計者の意図を確実に反映できかつ接続図面の意味のある改定箇所を容易に確認することができる接続図面の編集表示装置、その動作方法およびその方法をコンピュータに実行させるプログラムを得ることを目的としている。
【0010】
【課題を解決するための手段】
上記目的を達成するため、請求項1の発明にかかる接続図面の編集表示装置は、CADシステムによって作成したパーツ、パーツ接続点、接続線を含む図面要素を有する電気回路図のセマンティックな差分表示機能を有する接続図面の編集表示装置であって、前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点、接続線を、同電位のものが同一接続グループになるように複数の異なる接続グループに夫々グループ分けするグループ分け手段と、旧図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号と新図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号との比較に基づき強調表示の対象となる差分パーツを抽出するパーツ差分抽出手段と、前記グループ分けした旧図面の接続グループと新図面の接続グループとの対応付けを行い、対応する旧図面の接続グループおよび新図面の接続グループ同士間でパーツ接続点の一意比較キーを用いてパーツ接続点の差分抽出を行い、前記パーツ差分抽出手段によって差分パーツとして抽出されたパーツに含まれるパーツ接続点と、前記パーツ接続点の差分抽出の結果、前記一意比較キーが不一致のパーツ接続点とを強調表示の対象として抽出するパーツ接続点差分抽出手段と、前記パーツ接続点差分抽出手段によって抽出されたパーツ接続点につながる接続線をトレースすることで強調表示の対象としての接続線を抽出する接続線差分抽出手段と、前記パーツ差分抽出手段によって抽出されたパーツ、前記パーツ接続点差分抽出手段によって抽出されたパーツ接続点および前記接続線差分抽出手段によって抽出された接続線を強調表示する強調表示手段とを備え、旧図面データおよび新図面データ間で一意比較キーが一致しても異なる接続グループに属するパーツ接続点に関しても、強調表示の対象とすることを特徴とする。
【0011】
請求項13の発明においては、グループ分け手段、パーツ差分抽出手段、パーツ接続点差分抽出手段、接続線差分抽出手段および強調表示手段を備え、CADシステムによって作成したパーツ、パーツ接続点、接続線を含む図面要素を有する電気回路図のセマンティックな差分表示機能を有する接続図面の編集表示装置の動作方法であって、前記グループ分け手段が、前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点、接続線を、同電位のものが同一接続グループになるように複数の異なる接続グループに夫々グループ分けする第1ステップと、前記パーツ差分抽出手段が、旧図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号と新図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号との比較に基づき強調表示の対象となる差分パーツを抽出する第2ステップと、前記パーツ接続点差分抽出手段が、前記グループ分けした旧図面の接続グループと新図面の接続グループとの対応付けを行い、対応する旧図面の接続グループおよび新図面の接続グループ同士間でパーツ接続点の一意比較キーを用いてパーツ接続点の差分抽出を行い、前記第2ステップで差分パーツとして抽出されたパーツに含まれるパーツ接続点と、前記パーツ接続点の差分抽出の結果、前記一意比較キーが不一致のパーツ接続点とを強調表示の対象として抽出する第3ステップと、前記接続線差分抽出手段が、第3ステップで強調表示の対象として抽出されたパーツ接続点につながる接続線をトレースすることで強調表示の対象としての接続線を抽出する第4ステップと、前記第2ステップで抽出されたパーツ、前記第3ステップで抽出されたパーツ接続点および第4ステップで抽出された接続線を強調表示する第5ステップとを備え、旧図面データおよび新図面データ間で一意比較キーが一致しても異なる接続グループに属するパーツ接続点に関しても、強調表示の対象とすることを特徴とする。
【0102】
つぎの発明にかかるプログラムは、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるプログラムであり、そのプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作をコンピュータによって実行することができる。
【0103】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる接続図面の編集表示装置の好適な実施の形態を詳細に説明する。
【0104】
実施の形態1.
この実施の形態1は、CADシステムを用いて作成されるシーケンス図面(例えば、電気回路図)に対して本発明を適用するものである。
【0105】
まず、図1を用いて電気回路図面で用いる用語について説明する。「パーツ」とは、図1(a)に示すように、抵抗、コンデンサ、トランジスタなどの電気回路図で用いるシンボルのことをいう。
【0106】
「パーツのピン」は、「接続点」ともいい、パーツを後述する接続線とつなぐことができる点である。図1(b)においては、パーツの両端に示した×印がパーツのピンである。
【0107】
パーツの「セグメント領域」とは、図形(パーツ)を含む最小の長方形領域である。図1(c)において、パーツの周囲を破線で囲った内部がセグメント領域である。
【0108】
「接続線」とは、パーツのピンとピンを結ぶ線である。また、接続線同士を結ぶ接続線もある。
【0109】
「属性」とは、CAD図面中の文字列を示す。「属性」には、パーツの種類を説明するための「パーツ属性」、ピンの機能を説明する「ピン属性」、CAD図面全体を説明するための「図面属性」などがある。
【0110】
次に、図2を用いてCAD図面作成上、許可されている接続線の接続方法即ち接続線のルールについて説明する。図2は、(a)と(b)、(c)と(d)、(e)と(f)がそれぞれ組になっており、右側に示した(b)、(d)及び(f)が正しい接続線の接続方法を示している。
【0111】
まず、接続線iは、図2(b)に示すように、1本の接続線として端点A,Bで表わされる。図2(a)のように1本の接続線iを示すために3点A,B,Cを用いて端点Aと点Cの線分、点Cと端点Bの線分とすることはない。
【0112】
水平接続線iに接続線jが接続交点(図面上×または・で表される)で接続されている場合、図2(c)のように水平接続線iを端点Dと端点Eのみで表わすことはしない。図2(d)に示すように、水平接続線iを端点Dと端点Fで表わす接続線及び端点Fと端点Eで表わす接続線との2本の接続線で表現する。
【0113】
水平接続線iにパーツを接続する場合、図2(e)のように水平接続線iを端点Gと端点Hで表わすことはしない。図2(f)のように水平接続線iを端点Gと端点Iで表す接続線及び端点Iと端点Hで表す接続線との2本の接続線で表現する。
【0114】
図3は、接続図面としての電気回路図面を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ,ワークステーションに実行させるプログラムの機能構成を示すものである。
【0115】
この図3に示す装置は、入出力端末装置としてディスプレイ1、マウスなどのポインティングデバイス2、キーボード3及びプリンタなどの出力装置4を有しており、入出力インターフェース部5を介して接続図面編集表示装置6と図形データ、入出力指示などの信号の授受を実行する。
【0116】
意味空間マッピング部7は、接続図面の新図面ファイル30と旧図面ファイル31を読み込み、該読み込んだ新図面ファイル30および旧図面ファイル31を展開して新旧図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を求め、該求めた新旧図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部29に記憶する。また、意味空間マッピング部7は、接続グループ生成部13を用いて、接続線およびパーツの接続点で構成されるネットを同電位のネットに分類し、同電位のネットを同一接続グループとしてマッピングさせる、接続線およびパーツの接続点(ピン)のグループ分け処理を実行する。グループ分けされた結果は、展開情報記憶部29に記憶される。
【0117】
接続図面差分抽出部8では、意味空間マッピング部7によって展開情報記憶部29に記憶された新図面データと旧図面データとの差分を抽出する処理を実行する。接続図面差分抽出部8は、パーツ差分抽出部14を用いてパーツの追加、削除、変更部分の抽出処理を実行させ、属性差分抽出部15を用いて属性の追加、削除、変更部分の抽出処理を実行させ、セマンティック差分抽出部16を用いて新旧図面の対応する接続グループ(ネット)の比較に基づく接続グループ(ネット)毎の追加、削除、変更部分の抽出処理を実行させる。そして、これらの抽出結果を差分データ記憶部32に出力して記憶させる。その際、強調表示接続線抽出部23では、追加/削除パーツのピンに繋がる接続線から分岐点または線の端点またはパーツのピンまでに至る線、属性(パーツ属性、ピン属性)が変更されたパーツ、ピン番号、文字列など強調表示の対象として抽出する。なお、接続図面差分抽出部8およびパーツ差分抽出部14が特許請求の範囲で云うところのパーツ差分抽出手段に対応し、接続図面差分抽出部8およびセマンティック差分抽出部16が特許請求の範囲で云うところのパーツ接続点差分抽出手段に対応し、接続図面差分抽出部8および強調表示接続線抽出部23が特許請求の範囲で云うところの接続線差分抽出手段に対応する。
【0118】
接続図面差分データ生成部9は、接続図面追加差分データ生成部17、接続図面削除差分データ生成部18および接続図面変更差分データ生成部19を制御することにより、差分データ記憶部32に記憶された差分データを元に旧図面と新図面との差分を示すテキスト形式の強調表示用データを生成し、これら生成した強調表示用データを強調表示データファイル33に記憶する。接続図面追加差分データ生成部17は、「追加」されるパーツ、接続線、図面属性などの差分を生成するものであり、接続図面削除差分データ生成部18は、「削除」されるパーツ、接続線、図面属性などの差分を生成するものであり、接続図面変更差分データ生成部19は、「変更」されるパーツ、接続線、図面属性などの差分を生成するものである。
【0119】
接続図面追加差分データ生成部17では、パーツ強調表示領域計算部24を用いて、追加パーツのセグメント領域とパーツ属性(文字)のセグメント領域を合成した多角形、追加する図面属性のセグメント領域に対応する多角形(通常は長方形)、さらには追加グループパーツ(結線が変えられた接続線、詳細は後述する)を囲む多角形を求める。また、接続図面追加差分データ生成部17では、近接強調表示領域合成部25を用いて、抽出されたパーツ領域を示す多角形と接続線のセグメント領域で隣接するものとを1つの多角形として合成する。また、近接強調表示領域合成部25は、追加グループパーツが連結された複数の接続線で構成されている場合、これらを囲む1つの多角形を合成する。また、接続図面追加差分データ生成部17は、雲枠生成部26を用いて、前記合成された多角形の回りに雲枠データを生成する。
【0120】
接続図面削除差分データ生成部18は、パーツ強調表示領域計算部24を用いて、削除パーツのセグメント領域とパーツ属性のセグメント領域を合成した多角形、削除する図面属性のセグメント領域に対応する多角形(通常は長方形)、さらには削除グループパーツ(詳細は後述する)を囲む多角形を求める。また、接続図面削除差分データ生成部18は、近接強調表示領域合成部25を用いて、抽出された削除パーツ領域を示す多角形と、接続線のセグメント領域で隣接するものとを1つの多角形に合成する。また、近接強調表示領域合成部25は、削除グループパーツが連結された複数の接続線で構成されている場合、これらを囲む1つの多角形を合成する。また、接続図面削除差分データ生成部18は、雲枠生成部26を用いて、合成された多角形の回りに雲枠データを生成する。また、接続図面削除差分データ生成部18は、ハッチング生成部27を用いて雲枠内部に表示するハッチングデータを生成するとともに、変更文字表記変更部28を用いて、図面属性(文字列)の削除の場合に、削除された文字の上に見え消し線を生成する。
【0121】
接続図面変更差分データ生成部19は、パーツ強調表示領域計算部24を用いて、変更パーツがある場合は、変更パーツのセグメント領域とパーツ属性のセグメント領域を合成した多角形を求め、またパーツ属性のみの変更がある場合は、この変更パーツ属性のセグメント領域を求める。また、接続図面変更差分データ生成部19は、雲枠生成部26を用いて前記導出された多角形の回りの雲枠データを生成する。また、接続図面変更差分データ生成部19は、文字列の変更の場合に、変更文字表記変更部28を用いて、変更前の文字列データを生成し、その文字の上に、見え消し線を生成する。
【0122】
副番情報生成部10では、新旧図面を比較した結果に差異があれば、副番欄の自動更新を行う。差分情報反映部11は、図形の追加命令から成る強調表示データファイル33を読み取り、その内容を新図面に追加書き込みする。すなわち、新旧図面の差異を強調表示データとしてディスプレイ1に表示させる。
【0123】
強調表示データカスタマイズ部12では、雲枠拡大・縮小部20、雲枠変形部21および見え消し線変更部22を用いて、これらを動作制御することにより雲枠の拡大、縮小、変形や見え消し線の形状の変形を行う。
【0124】
かかる図3に示す構成において、特徴的なことは、どこが始まりという判別ができなく分岐が多い電気回路図などの接続図面において、同電位のものを同一接続グループ(同一ネット)にするというルールをもって図面要素をグループ分けし、対応するグループ同士で比較を行うことによって、見栄え調整を目的としたシンボル位置の移動を差分検出しないようにして、意味のある違いのみを差分抽出できるようにしたことにある。また、差分箇所は、雲枠表示されるため、差分箇所の特定を容易に行うことができる。
【0125】
〔意味空間マッピング〕
次に、図3に示した各構成要素の機能をより詳細に説明していく。最初に意味空間マッピング部7および接続グループ生成部13が提供する機能の概略を説明する。
【0126】
図4は意味空間マッピング部7および接続グループ生成部13で行われる処理の概略を示したフローチャートであり、図5は旧図面の電気回路図のデータ構造を模式図面化したものであり、図6は新図面の電気回路図のデータ構造を模式図面化したものである。また、図7〜図11は旧図面の意味空間へのマッピング結果を例示し、図12〜図16は新図面の意味空間へのマッピング結果を例示している。なお、図5および図6は、電気回路図のデータ構造を模式図面化したものであり、四角枠で囲まれたOPA,OPB,NPD,NPEなどのパーツ識別子およびOHA,OHB,NVA,NVDなどの接続線識別子は実際の図面に表示あるいはハードコピーされるものではない。
【0127】
ユーザが、図6に示すような図面を新図面ファイル30とし、図5に示すような図面を旧図面ファイル31として、当該接続図面編集表示装置6による処理を実行させると、まず、意味空間マッピング部7が、旧図面ファイル31から図5に示す図面データを読み取り、これらをパーツ情報、接続線情報、属性情報、パーツ接続点情報に展開して、これら展開したパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部29に記憶する(図4ステップS1)。図7に旧図面ファイル31(図5)のパーツ情報を示し、図8にその接続線情報を示し、図9にその属性情報を示し、図10にそのパーツ接続点情報を示している。
【0128】
パーツ情報は、パーツに関する情報を含むものであり、図7に示すように、“OPA”,“OPI”などのパーツ識別子、ユニーク名、基準点、レイヤ、接続点数、色、図柄情報などから構成されている。基準点とは、各パーツの座標を相対座標で表すための基準座標である。レイヤには、当該パーツが描画されている画層番号が記入される。
【0129】
接続線情報は、接続線に関する情報を含むものであり、図8に示すように、“OHA”,“OVA”などの接続線識別子、座標X1,座標Y1,座標X2,座標Y2、レイヤなどで構成されている。各接続線の座標情報を用いて、同電位のものを同一接続グループとするグループ分けが行われる。
【0130】
属性情報は、CAD図面中の文字列を示すものであり、図9に示すように、“OA1”,“OG1”,“OG2”,“ZA1”などの識別子、パーツ、基準点、種別、ピン番号、値などで構成されている。パーツの各ピン番号1、2には、それぞれ“1”,“2”と、“13”,“14”というピン属性が付けられている。また、この場合、図面属性として、“old comment”、"modify"、“固定”、“削除”が存在し、また線番号の属性として、“a1”,“a2”,“a3”,“a4”,“v1”,“v2”,“v11”,“v12”が存在している。属性情報の種別は、器具番号、端子番号、種別、マクロ名などで構成される。例えば、識別子“OPH”のパーツに着目すると、器具番号の値DDDと、端子番号1の値13と、端子番号2の値14とが実際に旧図面に表示されている。識別子“OPH”のパーツの種別およびマクロ名の値はコイルとなっている。また、後述するように、夫々1つのネットを構成する識別子OG1〜OG9の欄には、実際に旧図面上に表示されている値v1,v2,…,a3,a4が設定されている。また、図面属性としての識別子ZA1,ZA2,ZA3,ZA4の欄には、実際に旧図面上に表示されている値“old comment”,“modify”,“固定”,“削除”が設定されている。
【0131】
接続点情報は、パーツ接続点に関する情報を含むものであり、図10に示すように、識別子、一意キー、ピン番号、座標などで構成されている。この座標の欄には、図7のパーツ情報または図9の属性情報に設定されている基準点からの相対座標値が記入される。この場合、一意キーは、属性情報の器具番号と種別との合成によって構成されている。図10によれば、例えば、識別子“OPA”のパーツは、一意キーが“AAA,a接点”で、ピン番号が“1”のパーツ接続点と、一意キーが“AAA,a接点”で、ピン番号が“2”のパーツ接続点とを有していることになる。
【0132】
次に、接続グループ生成部13は、これら展開された旧図面に関するパーツ情報、接続線情報、属性情報、パーツ接続点情報を用いて、同電位のものを同一グループとする複数の接続グループを生成する(図4ステップS2)。図11に、図5に示した旧図面について、分割された複数の接続グループを示す。このグループ分けに関しては、後で詳述する。
【0133】
次に、意味空間マッピング部7は、新図面ファイル30から図6に示す図面データを読み取り、これらをパーツ情報、接続線情報、属性情報、パーツ接続点情報に展開し、該展開した新図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部29に記憶する(図4ステップS3)。図12に新図面ファイル30(図6)のパーツ情報を示し、図13にその接続線情報を示し、図14にその属性情報を示し、図15にそのパーツ接続点情報を示している。特に、図14に示す新図面属性情報に関して、夫々1つの新図面のネットを構成する識別子NG1〜NG8の欄には、実際に旧図面上に表示されている値v1,v2,…a3,a4が設定されている。また、図面属性としての識別子ZA1,ZA2,ZA3,ZA5の欄には、実際に旧図面上に表示されている値“new comment”,“change”,“固定”,“追加”が設定されている。
【0134】
次に、接続グループ生成部13は、これら展開された新図面に関するパーツ情報、接続線情報、属性情報、パーツ接続点情報を用いて、同電位のものを同一グループとする複数の接続グループを生成する(図4ステップS4)。図16に、図6に示した新図面について、分割された複数の接続グループを示す。
【0135】
次に、接続グループ生成部13で行われる前述した接続グループの分割手順について、図17に示したフローチャートに基づいてより詳細に説明する。この場合は、図5に示した旧図面の電気回路図の接続グループを作成する場合を例にとって説明する。
【0136】
接続グループ生成部13は、まず、展開情報記憶部29に記憶した旧図面の接続線情報(図8)に含まれる各接続線の座標情報を用いて回路図の中から垂直方向に延びる垂直接続線を抽出し、これら抽出した複数の接続線を、図18に示すように、複数の接続グループに分ける(図17ステップS11)。この段階では、接続線情報(図8)の座標情報などを用いて、抵抗やコンデンサやスイッチなどのパーツを介さずに垂直方向に延びる1本の垂直線(複数の接続線から成ることもある、例えばOVGおよびOVH)が1つのグループに含まれるように複数の垂直接続線を複数の接続グループに分割する。図5に示した回路図の例の場合は、図18に示すように、相互に連携していない19個のグループが形成される。すなわち、旧図面の接続線情報(図8)に含まれる複数の垂直接続線を、各垂直接続線の端点の座標が一致するという条件(実際には、誤差を考慮して、両端点が所定の距離内にあるときに両端点が一致すると判定している)をもって、複数の垂直接続線から成る1本の直線(例えばOVGおよびOVH)を構成し、この1本の直線に含まれる垂直接続線を同一グループとする。
【0137】
つぎに、接続グループ生成部13は、前記と同様にして、接続線情報(図8)に含まれる各接続線の座標情報を用いて、パーツを介さずに水平方向に延びる1本の水平線が(複数の接続線から成ることもある、例えばOVG,OVB,OVC,OVD,OVE)1つのグループに含まれるように複数の水平接続線を複数の接続グループに分割するとともに、これら分割した水平接続線の接続グループと先に分割した垂直接続線の接続グループを、各接続線の端点の座標が一致するという条件をもって合成することで、パーツを介することなく水平および垂直方向に延びる1〜複数の接続線から成る複数の接続線グループを形成する(図17ステップS12)。
【0138】
図5に示した回路図の場合は、例えば、水平接続線OHA〜OHFと垂直接続線OVA〜OVEとは、パーツを介することなく、5つの接続点で座標が一致しているので、これら水平接続線OHA〜OHFおよび垂直接続線OVA〜OVEは、図19に示すように、同一の接続グループとして合成されることになる。同様にして、図19に示すように、垂直接続線OVF〜OVHおよび水平接続線OHGが同一接続グループと成るように合成され、垂直接続線OVIが同一接続グループと成るように合成され、垂直接続線OVJが同一接続グループと成るように合成され、垂直接続線OVKが同一接続グループと成るように合成され、垂直接続線OVL〜OVOおよび水平接続線OHH〜OHLが同一接続グループと成るように合成され、垂直接続線OVP,OVQおよび水平接続線OHM〜OHOが同一接続グループと成るように合成され、垂直接続線OVR,OVSおよび水平接続線OHPが同一接続グループと成るように合成され、垂直接続線OVU、水平接続線OHQ,OHRが同一接続グループと成るように合成される。
【0139】
つぎに、接続グループ生成部13は、上記分割合成した各グループに斜め接続線を前記同様にして追加する(図17ステップS13)。図5の回路図の場合は、該当する接続線は存在しないので、その説明は省略する。
【0140】
つぎに、接続グループ生成部13は、図10に示した旧図面接続点情報に含まれる各パーツの接続点の座標を、前記グループ分けした各接続線の座標と比較処理することで、各パーツの接続点が繋がる接続線を識別する。そして、この識別結果に基づいて図10に示した旧図面接続点情報に含まれる各パーツの接続点を上記各グループに追加することで、図20(図11と実質的に同じ)に示すような、接続線およびパーツの接続点から成る複数の同電位接続グループ(ネット)を形成する(図17ステップS14)。ここでは、パーツの接続点を、パーツ識別子と接続点番号(ピン番号)とで構成される値で追加するようにしている。例えば、図20において、パーツ識別子“OPA”の属性“2”のピン番号は、図9に示す属性情報によれば“2”なので、図20に示したように“OPA,2”として追加する。このようにして、同電位の接続グループ分けが終了する。
【0141】
このようにして分割された1つの接続グループ(ネット)は、コンデンサ、抵抗、スイッチなどのパーツを含まずに構成される接続線とパーツの接続点との合成であるので、1つの接続グループの電位は同電位となる。このようにして、同電位の接続線が同じ接続グループに含まれることになる接続グループ分けが行われる。
【0142】
また、これら新旧の接続グループには、図9,図11,図14,図16に示すように、各接続グループ毎に、識別子“OG1”,…“NG1” ,…と、線番号属性v1,a1,a2,…,v11,v12が設定される。
【0143】
そして、意味空間マッピング部7および接続グループ生成部13によって形成された、旧新図面パーツ情報(図7,図12)、旧新図面接続線情報(図8,図13)、旧新図面属性情報(図9,図14)、旧新図面接続点情報(図10,図15)および旧新図面接続グループ情報(図11,図16)は、展開情報記憶部29に記憶される。
【0144】
〔接続図面差分抽出〕
次に、接続図面差分抽出部8、パーツ差分抽出部14,属性差分抽出部15およびセマンティック差分抽出部16によって行われる接続図面の差分抽出動作について説明する。
【0145】
図21は、接続図面差分抽出部8、パーツ差分抽出部14,属性差分抽出部15およびセマンティック差分抽出部16で行われる処理手順を示したフローチャートであり、図22は特にセマンティック差分抽出部16で行われる処理手順を詳細に示したフローチャートである。また、図23は旧図面パーツ情報を、図24は新図面パーツ情報を、図25は旧図面属性情報を、図26は新図面属性情報を、図27は旧図面接続点情報を、図28は新図面接続点情報を示すものであり、これら各情報の状態欄に、新旧図面の差分抽出結果としての“追加”,“削除”,“変更”などの差分抽出情報が設定される。
【0146】
接続図面差分抽出部8は、まず、展開情報記憶部29から旧図面属性情報(図9)および新図面属性情報(図14)を読み出す。そして、パーツ差分抽出部14を動作制御することで、旧図面属性情報(図9)に基づいて新旧比較のための旧図面のパーツの一意キーを求めるとともに、新図面属性情報(図14)に基づいて新旧比較のための新図面のパーツの一意キーを求める(図21ステップS21)。この場合は、属性情報のパーツの器具番号とパーツ種別から新旧比較のためのパーツの一意キー(比較キー)を形成するようにしている。
【0147】
図23に一意キー情報および差分抽出情報(削除、変更など)が追加された旧図面のパーツ情報を示し、図24に一意キーおよび差分抽出情報(追加、変更など)が追加された新図面のパーツ情報を示している。
【0148】
そして、パーツ差分抽出部14は、各パーツの一意キーを用いて新旧図面のパーツ情報を比較することで、差分となるパーツを求める(図21ステップS22)。この一意キー比較の結果、旧図面にのみ存在し、新図面に存在しないパーツは「削除パーツ」とし、新図面にのみ存在し、旧図面に存在しないパーツは「追加パーツ」とする。この例では、削除パーツは、図23の旧図面パーツ情報に含まれる一意キー(AAA,a接点)を有する識別子“OPA”であり、また追加パーツは、図24の新図面パーツ情報に含まれる一意キー(FFF,Ta接点)を有する識別子“NPE”である。
【0149】
つぎに、接続図面差分抽出部8は、属性差分抽出部15を動作制御することで、新旧双方に存在するパーツについてのパーツ属性の比較を行う(図21ステップS23)。図25に、状態欄すなわち差分抽出情報(削除、変更など)が追加された旧図面の属性情報を示し、図26に差分抽出情報(削除、変更など)が追加された新図面のパーツ情報を示している。この場合は、新旧双方に存在するパーツについてのパーツ属性の比較において、パーツのマクロ名属性が異なる場合にのみ、パーツの「変更」としており、旧図面に存在して新図面に存在しないパーツ属性はパーツ属性の「削除」とし、新図面にのみ存在して旧図面に存在しないパーツ属性はパーツ属性の「追加」とする。また、値が変更されたパーツ属性はパーツ属性の「変更」とする。
【0150】
ここで、マクロ名は、パーツ種別と同様、コイル,接点,抵抗などのパーツの種別自体を表しているので、マクロ名が異なる場合は、このマクロ名の異なるパーツを「変更パーツ」として、図23および図24に示す旧新パーツ情報の状態欄に設定し、「追加パーツ」,「削除パーツ」と同様、そのパーツ全体を強調表示するようにしている。
【0151】
また、マクロ名以外の例えばピン番号の値などの、追加、削除、変更の場合は、パーツ自体の追加、削除、変更とはせず、パーツ属性の追加、削除、変更とすることで、この追加、削除、変更されたパーツ属性部分のみを強調表示するようにしている。
【0152】
この例では、図9に示す旧図面属性情報および図14に示す新図面属性情報を比較すれば判るように、旧図面の識別子名“OPE(EEE,Ta接点)”と新図面の識別子名“NPD(EEE,Ta接点)”とは、一意キー名は一致するが、マクロ名が異なっているので、「変更パーツ」となる。したがって、図23に示す旧図面パーツ情報の“OPE”の状態欄には「変更」が追加され、また図24に示す新図面パーツ情報の“NPD”の状態欄には「変更」が追加される。また、図9に示す旧図面属性情報と図14に示す新図面属性情報との比較によれば、旧図面の識別子名“OPB(BBB,a接点)”と新図面の識別子名“NPA(BBB,a接点)”とは、一意キー名が一致するが、ピン番号“2”の端子番号の値が“OPB”では“2”であり、“NPA”では、“4”であるので、これらの「パーツ属性」は変更となる。したがって、図25に示す旧図面属性情報の“OPB”のピン番号2の状態欄には「変更」が追加され、また図26に示す新図面属性情報の“NPA”のピン番号2の状態欄には「変更」が追加される。
【0153】
尚、ステップS23においては、パーツの変更とみなす属性を、マクロ名としたが、パーツの変更とみなすパーツ属性をファイルに定義して適宜カスタマイズすることで、パーツの変更とみなすパーツ属性を任意に設定することも可能である。
【0154】
つぎに、接続図面差分抽出部8は、属性差分抽出部15を動作させて、図9に示す旧図面属性情報と図14に示す新図面属性情報とを比較することで、新旧図面から差分となる図面属性を求める(図21ステップS24)。この場合、旧図面の図面属性は、図9に示すように、識別子ZA1〜ZA4の“old comment”,“modify”,“固定”,“削除”であり、また新図面の図面属性は、図14に示すように、識別子ZA1〜ZA3,ZA5の“new comment”,“change”,“固定”,“追加”である。図面属性は、意味を持つ一意名をもっていないので、CADシステムが採番したキー(識別子:ZA1,ZA2,ZA3,ZA4,ZA5)に基づいて比較を行う。すなわち、この場合、図面属性については、同じ採番がなされた新旧図面の図面属性に関しては、その値を比較することで、図面属性の変更の有無を判定する。また、対応する採番したキーが存在しない図面属性に関しては、旧図面の場合は、図面属性を「削除」とし、新図面の場合は、図面属性を「追加」とする。この例では、旧図面のコメント“削除”の採番したキー“ZA4”に対応する新図面の座標位置には、何のコメントも存在しないので、旧図面のコメント“削除”に「削除」の差分抽出情報を設定する(図25参照)。また、新図面のコメント“追加”の採番したキー“ZA5”に対応する旧図面の座標位置には、何のコメントも存在しないので、新図面のコメント“追加”に「追加」の差分抽出情報を設定する(図26参照)。また、旧図面のコメント“old comment”と新図面のコメント“new comment”及び旧図面のコメント“modify”と新図面のコメント“change”は、採番されたキーが対応するが、そのコメント内容が異なっているので、これらのコメントには夫々「変更」の差分抽出情報を設定する(図25,26参照)。
【0155】
つぎに、接続図面差分抽出部8は、セマンティック差分抽出部16を動作制御することで、新旧図面で対応する接続グループ同士の比較を行い、セマンティックな差分を抽出させる(図21ステップS25)。このセマンティックな差分に関しては、図22のフローチャートに従って詳細に説明する。
【0156】
セマンティック差分抽出部16は、まず、展開情報記憶部29に記憶された新図面接続グループ情報(図16)を用いて、少なくとも1つの不変パーツ(追加、削除でないパーツ)を持つ新図面の接続グループのそれぞれにグループ番号を採番する(図22ステップS31)。この場合は、新図面は、全ての9つの接続グループが、少なくとも1つの不変パーツを持つので、全ての接続グループにグループ番号が設定される。すなわち、図28に示すように、9つの接続グループに対して、9つのグループ番号「1001」〜「1009」が夫々設定される。
【0157】
続いて、セマンティック差分抽出部16は、展開情報記憶部29に記憶された旧図面接続グループ情報(図11)を用いて、少なくとも1つの不変パーツ(追加、削除でないパーツ)を持つ旧図面の接続グループにグループ番号を採番する(図22ステップS32)。この場合は、旧図面は、全ての9つの接続グループが、少なくとも1つの不変パーツを持っているので、前記同様、図27に示すように、9つの接続グループに対して、9つのグループ番号「1」〜「9」が夫々設定される。
【0158】
上記のように、少なくとも1つの不変パーツを持つ新旧図面の接続グループにのみグループ番号を採番するようにしたのは、削除パーツのみで構成された旧図面の接続グループおよび追加パーツのみで構成された新図面の接続グループは、後述するセマンティックな接続グループ単位での差分を行わなくても、これらは、一意キーを用いたパーツ差分抽出部14での差分抽出処理の時に、削除あるいは追加パーツとして、図23に示す旧図面パーツ情報あるいは図24に示す新図面パーツ情報に登録されて、その後これらの削除パーツあるいは追加パーツが強調表示接続線抽出部23での強調表示線抽出処理に用いられることを理由としている。
【0159】
つぎに、セマンティック差分抽出部16で行われる接続グループ単位のセマンティックな差分抽出について詳細に説明する。まず、その概要を説明する。
【0160】
▲1▼図11に示すように分類された旧図面接続グループ情報と図16に示すように分類された新図面接続グループ情報は、接続線とパーツのピン(接続点)とから構成されているが、パーツのピン情報の集まり同士で比較を行い、接続線は無視する。
【0161】
▲2▼旧図面の接続グループに含まれるパーツのピンと新図面の接続グループに含まれるパーツのピンとを一意キーおよびピン番号を比較キーとして比較し、完全に一致するもの以外を差分として取り出す。
【0162】
▲3▼差異のある接続グループの要素を全て差分とせず、意味のある変更があったと判断すべき箇所を強調表示できるように情報を抽出する。この差分抽出の際に、新旧接続グループが同一(対応する)接続グループであるか否かを判定しているが、新旧接続グループに線番号(図11,図16参照)が付けられているときは、線番号が同一であるときは同じ対応する接続グループであると判断する。線番号情報がない場合は、旧図面の接続グループと新図面の接続グループの構成メンバーがほぼ同じであれば、同じ接続グループと判断する。ほぼ同じとは、新図面から追加ピンを除き、旧図面の接続グループのメンバーから新図面で変更となったピン(削除ではなく他の接続グループのメンバーとなったピン)を除いて一意キーおよびピン番号による比較行い、メンバーが所定割合(例えば70%)以上同じのときとする。そして、同一接続グループであると判定されたときは、強調表示の対象とはしない。
【0163】
▲4▼新旧図面で、一意キーおよびピン番号が一致しても、線番号が異なる接続グループに属するパーツのピンに関しては、強調表示の対象とする。
【0164】
つぎに、グループ単位のセマンティック差分抽出動作について詳細について説明する。
【0165】
セマンティック差分抽出部16では、新図面の各パーツの接続点(ピン)に前記採番した新図面の接続グループ番号を割り振るとともに、旧図面の各パーツの接続点に前記採番した新図面の接続グループ番号を割り振る(図22ステップS33)。
【0166】
これにより、図28に示すように、新図面の各パーツの接続点には、例えば、次のようにグループ番号が付与される。
グループ1001(線番号v1):
NPAのピン番号2(値4),NPBのピン番号2,NPDのピン番号2,
NPEのピン番号2
グループ1002(線番号a1):
NPAのピン番号1,NPHのピン番号2(値14)
グループ1003(線番号a2):
NPBのピン番号1,NPIのピン番号2(値14)
グループ1004(線番号a3):
NPCのピン番号1,NPJのピン番号2(値14)
グループ1005(線番号a4):
NPDのピン番号1,NPEのピン番号1,NPKのピン番号2(値14)
グループ1006(線番号v2):
NPHのピン番号1(値13),NPIのピン番号1(値13),NPJのピン番号1(値13),NPKのピン番号1(値13)
グループ1007(線番号b1):
NPFのピン番号1,NPGのピン番号1,NPLのピン番号2(値14)
グループ1008(線番号v11):
NPCのピン番号2,NPFのピン番号2,NPGのピン番号2
グループ1009(線番号v12):
NPLのピン番号1(値13)
【0167】
また、図27に示すように、旧図面の各パーツの接続点には、例えば、次のようにグループ番号が付与される。
グループ1(線番号v1):
OPAのピン番号2,OPBのピン番号2,OPCのピン番号2,OPDのピン番号2,OPEのピン番号2
グループ2(線番号a1):
OPAのピン番号1,OPBのピン番号1,OPFのピン番号2(値14)
グループ3(線番号a2):
OPCのピン番号1,OPGのピン番号2(値14)
グループ4(線番号a3):
OPDのピン番号1,OPHのピン番号2(値14)
グループ5(線番号a4):
OPEのピン番号1,OPIのピン番号2(値14)
グループ6(線番号v2):
OPFのピン番号1(値13),OPGのピン番号1(値13),OPHのピン番号1(値13),OPIのピン番号1(値13)
グループ7(線番号b1):
OPJのピン番号1,OPKのピン番号1,OPLのピン番号2(値14)
グループ8(線番号v11):
OPJのピン番号2,OPKのピン番号2
グループ9(線番号v12):
OPLのピン番号1(値13)
【0168】
つぎに、セマンティック差分抽出部16は、新旧グループ番号の対応付けを行い、図28に示す新図面接続点情報の状態欄に追加パーツを登録し、図27に示す旧図面接続点情報の状態欄に削除パーツを設定する。さらに新図面接続点情報の状態欄に「追加グループパーツ接続点」を設定するとともに、旧図面接続点情報の状態欄に「削除パーツ接続点」を設定する(図22ステップS34)。
【0169】
図22のステップS34においては、最初に、図28に示す新図面接続点情報の対応グループ番号設定欄に旧図面のグループ番号を設定する。すなわち、新図面の1つの接続グループに属する複数のパーツ接続点が複数の旧図面の接続グループに別れる場合も、前述したように、図11,図16に示した線番号をキーにするか、あるいは構成メンバーの割合値による手法を用いて、新図面の各パーツ接続点に対し、対応する旧図面のグループ番号を設定する。また、図24に示した新図面パーツ情報に、「追加パーツ」として登録されたパーツの各接続点に関しては、図28に示す新図面接続点情報の状態の欄に追加パーツを設定するとともに、対応グループ番号をなしに設定する。また、新旧図面において、同一の一意キーおよびピン番号を持つパーツであっても、線番号が異なるパーツの接続点または構成メンバーの割合値による手法を用いて対応するグループが旧図面に存在しないパーツの接続点に関しては、「追加グループパーツ接続点」として、設定するとともに、対応グループ番号をなしに設定する。
【0170】
この例では、線番号比較より、グループ1とグループ1001、グループ2とグループ1002、グループ3とグループ1003、グループ4とグループ1004、グループ5とグループ1005,グループ6とグループ1006、グループ7とグループ1007、グループ8とグループ1008と、グループ9とグループ1009とが対応している同一グループとなり、これらに含まれ、新旧の対応するグループ双方に含まれるパーツのピンは強調表示の対象とはならない。
【0171】
また、この例では、旧図面のグループ1に存在するパーツのピンは、“OPB,2”,“OPC,2”,“OPD,2”,“OPE,2”になるが、それに対応する新図面のパーツのピンは、グループ1001に属する“NPA,2”,“NPB,2”,“NPD,2”の3個と、グループ1008に属する“NPC,2”の1個になる。しかし、この“NPC,2”の線番号は「v11」でグループ1の線番号「v1」とは異なるので、“NPC”のピン番号2を、「追加グループパーツ接続点」として設定するとともに、“NPC”のピン番号2の対応グループ番号を「なし」とする。なお、“NPE”については、パーツ差分抽出部14での差分抽出により、図24に示した新図面パーツ情報に、追加パーツとして既に登録されているので、それらの各ピン番号1,2については、対応グループが「なし」とする。この場合、その他の新図面の接続グループについては、変化が発生しているものはない。
【0172】
つぎに、図22のステップS34において、図27に示す旧図面接続点情報の対応グループ番号設定欄に新図面のグループ番号を設定する。すなわち、旧図面の1つの接続グループに属する複数のパーツ接続点が複数の新図面の接続グループに別れる場合も、前述したように、図11,図16に示した線番号をキーにするか、あるいは構成メンバーの割合値による手法を用いて、旧図面の各パーツ接続点に対し、対応する新図面のグループ番号を設定する。また、図23に示した旧図面パーツ情報に、「削除パーツ」として登録されたパーツの各接続点に関しては、図27に示す旧図面接続点情報の状態の欄に削除パーツを設定するとともに、対応グループ番号がなしに設定する。また、新旧図面において、同一の一意キーおよびピン番号を持つパーツであっても、線番号が異なるパーツの接続点または構成メンバーの割合値による手法を用いて対応するグループが新図面に存在しないパーツの接続点であって、その接続点の座標が新と旧で異なる場合(新旧図面の強調表示が重ならないように配慮し、座標が一致するときは追加表示のみとしている)、その接続点を、「削除グループパーツ接続点」として、設定するとともに、対応グループ番号をなしに設定する。
【0173】
この例では、削除グループパーツ接続点は存在しないので、図27に示す旧図面接続点情報には、その設定はない。図27に示す旧図面接続点情報には、パーツ差分抽出部14での差分抽出により旧図面パーツ情報(図23)に削除パーツとして既に登録されている“OPA”と変更パーツとして登録されている“OPE”の各ピンの状態欄に、その旨が登録されると共に、それらの各ピンについては、対応グループが「なし」と設定される。
【0174】
そして、接続図面差分抽出部8、パーツ差分抽出部14,属性差分抽出部15およびセマンティック差分抽出部16による差分抽出処理によって得られた上記差分抽出情報が追加設定された、旧新図面パーツ情報(図23,図24)、旧新図面属性報(図25,図26)、旧新図面接続点情報(図27,図28)は、差分データ記憶部32に記憶される。
【0175】
次に、接続図面差分抽出部8は、強調表示接続線抽出部23を動作制御することで、各追加パーツ、削除パーツにつながる接続線及び、追加グループパーツ、削除グループパーツにつながる接続線を求める(図22ステップS35)。この強調表示接続線抽出部23で行われる強調表示接続線抽出処理に関しては、図29のフローチャートに従ってより詳細に説明する。
【0176】
まず、強調表示接続線抽出部23は、新図面上で、追加パーツの接続点につながる接続線をトレースする。すなわち、追加パーツの座標情報および各接続線の座標情報を用いて、追加パーツの接続点につながる接続線をトレースする。このトレースで、接続線の分岐点または接続線の端点または他のパーツの接続点に到達したら、トレースを終了する(図29ステップS41)。
【0177】
この例では、追加パーツは、“NPE”(FFF,a接点)であり、図6に示すように、ピン番号1につながる接続線は、“NVL”であり、接続線“NVL”の反対側の端点は、接続線“NHK”につながっている。接続点“NHK”の反対側の端点は、分岐点とつながっているので、これでトレースを終了する。したがって、この場合、求められた接続線は、“NVL”と“NHK”になる。追加パーツ“NPE”のピン番号2につながる接続線は、“NVE”であり、接続線“NVE”の反対側の端点が分岐点とつながっているので、これでトレースを終了する。この場合、求められた接続線は“NVE”のみである。したがって、図31に示す新図面接続線情報には、“NVL”,“NHK”,“NVE”の状態欄に、「追加」が設定される。
【0178】
次に、新図面上で、追加グループパーツ接続点につながる接続線をトレースし、接続線の分岐点または接続線の端点または他のパーツの接続点に到達したらトレースを終了する(図29ステップS42)。この例では、追加パーツ接続点は、“NPC”(DDD,a接点)の第2ピンであり、これにつながる接続線は、“NVC”であり、接続点と繋がらない方の端点が分岐点とつながっているので、トレースを終了する。求められた接続線は“NVC”のみである。したがって、図31に示す新図面接続線情報の“NVC”の状態欄に「追加」が設定される。
【0179】
次に旧図面上で、削除パーツにつながる接続線を求める(図29ステップS43)。方法は追加の場合と同様である。この例では、削除パーツは、“OPA”であり、削除パーツ“OPA”のピン番号1とつながる接続線は、接続線“OVF”,接続線“OHG”である。削除パーツ“OPA”のピン番号2とつながる接続線は、“OVA”のみである。したがって、図30に示す旧図面接続線情報の“OVF”,“OHG”,“OVA”の状態欄に、「削除」が設定される。
【0180】
次に、旧図面上で削除グループパーツ接続点につながる接続線をトレースする。(図29ステップS44)。方法は追加の場合と同様である。この例では、削除グループパーツ接続点は存在しない。
【0181】
そして、このようにして得られた上記差分抽出情報が追加設定された、旧新図面接続線情報(図30,図31)は、差分データ記憶部32に記憶される。
【0182】
〔接続図面差分データ生成〕
次に、接続図面差分データ生成部9が提供する機能について説明する。接続図面差分データ生成部9では、差分データ記憶部32に記憶された差分データに基づいて強調表示差分データを生成する。接続図面差分データ生成部9では、追加の差分データがあれば、接続図面追加差分データ生成部17を用いて追加強調表示データを生成し、削除の差分データがあれば、接続図面削除差分データ生成部18を用いて削除強調表示データを生成し、変更差分データがあれば、接続図面変更差分データ生成部19を用いて変更強調表示データを生成する。
【0183】
(追加差分)
まず、接続図面追加差分データ生成部17が提供する機能について説明する。図32のフローチャートは、接続図面追加差分データ生成部17で行われる手順について示したものである。
【0184】
追加の強調表示データは、図26に示した新図面属性情報、図28に示した新図面接続点情報および図31に示した新図面接続点情報に基づいて作成される。
【0185】
接続図面追加差分データ生成部17は、まず、パーツ強調表示領域計算部24を用いて、追加パーツとこの追加パーツのパーツ属性(図面中の文字列)を囲む多角形を求める(図32ステップS51)。この例では、“NPE”が追加パーツとなる。求められた多角形は、図33に示す多角形300となる。
【0186】
次に、追加接続線の始点と終点を強調表示領域として求める(図32ステップS52)。この例では、追加接続線は、図31に示すように、パーツ“NPC”のピン番号2から延びる接続線“NVC”と、追加パーツ“NPE”のピン番号1から延びる接続線“NVE”,“NVL”,“NHK”であるので、これらが強調表示の対象の接続線となる。図33では、符号301で示される接続線“NVC”、符号302で示される接続線“NVE”、符号303で示される接続線“NVL”、符号304で示される接続線“NHK”が強調表示の対象の接続線となり、これらは太線で示されている。したがって、これら強調表示の対象の接続線“NVC”,“NVE”,“NVL”,“NHK”の始点と終点の座標を、図31に示す新図面接続線情報から求める。
【0187】
次に、追加図面属性のセグメント領域を強調表示領域として設定する(図32ステップS53)。この例では、図26の新図面属性情報に示すように、“追加”という図面属性が、追加図面属性であるので、図33に示すように、そのセグメント領域に対応する多角形306を強調表示領域として設定する。
【0188】
次に、接続図面追加差分データ生成部17は、近接強調表示領域合成部25を用いて、近接する強調表示領域同士の合成を行う(図32ステップS54)。この例では、図33に示す多角形300と3本の太線302〜304が合成の対象となる。図34は合成された結果を示すもので、図34には、合成された多角形305と、追加図形属性“追加”に対応する多角形306と、追加接続線“NVC”に対応する多角形307とが形成されている。
【0189】
つぎに、接続図面追加差分データ生成部17は、雲枠生成部26を用いて、上記多角形305,306および307で構成される強調表示領域の回りに形成する雲枠を生成する(図32ステップS55)。図34の多角形305,306および307のまわりに雲枠を出力した結果は、図35に示す通りとなる。
【0190】
ここで、雲枠生成部26では、多角形の辺の上に円弧を並べることで雲枠を表現する。そして、多角形と円弧を強調表示データとして出力する。追加、削除、変更などの差分抽出情報(差分内容)の違いに応じて、雲枠(円弧)の色を変えるようにしている。予め、追加、削除、変更などの差分内容毎に対応する色を設定するファイルを用意しておき、それに従って、雲枠の色を決める。また、追加、削除、変更などの差分内容毎に表示レイヤを異ならせるようにしており、レイヤ毎に表示/非表示を制御することにより、追加、削除、変更などの差分内容に応じて雲枠の表示/非表示を制御することが可能である。
【0191】
そして、接続図面追加差分データ生成部17では、このようにして形成された追加雲枠に関するデータを含む強調表示データを、強調表示データファイル33に記憶する。
【0192】
なお、図35に対応する追加雲枠の強調表示データファイルは以下の通りである。
COLOR=ADDCOLOR
##長方形の雲枠
COMPOSE START
ADD POLY 4 p01x1,p01y1 ‥‥‥p01x4,p01y4
ADD ARC 3P a01x1,a01y1, a01x2,a01y2, a01x3,a01y3


ADD ARC 3P a24x1,a24y1, a24x2,a24y2, a24x3,a24y3
COMPOSE END
##多角形の雲枠
COMPOSE START
ADD POLY 16 p02x1,p02y1 ‥‥‥p02x16,p02y16
ADD ARC 3P b01x1,b01y1, b01x2,b01y2, b01x3,b01y3


ADD ARC 3P b49x1,b49y1, b49x2,b49y2, b49x3,b49y3
COMPOSE END
##文字追加の雲枠
COMPOSE START
ADD POLY 4 p03x1,p03y1 ‥‥‥p03x4,p03y4
ADD ARC 3P c01x1,c01y1, c01x2,c01y2, c01x3,c01y3


ADD ARC 3P c06x1,c06y1, c06x2,c06y2, c06x3,c06y3
COMPOSE END
【0193】
ここで、図36〜図40を用いてパーツ強調表示領域計算部24で行う処理と近接強調表示領域合成部25で行う処理について、より詳細に説明する。
【0194】
まず、図36〜図38にしたがってパーツ強調表示領域計算部24の機能についてより詳細に説明する。図36はパーツ強調表示領域計算部24で行うパーツおよびこのパーツのパーツ属性を囲む多角形を求める際の動作手順を示すフローチャートである。
【0195】
まず、パーツの図形部分のセグメント領域とパーツ属性のセグメント領域を取り出す(図36ステップS81)。つぎに、パーツのセグメント領域に全く含まれていないパーツ属性のセグメント領域があるか否かを判定する(図36ステップS82)。ある場合は、それらのパーツ属性のセグメント領域がパーツのセグメント領域に当接するかあるいはそれらのパーツ属性のセグメント領域の一部がパーツのセグメント領域に含まれるまでパーツのセグメント領域を拡張する(図36ステップS83)。次に、拡張したパーツのセグメント領域および各パーツ属性のセグメント領域を含む多角形を求める。つぎに、このようにして求めた多角形で、所定の間隔よりも近い対向辺がある場合は、雲枠表示を見やすくするために、その多角形の形状を補正する(図36ステップS84)。このようにして得られた多角形が求める強調表示領域になる。
【0196】
図37(a)〜(c)は、パーツのセグメント領域の拡張動作を示すものである。最終的に求められる多角形は、太線で示している。図37(a)においては、4つのパーツ属性のうち2つのパーツ属性341,342がパーツのセグメント領域340に含まれていないので、これらパーツ属性341,342の一辺に、パーツのセグメント領域340の一辺が当接するまで、パーツのセグメント領域340を拡張している。図37(b)においては、全ての(4つの)パーツ属性の一部がパーツのセグメント領域340に含まれているので、パーツのセグメント領域340の拡張は行わない。図37(c)においては、3つのパーツ属性344〜346の全てがパーツのセグメント領域340に含まれていないので、これらパーツ属性344〜346の一辺に、パーツのセグメント領域340の一辺が当接するまで、パーツのセグメント領域340を拡張している。
【0197】
また、図38は、図36のステップS84で行われる強調表示領域の補正処理を示すもので、図38(a)に示す補正前には、所定の間隔よりも近い対向辺がある箇所が2箇所あるので、図38(b)のように、多角形の形状を補正することで、間隔の短い対向辺がある箇所を削除している。
【0198】
次に、図39および図40にしたがって近接強調表示領域合成部25が提供する機能についてより詳細に説明する。
【0199】
まず、同じ種類の強調表示領域、例えば追加/削除パーツおよびこのパーツに繋がる追加/削除接続線について、予めファイルに設定されている元の領域から四方に、所定量だけ強調表示領域を広げる(図39ステップS91)。次に、広げた領域同士が重なるものを求める(図39ステップS92)。次に、重なった多角形を1つの多角形にまとめる(図39ステップS93)。つぎに、このようにして求めた多角形で、所定の間隔よりも近い対向辺がある場合は、雲枠表示を見やすくするために、その多角形の形状を補正する(図39ステップS94)。このようにして得られた多角形が求める強調表示領域になる。
【0200】
図40は、追加/削除パーツおよびこのパーツに繋がる追加/削除接続線の強調表示領域の拡張処理を示すもので、図40(a)に示す元の領域が図40(b)に破線で示すように拡張され、結果的に、図40(c)に示すように、太線で示す多角形が得られる。
【0201】
(削除差分)
つぎに、接続図面削除差分データ生成部18が提供する機能について説明する。図41のフローチャートは、接続図面削除差分データ生成部18で行われる手順について示したものである。
【0202】
削除の強調表示データは、図25に示した旧図面属性情報、図27に示した旧図面接続点情報および図30に示した旧図面接続点情報に基づいて作成される。
【0203】
接続図面削除差分データ生成部18は、まず、パーツ強調表示領域計算部24を用いて、削除パーツとこの削除パーツのパーツ属性(図面中の文字列)を囲む多角形を求める(図41ステップS61)。この例では、“OPA”が削除パーツとなる。求められた多角形は、図42に示す多角形320となる。
【0204】
次に、削除接続線の始点と終点を強調表示領域として求める(図41ステップS62)。この例では、削除接続線は、図30に示すように、“OVA”,“OVF”,“OHG”であるので、これらが強調表示の対象の接続線となる。図42では、符号321で示される接続線“OVA”、符号322で示される接続線“OVF”、符号323で示される接続線“OHG”が強調表示の対象の接続線となり、これらは太線で示されている。したがって、これら強調表示の対象の接続線“OVA”,“OVF”,“OHG”の始点と終点の座標を、図30に示す旧図面接続線情報から求める。
【0205】
次に、削除図面属性のセグメント領域を強調表示領域として設定する(図41ステップS63)。この例では、図25の旧図面属性情報に示すように、“削除”という図面属性が、削除図面属性であるので、図42に示すように、そのセグメント領域に対応する多角形325を強調表示領域として設定する。
【0206】
次に、接続図面削除差分データ生成部18は、近接強調表示領域合成部25を用いて、近接する強調表示領域同士の合成を行う(図41ステップS64)。この例では、図42に示す多角形320と3本の太線321〜323が合成の対象となる。図43は合成された結果を示すもので、図43には、合成された多角形326と、削除図面属性“削除”に対応する多角形325とが形成されている。
【0207】
つぎに、接続図面削除差分データ生成部18は、雲枠生成部26を用いて、上記多角形326,325で構成される強調表示領域の回りに雲枠を生成する(図41ステップS65)。図43の多角形326,325のまわりに雲枠を出力した結果は、図44に示す通りとなる。
【0208】
つぎに、接続図面削除差分データ生成部18は、ハッチング生成部27を用いて、削除の強調表示領域の内部にハッチングを生成する(図41ステップS66)。図43の多角形326の周りに雲枠を形成し、さらに多角形326の内部にハッチングを出力した結果を図44に示す。すなわち、ハッチング生成部27では、削除表示領域の内側にハッチング(斜め線)を強調表示データとして出力するとともに、削除表示領域の中に含まれる削除データを強調表示データとして出力する機能を有している。
【0209】
つぎに、接続図面削除差分データ生成部18は、変更文字表記変更部28を用いて、削除図面属性(文字列)の上に、見え消し線を生成する(図41ステップS67)。この例では、“削除”という図面属性の上に見え消し線328を生成する(図44参照)。すなわち、変更文字表記変更部28は、属性情報の削除の場合は、旧図面上にある文字のセグメント領域を求め、文字の上に2本の見え消し線を作成する。
【0210】
そして、接続図面追加差分データ生成部17では、このようにして形成された削除雲枠、削除雲枠に含まれる旧図面中の削除データ、ハッチングデータ、および見え消し線に関するデータを含む強調表示データを、強調表示データファイル33に記憶する。
【0211】
なお、図44に対応する追加雲枠の強調表示データファイルは以下の通りである。
COLOR=DELCOLOR
##多角形の雲枠
COMPOSE START
ADD POLY 14 p02x1,p02y1 ‥‥‥p02x14,p02y14
ADD ARC 3P b01x1,b01y1, b01x2,b01y2, b01x3,b01y3


ADD ARC 3P b45x1,b45y1, b45x2,b45y2, b45x3,b45y3
ADD PLINE 2 h01x1,h01y1, h01x2,h01y2


ADD PLINE 2 h23x1,h23y1, h23x2,h23y2
CONPOSE END
##削除データの図柄
COMPOSE START
ADD PLINE 2 del01x1,del01y1, del01x2,del01y2
ADD CIRC del02x1,del02y1, del02x2,del02y2
ADD CIRC del03x1,del03y1, del03x2,del03y2
ADD PLINE 2 del04x1,del04y1, del04x2,del04y2
ADD PLINE 3 del05x1,del05y1, del05x2,del05y2, del05x3,del05y3
CONPOSE END
##文字削除の雲枠
COMPOSE START
ADD POLY4 p03x1,p03y1, ‥‥‥p03x4,p03y4
ADD ARC 3P c01x1,c01y1, c01x2,c01y2, c01x3,c01y3


ADD ARC 3P c06x1,c06y1, c06x2,c06y2, c06x3,c06y3
CONPOSE END
##見え消し線
COMPOSE START
ADD PLINE d01x1,d01y1, d01x2,d01y2
ADD PLINE d02x1,d02y1, d02x2,d02y2
CONPOSE END
【0212】
(変更差分)
次に、接続図面変更差分データ生成部19が提供する機能について説明する。図45のフローチャートは、接続図面変更差分データ生成部19で行われる手順について示したものである。
【0213】
変更パーツの強調表示データは、図23および図24に示した旧新図面パーツ情報または図27および図28に示した旧新図面接続点情報に基づいて作成される。また、変更属性の強調表示データは、図25および図26に示す旧新属性情報を用いて作成される。
【0214】
接続図面変更差分データ生成部19は、まず、パーツ強調表示領域計算部24を用いて、変更パーツとその変更パーツのパーツ属性を囲む多角形を求める(図45ステップS71)。この例では、パーツ“NPD”が“OPE”とのマクロ名の違いによって変更パーツとなる。求められた多角形は、図46に示す多角形330となる。
【0215】
接続図面変更差分データ生成部19は、つぎに、パーツ強調表示領域計算部24を用いて、変更属性を囲む多角形を求める(図45ステップS72)。この際、変更属性に関しては、旧属性を新属性の上部に表示するため、旧属性と新属性を含む最小の長方形領域を強調表示領域として設定する。この例では、変更パーツ属性が、パーツ“NPA(BBB,a接点)”のピン属性“4”であり、変更図面属性が“new comment”と“change”である。したがって、新図面に対し、パーツ“NPA(BBB,a接点)”のピン属性“4”の上部に、旧ピン属性“2”を追加し、図面属性“new comment”の上部に旧図面属性“old comment”を追加し、図面属性“change”の上部に旧図面属性“modify”を追加する。したがって、求められた多角形は、図46に示す多角形331〜333となる。
【0216】
つぎに、接続図面変更差分データ生成部19は、雲枠生成部26を用いて、上記多角形330〜333で構成される強調表示領域の回りに雲枠を生成する(図45ステップS73)。図46の多角形330〜333のまわりに雲枠を出力した結果は、図47に示す通りとなる。
【0217】
つぎに、接続図面変更差分データ生成部19は、変更文字表記変更部28を用いて、旧パーツ属性および旧図面属性の上に、見え消し線334〜336を生成する(図45ステップS74)。この例では、図47に示すように、“2”,“old comment”,“modify”という旧属性の上に見え消し線334〜336が生成される。すなわち、変更文字表記変更部28は、属性情報の変更の場合は、新図面上の変更後文字列の近傍に(この場合は上側に)、追加しようとする旧図面の変更前文字列のセグメント領域を求め、そのセグメント領域内の変更前文字列の上に2本の見え消し線を作成し、強調表示データとして出力する。
【0218】
そして、接続図面追加差分データ生成部17では、このようにして形成された変更雲枠、変更後文字列の上に追加する変更後文字列データおよび見え消し線に関するデータなどを含む強調表示データを、強調表示データファイル33に記憶する。
【0219】
なお、図47に対応する追加雲枠の強調表示データファイルは以下の通りである。
COLOR=MODCOLOR
##長方形の雲枠(端子番号変更)
COMPOSE START
ADD POLY 4 p01x1,p01y1 ‥‥‥p01x4,p01y4
ADD ARC 3P a01x1,a01y1, a01x2,a01y2, a01x3,a01y3


ADD ARC 3P a06x1,a06y1, a06x2,a06y2, a06x3,a06y3
CONPOSE END
##多角形の雲枠
COMPOSE START
ADD POLY 16 p02x1,p02y1, ‥‥‥p02x16,p02y16
ADD ARC 3P b01x1,b01y1, b01x2,b01y2, b01x3,b01y3


ADD ARC 3P b12x1,b12y1, b12x2,b12y2, b12x3,b12y3
COMPOSE END
##文字変更の雲枠(old comment→new comment)
COMPOSE START
ADD POLY 4 p03x1,p03y1 ‥‥‥p03x4,p03y4
ADD ARC 3P c01x1,c01y1, c01x2,c01y2, c01x3,c01y3


ADD ARC 3P c14x1,c14y1, c14x2,c14y2, c14x3,c14y3
COMPOSE END
##文字変更の雲枠(modify→change)
COMPOSE START
ADD POLY 4 p03x1,p03y1, ‥‥‥p03x4,p03y4
ADD ARC 3P d01x1,d01y1, d01x2,d01y2, d01x3,d01y3


ADD ARC 3P d10x1,d10y1, d10x2,d10y2, d10x3,d10y3
COMPOSE END
【0220】
〔副番情報生成〕
次に、副番情報生成部10が提供する機能について説明する。副番情報生成部10では、新旧図面を比較した結果、差分がある場合は、図面の改定欄の副番を更新する。この改定欄の情報も強調表示データとして出力する。図48(a)(b)は、改定欄の改定処理を示すもので、図48(a)の場合は、旧図面の改定欄に副番号設定がないので、新図面の改定欄には、新たに副番Aを付けて、改定年月日を入力設定している。図48(b)の場合は、旧図面の改定欄には、副番A〜Cの設定があるので、つぎの副番Dを付けて、改定年月日を入力設定している。
【0221】
〔差分情報反映〕
次に、差分情報反映部11が提供する機能について説明する。差分情報反映部11は、強調表示データファイル33の内容を新図面に追加書き込みする。図49に、図5に示した旧図面データと図6に示した新図面データを差分抽出した結果を、新図面に反映した結果を示す。この図49に示す図面が、実際に操作者に対して表示される図面である。図49に示す実際の表示図面では、各パーツ、接続線などの識別子名、強調表示領域の多角形などは実際には表示されない。
【0222】
〔強調表示カスタマイズ〕
次に、強調表示データカスタマイズ部12が提供する機能について説明する。強調表示データカスタマイズ部12では、雲枠拡大・縮小部20と雲枠変形部21と見え消し線変更部22を有し、これらを動作制御することで、操作者の指定に応じて雲枠を任意の大きさ、形に拡大、縮小、変形するとともに、見え消し線の表記を変更させる。
【0223】
図50のフローチャートを用いて雲枠拡大・縮小部20が提供する機能について説明する。雲枠の拡大、縮小を行う場合は、操作者が拡大・縮小を行いたい雲枠をマウスなどのポインティングデバイス2で指定する(図50ステップS101)。次に、操作者は、マウスカーソルを拡大・縮小したい方向に移動させ、マウスボタンクリックで確定する(図50ステップS102)。操作者のこれらの操作を検出することで、雲枠拡大・縮小部20は、縮小・拡大後の強調表示領域である多角形を通常の図形ズームと同じ方法で求める(図50ステップS103)。雲枠拡大・縮小部20は雲枠生成部26を用いて、この拡大縮小した多角形のまわりに雲枠を生成する(図50ステップS104)。これにより、雲枠は、図51に示すように、任意の縮倍率に縮小あるいは拡大される。
【0224】
図52のフローチャートを用いて雲枠変形部21が提供する機能について説明する。雲枠変形部21は、雲枠の強調表示領域である多角形の頂点を増減することによって、雲枠の形状の変更を行う機能を持つ。
【0225】
まず、操作者が変形したい雲枠の強調表示領域である多角形をマウスなどのポインティングデバイスで指定する(図52ステップS111)。マウスカーソルを変形させたい方向に移動させ、マウスクリックで確定する(図52ステップS112)。
【0226】
次に、雲枠変形部21は、ステップS111で操作者が多角形の辺を指定したか、頂点を指定したか判定する(図52ステップS113)。多角形の辺を指定した場合は、頂点の追加となり、図53(c)に示すように、指定した辺の両端点の間に、ステップS112で確定した点を頂点として挿入する(図52ステップS114)。ステップS111で操作者が多角形の頂点を指定した場合は、指定した頂点とつながる両側の頂点とステップS112で指定した点が一直線になるかどうか判定し(図52ステップS115)、一直線になる場合は、図53(b)に示すように、指定した頂点を削除し、両側の頂点同士を直接結ぶ(図52ステップS116)。一直線にならない場合は、図53(a)に示すように、指定頂点の座標値をステップS112で確定した座標値に変更する(図52ステップS117)。次に、雲枠変形部21は、雲枠生成部26を用いて、この多角形のまわりに雲枠を生成する(ステップS118)。
【0227】
つぎに、図54のフローチャートを用いて見え消し線変更部22が提供する機能について説明する。見え消し線を変更する場合、操作者は、変更前の旧属性をマウスなどのポインティングデバイスで指定する(図54ステップS121)。操作者がマウスカーソルを移動させたい方向に移動させ、マウスクリックで確定する(図54ステップS122)。これらの操作を検出した見え消し線変更部22は、まず、元の雲枠を削除する(図54ステップS123)。つぎに、見え消し線変更部22は、新旧属性の配置位置をチェックし(図54ステップS124)、これらの配置位置が予め設定された所定の距離を越える場合は、図55に示すように、新旧の属性のリンクを表わす矢印線350をひく(図54ステップS125)。そして、新旧の属性それぞれについて、雲マークを生成する(図54ステップS126)。新旧属性の配置位置が予め設定された距離をこえない場合は、新旧属性の双方を含む雲枠を発生する(図54ステップS127)。
【0228】
このようにこの実施の形態1によれば、CADで作成した新旧の電気回路図面から、同電位のものを同一接続グループ(同一ネット)にするというルールをもって図面要素をグループ分けし、対応するグループ同士でセマンティックな比較を行うことによって、新旧の電気回路図面における意味のある違いのみを差分抽出し、これら差分抽出された部分のみを強調表示した新旧の電気回路図の合成図面を作成するようにしているので、見栄え調整を目的としたシンボル位置の移動部分は強調表示されず、また一部図形要素のみが追加/削除されたネットの場合はネット全体が強調表示されるのではなく、真に追加/削除された部分のみが強調表示される。したがって、実施の形態1によれば、設計者の意図を確実に反映することができ、また電気回路図の真に意味のある改定箇所を操作者が容易に確認できるようになる。また、削除箇所と追加箇所は、表示色の違い、ハッチングの有無など強調表示形態を異ならせているので、削除箇所と追加箇所を容易に識別できるようになる。また、一定の距離以内にある雲枠を合成するようにしているので、改定箇所が多い場合でも、雲枠が複雑に重なって、本来の電気回路図部分の視認を邪魔したりすることがなくなり、扱者にとって見易い差分抽出図面を提供することが可能となる。また、削除される図形要素に関する強調表示データ、追加される図形要素に関する強調表示データおよび変更される図形要素に関する強調表示データを別のレイヤに設定するようにしているので、レイヤ毎に表示/非表示を制御することにより、追加、削除、変更などの差分内容に応じて雲枠の表示/非表示を制御することが可能となる。さらに、差分抽出の結果、セマンティックな差分がある場合、図面の副番欄の自動更新を行うようにしているので、扱者の副番更新のための手間を省くことが可能となる。
【0229】
なお、上記実施の形態では、雲枠をもって強調表示するようにしたが、くさび形の繰り返し、他の任意の図形の繰り返しなど他の任意の強調表示図形を採用するようにしてもよい。
【0230】
実施の形態2.
つぎに、図56〜図87に従ってこの発明の実施の形態2について説明する。この実施の形態2は、CADシステムを用いて作成される状態遷移図(図56)およびオブジェクト図(クラス図、図82)に対して本発明を適用するものである。
【0231】
〔状態遷移図〕
最初に、状態変異図に関するセマンティックな差分抽出に関して説明する。状態遷移図は、図56(a)(b)に示すように、システムの状態を制御するための状態遷移を表わすものである。図56においては、(a)が状態遷移図の旧図面を(b)が状態遷移図の新図面を示している。
【0232】
この図56(a)(b)を用いて状態遷移図で用いる用語について説明する。「状態」は長方形の角を丸み付けした図形で示される。各状態は、「名前」、「動作」、「状態区分」の属性を持つ。
【0233】
図56中の“オン”、“監視中”、“コマンド待ち”、“処理中”、“切り離し中”、“接続中”などが「状態名」である。各状態は、その中に、「andサブ状態」と「orサブ状態」を含むことができる。「andサブ状態」は、並行サブ状態であり、「orサブ状態」は、複数の状態が同時に起こることが無いサブ状態である。例えば、“オン”状態は、“監視中”と“処理中”の「andサブ状態」を含む。“処理中”状態は“切り離し中”と“接続中”の「orサブ状態」を含む。各状態は更に、「初期状態」、「終端状態」、「コネクタ」などの「疑似状態」を含む。「初期状態」は、黒丸400で表され、「終端状態」は黒丸目玉で表され(図示せず)、また、図56(b)において、符号401で示される記号が「コネクタ」である。
【0234】
つぎに、状態区分は、
0がリーフ状態すなわちサブ状態を持たない状態、
1が「orサブ状態」を持つ状態、
2が「andサブ状態」をもつ状態、
3が初期状態、
4が終端状態、
5がコネクタ
とする。
【0235】
状態区分が3以上である「疑似状態」すなわち初期状態、終端状態およびコネクタは、状態名を持たないので、状態名はユニーク番号(ユニークNo)で表す。ユニークNoは、親状態の中に同一状態区分の疑似状態が1個のみの時のユニークNoは0とし、複数ある時はそれぞれに対し0から始まる連番で表す。
【0236】
つぎに、各状態の属性である「動作」は、「入場動作」、「退場動作」、「イベント動作」等の集合である。
【0237】
状態から状態への矢印を「遷移」と言う。矢印の起点側の状態を「From状態」、矢印の先端側の状態を「to状態」と言う。「遷移」は、「イベント名」、「ガード条件」、「遷移動作」などの属性を持ち、イベント名[ガード条件]/アクションの形で表現される。例えば、図56中の“リセット/中断”では、“リセット”が「イベント名」、“中断”が「遷移動作」である。また、“[センサー接続]”、“[センサー切離し]”は、「ガード条件」である。また、“[信号有り]/運転”は、“[信号有り]”が「ガード条件」で、“運転”が「遷移動作」である。
【0238】
ここで、新旧状態遷移図の差分検出を行うに当たっては、状態のツリー構造を作り、このツリー構造を用いて相対表現による差分(diff)を検出するようにしている。
【0239】
そこで、状態遷移図の差分検出について説明する前に、ツリーに対する差分検出について図57〜図74を用いて説明する。図57〜図59は、ツリー構造を示すもので、図57が旧ツリー構造、図58および図59が変更後の新ツリー構造を示している。
【0240】
図57において、ツリーの各ノードの名前をa〜iとする。d,e,f,g,h,iが終端ノードで、a,b,c,が非終端ノードである。aはルートノードである。
【0241】
図57に示すツリーにおいては、(a,b)、(b,e)、(b,f)、(a,c)、(c,g)、(c,h)、(c,i)、(a,d)の各ノードについてのペアに親子関係がある。同一の親を持つ子は兄弟関係にあるという。ノードをある規則に従って並べたとき、兄弟中最初に現れるノードを長男、兄弟中最後に現れるノードを末弟と呼ぶ。
【0242】
(絶対パス)
各ノード名をルートノードからのパスの形で表現したものが絶対パス名である。図57,図58,図59に示した例において、パスの区切り文字をピリオド“.”としたとき、図57のツリーに対応した各ノードの絶対パス名を図60に、図58のツリーに対応した各ノードの絶対パス名を図61に、図59のツリーに対応した各ノードの絶対パス名を図62に夫々示す。
【0243】
絶対パスによる辞書順差分は以下のようにして求めることができる。
[1]旧ツリーデータおよび新ツリーデータの各々に対し、各ノードの絶対パス名を求め、その昇順にソートする。
[2]絶対パス表示による差分を求める。
【0244】
これによりノードの増減および絶対パス名の変化の差分表示ができる。ルートノードの前にノードを追加すると、全ての旧ツリーの要素が削除され、全ての新ツリーの要素が追加という差分データとなる。
【0245】
図57に示したツリーの絶対パス名データ(図60)と図58に示したツリーの絶対パス名データ(図61)との絶対パス名による差分を図63に示し、図57に示したツリーの絶対パス名データ(図60)と図59に示したツリーの絶対パス名データ(図62)との絶対パス名による差分を図64に示す。
【0246】
図57に示したツリーを旧ツリーデータとし、図58に示したツリーを新ツリーデータとすると、これらの絶対パス名による差分データは、図63に示すように、(a,b,e)の削除、(a,c,g)の削除、(a,c,i)の削除、(a,b,f)の追加、(a,d,l)の追加、(a,j)の追加、(a,j,m)の追加によって構成される。
【0247】
図57に示したツリーを旧ツリーデータとし、図59に示したツリーを新ツリーデータとすると、この場合には、ルートノードaの前に新ノードxが追加されているので、これらの絶対パス名による差分データは、図64に示すように、全ての旧ツリーの要素が削除され、全ての新ツリーの要素が追加というものとなる。
【0248】
(単項相対パス)
次に、単項相対パス名とは、前述した絶対パス名を辞書順に並べた並び順を前提に、各ノード名に対し、そのノードが親であることを示す情報(この実施の形態では、ノード名の後ろに“{”を付けて示している)と、末弟の次の要素であることを示す情報(この実施の形態では、ノード名の前に“}”を付けて示している)を付加した表現である。
【0249】
単項相対パス名による辞書順差分は以下のように求める。
[1]元のツリーデータおよび変更後のツリーデータの各ノードに対し絶対パス名を求め、その昇順にソートする。
[2]ノードが非終端ノード名のときは、ノード名の後ろに子があることを示す記号(ここでは“{”で表示している)を付ける。
[3]ノードが末弟の次のノードのときは、ノード名の前に、前の兄弟群のノードが終わったことを示す記号(ここでは“}”で表示している)をノード名の前に付けて表す。
[4]元のツリーデータの相対パス名と、変更後のツリーデータの相対パス名に対する差分を求める。
【0250】
単項相対パス名による辞書順差分により、ノードの増減および非終端ノード/終端ノードの変更が差分データとして検出できる。すなわち、ノード“y{”があったときは、その閉じかっこ“}”の前のノードまでの全ての子ノードが一致すれば(差分表示がなければ)、ノードyとそのサブツリーに変更がなかったことがわかる。
【0251】
図57のツリーに対応する単項相対パス名データを図65に示し、図58のツリーに対応する単項相対パス名データを図66に示し、図59のツリーに対応する単項相対パス名データを図67に示している。また、単項相対パス名表記による図65と図66の差分を図68に示し、図65と図67との差分を図69に示す。
【0252】
図57に示したツリーを旧ツリーデータとし、図58に示したツリーを新ツリーデータとすると、これらの単項相対パス名による差分データは、図65に示す単項相対パス名データと図66に示す単項相対パス名データとの差分であるので、図68に示すように、「eの削除」、「gの削除」、「iの削除」、「 }dの削除」、「kの追加」、「 }d{の追加」、「lの追加」、「 }j{の追加」、「mの追加」で構成されることになる。
【0253】
また、図57に示したツリーを旧ツリーデータとし、図59に示したツリーを新ツリーデータとすると、これらの単項相対パス名による差分データは、図65に示す単項相対パス名データと図67に示す単項相対パス名データとの差分であるので、図69に示すように、「eの削除」、「gの削除」、「iの削除」、「}dの削除」、「x{の追加」、「kの追加」、「 }d{の追加」、「lの追加」、「 }j{の追加}」、「mの追加」で構成されることになる。
【0254】
(2項相対パス)
つぎに、2項相対パス名とは、全ての親子関係をノード名の間に親子関係を示す区切り文字(この実施の形態では、例えば“{”で表示している)でつないで表したものである。ただし先頭にルートノード名のみのデータを付加する。
【0255】
2項相対パス名による深さ優先差分は以下のように求める。
[1]元のツリーデータおよび変更後のツリーデータの各ノードに対し相対パス名と、絶対パス名を求め、絶対パス名の昇順にソートする。
[2]ルートノードの相対パス名はそのノード名とする。ルートノード以外の相対パス名は、直接の親のノード名と、自ノード名を区切り文字(ここでは“{”で表示している)でつないで表す。
[3]元のツリーデータの2項相対パス名と、変更後のツリーデータの2項相対パス名に対する差分を求める。
【0256】
2項相対パス名による深さ優先差分により、直接の親子関係が変化したノードが差分データとして検出できる。削除データは、第1項(“{”の前の項)が削除されたか、あるいは第2項(“{”の後ろの項)が削除されたか、あるいは第1項と第2項の親子関係が削除されたことを示す。追加データは、第1項が追加されたか、あるいは第2項が追加されたか、あるいは第1項と第2項の親子関係が追加されたことを示す。
【0257】
図57のツリーに対応する2項相対パス名データを図70に示し、図58のツリーに対応する2項相対パス名データを図71に示し、図59のツリーに対応する2項相対パス名データを図72に示している。また、2項相対パス名表記による図70と図71の差分を図73に示し、図70と図72との差分を図74に示す。
【0258】
図57に示したツリーを旧ツリーデータとし、図58に示したツリーを新ツリーデータとすると、これらの2項相対パス名による差分データは、図70に示す2項相対パス名データと図71に示す2項相対パス名データとの差分であるので、図73に示すように、「b{eの削除」、「c{gの削除」、「c{iの削除」、「a{jの追加」、「b{kの追加」、「d{lの追加」、「j{mの追加」で構成されることになる。
【0259】
図57に示したツリーを旧ツリーデータとし、図59に示したツリーを新ツリーデータとすると、これらの2項相対パス名による差分データは、図70に示す2項相対パス名データと図72に示す2項相対パス名データとの差分であるので、図74に示すように、「aの削除」、「b{eの削除」、「c{gの削除」、「c{iの削除」、「xの追加」、「a{jの追加」、「b{kの追加」、「d{lの追加」、「j{mの追加」で構成されることになる。
【0260】
図75は、接続図面としての状態変異図あるいはクラス図を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ,ワークステーションに実行させるプログラムの機能構成を示すものである。
【0261】
図75に示す装置は、入出力端末装置としてディスプレイ1101、マウスなどのポインティングデバイス1102、キーボード1103及びプリンタなどの出力装置1104を有しており、入出力インターフェース部1105を介して接続図面編集表示装置1106と図形データ、入出力指示などの信号の授受を実行する。
【0262】
接続図面編集表示装置1106は、ツリー構造作成部1108、パス名生成部1109、パス名差分検出部1110,ツリー差分対応付け部1111、図面情報抽出部1112、絶対パス名生成部1113、単項相対パス名生成部1114および2項相対パス名生成部1115を有するツリー差分検出部1107と、リンク差分検出部1116と、シンボル差分検出部1117と、追加分表示部1118と、削除分表示部1119とを備えている。
【0263】
ツリー差分検出部1107は、図56(a)に示すような状態遷移図面(旧図面)の旧図面ファイル1131および図56(b)に示すような状態遷移図面(新図面)の新図面ファイル1130を読み出し、これら新旧図面ファイル1130,1131に対し、ツリーとしての差分を検出し、その差分結果を差分データ記憶部1133に記憶する。
【0264】
図面情報抽出部1112は、新図面ファイル1130,旧図面ファイル1131からツリー構造に変換する情報を取り出す。ツリー構造作成部1108は、これら取り出された新旧図面のツリー構造に変換する情報をツリー構造のデータ、すなわち新図面ツリー構造ファイル1121および旧図面ツリー構造ファイル1122に変換する。パス名生成部1109は、ユーザの指定選択内容(絶対パス名表記、単項相対パス名表記、2項相対パス名表記の何れのテキストを行表現として選択するか)に従って、絶対パス名生成部1113、単項相対パス名生成部1114および2項相対パス名生成部1115の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、3つのテキスト行表現のいずれかへのマッピングを行って、新図面パス名データ1123と旧図面パス名データ1124を生成する。パス名差分検出部1110は、新図面パス名データ1123と旧図面パス名データ1124の差分をとることでパス名差分データ1125を作成する。ツリー差分対応付け部1111は、パス名差分データ1125を図面に対応付けて差分データ記憶部1133に記憶する。
【0265】
リンク差分検出部1116は、新図面ファイル1130と旧図面ファイル1131とのリンク(状態の遷移)の差分を求め、このリンク差分データを差分データ記憶部1133に追加記憶する。シンボル差分検出部1117はシンボル(状態の動作)の差分を検出し、このシンボル差分データを差分データ記憶部1133に追加記憶する。これらの差分データ記憶部1133に記憶された差分データを強調表示する際には、旧図面及び新図面をディスプレイ1101の画面上に並べて表示する。追加分表示部1118は、新図面に追加された部分を所定の追加分表示色をもって表示すると共に、削除分表示部1119は旧図面から削除された部分を、削除表示色とは異なる所定の削除表示色をもって表示する。
【0266】
つぎに、かかる接続図面編集表示装置1106による状態遷移図の差分抽出表示動作を図76のフローチャートおよび図77〜図81に従って説明する。
【0267】
操作者は、最初或いはパス名生成を行う前の適宜の時点に、今回の差分抽出処理で採用するパス名を、絶対パス名表記、単項相対パス名表記、および2項相対パス名の何れかから選択指定する。
【0268】
差分抽出処理が開始されると、ツリー差分検出部1107は、新図面ファイル1130(図56(b)に示すような新状態遷移図面),旧図面ファイル1131(図56(a)に示すような旧状態遷移図面)を読み込む(ステップS1201)。つぎに、図面情報抽出部1112は、新図面ファイル1130,旧図面ファイル1131からツリー構造に変換する情報を取り出す(ステップS1202)。つぎに、ツリー構造作成部1108は、これら取り出された情報、すなわち状態遷移図の状態のネスティング関係に基づいてツリー構造のデータ、すなわち新図面ツリー構造ファイル1121および旧図面ツリー構造ファイル1122を作成する(ステップS1203)。
【0269】
図77(a)は、図56(a)に示した状態遷移図の旧図面のツリー構造を示すもので、図77(b)は、図56(b)に示した状態遷移図の新図面のツリー構造を示すものである。ツリーのノード名は(状態区分,状態名)で表す。
【0270】
図77において、例えば、状態“オン”は、監視中状態と処理中状態のandサブ状態をもつので、状態区分は2であり、そのノード名は、(2,オン)となる。状態“監視中”は、状態“警告中”、状態“コマンド待ち”、状態“セットアップ”、状態“セットアップ準備中”、状態“比較中”、黒丸で表される“初期状態”のor状態を持つので、そのノード名は(1,監視中)となる。状態“比較中”は、サブ状態を持たないので、その状態区分は終端状態となり、そのノード名は(0,比較中)となる。この場合、各“初期状態”は、親状態の中に同一状態区分の疑似状態が1個のみしかないので、そのユニークNoは0となり、そのノード名は(3,0)となる。また、“コネクタ”のノード名は(5,0)となる。このように、状態とそのサブ状態を親子関係としてツリーが構成される。
【0271】
つぎに、パス名生成部1109は、ユーザの指定選択内容に従って、絶対パス名生成部1113、単項相対パス名生成部1114および2項相対パス名生成部1115の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、新図面パス名データ1123と旧図面パス名データ1124を生成する(ステップS1204〜S1206)。
【0272】
操作者が、ツリー構造を表すために絶対パス名によるテキスト表現を選択したときは、絶対パス名生成部1113が呼び出され、絶対パス名表記による新旧図面パス名データが作成される。操作者が、単項相対パス名によるテキスト行表現を選択したときは、単項相対パス名生成部1114が呼び出され、単項相対パス名表記による新旧図面パス名データが作成される。操作者が、2項相対パス名によるテキスト行表現を選択したときは、2項相対パス名生成部1115が呼び出され、2項相対パス名表記による新旧図面パス名データが作成される。
【0273】
つぎに、パス名差分検出部1110は、上記何れかのパス名表記による新図面パス名データ1123と旧図面パス名データ1124の差分をとることでパス名差分データ1125を作成する(ステップS1207)。
【0274】
図78は、絶対パス名表記による辞書順差分結果を示すものである。絶対パス名表記による辞書順差分結果によれば、パス名(2,オン).(1,監視中).(0,セットアップ準備中)が旧図面から削除され、パス名(2,オン).(1,監視中).(5,0)と、パス名(2,オン).(1,処理中).(0,接続中).(0,アイドル)と、パス名(2,オン).(1,処理中).(0,接続中),(0,運転中)と、パス名(2,オン).(1,処理中).(0,接続中).(3,0)が新図面に追加されたことを示すパス名差分データが形成される。
【0275】
図79は、単項相対パス名表記による辞書順差分結果を示すものである。単項相対パス名表記による辞書順差分結果によれば、旧図面からは、パス名(0,セットアップ準備中)と、パス名(0,接続中)とが削除され、新図面にパス名(5,0)と、パス名(0,接続中){と、パス名(0,アイドル)と、パス名(0,運転中)と、パス名}(3,*)とが追加されたことを示すパス名差分データが形成される。
【0276】
図80は、2項相対パス名による深さ優先差分結果を示すものである。2項相対パス名による深さ優先差分結果によれば、旧図面からは、パス名(1,監視中){(0,セットアップ準備中)と、パス名(1,処理中){(0,接続中)が削除され、新図面に対して、パス名(1,監視中){(0,セットアップ)と、パス名(1,処理中){(1,接続中)と、パス名(1,接続中){(0,アイドル)と、パス名(1,接続中){(0,運転中)と、パス名(1,接続中){(3,0)とが追加されたことを示すパス名差分データが形成される。
【0277】
ツリー差分対応付け部1111は、これら何れかのパス名表記によるパス名差分データ1125を図面に対応付けて差分データ記憶部1133に記憶する(ステップS1208)。
【0278】
リンク差分検出部1116は、新図面ファイル1130と旧図面ファイル1131との状態の遷移の差分を求め、この遷移差分データを差分データ記憶部1133に追加記憶する(ステップS1209)。
【0279】
リンク差分検出部1116では、(From状態ID,To状態ID,イベント名[ガード条件]/アクション)が等しいとき、比較される各遷移が同一遷移であると判定し、また旧図面にあって新図面にないときは削除遷移と判定し、新図面にあって旧図面にないときは追加遷移と判定する。From状態ID、To状態IDは、状態名の絶対パス名で表す。
【0280】
図81は、図56(a)に示した状態遷移図(旧図面)と図56(b)に示した状態遷移図(新図面)との遷移差分データを模式的に示すものである。この場合には、削除欄に示される3つの状態遷移から成る削除データと、追加欄に示される6つの状態遷移から成る追加データを含む遷移差分データが得られることとなる。
【0281】
つぎに、シンボル差分検出部1117は新旧図面の動作の記述(文字列)の差分を検出し、この動作差分データを差分データ記憶部1133に追加記憶する(ステップS1210)。この動作記述の差分は、単純なテキストの比較で行える。
【0282】
つぎに、追加分表示部1118および削除分表示部1119は、差分データ記憶部1133に記憶された状態、遷移、動作の差分データをディスプレイ1101の画面上に強調表示する。すなわち、旧図面及び新図面をディスプレイ1101の画面上に並べて表示し、旧図面上には削除された部分(状態を示す角が丸み付けされた長方形内、遷移を示す矢印、動作を示す文字列)が他の部分とは異なる表示色をもって表示され、また新図面上には追加された部分(状態を示す角が丸み付けされた長方形内、遷移を示す矢印、動作を示す文字列)が他の部分および旧図面の削除部分とは異なる表示色をもって表示される(ステップS1211,S1212)。
【0283】
このように実施の形態2において、状態遷移図の差分抽出を行う際には、新旧状態遷移図の状態のネスティング関係に基づいて状態のツリー構造を作成し、絶対パス名による辞書順差分、単項相対パス名による辞書順差分、2項相対パス名による深さ優先差分のいずれかの方式でツリー構造を表す新旧図面のテキストを作成し、これら2つの新旧図面のテキストの差分抽出を行うことで、新旧図面の状態の差分(削除/追加)を抽出し、また新旧図面の(From状態ID,To状態ID,イベント名[ガード条件]/アクション)を比較することで新旧図面の遷移の差分抽出を行い、さらに新旧図面の動作の記述テキスト比較することで動作の差分抽出を行い、これにより、状態遷移図のセマンティックな差分抽出を行うようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【0284】
〔オブジェクト図〕
次に、オブジェクト図に関するセマンティックな差分抽出について説明する。クラス図(オブジェクト図)は、図82(a)(b)に示すように、クラス(オブジェクト)間の関係、集約、継承を表現する。オブジェクト指向システムでは、システム内のオブジェクト同士がお互いに協調し合いながら、1つのユースケースを実現する。1つのユースケースを実現するときには、あるオブジェクトはメッセージを送信し、あるオブジェクトはそのメッセージを受信して必要な処理を起動する。このときオブジェクト同士が相手の存在を知っていなければならない。それを表現するのがクラス図である。図82においては、(a)がクラス図の旧図面を(b)がクラス図の新図面を示している。
【0285】
次に、図82(a)(b)を用いてクラス図で用いる用語について説明する。「クラス図」は、「クラスの図形」、「継承」、「集約」「関連」からなる。3つの区画に仕切られた長方形がクラスの図形で、上領域に書かれているのが「クラス名」で、中間領域に書かれているのが「属性名」で、下領域に書かれているのが「操作(メソッド)名」である。図82では、“図形”、“閉図形”、“円”などがクラス名であり、“塗りつぶしパターン”が属性であり、“draw()”、“set_pattern()」などが操作である。
【0286】
「継承」は、スーパー(親)クラスとサブクラスの関係であり、継承関係は階層構造をもっている。「継承」は、クラスの図形間をつなぐ、端点が白抜きの三角形の線で表され、三角形側が継承の親側である。「集約」は、全体と部分を表すクラスの関係であり、クラスの図形間をつなぐ端点が菱形の線で表され、菱形側が全体を示し、その反対側が全体を構成する部分であることを示している。「関連」は、クラス同士の一時的な関係であり、クラスの図形間をつなぐ単純な線で表される。
【0287】
まず、クラス図におけるセマンティックな差分抽出についてその概要を説明する。このクラス図の差分抽出では、広義の関連を、継承、集約、その他関連に分類して、それぞれの関連の種別毎に、クラス間のリンク関係の差異、継承、集約のツリー構造の差異を抽出する。
【0288】
すなわち、継承は、ツリー構造として差異を抽出する。関連や集約などはクラス間のリンク情報の差分を検出する。ツリーの差分検出は、状態遷移図のツリー差分検出と同様に実行する。強調表示も状態遷移図の場合とほぼ同様とする。
【0289】
つぎに、図75に示した接続図面編集表示装置1106によるクラス図のセマンティックな差分抽出表示動作を図76に示したフローチャートおよび図83〜図86に示した具体例を参照してより詳細に説明する。
【0290】
操作者は、前記同様最初或いはパス名生成を行う前の適宜の時点に、今回の差分抽出処理で採用するパス名を、絶対パス名表記、単項相対パス名表記、および2項相対パス名の何れかから選択指定する。
【0291】
差分抽出処理が開始されると、ツリー差分検出部1107は、新図面ファイル1130(図82(b)に示すような新クラス図),旧図面ファイル1131(図82(a)に示すような旧クラス図)を読み込む(ステップS1201)。つぎに、図面情報抽出部1112は、新図面ファイル1130,旧図面ファイル1131からツリー構造に変換する情報を取り出す(ステップS1202)。すなわち、継承の矢印(白抜きの三角形)でつながっているクラスと継承の矢印を取り出す。つぎに、ツリー構造作成部1108は、これら取り出された情報、すなわちクラス図のクラスのネスティング関係に基づいてツリー構造のデータ、すなわち新図面ツリー構造ファイル1121および旧図面ツリー構造ファイル1122を作成する(ステップS1203)。この際、ツリー構造作成部1108では、継承矢印の有る側のクラスを親とし、無い側のクラスを子としてツリー構造を作成する。ノード名はそのクラス名を用いる。
【0292】
図83(a)は、図82(a)に示したクラス図(旧図面)のツリー構造を示すもので、図83(b)は、図82(b)に示したクラス図(新図面)のツリー構造を示すものである。
【0293】
つぎに、パス名生成部1109は、ユーザの指定選択内容に従って、絶対パス名生成部1113、単項相対パス名生成部1114および2項相対パス名生成部1115の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、新図面パス名データ1123と旧図面パス名データ1124を生成する(ステップS1204〜S1206)。
【0294】
つぎに、パス名差分検出部1110は、上記何れかのパス名表記による新図面パス名データ1123と旧図面パス名データ1124の差分をとることでパス名差分データ1125を作成する(ステップS1207)。
【0295】
図84は、絶対パス名表記による辞書順差分結果を示すものである。絶対パス名表記による辞書順差分結果によれば、パス名“図形.直線”および“図形.閉図形.円”が旧図面から削除され、パス名“図形.閉図形”、“図形.閉図形.直線”、“図形.閉図形.だ円”が新図面に追加されたことを示すパス名差分データが形成される。
【0296】
図85は、単項相対パス名表記による辞書順差分結果を示すものである。単項相対パス名表記による辞書順差分結果によれば、旧図面からは、パス名“円”が削除され、パス名“開図形{”、“だ円”が追加されたことを示すパス名差分データが形成される。
【0297】
図86は、2項相対パス名による深さ優先差分結果を示すものである。2項相対パス名による深さ優先差分結果によれば、旧図面からは、パス名“図形{直線”“閉図形{円”が削除され、新図面に対して、パス名“図形{開図形”、“開図形{直線”“閉図形{だ円”が追加されたことを示すパス名差分データが形成される。
【0298】
ツリー差分対応付け部1111は、パス名差分検出部1110で作成された上記の何れかのパス名表記によるパス名差分データ1125を図面に対応付けて差分データ記憶部1133に記憶する(ステップS1208)。
【0299】
つぎに、リンク差分検出部1116は、新図面ファイル1130と旧図面ファイル1131との集約および関連についての差分を求め、この差分データを差分データ記憶部1133に追加記憶する(ステップS1209)。
【0300】
リンク差分検出部1116では、集約に関しては、(Fromクラス名,Toクラス名)より構成されるクラス名のペアを辞書順に並べ、テキストの差分検出を行うことにより集約の差分抽出を行う。菱形の付いた方をFrom側とし、付いていない方をTo側とする。To側が複数あるときは、From、Toの複数のペアに分解する。関連に関しても、それらがつながるクラス名の辞書順の前のほうをFrom側、他方をTo側としてペアで表す。これらのペアを辞書順に並べ、テキストの差分検出を行うことにより、関連の差分を検出する。
【0301】
つぎに、シンボル差分検出部1117は、クラス名をキーにクラスの追加削除の差分を検出するとともに、新旧クラス図面のクラスの属性とメソッドの差分検出を行い、これらの差分データを差分データ記憶部1133に追加記憶する(ステップS1210)。属性に関しては、同一クラス名毎に、属性のテキストを求め、旧図面のテキストと新図面のテキストを比較することにより、属性の差分を検出する。操作についても同様にして差分を検出する。
【0302】
つぎに、追加分表示部1118および削除分表示部1119は、差分データ記憶部1133に記憶されたクラスの追加/削除に関する差分データ、クラスの属性および操作の増減、変更に関する差分データ、継承,集約,関連に関する追加/削除に関する差分データをディスプレイ1101の画面上に強調表示する。すなわち、旧図面及び新図面をディスプレイ1101の画面上に並べて表示し、旧図面上には削除された部分が他の部分とは異なる表示色をもって表示され、また新図面上には追加された部分が他の部分および旧図面の削除部分とは異なる表示色をもって表示される(ステップS1211,S1212)。
【0303】
図87に、クラス図に関する他の新旧図面を示す。図87(a)がクラス図の旧図面であり、図87(b)がクラス図の新図面である。
【0304】
上述したクラス図についての差分抽出手法を用いれば、上記図87示すクラス図の場合の差分抽出結果を次のようになる。
(a)クラス(コンポーネント)の追加削除
追加コンポーネントは、class3,削除コンポーネントはclassCである。
(b)コンポーネントの属性、操作の追加削除
追加操作はclass1の操作4、削除操作はclass1の操作2である。
(c)継承の差分抽出

Figure 0003761156
(d)関連の差分抽出
追加関連がclass1−class3と、class2−class3となる。
【0305】
このように実施の形態2において、クラス図の差分抽出を行う際には、新旧状態遷移図のクラスの継承関係に基づいてクラスの継承のツリー構造を作成し、絶対パス名による辞書順差分、単項相対パス名による辞書順差分、2項相対パス名による深さ優先差分のいずれかの方式でツリー構造を表す新旧図面のテキストを作成し、これら2つの新旧図面のテキストの差分抽出を行うことで、新旧図面のクラスの継承の差分(削除/追加)を抽出し、また新旧図面の(Fromクラス名,Toクラス名)より構成されるクラス名のペアを比較することで新旧図面の集約、関連の差分抽出を行い、さらに新旧図面のクラス名、クラスの属性、クラスのメソッドのテキスト比較を行うことで、これらクラス、クラスの属性、クラスの操作の差分抽出を行い、これにより、クラス図のセマンティックな差分抽出を行うようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【0306】
実施の形態3.
つぎに、図88〜図90に従ってこの発明の実施の形態3について説明する。この実施の形態3は、CADシステムを用いて作成されたラダー図に対して本発明を適用するものである。
【0307】
〔ラダー図〕
ラダー図は、図88(a)(b)に示すように、接点、コイルなどをマトリックス状に各行、各列に配置したものである。図88においては、(a)がラダー図の旧図面を(b)がラダー図の新図面を示している。
【0308】
この図88(a)(b)を用いてラダー図で用いる用語について説明する。“X01”〜“X14”、“M01”〜“M03”はシンボル名である。これらシンボル名の下側にある図形部分が“接点”、“コイル”などのシンボルである。“M01”などの下側にある円の図形が「コイル」シンボルで、“X01”などの下側にある図形が「接点」シンボルである。“M01”の下側にあるクロス線のある平行2本線がb接点で、“X04”などの下側にある単純な平行2本線がa接点である。左右端の垂直線は接続線としての「母線」である。母線と母線の間にシンボルが格子状に配置される。左母線、シンボル、右母線の間は「接続線」により配線される。
【0309】
図89は、接続図面としてのラダー図を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ,ワークステーションに実行させるプログラムの機能構成を示すものである。
【0310】
図89に示す装置は、入出力端末装置としてディスプレイ2101、マウスなどのポインティングデバイス2102、キーボード2103及びプリンタなどの出力装置2104を有しており、入出力インターフェース部2105を介して接続図面編集表示装置2106と図形データ、入出力指示などの信号の授受を実行する。
【0311】
接続図面編集表示装置2106は、図面情報抽出部2112、行テキスト生成部2109および項目テキスト生成部2113を動作制御する図面テキスト作成部2108と、テキスト差分検出部2110と、差分対応付け部2111と、追加分表示部2118と、削除分表示部2119とを備えている。
【0312】
図面情報抽出部2112は、図88(a)に示すようなラダー図(旧図面)の旧図面ファイル2131および図88(b)に示すようなラダー図(新図面)の新図面ファイル2130を読み出し、これらから所要の図面情報を取り出す。行テキスト生成部2109は、前記旧図面および新図面の図面情報から格子状に配置配線された図面の1行分のデータ(ラダー列)を先頭行から順に取り出し、該取り出した各行内のシンボルと配線の交差を行頭側から順に調べ、新および旧図面のそれぞれについて各行毎にテキスト表現がなされた新図面テキスト2121および旧図面テキスト2122を作成する。新図面は、新図面テキスト2121の末尾行以降に追記され、旧図面は旧図面テキスト2122の末尾行以降に追記される。
【0313】
テキスト差分検出部2110は、新図面テキスト2121と旧図面テキスト2122との差分を行毎にとることで、図面テキストの差分を検出して、差分データ2125を抽出する。テキスト差分検出部2110は、以下のルールで行変更の検出を行う。
【0314】
(A)旧テキストのi行と新テキストのk行が異なるとき、旧テキストのi行の前後と、新テキストのk行の前後がともに一致すれば、旧テキストのi行は新テキストのk行に変更されたと見なす。
(B)連続するn個の行について、上記(A)の条件が満たされるときは、この旧テキストのn個の行が、新テキストのn個の行に変更されたと見なす。
【0315】
差分対応付け部2111は、テキスト差分検出部2110によって検出された行単位の差分を図面上の差分と対応付け、これら対応付けた差分データを差分データ記憶部2133に記憶する。項目テキスト生成部2113は、旧図面と新図面との差分があった新旧図面の各行のテキストを、項目(シンボル、罫線文字で構成される分岐情報など)単位に分解した、新図面項目テキスト2123および旧図面項目テキスト2124を作成し、さらに新旧図面の各行の項目テキスト間の差分を作成し、この項目差分データを差分データ記憶部2133に項目差分として追加記憶する。
【0316】
追加分表示部2118と削除分表示部2119が差分データ記憶部2133のデータに従って差分の強調表示を行う。強調表示の手法としては、
(a)状態遷移図やクラス図と同様、旧図面及び新図面をディスプレイ2101の画面上に並べて表示し、旧図面上には削除された部分と新図面上の追加された部分の表示色を互いに異ならせる手法
(b)新図面上で、変更のあった行の下に旧図面の情報を表示する手法
(c)旧図面上で、変更のあったラダーユニットの下に新図面の情報を表示する手法
の何れかを採用する。
【0317】
つぎに、かかる接続図面編集表示装置2106によるラダー図の差分抽出表示動作を図88および図90を用いてより具体的に説明する。
【0318】
行テキスト生成部2109は、行内のシンボルと配線の交差を左から順に調べ、シンボルおよび罫線文字などの項目で構成される図面テキストを生成する。図面のシンボルに対しては、“シンボル名(シンボル区分)”で構成されるテキストを生成する。この場合、シンボル区分は、0がコイル、1がa接点、2がb接点とする。接続線は、接続線の図形パターンに対応した罫線文字━,┃,┏,┓,┛,┗,┣,┳,┫,┻,╋で表現する。図90(a)に図88(a)に対応する図面テキストを示し、図90(b)に図88(b)に対応する図面テキストを示す。
【0319】
テキスト差分検出部2110は、これら新旧図面の図面テキスト行単位の差分をdiffアルゴリズムを用いて抽出する。この差分抽出によると、
旧図面の行2が新図面の行2に変更され、
旧図面の行3が新図面の行3に変更され、
旧図面の行5が削除され、
新図面の行5,6が追加されたことが判る。
【0320】
項目テキスト生成部2113は、修正された各行に関して項目テキストを生成する。たとえば、
Figure 0003761156
となっていることが検出される。
【0321】
テキスト差分検出部2110は、項目テキスト生成部2113で生成された項目テキストを用いて項目単位の差分をdiffアルゴリズムを用いて検出する。この結果、行2の例では、X07(1)がM02(1)に変更され、M02(0)が追加され、罫線文字“┃”が罫線文字“┫”に変更されたことが検出される。
【0322】
追加分表示部2118および削除分表示部2119は、差分データ記憶部2133に記憶された行単位の差分データおよび項目単位の差分データに従って上述した何れかの方法を用いて差分部分の強調表示を行う。
【0323】
このようにこの実施の形態3によれば、ラダー図の差分抽出を行う際には、新旧ラダー図面データを“シンボル名(シンボル区分)”で構成されるシンボル情報および罫線文字で構成される分岐情報を含むテキストに夫々変換し、該変換した旧図面テキストおよび新図面テキストに対しdiffアルゴリズムを用いて行単位および項目単位の差分をとることで、行単位および項目単位の差分データを抽出し、該抽出した差分データを強調表示するようにしたので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【0324】
実施の形態4.
つぎに、図91〜図103に従ってこの発明の実施の形態4について説明する。この実施の形態4は、CADシステムを用いて作成されたフローチャート図に対して本発明を適用するものである。
【0325】
〔フローチャート図〕
フローチャート図は、処理の流れを表すための図であり、その図形要素としては、図91に示すように、(a)「処理の開始」、(b)「処理の終了」、(c)「処理のボックス」、(d)「分岐のボックス」などがある。以下に、フローチャート図の差分抽出する手法として、2つの手法を述べる。
【0326】
〈第1の手法〉
この第1の手法では、新旧のフローチャート図から簡易言語を夫々生成し、この新旧図面に対応する簡易言語をテキストライン比較することにより差分を抽出して、意味の違いを抽出できるようにしている。その結果を例えば、追加分と削除分とで色を変えて強調表示することにより、変更箇所の特定を容易に行うことができるようにしている。
【0327】
図92は、接続図面としてのフローチャート図を第1の手法をもって編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ,ワークステーションに実行させるプログラムの機能構成を示すものである。
【0328】
図92に示す装置は、入出力端末装置としてディスプレイ2301、マウスなどのポインティングデバイス2302、キーボード2303及びプリンタなどの出力装置2304を有しており、入出力インターフェース部2305を介して接続図面編集表示装置2306と図形データ、入出力指示などの信号の授受を実行する。
【0329】
接続図面編集表示装置2306は、図面情報抽出部2312および言語生成部2309を動作制御する図面/言語変換部2308と、テキスト差分検出部2310と、差分対応付け部2311と、追加分表示部2318と、削除分表示部2319とを備えている。
【0330】
図面情報抽出部2312は、図93に示すようなフローチャート図(旧図面)の旧図面ファイル2331および図94または図95に示すようなフローチャート図(新図面)の新図面ファイル2330を読み出し、これらから所要の図面情報を取り出す。図面/言語変換部2308は、言語生成部2309を用いて、前記旧図面および新図面の図面情報を(簡易)言語に変換することにより、新図面言語テキスト2321および旧図面言語テキスト2322を作成する。
【0331】
これら図面/言語変換部2308および言語生成部2309による図面/言語変換の際には、
前提条件として、ネスト構造は不可とし、
(1)処理は羅列、
Figure 0003761156
のように表現する。条件は条件ボックスの下、右、左の条件をこの順番に上から順に並べる、
(3)処理に2個以上の入力(IN)がある場合、ラベルをつけて、GOTOにてジャンプさせる、
という方式で変換を行う。
【0332】
テキスト差分検出部2310は、新図面言語テキスト2321と旧図面言語テキスト2322とを行毎にテキスト比較することで、差分データ2325を抽出し、この差分データを差分データ記憶部2333に記憶する。
【0333】
差分対応付け部2311は、言語テキストの行番号と、図面上のボックスの一意名としてのレコードキーとを対応付けた言語−レコードキー対応テーブル2326(図96参照)を作成する。また、差分対応付け部2311は、テキスト差分検出部2310で差分が抽出されると、前記言語−レコードキー対応テーブル2326を用いてレコードキーに基づいて言語テキストの差分行と、対応する図面上のボックスを求める。
【0334】
追加分表示部2318および削除分表示部2319は、差分データ記憶部2333に記憶された差分データを用いて、差分対応付け部2311で導出された差分の対応付けに従って、新旧図面の差分の強調表示を行う。強調表示の手法としては、
(a)処理(または条件)ボックスの色を追加と削除で異ならせて強調表示する
(b)雲枠を用いる(表示がモノクロのとき有効)、削除雲枠は実施の形態1と同様雲枠内にハッチングを追加する
などの何れかを採用する。
【0335】
つぎに、第1の手法によるフローチャート図の差分抽出表示動作を図93〜図100を用いてより具体的に説明する。図93(a)に接続図面としてのフローチャート図の旧図面に示し、図94(a)にその新図面▲1▼を示し、図95(a)に他の新図面▲2▼を示す。
【0336】
例えば、図93(a)に示す旧図面のフローチャート図においては、処理の開始を示す“START”ボックスのレコードキーは0であり、条件ボックスとしての“条件C”は、レコードキー3が割り付けられ、ピン1にC=X?の属性をもち、ピン2にC=Z?の属性を持ち、ピン3にC=Y?の属性を持っている。
【0337】
図面/言語変換部2308および言語生成部2309では、これら新旧フローチャート図面データを簡易言語に変換することで、新旧の言語テキストデータ2321,2322を作成する。図93(b),図94(b),図95(b)に、図面/言語変換部2308および言語生成部2309による図面/言語変換処理によって作成された当該フローチャート図に対応する言語テキストを示す。
【0338】
差分対応付け部2311は、これら作成された新旧図面の言語テキストの行番号と図面中の各ボックスに割り当てられたレコードキーとの対応テーブル2326を作成する。
【0339】
図96(a)は図93に示す旧図面の対応テーブルを示すものであり、図96(b)は図94に示す新図面▲1▼の対応テーブルを示すものであり、図96(c)は図95に示す新図面▲2▼の対応テーブルを示すものである。これらのテーブルにおいては、レコードキーは便宜上“RK”と省略して示す。
【0340】
例えば、図96(a)に示すテーブルにおいて、「L00」がレコードキー0,レコードキー1およびレコードキー3のピン3に対応し、「処理A」がレコードキー1に対応し、…、「IF(条件C=X?」がレコードキー3のピン1に対応し、…、「処理D」がレコードキー4に対応する。
【0341】
次に、テキスト差分検出部2310で、旧図面の言語テキストファイルと新図面の言語テキストファイル間で行単位のテキスト比較を行う。
【0342】
図97は、図93(b)に示す旧図面の言語テキストと図94(b)に示す新図面▲1▼の言語テキストとの差分抽出結果を模式的に示した言語テキストを示すものであり、また図98は、図93(b)に示す旧図面の言語テキストと図95(b)に示す新図面▲2▼の言語テキストとの差分抽出結果を、旧図面または新図面▲2▼の言語テキストに追加した言語テキストを示すものである。
【0343】
例えば、図98においては、旧図面テキストを基準にした場合は、第1行の「L00」が削除され、第2行の「処理A」と「処理B」の間に「L00」が追加され、第4行の「IF(条件C=X?){」と第5行の「GOTOL01」の間に「処理D」が追加され、第13行の「処理D」が削除される差分抽出結果が得られることが示されている。
【0344】
そして、これら差分抽出結果を強調表示する際には、差分対応付け部2311は、前記差分抽出により得られた差分行に対応する図面要素をレコードキーをキーにして図96に示した言語−レコードキー対応テーブル2326から求め、その情報を追加分表示部2318および削除分表示部2319に知らせる。
【0345】
追加分表示部2318および削除分表示部2319は、追加または削除部分に対応する処理(または条件)ボックスの色を追加と削除で異ならせたり、あるいは雲枠を追加するなどして、差分部分を強調表示する。図99は、図93に示す旧図面のフローチャート図と図94に示す新図面▲1▼のフローチャート図の差分抽出部分が雲枠をもって強調表示された図を示すもので、図100は図93に示す旧図面のフローチャート図と図95に示す新図面▲2▼のフローチャート図の差分抽出部分が雲枠をもって強調表示された図を示すものである。削除部分はハッチングを含む雲枠で囲まれ、追加部分は内部になにもない雲枠で囲まれている。
【0346】
このように実施の形態4の第1の手法では、新旧のフローチャート図面データを簡易言語テキストに変換し、この新旧図面に対応する簡易言語テキストをテキストライン比較することにより差分を抽出して、意味の違いを抽出できるようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【0347】
〈第2の手法〉
つぎに、図101〜図103を用いて実施の形態4の第2の手法について説明する。第1の手法では、図面データを言語に変換していたが、第2の手法では、言語ではなく、フローチャートのスタートからエンドまでのパス毎に処理を羅列し、同じと見なされるパス同士でテキストライン比較を行うようにしている。
【0348】
パスが同じとは、▲1▼条件がある場合は、条件が同じであり、かつ▲2▼スタートとエンドが同じであるとのルールを用いて判断する。テキストライン比較で、抽出された差分は、処理文とレコードキーの対応表にてどの処理ボックスまたは条件ボックスであるかを判定する。
【0349】
つぎにその処理方法の概要について述べる。
(1)パス毎にフローチャート中の処理文(処理を示す文字列、条件文など)を羅列する。すなわち、スタートからエンドまでボックス内文字列及び条件を羅列する。なお、スタート、エンドの定義は次の通りである。
Figure 0003761156
(2)分岐がある場合は、分岐毎に流れを複数のパスに分割する。OUTからINに向かうことはない。
(3)ループ処理(同じボックスに戻ったとき)はそこまでの流れとする。
(4)パス毎に新旧図面を比較する。
(5)差分をとる際には、パス毎に同じものがあるか否かを検索し、同じものがあれば、それらのパスは同じパスと見なす。同じものがない場合、テキストライン比較し、最も近いものとの差分をとる。条件文があれば、条件文が同じものを同じパスと判定する。条件文がなければ、スタート、エンドが同じものを同じパスと見なす。差分をとる際は、同じと判定されたパス毎のテキストライン比較を行う。
(6)(5)の結果である差分の表示は、処理(または条件)ボックスの色を追加と削除で異ならせて、強調表示する。強調表示する図面の対象を求めるため、フローチャート上の各ボックスに対応するレコードキーと処理文テキストの行番号との対応テーブルをパス毎に備える。なお、最後が“END”でない場合で、差分があるときは、ループでの行き先が異なると見なし、線を強調表示する。
【0350】
図101(a)に接続図面としてのフローチャート図の旧図面の一例を示し、図101(b)にこの旧図面に対応する処理文字列テキストを示す。図102(a)に接続図面としてのフローチャート図の新図面の一例を示し、図102(b)にこの新図面に対応する処理文字列テキストを示す。
【0351】
図101(a)に示す旧図面は、3つの分岐を有する条件分岐が1個あるので、3つのパスA1,A2およびA3に分割されている。また、図102(a)に示す新図面も、3つの分岐を有する条件分岐が1個あるので、3つのパスB1,B2およびB3に分割されている。
【0352】
旧図面のパスA1と新図面のパスB1とは、条件が同じでかつスタートとエンドが同じであるので、同じパスと判断される。旧図面のパスA3と新図面のパスB3とも、同様であり、同じパスと判断される。旧図面のパスA2と新図面のパスB2とは、最も近いパスであると判定され、差分比較の対象とされる。
【0353】
そして、これらのパスA1−B1,A2−B2,A3−B3毎にテキストライン比較を行った結果が、図101(b)および図102(b)の各パスの右側に示されている。
【0354】
この場合は、旧図面に関しては、パスA1では、処理Dが削除され、パスA2では、処理Aが削除され、パスA3では、処理Dが削除されている。また、新図面に関しては、パスB1では、処理Dが追加され、パスB2では、処理Dおよび処理Bが追加され、パスB3では、処理Dが追加されている。
【0355】
図103は、新旧図面の各パスA1〜A3,B1〜B3毎に設定される処理文と図面のレコードキーとの対応テーブルを示すものである。例えば、旧図面のパスA1に関しては、第2行の“処理A”がレコードキー1に対応し、第3行の“処理B”がレコードキー2に対応し、第4行の“条件C”がレコードキー3に対応し、第5行の“C=X?”がレコードキー3のピン1に対応し、第6行の“処理D”がレコードキー4に対応している。
【0356】
このようにこの実施の形態4の第2の手法では、新旧のフローチャート図面データをフローチャートのスタートからエンドまでに含まれる複数のパス毎に処理を羅列した複数の処理文テキストに変換し、同じとみなされるパス同士で、テキストライン比較することにより新旧フローチャートの差分を抽出して、意味の違いを抽出できるようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【0358】
【発明の効果】
以上説明したように、この発明によれば、電気回路図の新旧図面データに含まれる図面要素を、同電位のものが同一接続グループになるように複数の異なる接続グループに夫々グループ分けし、該グループ分けした旧図面の接続グループと新図面の接続グループとの対応付けを行い、対応する旧図面の接続グループおよび新図面の接続グループ同士間でパーツ接続点の一意比較キーを用いてパーツ接続点の差分抽出を行い、差分パーツとして抽出されたパーツに含まれるパーツ接続点と、前記パーツ接続点の差分抽出の結果、一意比較キーが不一致のパーツ接続点とを強調表示の対象として抽出し、さらに強調表示の対象として抽出されたパーツ接続点につながる接続線をトレースすることで強調表示の対象としての接続線を抽出し、これら抽出されたパーツ接続点および接続線を強調表示するようにしているので、旧図面データおよび新図面データ間で一意比較キーが一致しても異なる接続グループに属するパーツ接続点に関しても、強調表示の対象となり、これにより電気回路図における真に意味のある改定箇所を操作者が容易に確認できるようになる。
【0403】
つぎの発明にかかるプログラムによれば、上記の発明のいずれか一つに記載された方法をコンピュータに実行させるようにしたので、そのプログラムがコンピュータ読み取り可能となり、これによって、上記の発明のいずれか一つの動作をコンピュータによって実行することができるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1で用いる電気回路図面に関する用語を説明するための図である。
【図2】 この発明の実施の形態1で用いる電気回路図面に関しての接続線の接続ルールを説明するための図である。
【図3】 この発明にかかる接続図面の編集表示装置の実施の形態1の構成を示すブロック図である。
【図4】 図3の意味空間マッピング部の動作手順を示すフローチャートである。
【図5】 実施の形態1で用いる電気回路図面に関しての旧図面データを例示する図である。
【図6】 実施の形態1で用いる電気回路図面に関しての新図面データを例示する図である。
【図7】 旧図面に関するパーツ情報を示す記憶テーブル図である。
【図8】 旧図面に関する接続線情報を示す記憶テーブル図である。
【図9】 旧図面に関する属性情報を示す記憶テーブル図である。
【図10】 旧図面に関する接続点情報を示す記憶テーブル図である。
【図11】 旧図面に関する接続グループ情報を示す記憶テーブル図である。
【図12】 新図面に関するパーツ情報を示す記憶テーブル図である。
【図13】 新図面に関する接続線情報を示す記憶テーブル図である。
【図14】 新図面に関する属性情報を示す記憶テーブル図である。
【図15】 新図面に関する接続点情報を示す記憶テーブル図である。
【図16】 新図面に関する接続グループ情報を示す記憶テーブル図である。
【図17】 図3の接続グループ生成部の動作手順を示すフローチャートである。
【図18】 旧図面に関する垂直接続線のグループ分け結果を示すテーブル図である。
【図19】 旧図面に関する垂直接続線のグループ分けに水平接続線のグループ分けを追加したテーブル図である。
【図20】 旧図面に関する垂直接続線のグループ分けに水平接続線のグループ分けおよびパーツ接続点のグループ分けを追加したテーブル図である。
【図21】 図3の接続図面差分抽出部の動作手順を示すフローチャートである。
【図22】 図3のセマンティック差分抽出部の動作手順を示すフローチャートである。
【図23】 差分抽出結果が追加された旧図面に関するパーツ情報を示す記憶テーブル図である。
【図24】 差分抽出結果が追加された新図面に関するパーツ情報を示す記憶テーブル図である。
【図25】 差分抽出結果が追加された旧図面に関する属性情報を示す記憶テーブル図である。
【図26】 差分抽出結果が追加された新図面に関する属性情報を示す記憶テーブル図である。
【図27】 差分抽出結果が追加された旧図面に関する接続点情報を示す記憶テーブル図である。
【図28】 差分抽出結果が追加された新図面に関する接続点情報を示す記憶テーブル図である。
【図29】 図3の強調表示接続線抽出部の動作手順を示すフローチャートである。
【図30】 差分抽出結果が追加された旧図面に関する接続線情報を示す記憶テーブル図である。
【図31】 差分抽出結果が追加された新図面に関する接続線情報を示す記憶テーブル図である。
【図32】 図3の接続図面追加差分データ生成部の動作手順を示すフローチャートである。
【図33】 新図面に追加パーツ部分、追加図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図34】 追加部分の多角形データが拡張された状態の差分抽出図面を示す図である。
【図35】 追加部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図36】 図3のパーツ強調表示領域計算部の動作手順を示すフローチャートである。
【図37】 図3のパーツ強調表示領域計算部の動作を説明するための図である。
【図38】 図3のパーツ強調表示領域計算部の動作を説明するための図である。
【図39】 図3の近接強調表示領域合成部の動作手順を示すフローチャートである。
【図40】 図3の近接強調表示領域合成部の動作を説明するための図である。
【図41】 図3の接続図面削除差分データ生成部の動作手順を示すフローチャートである。
【図42】 新図面に削除パーツ部分、削除図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図43】 削除部分の多角形データが拡張された状態の差分抽出図面を示す図である。
【図44】 削除部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図45】 図3の接続図面変更差分データ生成部の動作手順を示すフローチャートである。
【図46】 新図面に変更パーツ部分、変更図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図47】 変更部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図48】 図3の副番情報生成部の動作を説明するための図である。
【図49】 全ての差分抽出情報が反映された差分抽出図面の実際の表示状態を示す図である。
【図50】 図3の雲枠拡大・縮小部の動作手順を示すフローチャートである。
【図51】 図3の雲枠拡大・縮小部の動作を説明するための図である。
【図52】 図3の雲枠変更部の動作手順を示すフローチャートである。
【図53】 図3の雲枠変更部の動作を説明するための図である。
【図54】 図3の見え消し線変更部の動作手順を示すフローチャートである。
【図55】 図3の見え消し線変更部の動作を説明するための図である。
【図56】 この発明の実施の形態2で用いる状態遷移図についての旧図面および新図面を例示する図である。
【図57】 ツリー構造による差分抽出を説明するための旧ツリー構造を例示する図である。
【図58】 ツリー構造による差分抽出を説明するための新ツリー構造を例示する図である。
【図59】 ツリー構造による差分抽出を説明するための新ツリー構造を例示する図である。
【図60】 図57のツリー構造の絶対パス名表記を示す図である。
【図61】 図58のツリー構造の絶対パス名表記を示す図である。
【図62】 図59のツリー構造の絶対パス名表記を示す図である。
【図63】 図57および図58に示すツリー構造の絶対パス名表記による差分テキストを示す図である。
【図64】 図57および図59に示すツリー構造の絶対パス名表記による差分テキストを示す図である。
【図65】 図57のツリー構造の単項相対パス名表記を示す図である。
【図66】 図58のツリー構造の単項相対パス名表記を示す図である。
【図67】 図59のツリー構造の単項相対パス名表記を示す図である。
【図68】 図57および図58に示すツリー構造の単項相対パス名表記による差分テキストを示す図である。
【図69】 図57および図59に示すツリー構造の単項相対パス名表記による差分テキストを示す図である。
【図70】 図57のツリー構造の2項相対パス名表記を示す図である。
【図71】 図58のツリー構造の2項相対パス名表記を示す図である。
【図72】 図59のツリー構造の2項相対パス名表記を示す図である。
【図73】 図57および図58に示すツリー構造の2項相対パス名表記による差分テキストを示す図である。
【図74】 図57および図59に示すツリー構造の2項相対パス名表記による差分テキストを示す図である。
【図75】 この発明にかかる接続図面の編集表示装置の実施の形態2の構成を示すブロック図である。
【図76】 図75の接続図面編集示装置の動作手順を示すフローチャートである。
【図77】 図56に示す状態変異図の旧新図面の状態のツリー構造を示す図である。
【図78】 図56に示す状態変異図の旧新図面の絶対パス名表記による状態の差分テキストを示す図である。
【図79】 図56に示す状態変異図の旧新図面の単項相対パス名表記による状態の差分テキストを示す図である。
【図80】 図56に示す状態変異図の旧新図面の2項相対パス名表記による状態の差分テキストを示す図である。
【図81】 図56に示す状態変異図の旧新図面の遷移の差分テキストを示す図である。
【図82】 この発明の実施の形態2で用いるオブジェクト図(クラス図)についての旧図面および新図面を例示する図である。
【図83】 図82に示すクラス図の旧新図面の遷移のツリー構造を示す図である。
【図84】 図82に示すクラス図の旧新図面の絶対パス名表記による遷移の差分テキストを示す図である。
【図85】 図82に示すクラス図の旧新図面の単項相対パス名表記による遷移の差分テキストを示す図である。
【図86】 図82に示すクラス図の旧新図面の2項相対パス名表記による遷移の差分テキストを示す図である。
【図87】 この発明の実施の形態2で用いるオブジェクト図(クラス図)についての他の旧図面および新図面を例示する図である。
【図88】 この発明の実施の形態3で用いるラダー図についての旧図面および新図面を例示する図である。
【図89】 この発明にかかる接続図面の編集表示装置の実施の形態3の構成を示すブロック図である。
【図90】 ラダー図についての旧図面テキストデータおよび新図面テキストデータを示す図である
【図91】 この発明の実施の形態4で用いるフローチャートで用いるボックス記述を例示する図である。
【図92】 この発明にかかる接続図面の編集表示装置の実施の形態4の構成を示すブロック図である。
【図93】 この発明の実施の形態4で用いるフローチャート(旧図面)およびその言語テキストを例示する図である。
【図94】 この発明の実施の形態4で用いるフローチャート(新図面▲1▼)およびその言語テキストを例示する図である。
【図95】 この発明の実施の形態4で用いるフローチャート(新図面▲2▼)およびその言語テキストを例示する図である。
【図96】 旧図面、新図面▲1▼、新図面▲2▼についての言語−レコードキー対応テーブルを示す図である。
【図97】 旧図面と新図面▲1▼のテキスト差分結果を示す図である。
【図98】 旧図面と新図面▲2▼のテキスト差分結果を示す図である。
【図99】 旧図面と新図面▲1▼のテキスト差分結果が反映されたフローチャートを示す図である。
【図100】 旧図面と新図面▲2▼のテキスト差分結果が反映されたフローチャートを示す図である。
【図101】 この発明の実施の形態4で用いるフローチャート(旧図面)およびそのパス毎の処理文列を例示する図である。
【図102】 この発明の実施の形態4で用いるフローチャート(新図面)およびそのパス毎の処理文列を例示する図である。
【図103】 テキストデータ処理文と図面のレコードキーとの対応テーブルを示す図である。
【符号の説明】
1 ディスプレイ、2 ポインティングデバイス、3 キーボード、4 出力装置、5 入出力インターフェース部、6 接続図面編集表示装置、7 意味空間マッピング部、8 接続図面差分抽出部、9 接続図面差分データ生成部、10 副番情報生成部、11 差分情報反映部、12 強調表示データカスタマイズ部、13 接続グループ生成部、14 パーツ差分抽出部、15 属性差分抽出部、16 セマンティック差分抽出部、17 接続図面追加差分データ生成部、18 接続図面削除差分データ生成部、19 接続図面変更差分データ生成部、20 雲枠拡大・縮小部、21 雲枠変形部、22 見え消し線変更部、23強調表示接続線抽出部、24 パーツ強調表示領域計算部、25 近接強調表示領域合成部、26 雲枠生成部、27 ハッチング生成部、28 変更文字表記変更部、29 展開情報記憶部、30 新図面ファイル、31 旧図面ファイル、32 差分データ記憶部、33 強調表示データファイル、1101 ディスプレイ、1102 ポインティングデバイス、1103 キーボード、1104 出力装置、1105 入出力インターフェース部、1106 接続図面編集表示装置、1106 接続図面編集表示装置、1107 ツリー差分検出部、1108 ツリー構造作成部、1109 パス名生成部、1110 パス名差分検出部、1111 ツリー差分対応付け部、1112 図面情報抽出部、1113絶対パス名生成部、1114 単項相対パス名生成部、1115 2項相対パス名生成部、1116 リンク差分検出部、1117 シンボル差分検出部、1118 追加分表示部、1119 削除分表示部、1121 新図面ツリー構造ファイル、1122 旧図面ツリー構造ファイル、1123 新図面パス名データ、1124 旧図面パス名データ、1125 パス名差分データ、1130 新図面ファイル、1131 旧図面ファイル、1133 差分データ記憶部、2101 ディスプレイ、2102 ポインティングデバイス、2103 キーボード、2104 出力装置、2105 入出力インターフェース部、2106 接続図面編集表示装置、2109 行テキスト生成部、2110 テキスト差分検出部、2111 差分対応付け部、2113 項目テキスト生成部、2118追加分表示部、2119 削除分表示部、2121 新図面テキスト、2122 旧図面テキスト、2123 新図面項目テキスト、2124 旧図面項目テキスト、2125 差分データ、2130 新図面ファイル、2131 旧図面ファイル、2133 差分データ記憶部、2301 ディスプレイ、2302 ポインティングデバイス、2303 キーボード、2304 出力装置、2305 入出力インターフェース部、2306 接続図面編集表示装置、2308 図面/言語変換部 2309 言語生成部、2310 テキスト差分検出部、2311 差分対応付け部、2318 追加分表示部、2319 削除分表示部、2321 新図面言語テキスト、2322 旧図面言語テキスト、2325 差分データ、2326 処理文−レコードキー対応テーブル、2330 新図面ファイル、2331 旧図面ファイル、2333 差分データ記憶部。[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a connection drawing editing / displaying device such as a CAD drawing or a software design model diagram. In particular, in drawing design by a CAD system or a software design system, semantic difference extraction part extraction is performed and the result is highlighted. Editing and display device for connected drawings,How it worksAnd a program for causing a computer to execute the method.
[0002]
[Prior art]
In recent years, when designing electronic / electrical circuits, it has become common to create circuit diagrams, ladder diagrams, flowcharts, etc. using a CAD system. In addition, it is common to create a design model (state transition diagram), object diagram (class diagram), etc. at the time of software design with a drawing editor as well (hereinafter circuit diagram, ladder diagram, flowchart, model diagram). , Including object diagrams, called "connection drawings"). Revisions to newly created connection drawings at the time of design are frequently made on a daily basis, but usually the revision history is kept. And the revised part was confirmed as follows.
[0003]
First, revision information, such as changes to connection drawings, is managed by writing a cloud frame on a drawing output on paper and writing a note, or writing it in the revision column provided on the drawing. As for the revised parts in each connection drawing, the drawings before and after the revision were displayed on different screens or printed out, and the specific changed parts were visually confirmed by comparing them.
[0004]
In addition, with the development of the CAD system, the coordinates of the symbols on the drawings before and after the revision and the position information of the character strings are compared with each other, the difference is obtained, and changes, deletions, and additions are distinguished and automatically displayed. It was.
[0005]
Further, when the drawing is revised, the latest drawing is compared with the drawing currently being revised, and when there is a mismatch, the drawing information of the mismatched portion is converted into the change history command information and stored together with the version. Then, when reading a drawing, drawing information for each version is automatically generated in a separate layer based on the version and change history command information, and the revision point is confirmed by changing the display color of each layer.
[0006]
[Problems to be solved by the invention]
However, in the method of grasping the revised part by comparing the drawings before and after the revision, the changed part is not extracted. Therefore, the actual revised part is overlooked and it is not easy to confirm the changed part without error.
[0007]
Moreover, the method of comparing the positional information such as the coordinates of the symbols on the drawing to obtain the difference has a problem that it is recognized as a difference even when the symbol position is simply moved in order to improve the appearance. there were.
[0008]
Also, in the method of comparing the latest drawing with the drawing that is being revised and extracting the drawing information of the mismatched part and saving it together with the version, just moving the symbol display position is recognized as a difference as described above. In addition, after many revisions, there is a problem that it is not easy to confirm the revised part.
[0009]
  The present invention has been made in view of the above, and it is possible to surely reflect a designer's intention and easily check a meaningful revision location of a connection drawing, such as a mere change of a symbol display position is not regarded as a revision. Connection display editing and display device,How it worksAnd a program for causing a computer to execute the method.
[0010]
[Means for Solving the Problems]
  In order to achieve the above object, a connection drawing edit display device according to the invention of claim 1 is a semantic differential display function of an electric circuit diagram having drawing elements including parts, part connection points, and connection lines created by a CAD system. A connection drawing editing and display device having a plurality of different connection points and connection lines included in the old drawing data and new drawing data of the electric circuit diagram so that the same potentials are in the same connection group. Grouping means for grouping into connection groups, and included in old drawing dataPart fixture number as part unique comparison keyAnd included in new drawing dataPart fixture number as part unique comparison keyThe difference difference extraction means for extracting the difference part to be highlighted based on the comparison with the connection group of the old drawing grouped to the connection group of the new drawing and the connection of the corresponding old drawing Part connection points are extracted using a unique comparison key of part connection points between the connection groups of the group and the new drawing, and the part connection points included in the parts extracted as difference parts by the part difference extraction means, As a result of the difference extraction of the part connection points, part connection point difference extraction means for extracting the part connection points whose unique comparison keys do not match as highlight targets, and the part connection extracted by the part connection point difference extraction means A connection line difference extracting means for extracting a connection line as an object to be highlighted by tracing a connection line connected to a point; And a highlight display means for highlighting the parts extracted by the difference extraction means, the part connection points extracted by the part connection point difference extraction means, and the connection lines extracted by the connection line difference extraction means, Even if the unique comparison key matches between the data and the new drawing data, parts connection points belonging to different connection groups are also highlighted.
[0011]
  In the invention of claim 13, a grouping means, a part difference extracting means, a part connecting point difference extracting means, a connecting line difference extracting means and a highlighting means are provided, and the parts, part connecting points and connecting lines created by the CAD system are displayed. An operation method of a connected drawing editing / displaying device having a semantic differential display function of an electric circuit diagram having a drawing element including the grouping means is included in the old drawing data and the new drawing data of the electric circuit diagram The first step of grouping the part connection points and connection lines into a plurality of different connection groups so that the same potentials are in the same connection group, and the part difference extraction means are included in the old drawing dataPart fixture number as part unique comparison keyAnd included in new drawing dataPart fixture number as part unique comparison keyA second step of extracting a difference part to be highlighted on the basis of the comparison, and the part connection point difference extraction means associates the grouped old drawing connection group with the new drawing connection group. To extract the difference of the part connection point between the connection group of the corresponding old drawing and the connection group of the new drawing using the unique comparison key of the part connection point, and to the part extracted as the difference part in the second step A third step of extracting, as a highlight target, part connection points that are included, and part connection points that do not match the unique comparison key as a result of the difference extraction of the part connection points; and the connection line difference extraction means includes: The connection line as the highlight target is extracted by tracing the connection line connected to the part connection point extracted as the highlight target in three steps. And a fifth step of highlighting the parts extracted in the second step, the part connection points extracted in the third step, and the connection lines extracted in the fourth step, Part connection points belonging to different connection groups even if the unique comparison keys match between the drawing data are also highlighted.
[0102]
A program according to the next invention is a program for causing a computer to execute the method described in any one of the above inventions, and the program can be read by a computer, whereby the operation according to any one of the above inventions is performed. Can be executed by a computer.
[0103]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of a connection drawing edit display device according to the present invention will be explained below in detail with reference to the accompanying drawings.
[0104]
Embodiment 1.
In the first embodiment, the present invention is applied to a sequence diagram (for example, an electric circuit diagram) created using a CAD system.
[0105]
First, terms used in the electric circuit diagram will be described with reference to FIG. “Parts” refer to symbols used in electrical circuit diagrams such as resistors, capacitors, and transistors as shown in FIG.
[0106]
The “part pin” is also referred to as a “connection point”, and is a point at which a part can be connected to a connection line described later. In FIG.1 (b), the x mark shown at the both ends of parts is a pin of parts.
[0107]
A “segment area” of a part is a minimum rectangular area including a figure (part). In FIG. 1C, the inside of the part surrounded by a broken line is a segment area.
[0108]
The “connection line” is a line connecting the pins of the parts. There is also a connection line that connects the connection lines.
[0109]
“Attribute” indicates a character string in a CAD drawing. “Attribute” includes “part attribute” for explaining the type of part, “pin attribute” for explaining the function of the pin, and “drawing attribute” for explaining the entire CAD drawing.
[0110]
Next, a connection line connection method, that is, a connection line rule that is permitted in creating a CAD drawing will be described with reference to FIG. In FIG. 2, (a) and (b), (c) and (d), (e) and (f) are each paired, (b), (d) and (f) shown on the right side. Indicates the correct connection method.
[0111]
First, the connection line i is represented by end points A and B as one connection line as shown in FIG. As shown in FIG. 2A, the three points A, B, and C are not used to indicate one connection line i, and the line segment between the end point A and the point C and the line segment between the point C and the end point B are not used. .
[0112]
When the connection line j is connected to the horizontal connection line i at a connection intersection (represented by x or · in the drawing), the horizontal connection line i is represented by only the end point D and the end point E as shown in FIG. I won't do that. As shown in FIG. 2D, the horizontal connection line i is represented by two connection lines, a connection line represented by the end point D and the end point F and a connection line represented by the end point F and the end point E.
[0113]
When connecting parts to the horizontal connection line i, the horizontal connection line i is not represented by the end point G and the end point H as shown in FIG. As shown in FIG. 2F, the horizontal connection line i is represented by two connection lines, a connection line represented by the end point G and the end point I and a connection line represented by the end point I and the end point H.
[0114]
FIG. 3 is a block diagram showing an example of a connection drawing edit display device for editing and displaying an electric circuit drawing as a connection drawing. This connection drawing edit / display apparatus shows a functional configuration of a program to be executed by a personal computer or a workstation.
[0115]
The apparatus shown in FIG. 3 has a display 1, a pointing device 2 such as a mouse, a keyboard 3 and an output device 4 such as a printer as input / output terminal devices. The apparatus 6 exchanges signals such as graphic data and input / output instructions.
[0116]
The semantic space mapping unit 7 reads the new drawing file 30 and the old drawing file 31 of the connection drawing, expands the read new drawing file 30 and the old drawing file 31, and parts information, connection line information, and attribute information of the old and new drawings. The part connection point information is obtained, and the obtained part information, connection line information, attribute information, and part connection point information of the old and new drawings are stored in the development information storage unit 29. In addition, the semantic space mapping unit 7 uses the connection group generation unit 13 to classify nets composed of connection lines and connection points of parts into nets of the same potential, and map the nets of the same potential as the same connection group. The grouping process of connection lines and connection points (pins) of parts is executed. The grouped results are stored in the development information storage unit 29.
[0117]
  The connected drawing difference extraction unit 8 executes processing for extracting a difference between new drawing data and old drawing data stored in the development information storage unit 29 by the semantic space mapping unit 7. The connection drawing difference extraction unit 8 causes the part difference extraction unit 14 to execute part addition, deletion, and change part extraction processing, and uses the attribute difference extraction unit 15 to perform attribute addition, deletion, and change part extraction processing. Then, the semantic difference extraction unit 16 is used to execute addition, deletion, and change part extraction processing for each connection group (net) based on comparison of corresponding connection groups (nets) in the old and new drawings. Then, these extraction results are output to the difference data storage unit 32 and stored. At that time, in the highlighted connection line extraction unit 23, the line and attribute (part attribute, pin attribute) from the connection line connected to the pin of the addition / deletion part to the branch point or the end point of the line or the pin of the part are changed. Part, pin number, character string, etc. are extracted as highlight targets.The connection drawing difference extraction unit 8 and the part difference extraction unit 14 correspond to the part difference extraction means described in the claims, and the connection drawing difference extraction unit 8 and the semantic difference extraction unit 16 refer to the claims. Corresponding to the part connection point difference extraction means, the connection drawing difference extraction section 8 and the highlighted connection line extraction section 23 correspond to the connection line difference extraction means described in the claims.
[0118]
The connection drawing difference data generation unit 9 is stored in the difference data storage unit 32 by controlling the connection drawing addition difference data generation unit 17, the connection drawing deletion difference data generation unit 18, and the connection drawing change difference data generation unit 19. Based on the difference data, text display highlighting data indicating the difference between the old drawing and the new drawing is generated, and the generated highlighting data is stored in the highlighting data file 33. The connection drawing addition difference data generation unit 17 generates differences such as “added” parts, connection lines, and drawing attributes, and the connection drawing deletion difference data generation unit 18 performs “deletion” parts and connections. Differences such as lines and drawing attributes are generated, and the connection drawing change difference data generation unit 19 generates differences such as “changed” parts, connection lines, and drawing attributes.
[0119]
The connection drawing additional difference data generation unit 17 uses the part highlight display region calculation unit 24 to support a polygon obtained by combining the segment region of the additional part and the segment region of the part attribute (character), and the segment region of the drawing attribute to be added. And a polygon surrounding the additional group part (connection line whose connection has been changed, details will be described later). In addition, the connection drawing additional difference data generation unit 17 uses the proximity emphasis display region combining unit 25 to combine the extracted polygon indicating the part region and the adjacent segment region of the connection line as one polygon. To do. Further, when the proximity highlighting display area composition unit 25 is configured by a plurality of connection lines to which the additional group parts are connected, the proximity emphasis display area composition unit 25 synthesizes one polygon that surrounds them. Further, the connection drawing additional difference data generation unit 17 uses the cloud frame generation unit 26 to generate cloud frame data around the synthesized polygon.
[0120]
The connected drawing deletion difference data generation unit 18 uses the part highlight display area calculation unit 24 to combine the segment area of the deleted part and the segment area of the part attribute, and the polygon corresponding to the segment area of the drawing attribute to be deleted. A polygon that encloses (usually a rectangle) and a deletion group part (details will be described later) is obtained. Further, the connection drawing deletion difference data generation unit 18 uses the proximity emphasis display area synthesis unit 25 to convert the polygon indicating the extracted part area and the adjacent one in the segment area of the connection line into one polygon. To synthesize. Further, in the case where the proximity emphasis display area composition unit 25 includes a plurality of connection lines to which the deletion group parts are connected, the proximity highlight display area composition unit 25 synthesizes one polygon that surrounds them. Further, the connection drawing deletion difference data generation unit 18 uses the cloud frame generation unit 26 to generate cloud frame data around the synthesized polygon. Further, the connection drawing deletion difference data generation unit 18 generates hatching data to be displayed inside the cloud frame using the hatching generation unit 27 and deletes drawing attributes (character strings) using the changed character notation change unit 28. In the case of, generate a strikethrough on the deleted character.
[0121]
The connection drawing change difference data generation unit 19 uses the part highlight display area calculation unit 24 to obtain a polygon obtained by combining the segment area of the changed part and the segment area of the part attribute when there is a changed part. If there is only a change, the segment area of this changed part attribute is obtained. Further, the connection drawing change difference data generation unit 19 generates cloud frame data around the derived polygon using the cloud frame generation unit 26. In addition, the connection drawing change difference data generation unit 19 generates the character string data before the change by using the changed character notation change unit 28 in the case of the change of the character string, and puts an invisible line on the character. Generate.
[0122]
The sub-number information generation unit 10 automatically updates the sub-number column if there is a difference between the results of comparing the old and new drawings. The difference information reflection unit 11 reads the highlight data file 33 composed of a figure addition command, and additionally writes the contents in a new drawing. That is, the difference between the old and new drawings is displayed on the display 1 as highlighted display data.
[0123]
In the highlight data customization unit 12, the cloud frame enlargement / reduction unit 20, the cloud frame deformation unit 21, and the disappearance line change unit 22 are used to control the operation of the cloud frame to enlarge, reduce, deform, and disappear. Deform the shape of the line.
[0124]
In the configuration shown in FIG. 3, the characteristic feature is that in the connection drawing such as an electric circuit diagram in which it is not possible to determine where the start is and there are many branches, there is a rule that the same potential is set to the same connection group (same net). By dividing the drawing elements into groups and comparing the corresponding groups, it is possible to extract differences only for meaningful differences without detecting differences in symbol position movement for the purpose of visual adjustment. is there. Moreover, since the difference location is displayed in a cloud frame, the difference location can be easily identified.
[0125]
[Semantic space mapping]
Next, the function of each component shown in FIG. 3 will be described in more detail. First, an outline of functions provided by the semantic space mapping unit 7 and the connection group generation unit 13 will be described.
[0126]
FIG. 4 is a flowchart showing an outline of processing performed in the semantic space mapping unit 7 and the connection group generation unit 13, and FIG. 5 is a schematic diagram of the data structure of the electric circuit diagram of the old drawing. Is a schematic drawing of the data structure of the electric circuit diagram of the new drawing. 7 to 11 illustrate the mapping results of the old drawing to the semantic space, and FIGS. 12 to 16 illustrate the mapping results of the new drawing to the semantic space. 5 and 6 are schematic diagrams of the data structure of the electric circuit diagram, and part identifiers such as OPA, OPB, NPD, and NPE surrounded by a square frame, and OHA, OHB, NVA, NVD, and the like. The connection line identifier is not displayed or hard-copied in the actual drawing.
[0127]
When the user executes the process by the connected drawing edit display device 6 with the drawing as shown in FIG. 6 as the new drawing file 30 and the drawing as shown in FIG. 5 as the old drawing file 31, first, the semantic space mapping is performed. The unit 7 reads the drawing data shown in FIG. 5 from the old drawing file 31, expands these into part information, connection line information, attribute information, and part connection point information, and expands these part information, connection line information, and attributes. Information and part connection point information are stored in the development information storage unit 29 (step S1 in FIG. 4). 7 shows part information of the old drawing file 31 (FIG. 5), FIG. 8 shows its connection line information, FIG. 9 shows its attribute information, and FIG. 10 shows its part connection point information.
[0128]
The part information includes information about parts, and as shown in FIG. 7, it is composed of part identifiers such as “OPA” and “OPI”, unique names, reference points, layers, number of connection points, colors, symbol information, etc. Has been. The reference point is a reference coordinate for representing the coordinates of each part in relative coordinates. The layer number in which the part is drawn is entered in the layer.
[0129]
The connection line information includes information related to the connection line. As shown in FIG. 8, connection line identifiers such as “OHA” and “OVA”, coordinates X1, coordinates Y1, coordinates X2, coordinates Y2, and layers are used. It is configured. Using the coordinate information of each connection line, grouping is performed with the same potential as the same connection group.
[0130]
The attribute information indicates a character string in the CAD drawing. As shown in FIG. 9, identifiers such as “OA1”, “OG1”, “OG2”, “ZA1”, parts, reference points, types, pins It consists of numbers and values. Each pin number 1 and 2 of the part has a pin attribute of “1”, “2”, “13”, “14”, respectively. In this case, “old comment”, “modify”, “fixed”, and “delete” exist as drawing attributes, and “a1”, “a2”, “a3”, “a4” exist as line number attributes. "," V1 "," v2 "," v11 "," v12 "exist. The type of attribute information includes an instrument number, a terminal number, a type, a macro name, and the like. For example, focusing on the part of the identifier “OPH”, the value DDD of the instrument number, the value 13 of the terminal number 1, and the value 14 of the terminal number 2 are actually displayed in the old drawing. The type of part of the identifier “OPH” and the value of the macro name are coils. Further, as will be described later, the values v1, v2,..., A3, a4 actually displayed on the old drawing are set in the fields of identifiers OG1 to OG9 constituting one net. In the fields of identifiers ZA1, ZA2, ZA3, and ZA4 as drawing attributes, values “old comment”, “modify”, “fixed”, and “deleted” actually displayed on the old drawing are set. Yes.
[0131]
The connection point information includes information related to part connection points, and includes an identifier, a unique key, a pin number, coordinates, and the like as shown in FIG. In this coordinate column, a relative coordinate value from the reference point set in the part information of FIG. 7 or the attribute information of FIG. 9 is entered. In this case, the unique key is formed by combining the instrument number and type of the attribute information. According to FIG. 10, for example, the part with the identifier “OPA” has the unique key “AAA, a contact”, the part connection point with the pin number “1”, and the unique key “AAA, a contact”. It has a part connection point whose pin number is “2”.
[0132]
Next, the connection group generation unit 13 generates a plurality of connection groups having the same potential as the same group using the part information, connection line information, attribute information, and part connection point information regarding the developed old drawing. (Step S2 in FIG. 4). FIG. 11 shows a plurality of divided connection groups for the old drawing shown in FIG. This grouping will be described in detail later.
[0133]
Next, the semantic space mapping unit 7 reads the drawing data shown in FIG. 6 from the new drawing file 30, expands these into part information, connection line information, attribute information, and part connection point information. The part information, connection line information, attribute information, and part connection point information are stored in the development information storage unit 29 (step S3 in FIG. 4). 12 shows part information of the new drawing file 30 (FIG. 6), FIG. 13 shows its connection line information, FIG. 14 shows its attribute information, and FIG. 15 shows its part connection point information. In particular, regarding the new drawing attribute information shown in FIG. 14, the values v1, v2,..., A3, a4 actually displayed on the old drawing are displayed in the fields of identifiers NG1 to NG8 constituting the net of one new drawing. Is set. In the fields of identifiers ZA1, ZA2, ZA3, and ZA5 as drawing attributes, values “new comment”, “change”, “fixed”, and “added” actually displayed on the old drawing are set. Yes.
[0134]
Next, the connection group generation unit 13 generates a plurality of connection groups having the same potential as the same group using the part information, connection line information, attribute information, and part connection point information regarding the developed new drawing. (Step S4 in FIG. 4). FIG. 16 shows a plurality of divided connection groups for the new drawing shown in FIG.
[0135]
Next, the connection group dividing procedure performed by the connection group generation unit 13 will be described in more detail based on the flowchart shown in FIG. In this case, a case where a connection group of the electric circuit diagram of the old drawing shown in FIG. 5 is created will be described as an example.
[0136]
First, the connection group generation unit 13 uses the coordinate information of each connection line included in the connection line information (FIG. 8) of the old drawing stored in the development information storage unit 29 to perform vertical connection extending in the vertical direction from the circuit diagram. Lines are extracted, and the plurality of extracted connection lines are divided into a plurality of connection groups as shown in FIG. 18 (step S11 in FIG. 17). At this stage, by using the coordinate information of the connection line information (FIG. 8), etc., a single vertical line (may be composed of a plurality of connection lines) extending in the vertical direction without passing through parts such as resistors, capacitors, and switches. , For example, OVG and OVH) are divided into a plurality of connection groups so that one group includes them. In the example of the circuit diagram shown in FIG. 5, as shown in FIG. 18, 19 groups that are not linked to each other are formed. That is, the condition that the coordinates of the end points of each vertical connection line are the same for the plurality of vertical connection lines included in the connection line information (FIG. 8) of the old drawing (in reality, both end points are predetermined in consideration of errors). The two end points coincide with each other when the distance is within a distance, and a straight line composed of a plurality of vertical connection lines (for example, OVG and OVH) is formed, and the vertical connection included in the single line Make lines in the same group.
[0137]
Next, in the same manner as described above, the connection group generation unit 13 uses the coordinate information of each connection line included in the connection line information (FIG. 8) to generate one horizontal line that extends in the horizontal direction without passing through parts. (It may be composed of a plurality of connection lines, for example, OVG, OVB, OVC, OVD, OVE) Dividing a plurality of horizontal connection lines into a plurality of connection groups so as to be included in one group, and these divided horizontal connections By combining the connection group of the line and the connection group of the vertical connection line previously divided on the condition that the coordinates of the end points of each connection line match, one or more extending in the horizontal and vertical directions without passing through the parts A plurality of connection line groups made of connection lines are formed (step S12 in FIG. 17).
[0138]
In the case of the circuit diagram shown in FIG. 5, for example, the horizontal connection lines OHA to OHF and the vertical connection lines OVA to OVE have the same coordinates at five connection points without passing through parts. The connection lines OHA to OHF and the vertical connection lines OVA to OVE are combined as the same connection group as shown in FIG. Similarly, as shown in FIG. 19, the vertical connection lines OVF to OVH and the horizontal connection line OHG are combined to form the same connection group, and the vertical connection lines OVI are combined to form the same connection group. The lines OVJ are combined to form the same connection group, the vertical connection lines OVK are combined to form the same connection group, and the vertical connection lines OVL to OVO and the horizontal connection lines OHH to OHL are combined to form the same connection group. The vertical connection lines OVP and OVQ and the horizontal connection lines OHM to OHO are combined to form the same connection group, and the vertical connection lines OVR and OVS and the horizontal connection line OHP are combined to form the same connection group and are connected vertically. The lines OVU and the horizontal connection lines OHQ, OHR are combined to form the same connection group.
[0139]
Next, the connection group generation unit 13 adds an oblique connection line to each of the divided and combined groups in the same manner as described above (step S13 in FIG. 17). In the case of the circuit diagram of FIG. 5, since there is no corresponding connection line, the description thereof is omitted.
[0140]
Next, the connection group generation unit 13 compares the coordinates of the connection points of each part included in the old drawing connection point information shown in FIG. The connection line to which the connection point is connected is identified. Then, based on this identification result, the connection points of the parts included in the old drawing connection point information shown in FIG. 10 are added to the above groups, as shown in FIG. 20 (substantially the same as FIG. 11). A plurality of equipotential connection groups (nets) composed of connection lines and connection points of parts are formed (step S14 in FIG. 17). Here, the connection points of the parts are added with values composed of a part identifier and a connection point number (pin number). For example, in FIG. 20, since the pin number of the attribute “2” of the part identifier “OPA” is “2” according to the attribute information shown in FIG. 9, it is added as “OPA, 2” as shown in FIG. . In this way, connection grouping with the same potential is completed.
[0141]
One connection group (net) divided in this way is a combination of connection lines and parts connection points that do not include parts such as capacitors, resistors, and switches. The potential becomes the same potential. In this way, connection grouping in which connection lines having the same potential are included in the same connection group is performed.
[0142]
In addition, as shown in FIGS. 9, 11, 14, and 16, these new and old connection groups include identifiers “OG1”,... “NG1”,. a1, a2,..., v11, v12 are set.
[0143]
Then, the old new drawing part information (FIGS. 7 and 12), the old new drawing connection line information (FIGS. 8 and 13), and the old new drawing attribute information formed by the semantic space mapping unit 7 and the connection group generation unit 13. (FIGS. 9 and 14), old and new drawing connection point information (FIGS. 10 and 15) and old and new drawing connection group information (FIGS. 11 and 16) are stored in the development information storage unit 29.
[0144]
[Connected drawing difference extraction]
Next, a connection drawing difference extraction operation performed by the connection drawing difference extraction unit 8, the part difference extraction unit 14, the attribute difference extraction unit 15, and the semantic difference extraction unit 16 will be described.
[0145]
FIG. 21 is a flowchart showing a processing procedure performed by the connection drawing difference extraction unit 8, the part difference extraction unit 14, the attribute difference extraction unit 15, and the semantic difference extraction unit 16, and FIG. 22 particularly shows the semantic difference extraction unit 16. It is the flowchart which showed the processing procedure performed in detail. 23 shows old drawing part information, FIG. 24 shows new drawing part information, FIG. 25 shows old drawing attribute information, FIG. 26 shows new drawing attribute information, FIG. 27 shows old drawing connection point information, FIG. Indicates new drawing connection point information, and difference extraction information such as “addition”, “deletion”, and “change” as a difference extraction result between the old and new drawings is set in the status column of each information.
[0146]
The connected drawing difference extraction unit 8 first reads out the old drawing attribute information (FIG. 9) and the new drawing attribute information (FIG. 14) from the development information storage unit 29. Then, by controlling the operation of the part difference extraction unit 14, a unique key of the part of the old drawing for new and old comparison is obtained based on the old drawing attribute information (FIG. 9), and the new drawing attribute information (FIG. 14) is obtained. Based on this, the unique key of the part of the new drawing for new and old comparison is obtained (step S21 in FIG. 21). In this case, a unique key (comparison key) of parts for new and old comparison is formed from the appliance number and part type of the part of the attribute information.
[0147]
FIG. 23 shows part information of an old drawing to which unique key information and difference extraction information (deletion, change, etc.) are added, and FIG. 24 shows a new drawing to which unique key and difference extraction information (addition, change, etc.) is added. Part information is shown.
[0148]
Then, the part difference extraction unit 14 compares the part information of the old and new drawings using the unique key of each part to obtain a part that becomes a difference (step S22 in FIG. 21). As a result of this unique key comparison, a part that exists only in the old drawing and does not exist in the new drawing is “deleted part”, and a part that exists only in the new drawing and does not exist in the old drawing is “additional part”. In this example, the deleted part is an identifier “OPA” having a unique key (AAA, a contact) included in the old drawing part information of FIG. 23, and the additional part is included in the new drawing part information of FIG. It is an identifier “NPE” having a unique key (FFF, Ta contact).
[0149]
Next, the connection drawing difference extraction unit 8 controls the operation of the attribute difference extraction unit 15 to compare the part attributes of the parts existing in both the new and old (step S23 in FIG. 21). FIG. 25 shows the attribute information of the old drawing to which the status column, that is, difference extraction information (deletion, change, etc.) is added, and FIG. 26 shows the part information of the new drawing to which difference extraction information (deletion, change, etc.) is added. Show. In this case, in the comparison of part attributes for both the old and new parts, the part is changed only when the part macro name attribute is different, and the part attribute that exists in the old drawing but does not exist in the new drawing Is “deletion” of the part attribute, and part attribute that exists only in the new drawing and does not exist in the old drawing is “addition” of the part attribute. The part attribute whose value has been changed is “changed” in the part attribute.
[0150]
Here, the macro name represents the part type itself, such as coil, contact, resistance, etc., as with the part type. If the macro name is different, the part with the different macro name is designated as “changed part”. 23 and the old / new part information status field shown in FIG. 24, and like the “added part” and “deleted part”, the entire part is highlighted.
[0151]
In addition, when adding, deleting, or changing the pin number value other than the macro name, for example, this is not done by adding, deleting, or changing the part attribute itself. Only part attribute parts that have been added, deleted, or changed are highlighted.
[0152]
In this example, as can be seen by comparing the old drawing attribute information shown in FIG. 9 and the new drawing attribute information shown in FIG. 14, the identifier name “OPE (EEE, Ta contact)” of the old drawing and the identifier name “of the new drawing” “NPD (EEE, Ta contact)” is a “changed part” because the unique key name matches, but the macro name is different. Therefore, “change” is added to the “OPE” status column of the old drawing parts information shown in FIG. 23, and “change” is added to the “NPD” status column of the new drawing parts information shown in FIG. The Further, according to comparison between the old drawing attribute information shown in FIG. 9 and the new drawing attribute information shown in FIG. 14, the identifier name “OPB (BBB, a contact)” of the old drawing and the identifier name “NPA (BBB) of the new drawing. , A contact) ”, but the unique key name matches, but the terminal number value of the pin number“ 2 ”is“ 2 ”for“ OPB ”and“ 4 ”for“ NPA ”. "Part attribute" is changed. Therefore, “change” is added to the status column of “OPB” pin number 2 in the old drawing attribute information shown in FIG. 25, and the “NPA” pin number 2 status column in the new drawing attribute information shown in FIG. “Change” is added to.
[0153]
In step S23, the attribute that is regarded as a part change is a macro name, but the part attribute that is regarded as a part change can be arbitrarily defined by defining a part attribute that is regarded as a part change in a file and customizing it appropriately. It is also possible to set.
[0154]
Next, the connected drawing difference extraction unit 8 operates the attribute difference extraction unit 15 to compare the old drawing attribute information shown in FIG. 9 with the new drawing attribute information shown in FIG. A drawing attribute is obtained (step S24 in FIG. 21). In this case, as shown in FIG. 9, the drawing attributes of the old drawing are “old comment”, “modify”, “fixed”, and “deletion” of the identifiers ZA1 to ZA4. As shown in FIG. 14, identifiers ZA1 to ZA3 and ZA5 are “new comment”, “change”, “fixed”, and “added”. Since the drawing attribute does not have a meaningful unique name, the comparison is performed based on the keys (identifiers: ZA1, ZA2, ZA3, ZA4, ZA5) assigned by the CAD system. In other words, in this case, with respect to the drawing attributes of the old and new drawings with the same numbering, whether or not the drawing attributes are changed is determined by comparing the values. For the drawing attribute for which there is no corresponding numbered key, the drawing attribute is “deleted” for the old drawing, and the drawing attribute is “added” for the new drawing. In this example, since there is no comment at the coordinate position of the new drawing corresponding to the key “ZA4” assigned the comment “deletion” of the old drawing, “deletion” is added to the comment “deletion” of the old drawing. Difference extraction information is set (see FIG. 25). In addition, since there is no comment at the coordinate position of the old drawing corresponding to the key “ZA5” assigned the comment “add” of the new drawing, the difference extraction of “add” is extracted from the comment “add” of the new drawing. Information is set (see FIG. 26). The old drawing comment “old comment”, the new drawing comment “new comment”, the old drawing comment “modify”, and the new drawing comment “change” correspond to the numbered keys. Are different from each other, the difference extraction information of “change” is set for each of these comments (see FIGS. 25 and 26).
[0155]
Next, the connection drawing difference extraction unit 8 controls the semantic difference extraction unit 16 to compare corresponding connection groups in the old and new drawings to extract a semantic difference (step S25 in FIG. 21). This semantic difference will be described in detail according to the flowchart of FIG.
[0156]
First, the semantic difference extraction unit 16 uses the new drawing connection group information (FIG. 16) stored in the development information storage unit 29 to connect a new drawing connection group having at least one invariant part (part that is not added or deleted). Each is assigned a group number (step S31 in FIG. 22). In this case, since all nine connection groups have at least one invariant part in the new drawing, group numbers are set for all connection groups. That is, as shown in FIG. 28, nine group numbers “1001” to “1009” are set for nine connection groups, respectively.
[0157]
Subsequently, the semantic difference extraction unit 16 uses the old drawing connection group information (FIG. 11) stored in the development information storage unit 29 to connect the old drawing having at least one invariant part (part that is not added or deleted). A group number is assigned to each group (step S32 in FIG. 22). In this case, since all nine connection groups have at least one invariant part in the old drawing, as shown in FIG. 27, as shown in FIG. 1 ”to“ 9 ”are set.
[0158]
As described above, the group number is assigned only to the connection group of the old and new drawings that have at least one invariant part, only the connection group of the old drawing that consists only of deleted parts and the additional part. Even if the connection group of the new drawing does not perform the difference in the semantic connection group unit to be described later, these are deleted or added as part of the difference extraction process in the part difference extraction unit 14 using the unique key. 23, the old drawing part information shown in FIG. 23 or the new drawing part information shown in FIG. 24 is registered, and then these deleted parts or additional parts are used for the highlight line extraction processing in the highlight connection line extraction unit 23. The reason is.
[0159]
Next, connection group unit semantic difference extraction performed by the semantic difference extraction unit 16 will be described in detail. First, the outline will be described.
[0160]
(1) The old drawing connection group information classified as shown in FIG. 11 and the new drawing connection group information classified as shown in FIG. 16 are composed of connection lines and parts pins (connection points). However, a comparison is made between a collection of parts pin information, and connection lines are ignored.
[0161]
(2) The part pins included in the connection group of the old drawing and the part pins included in the connection group of the new drawing are compared using the unique key and the pin number as a comparison key, and those other than those completely matching are extracted as differences.
[0162]
{Circle around (3)} The information is extracted so that all the elements of the connection groups having the difference are not set as the differences, and the portion that should be determined to have a meaningful change can be highlighted. When extracting the difference, it is determined whether or not the old and new connection groups are the same (corresponding) connection group, but the line number (see FIGS. 11 and 16) is assigned to the old and new connection groups. When the line numbers are the same, it is determined that they are the same corresponding connection group. When there is no line number information, if the members of the connection group of the old drawing and the connection group of the new drawing are almost the same, it is determined that they are the same connection group. Nearly the same, except for the additional pins from the new drawing, except for the pins that were changed in the new drawing from the members of the connection group in the old drawing (pins that were members of other connection groups, not deleted) and Comparison is made by pin numbers, and members are the same for a predetermined ratio (for example, 70%) or more. When it is determined that they are the same connection group, they are not subjected to highlighting.
[0163]
(4) Even if the unique key and the pin number match in the new and old drawings, the pins of the parts belonging to the connection groups having different line numbers are highlighted.
[0164]
Next, the semantic difference extraction operation in units of groups will be described in detail.
[0165]
The semantic difference extraction unit 16 assigns the connection group number of the numbered new drawing to the connection point (pin) of each part of the new drawing, and connects the numbered new drawing to the connection point of each part of the old drawing. A group number is assigned (step S33 in FIG. 22).
[0166]
Thereby, as shown in FIG. 28, the group numbers are given to the connection points of the parts of the new drawing as follows, for example.
Group 1001 (line number v1):
NPA pin number 2 (value 4), NPB pin number 2, NPD pin number 2,
NPE pin number 2
Group 1002 (line number a1):
NPA pin number 1, NPH pin number 2 (value 14)
Group 1003 (line number a2):
NPB pin number 1, NPI pin number 2 (value 14)
Group 1004 (line number a3):
NPC pin number 1, NPJ pin number 2 (value 14)
Group 1005 (line number a4):
NPD pin number 1, NPE pin number 1, NPK pin number 2 (value 14)
Group 1006 (line number v2):
NPH pin number 1 (value 13), NPI pin number 1 (value 13), NPJ pin number 1 (value 13), NPK pin number 1 (value 13)
Group 1007 (line number b1):
NPF pin number 1, NPG pin number 1, NPL pin number 2 (value 14)
Group 1008 (line number v11):
NPC pin number 2, NPF pin number 2, NPG pin number 2
Group 1009 (line number v12):
NPL pin number 1 (value 13)
[0167]
Moreover, as shown in FIG. 27, group numbers are assigned to the connection points of the parts in the old drawing as follows, for example.
Group 1 (line number v1):
OPA pin number 2, OPB pin number 2, OPC pin number 2, OPD pin number 2, OPE pin number 2
Group 2 (line number a1):
OPA pin number 1, OPB pin number 1, OPF pin number 2 (value 14)
Group 3 (line number a2):
OPC pin number 1, OPG pin number 2 (value 14)
Group 4 (line number a3):
OPD pin number 1, OPH pin number 2 (value 14)
Group 5 (line number a4):
OPE pin number 1, OPI pin number 2 (value 14)
Group 6 (line number v2):
OPF pin number 1 (value 13), OPG pin number 1 (value 13), OPH pin number 1 (value 13), OPI pin number 1 (value 13)
Group 7 (line number b1):
OPJ pin number 1, OPK pin number 1, OPL pin number 2 (value 14)
Group 8 (line number v11):
OPJ pin number 2, OPK pin number 2
Group 9 (line number v12):
OPL pin number 1 (value 13)
[0168]
Next, the semantic difference extraction unit 16 associates the old and new group numbers, registers an additional part in the new drawing connection point information state field shown in FIG. 28, and displays the old drawing connection point information state field shown in FIG. Set the deleted part to. Further, “additional group part connection point” is set in the status field of the new drawing connection point information, and “deleted part connection point” is set in the status field of the old drawing connection point information (step S34 in FIG. 22).
[0169]
In step S34 of FIG. 22, first, the group number of the old drawing is set in the corresponding group number setting field of the new drawing connection point information shown in FIG. That is, even when a plurality of part connection points belonging to one connection group of the new drawing are separated into a plurality of connection groups of the old drawing, as described above, the line numbers shown in FIGS. Alternatively, the group number of the corresponding old drawing is set for each part connection point of the new drawing using a method based on the ratio value of the constituent members. In addition, for each connection point of parts registered as “additional parts” in the new drawing part information shown in FIG. 24, an additional part is set in the status field of the new drawing connection point information shown in FIG. Set the corresponding group number to none. In the old and new drawings, even if the parts have the same unique key and pin number, there is no corresponding group in the old drawing by using the method based on the connection point of the parts with different line numbers or the ratio value of the constituent members. The connection point is set as “additional group part connection point” and the corresponding group number is set to none.
[0170]
In this example, group 1 and group 1001, group 2 and group 1002, group 3 and group 1003, group 4 and group 1004, group 5 and group 1005, group 6 and group 1006, group 7 and group 1007 are compared by line number comparison. The group 8 and the group 1008, and the group 9 and the group 1009 correspond to the same group, and the pins of the parts included in both the new and old corresponding groups are not highlighted.
[0171]
In this example, the part pins existing in the group 1 of the old drawing are “OPB, 2”, “OPC, 2”, “OPD, 2”, “OPE, 2”. The number of pins of the parts in the drawing is “NPA, 2”, “NPB, 2”, “NPD, 2” belonging to the group 1001 and “NPC, 2” belonging to the group 1008. However, since the line number of “NPC, 2” is “v11” and different from the line number “v1” of group 1, the pin number 2 of “NPC” is set as “additional group part connection point”. The group number corresponding to the pin number 2 of “NPC” is “None”. Note that “NPE” has already been registered as an additional part in the new drawing part information shown in FIG. 24 by the difference extraction in the part difference extraction unit 14. The corresponding group is “None”. In this case, there is no change in the connection group of other new drawings.
[0172]
Next, in step S34 of FIG. 22, the group number of the new drawing is set in the corresponding group number setting field of the old drawing connection point information shown in FIG. That is, even when a plurality of part connection points belonging to one connection group of the old drawing are separated into a plurality of connection groups of the new drawing, as described above, the line numbers shown in FIGS. Alternatively, a group number of the corresponding new drawing is set for each part connection point of the old drawing by using a method based on the ratio value of the constituent members. In addition, for each connection point of parts registered as “deleted part” in the old drawing part information shown in FIG. 23, the deleted part is set in the column of the state of the old drawing connection point information shown in FIG. Set the corresponding group number to none. In the old and new drawings, even if the parts have the same unique key and pin number, the corresponding group does not exist in the new drawing by using the method based on the connection point of the parts with different line numbers or the ratio value of the constituent members. If the coordinates of the connection point are different between the new and old (consider that the highlighting of the old and new drawings do not overlap, and that the coordinates match, only the additional display is used) , “Delete group part connection point” is set, and the corresponding group number is set to none.
[0173]
In this example, since there is no deletion group part connection point, there is no setting in the old drawing connection point information shown in FIG. In the old drawing connection point information shown in FIG. 27, “OPA” already registered as a deleted part in the old drawing part information (FIG. 23) and a changed part are registered by the difference extraction in the part difference extracting unit 14. This is registered in the status column of each pin of “OPE”, and the corresponding group is set to “none” for each of those pins.
[0174]
Then, the old and new drawing part information (to which the above difference extraction information obtained by the difference extraction processing by the connection drawing difference extraction unit 8, the part difference extraction unit 14, the attribute difference extraction unit 15 and the semantic difference extraction unit 16 is additionally set) 23 and 24), the old and new drawing attribute report (FIGS. 25 and 26), and the old and new drawing connection point information (FIGS. 27 and 28) are stored in the difference data storage unit 32.
[0175]
Next, the connection drawing difference extraction unit 8 controls the operation of the highlighted connection line extraction unit 23 to obtain connection lines connected to each additional part and deletion part, and connection lines connected to the addition group part and deletion group part. (FIG. 22 step S35). The highlighted connection line extraction process performed by the highlighted connection line extraction unit 23 will be described in more detail with reference to the flowchart of FIG.
[0176]
First, the highlighted connection line extraction unit 23 traces the connection line connected to the connection point of the additional part on the new drawing. That is, the connection line connected to the connection point of the additional part is traced using the coordinate information of the additional part and the coordinate information of each connection line. When the trace reaches the branch point of the connection line, the end point of the connection line, or the connection point of another part, the trace is terminated (step S41 in FIG. 29).
[0177]
In this example, the additional part is “NPE” (FFF, a contact), and as shown in FIG. 6, the connection line connected to the pin number 1 is “NVL”, which is the opposite side of the connection line “NVL”. Is connected to the connection line “NHK”. Since the end point on the opposite side of the connection point “NHK” is connected to the branch point, the trace ends here. Therefore, in this case, the obtained connection lines are “NVL” and “NHK”. The connecting line connected to the pin number 2 of the additional part “NPE” is “NVE”, and the end point on the opposite side of the connecting line “NVE” is connected to the branch point. In this case, the obtained connection line is only “NVE”. Accordingly, in the new drawing connection line information shown in FIG. 31, “addition” is set in the status columns of “NVL”, “NHK”, and “NVE”.
[0178]
Next, on the new drawing, the connection line connected to the additional group part connection point is traced, and when reaching the branch point of the connection line, the end point of the connection line, or the connection point of another part, the trace ends (step S42 in FIG. 29). ). In this example, the additional part connection point is the second pin of “NPC” (DDD, a contact), and the connection line connected to this is “NVC”, and the end point that is not connected to the connection point is a branch point. Because it is connected to, trace ends. The obtained connection line is only “NVC”. Therefore, “addition” is set in the “NVC” status column of the new drawing connection line information shown in FIG.
[0179]
Next, a connection line connected to the deleted part is obtained on the old drawing (step S43 in FIG. 29). The method is the same as for the additional case. In this example, the deleted part is “OPA”, and the connection lines connected to the pin number 1 of the deleted part “OPA” are the connection line “OVF” and the connection line “OHG”. The connection line connected to pin number 2 of the deleted part “OPA” is only “OVA”. Therefore, “deleted” is set in the “OVF”, “OHG”, and “OVA” status columns of the old drawing connection line information shown in FIG.
[0180]
Next, the connection line connected to the deletion group part connection point is traced on the old drawing. (FIG. 29 step S44). The method is the same as for the additional case. In this example, there is no delete group part connection point.
[0181]
The old / new drawing connection line information (FIGS. 30 and 31) additionally set with the difference extraction information obtained in this way is stored in the difference data storage unit 32.
[0182]
[Generate connection drawing difference data]
Next, functions provided by the connection drawing difference data generation unit 9 will be described. The connection drawing difference data generation unit 9 generates highlighted display difference data based on the difference data stored in the difference data storage unit 32. If there is additional difference data, the connection drawing difference data generation unit 9 generates additional highlight data using the connection drawing additional difference data generation unit 17, and if there is deletion difference data, generates a connection drawing deletion difference data. The deletion emphasis display data is generated using the unit 18, and if there is change difference data, the change emphasis display data is generated using the connection drawing change difference data generation unit 19.
[0183]
(Additional difference)
First, functions provided by the connection drawing additional difference data generation unit 17 will be described. The flowchart of FIG. 32 shows the procedure performed by the connection drawing additional difference data generation unit 17.
[0184]
The additional highlight data is created based on the new drawing attribute information shown in FIG. 26, the new drawing connection point information shown in FIG. 28, and the new drawing connection point information shown in FIG.
[0185]
First, the connection drawing additional difference data generation unit 17 uses the part highlight display area calculation unit 24 to obtain a polygon surrounding the additional part and the part attribute (character string in the drawing) of the additional part (step S51 in FIG. 32). ). In this example, “NPE” is an additional part. The obtained polygon is a polygon 300 shown in FIG.
[0186]
Next, the starting point and the ending point of the additional connection line are obtained as highlighted areas (step S52 in FIG. 32). In this example, as shown in FIG. 31, the additional connection lines include a connection line “NVC” extending from the pin number 2 of the part “NPC” and a connection line “NVE” extending from the pin number 1 of the additional part “NPE”. Since these are “NVL” and “NHK”, these become connection lines to be highlighted. In FIG. 33, the connection line “NVC” indicated by reference numeral 301, the connection line “NVE” indicated by reference numeral 302, the connection line “NVL” indicated by reference numeral 303, and the connection line “NHK” indicated by reference numeral 304 are highlighted. These connection lines are indicated by bold lines. Therefore, the coordinates of the start and end points of the connection lines “NVC”, “NVE”, “NVL”, and “NHK” to be highlighted are obtained from the new drawing connection line information shown in FIG.
[0187]
Next, the segment area of the additional drawing attribute is set as the highlighted display area (step S53 in FIG. 32). In this example, as shown in the new drawing attribute information of FIG. 26, since the drawing attribute “add” is an additional drawing attribute, the polygon 306 corresponding to the segment area is highlighted as shown in FIG. Set as area.
[0188]
Next, the connection drawing additional difference data generation unit 17 synthesizes the adjacent highlight display regions using the proximity highlight display region combining unit 25 (step S54 in FIG. 32). In this example, a polygon 300 and three thick lines 302 to 304 shown in FIG. 33 are to be combined. FIG. 34 shows the synthesized result. FIG. 34 shows the synthesized polygon 305, the polygon 306 corresponding to the additional graphic attribute “add”, and the polygon corresponding to the additional connection line “NVC”. 307 are formed.
[0189]
Next, the connection drawing additional difference data generation unit 17 uses the cloud frame generation unit 26 to generate a cloud frame formed around the highlighted display area constituted by the polygons 305, 306, and 307 (FIG. 32). Step S55). The result of outputting the cloud frame around the polygons 305, 306 and 307 in FIG. 34 is as shown in FIG.
[0190]
Here, the cloud frame generation unit 26 represents a cloud frame by arranging arcs on the sides of the polygon. Then, the polygon and the arc are output as highlight data. The color of the cloud frame (arc) is changed according to the difference of difference extraction information (difference contents) such as addition, deletion, and change. A file for setting a color corresponding to each difference content such as addition, deletion, and change is prepared in advance, and the color of the cloud frame is determined accordingly. Also, the display layer is made different for each difference content such as addition, deletion, and change. By controlling display / non-display for each layer, a cloud frame is added according to the difference content such as addition, deletion, and change. It is possible to control display / non-display of.
[0191]
Then, the connection drawing additional difference data generation unit 17 stores the highlight display data including the data regarding the additional cloud frame formed in this way in the highlight display data file 33.
[0192]
The additional cloud frame highlight data file corresponding to FIG. 35 is as follows.
COLOR = ADDCOLOR
## Rectangle cloud frame
COMPOSE START
ADD POLY 4 p01x1, p01y1 ………… p01x4, p01y4
ADD ARC 3P a01x1, a01y1, a01x2, a01y2, a01x3, a01y3


ADD ARC 3P a24x1, a24y1, a24x2, a24y2, a24x3, a24y3
COMPOSE END
## Polygon cloud frame
COMPOSE START
ADD POLY 16 p02x1, p02y1 ………… p02x16, p02y16
ADD ARC 3P b01x1, b01y1, b01x2, b01y2, b01x3, b01y3


ADD ARC 3P b49x1, b49y1, b49x2, b49y2, b49x3, b49y3
COMPOSE END
## Text added cloud border
COMPOSE START
ADD POLY 4 p03x1, p03y1 ………… p03x4, p03y4
ADD ARC 3P c01x1, c01y1, c01x2, c01y2, c01x3, c01y3


ADD ARC 3P c06x1, c06y1, c06x2, c06y2, c06x3, c06y3
COMPOSE END
[0193]
Here, the process performed by the parts emphasis display area calculation unit 24 and the process performed by the proximity emphasis display area synthesis unit 25 will be described in more detail with reference to FIGS.
[0194]
First, the function of the part emphasis display area calculation unit 24 will be described in more detail with reference to FIGS. FIG. 36 is a flowchart showing an operation procedure for obtaining a part and a polygon surrounding the part attribute of the part performed by the part highlight display area calculation unit 24.
[0195]
First, the segment area of the graphic part of the part and the segment area of the part attribute are extracted (step S81 in FIG. 36). Next, it is determined whether or not there is a part attribute segment area that is not included in the part segment area (step S82 in FIG. 36). In some cases, the segment areas of the parts are expanded until the segment areas of the part attributes touch the segment areas of the parts or a part of the segment areas of the part attributes are included in the segment areas of the parts (FIG. 36). Step S83). Next, a polygon including the segment area of the expanded part and the segment area of each part attribute is obtained. Next, in the polygon obtained in this way, when there is an opposing side that is closer than a predetermined interval, the shape of the polygon is corrected to make the cloud frame display easier to see (step S84 in FIG. 36). The polygon obtained in this way becomes the highlighted display area.
[0196]
FIGS. 37A to 37C show the expansion operation of the segment area of the part. The polygon finally obtained is indicated by a bold line. In FIG. 37 (a), two part attributes 341 and 342 out of four part attributes are not included in the segment area 340 of the part. The part segment region 340 is expanded until one side abuts. In FIG. 37B, since part of all (four) part attributes are included in the part segment area 340, the part segment area 340 is not expanded. In FIG. 37C, since all of the three part attributes 344 to 346 are not included in the part segment area 340, one side of the part segment area 340 comes into contact with one side of these part attributes 344 to 346. Up to this point, the segment area 340 of the part is expanded.
[0197]
FIG. 38 shows the correction processing of the highlight area performed in step S84 of FIG. 36. Before the correction shown in FIG. 38A, there are two places with opposite sides closer than a predetermined interval. Since there are places, as shown in FIG. 38B, by correcting the polygonal shape, the places with opposing sides with short intervals are deleted.
[0198]
Next, the functions provided by the proximity emphasis display area composition unit 25 will be described in more detail with reference to FIGS. 39 and 40. FIG.
[0199]
First, with respect to the same type of highlight area, for example, an add / delete part and an add / delete connection line connected to this part, the highlight area is expanded by a predetermined amount in all directions from the original area set in the file in advance (see FIG. 39 step S91). Next, an area where the expanded areas overlap is obtained (step S92 in FIG. 39). Next, the overlapping polygons are combined into one polygon (step S93 in FIG. 39). Next, when there is an opposing side closer than a predetermined interval in the polygon obtained in this way, the shape of the polygon is corrected in order to make the cloud frame display easier to see (step S94 in FIG. 39). The polygon obtained in this way becomes the highlighted display area.
[0200]
FIG. 40 shows the extension processing of the highlight / display area of the add / delete part and the add / delete connection line connected to this part. The original area shown in FIG. 40 (a) is indicated by a broken line in FIG. 40 (b). As a result, as shown in FIG. 40C, a polygon indicated by a thick line is obtained.
[0201]
(Delete difference)
Next, functions provided by the connection drawing deletion difference data generation unit 18 will be described. The flowchart of FIG. 41 shows the procedure performed by the connection drawing deletion difference data generation unit 18.
[0202]
The deletion highlight data is created based on the old drawing attribute information shown in FIG. 25, the old drawing connection point information shown in FIG. 27, and the old drawing connection point information shown in FIG.
[0203]
First, the connection drawing deletion difference data generation unit 18 uses the part highlight display area calculation unit 24 to obtain a polygon surrounding the deleted part and the part attribute (character string in the drawing) of the deleted part (step S61 in FIG. 41). ). In this example, “OPA” is the deleted part. The obtained polygon becomes a polygon 320 shown in FIG.
[0204]
Next, the start point and end point of the deleted connection line are obtained as highlighted areas (step S62 in FIG. 41). In this example, the deletion connection lines are “OVA”, “OVF”, and “OHG”, as shown in FIG. 30, and these are the connection lines to be highlighted. In FIG. 42, the connection line “OVA” indicated by reference numeral 321, the connection line “OVF” indicated by reference numeral 322, and the connection line “OHG” indicated by reference numeral 323 are highlighted connection lines, and these are bold lines. It is shown. Therefore, the coordinates of the start point and end point of the connection lines “OVA”, “OVF”, “OHG” to be highlighted are obtained from the old drawing connection line information shown in FIG.
[0205]
Next, the segment area of the deleted drawing attribute is set as the highlighted display area (step S63 in FIG. 41). In this example, as shown in the old drawing attribute information in FIG. 25, since the drawing attribute “deleted” is a deleted drawing attribute, the polygon 325 corresponding to the segment area is highlighted as shown in FIG. Set as area.
[0206]
Next, the connection drawing deletion difference data generation unit 18 synthesizes the adjacent highlighted display regions using the proximity highlighted display region combining unit 25 (step S64 in FIG. 41). In this example, a polygon 320 and three thick lines 321 to 323 shown in FIG. FIG. 43 shows the combined result. In FIG. 43, a combined polygon 326 and a polygon 325 corresponding to the deletion drawing attribute “delete” are formed.
[0207]
Next, the connection drawing deletion difference data generation unit 18 uses the cloud frame generation unit 26 to generate a cloud frame around the highlighted display area formed by the polygons 326 and 325 (step S65 in FIG. 41). The result of outputting the cloud frame around the polygons 326 and 325 in FIG. 43 is as shown in FIG.
[0208]
Next, the connection drawing deletion difference data generation unit 18 uses the hatch generation unit 27 to generate hatching inside the deletion highlight display area (step S66 in FIG. 41). FIG. 44 shows a result of forming a cloud frame around the polygon 326 in FIG. 43 and outputting hatching inside the polygon 326. That is, the hatch generation unit 27 has a function of outputting hatching (diagonal lines) as highlighted data inside the deleted display area and outputting deleted data included in the deleted display area as highlighted data. Yes.
[0209]
Next, the connection drawing deletion difference data generation unit 18 uses the changed character notation change unit 28 to generate a disappearing line on the deleted drawing attribute (character string) (step S67 in FIG. 41). In this example, an invisible line 328 is generated on the drawing attribute “delete” (see FIG. 44). That is, in the case of deleting attribute information, the changed character notation changing unit 28 obtains a segment area of a character on the old drawing and creates two invisible lines on the character.
[0210]
Then, the connected drawing additional difference data generation unit 17 highlights data including the deletion cloud frame formed in this way, the deletion data in the old drawing included in the deletion cloud frame, hatching data, and data relating to the disappearing line. Is stored in the highlight data file 33.
[0211]
The additional cloud frame highlighting data file corresponding to FIG. 44 is as follows.
COLOR = DELCOLOR
## Polygon cloud frame
COMPOSE START
ADD POLY 14 p02x1, p02y1 ………… p02x14, p02y14
ADD ARC 3P b01x1, b01y1, b01x2, b01y2, b01x3, b01y3


ADD ARC 3P b45x1, b45y1, b45x2, b45y2, b45x3, b45y3
ADD PLINE 2 h01x1, h01y1, h01x2, h01y2


ADD PLINE 2 h23x1, h23y1, h23x2, h23y2
CONPOSE END
## Deleted data pattern
COMPOSE START
ADD PLINE 2 del01x1, del01y1, del01x2, del01y2
ADD CIRC del02x1, del02y1, del02x2, del02y2
ADD CIRC del03x1, del03y1, del03x2, del03y2
ADD PLINE 2 del04x1, del04y1, del04x2, del04y2
ADD PLINE 3 del05x1, del05y1, del05x2, del05y2, del05x3, del05y3
CONPOSE END
## cloud frame for character deletion
COMPOSE START
ADD POLY4 p03x1, p03y1, ... p03x4, p03y4
ADD ARC 3P c01x1, c01y1, c01x2, c01y2, c01x3, c01y3


ADD ARC 3P c06x1, c06y1, c06x2, c06y2, c06x3, c06y3
CONPOSE END
## Hidden line
COMPOSE START
ADD PLINE d01x1, d01y1, d01x2, d01y2
ADD PLINE d02x1, d02y1, d02x2, d02y2
CONPOSE END
[0212]
(Change difference)
Next, functions provided by the connection drawing change difference data generation unit 19 will be described. The flowchart of FIG. 45 shows the procedure performed by the connection drawing change difference data generation unit 19.
[0213]
The highlight display data of the changed part is created based on the old / new drawing part information shown in FIGS. 23 and 24 or the old / new drawing connection point information shown in FIGS. 27 and 28. The change attribute highlight data is created using the old and new attribute information shown in FIGS.
[0214]
First, the connection drawing change difference data generation unit 19 uses the part highlight display area calculation unit 24 to obtain a polygon surrounding the changed part and the part attribute of the changed part (step S71 in FIG. 45). In this example, the part “NPD” becomes a changed part due to the difference in macro name from “OPE”. The obtained polygon is a polygon 330 shown in FIG.
[0215]
Next, the connection drawing change difference data generation unit 19 uses the part highlight display area calculation unit 24 to obtain a polygon surrounding the change attribute (step S72 in FIG. 45). At this time, regarding the change attribute, since the old attribute is displayed above the new attribute, the minimum rectangular area including the old attribute and the new attribute is set as the highlight display area. In this example, the changed part attribute is the pin attribute “4” of the part “NPA (BBB, a contact)”, and the changed drawing attributes are “new comment” and “change”. Therefore, for the new drawing, the old pin attribute “2” is added above the pin attribute “4” of the part “NPA (BBB, a contact)” and the old drawing attribute “ “old comment” is added, and the old drawing attribute “modify” is added above the drawing attribute “change”. Accordingly, the obtained polygons are polygons 331 to 333 shown in FIG.
[0216]
Next, the connection drawing change difference data generation unit 19 uses the cloud frame generation unit 26 to generate a cloud frame around the highlighted display area formed by the polygons 330 to 333 (step S73 in FIG. 45). The result of outputting the cloud frame around the polygons 330 to 333 in FIG. 46 is as shown in FIG.
[0217]
Next, the connection drawing change difference data generation unit 19 uses the changed character notation change unit 28 to generate the disappearing lines 334 to 336 on the old part attribute and the old drawing attribute (step S74 in FIG. 45). In this example, as shown in FIG. 47, visible lines 334 to 336 are generated on the old attributes “2”, “old comment”, and “modify”. That is, in the case of changing attribute information, the changed character notation changing unit 28 is a segment of the character string before change of the old drawing to be added in the vicinity of the changed character string on the new drawing (in this case, on the upper side). An area is obtained, two invisible lines are created on the pre-change character string in the segment area, and output as highlighted data.
[0218]
Then, the connection drawing additional difference data generation unit 17 displays highlight data including the changed cloud frame formed in this way, the changed character string data to be added on the changed character string, the data on the disappearing line, and the like. And stored in the highlight data file 33.
[0219]
The additional cloud frame highlight data file corresponding to FIG. 47 is as follows.
COLOR = MODCOLOR
## Rectangular cloud frame (change terminal number)
COMPOSE START
ADD POLY 4 p01x1, p01y1 ………… p01x4, p01y4
ADD ARC 3P a01x1, a01y1, a01x2, a01y2, a01x3, a01y3


ADD ARC 3P a06x1, a06y1, a06x2, a06y2, a06x3, a06y3
CONPOSE END
## Polygon cloud frame
COMPOSE START
ADD POLY 16 p02x1, p02y1, ………… p02x16, p02y16
ADD ARC 3P b01x1, b01y1, b01x2, b01y2, b01x3, b01y3


ADD ARC 3P b12x1, b12y1, b12x2, b12y2, b12x3, b12y3
COMPOSE END
## Text change cloud (old comment → new comment)
COMPOSE START
ADD POLY 4 p03x1, p03y1 ………… p03x4, p03y4
ADD ARC 3P c01x1, c01y1, c01x2, c01y2, c01x3, c01y3


ADD ARC 3P c14x1, c14y1, c14x2, c14y2, c14x3, c14y3
COMPOSE END
## Text change cloud frame (modify → change)
COMPOSE START
ADD POLY 4 p03x1, p03y1, ... p03x4, p03y4
ADD ARC 3P d01x1, d01y1, d01x2, d01y2, d01x3, d01y3


ADD ARC 3P d10x1, d10y1, d10x2, d10y2, d10x3, d10y3
COMPOSE END
[0220]
[Generate sub-number information]
Next, functions provided by the sub information generating unit 10 will be described. The sub-number information generation unit 10 updates the sub-number in the revision column of the drawing if there is a difference as a result of comparing the old and new drawings. The information in this revision column is also output as highlighted data. 48 (a) and 48 (b) show the revision processing of the revision column. In the case of FIG. 48 (a), there is no subnumber setting in the revision column of the old drawing. A new sub number A is added and the revision date is entered and set. In the case of FIG. 48 (b), since the sub-numbers A to C are set in the revision column of the old drawing, the next sub-number D is added and the revision date is input and set.
[0221]
[Reflect difference information]
Next, functions provided by the difference information reflection unit 11 will be described. The difference information reflection unit 11 additionally writes the contents of the highlight data file 33 to the new drawing. FIG. 49 shows the result of reflecting the difference extraction result between the old drawing data shown in FIG. 5 and the new drawing data shown in FIG. 6 in the new drawing. The drawing shown in FIG. 49 is actually displayed to the operator. In the actual display drawing shown in FIG. 49, identifiers such as parts, connection lines, and polygons in the highlighted area are not actually displayed.
[0222]
[Highlighting customization]
Next, functions provided by the highlight data customization unit 12 will be described. The highlighting data customization unit 12 includes a cloud frame enlargement / reduction unit 20, a cloud frame deformation unit 21, and a disappearance line change unit 22, and controls the operation of these components so that a cloud frame can be displayed according to an operator's specification. Enlarge, reduce, or deform to any size and shape, and change the appearance of the disappearing line.
[0223]
Functions provided by the cloud frame enlarging / reducing unit 20 will be described with reference to the flowchart of FIG. When enlarging or reducing the cloud frame, the operator designates the cloud frame to be enlarged or reduced with the pointing device 2 such as a mouse (step S101 in FIG. 50). Next, the operator moves the mouse cursor in the direction in which he / she wants to enlarge / reduce and confirms by clicking the mouse button (step S102 in FIG. 50). By detecting these operations of the operator, the cloud frame enlarging / reducing unit 20 obtains a polygon that is a highlighted display area after the reducing / enlarging by the same method as the normal graphic zoom (step S103 in FIG. 50). The cloud frame enlarging / reducing unit 20 uses the cloud frame generating unit 26 to generate a cloud frame around the enlarged / reduced polygon (step S104 in FIG. 50). Thereby, the cloud frame is reduced or enlarged to an arbitrary reduction ratio as shown in FIG.
[0224]
The function provided by the cloud frame deformation unit 21 will be described using the flowchart of FIG. The cloud frame deformation unit 21 has a function of changing the shape of the cloud frame by increasing / decreasing the number of vertices of the polygon that is the highlight display area of the cloud frame.
[0225]
First, the polygon that is the highlight display area of the cloud frame that the operator wants to deform is designated by a pointing device such as a mouse (step S111 in FIG. 52). The mouse cursor is moved in the direction in which it is desired to be deformed, and is confirmed by clicking the mouse (step S112 in FIG. 52).
[0226]
Next, the cloud frame deforming unit 21 determines whether the operator has specified a polygon side or a vertex in step S111 (step S113 in FIG. 52). When a polygon side is specified, a vertex is added, and the point determined in step S112 is inserted as a vertex between the end points of the specified side as shown in FIG. 53 (c) (step 52 in FIG. 52). S114). When the operator designates a polygon vertex in step S111, it is determined whether or not the vertexes on both sides connected to the designated vertex and the point designated in step S112 are in a straight line (step S115 in FIG. 52). As shown in FIG. 53B, the designated vertices are deleted and the vertices on both sides are directly connected (step S116 in FIG. 52). If not, the coordinate value of the designated vertex is changed to the coordinate value determined in step S112, as shown in FIG. 53 (a) (step S117 in FIG. 52). Next, the cloud frame deformation unit 21 uses the cloud frame generation unit 26 to generate a cloud frame around this polygon (step S118).
[0227]
Next, the function provided by the disappearing line changing unit 22 will be described using the flowchart of FIG. When changing the disappearance line, the operator designates the old attribute before the change with a pointing device such as a mouse (step S121 in FIG. 54). The operator moves the mouse cursor in the direction in which he wants to move, and confirms with a mouse click (step S122 in FIG. 54). The disappearing line changing unit 22 that has detected these operations first deletes the original cloud frame (step S123 in FIG. 54). Next, the strike-through line changing unit 22 checks the arrangement positions of the new and old attributes (step S124 in FIG. 54). If these arrangement positions exceed a predetermined distance, as shown in FIG. An arrow line 350 representing a link between old and new attributes is drawn (step S125 in FIG. 54). Then, a cloud mark is generated for each of the new and old attributes (step S126 in FIG. 54). When the arrangement position of the old and new attributes does not exceed the preset distance, a cloud frame including both the old and new attributes is generated (step S127 in FIG. 54).
[0228]
As described above, according to the first embodiment, the drawing elements are grouped according to the rule that the same potential group is made the same connection group (same net) from the old and new electric circuit drawings created by CAD, and the corresponding group By making a semantic comparison between them, only the meaningful differences in the old and new electrical circuit drawings are extracted, and a composite drawing of the old and new electrical circuit diagrams is created that highlights only the differences extracted. Therefore, the moving part of the symbol position for the purpose of appearance adjustment is not highlighted, and in the case of a net in which only some graphic elements are added / deleted, the entire net is not highlighted, Only the added / deleted parts are highlighted. Therefore, according to the first embodiment, the intention of the designer can be surely reflected, and the operator can easily confirm the truly meaningful revision location of the electric circuit diagram. In addition, since the deleted portion and the added portion have different highlighting forms such as a difference in display color and presence / absence of hatching, the deleted portion and the added portion can be easily identified. In addition, because the cloud frame within a certain distance is synthesized, even if there are many revision points, the cloud frame will not overlap and it will not interfere with the visual recognition of the original electrical circuit diagram part. Therefore, it is possible to provide a difference extraction drawing that is easy to see for the operator. In addition, the highlight data regarding the graphic element to be deleted, the highlight data regarding the graphic element to be added, and the highlight data regarding the graphic element to be changed are set in different layers. By controlling the display, it is possible to control the display / non-display of the cloud frame according to the difference contents such as addition, deletion, and change. Furthermore, if there is a semantic difference as a result of the difference extraction, the sub-number field of the drawing is automatically updated, so that it is possible to save the operator from updating the sub-number.
[0229]
In the above-described embodiment, highlighting is performed with a cloud frame. However, any other highlighted graphic such as a wedge-shaped repetition or another arbitrary graphic repetition may be adopted.
[0230]
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, the present invention is applied to a state transition diagram (FIG. 56) and an object diagram (class diagram, FIG. 82) created using a CAD system.
[0231]
[State transition diagram]
First, semantic difference extraction related to the state variation diagram will be described. As shown in FIGS. 56 (a) and 56 (b), the state transition diagram represents a state transition for controlling the state of the system. In FIG. 56, (a) shows the old drawing of the state transition diagram, and (b) shows the new drawing of the state transition diagram.
[0232]
The terms used in the state transition diagram will be described with reference to FIGS. 56 (a) and 56 (b). “State” is indicated by a figure with rounded corners of a rectangle. Each state has attributes of “name”, “operation”, and “state classification”.
[0233]
“On”, “monitoring”, “waiting for command”, “processing”, “disconnecting”, “connecting”, etc. in FIG. 56 are “state names”. Each state can include an “and sub-state” and an “or sub-state” therein. The “and sub state” is a parallel sub state, and the “or sub state” is a sub state in which a plurality of states do not occur simultaneously. For example, the “on” state includes “and sub-state” of “monitoring” and “processing”. The “processing” state includes an “or sub-state” of “disconnecting” and “connecting”. Each state further includes a “pseudo state” such as “initial state”, “terminal state”, and “connector”. The “initial state” is represented by a black circle 400, the “end state” is represented by a black circle eyeball (not shown), and the symbol denoted by reference numeral 401 in FIG. 56B is “connector”.
[0234]
Next, the state classification is
0 is a leaf state, that is, a state without a sub-state,
A state where 1 has an “or sub-state”;
A state in which 2 has an “and sub-state”;
3 is the initial state,
4 is the terminal state,
5 is the connector
And
[0235]
The “pseudo state” in which the state classification is 3 or more, that is, the initial state, the terminal state, and the connector do not have a state name, so the state name is represented by a unique number (unique number). The unique number is represented by a serial number starting from 0 for each unique number when the number of pseudo states in the same state classification is only one in the parent state.
[0236]
Next, “action” that is an attribute of each state is a set of “entry action”, “exit action”, “event action”, and the like.
[0237]
The arrow from state to state is called "transition". The state on the starting point side of the arrow is referred to as “From state”, and the state on the tip side of the arrow is referred to as “to state”. “Transition” has attributes such as “event name”, “guard condition”, and “transition action”, and is expressed in the form of event name [guard condition] / action. For example, in “Reset / Suspend” in FIG. 56, “Reset” is “Event Name”, and “Suspend” is “Transition Operation”. “[Sensor connection]” and “[Sensor disconnect]” are “guard conditions”. In “[signal present] / operation”, “[signal present]” is “guard condition” and “operation” is “transition operation”.
[0238]
Here, in detecting the difference between the old and new state transition diagrams, a state tree structure is created, and the difference (diff) by relative expression is detected using this tree structure.
[0239]
Therefore, before describing the difference detection of the state transition diagram, the difference detection for the tree will be described with reference to FIGS. 57 to 59 show the tree structure. FIG. 57 shows the old tree structure, and FIGS. 58 and 59 show the new tree structure after the change.
[0240]
In FIG. 57, the names of the nodes in the tree are a to i. d, e, f, g, h, i are terminal nodes, and a, b, c are non-terminal nodes. a is a root node.
[0241]
In the tree shown in FIG. 57, (a, b), (b, e), (b, f), (a, c), (c, g), (c, h), (c, i), There is a parent-child relationship in the pair for each node of (a, d). A child with the same parent is said to have a sibling relationship. When nodes are arranged according to a certain rule, the node that appears first among siblings is called the eldest son, and the node that appears last among siblings is called the youngest brother.
[0242]
(Absolute path)
An absolute path name represents each node name in the form of a path from the root node. In the examples shown in FIGS. 57, 58 and 59, when the path delimiter is a period “.”, The absolute path names of the nodes corresponding to the tree of FIG. 57 are shown in FIG. 60 and the tree of FIG. FIG. 61 shows the absolute path name of each corresponding node, and FIG. 62 shows the absolute path name of each node corresponding to the tree of FIG.
[0243]
The dictionary order difference based on the absolute path can be obtained as follows.
[1] For each of the old tree data and the new tree data, the absolute path name of each node is obtained and sorted in ascending order.
[2] A difference by absolute path display is obtained.
[0244]
Thereby, the difference display of the increase / decrease of a node and the change of an absolute path name can be performed. If a node is added before the root node, all the old tree elements are deleted, and all new tree elements are added.
[0245]
FIG. 63 shows the difference between the absolute path name data (FIG. 60) of the tree shown in FIG. 57 and the absolute path name data (FIG. 61) of the tree shown in FIG. 58, and FIG. FIG. 64 shows the difference in absolute path name between the absolute path name data (FIG. 60) of FIG. 59 and the absolute path name data of the tree shown in FIG. 59 (FIG. 62).
[0246]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 58 is the new tree data, the difference data based on these absolute path names is (a, b, e) as shown in FIG. Delete, delete (a, c, g), delete (a, c, i), add (a, b, f), add (a, d, l), add (a, j), It is configured by adding (a, j, m).
[0247]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 59 is the new tree data, in this case, since the new node x is added before the root node a, these absolute paths are used. As shown in FIG. 64, the difference data by name is such that all old tree elements are deleted and all new tree elements are added.
[0248]
(Unary relative path)
Next, the unary relative path name is information indicating that a node is a parent for each node name on the assumption that the above-mentioned absolute path names are arranged in dictionary order (in this embodiment, the node is a node). "{" After the name) and information indicating that it is the next element of the youngest brother (in this embodiment, "}" is added before the node name) It is an added expression.
[0249]
The dictionary order difference based on the unary relative path name is obtained as follows.
[1] Obtain absolute path names for each node of the original tree data and the modified tree data, and sort them in ascending order.
[2] When the node is a non-terminal node name, a symbol (indicated here by “{”) indicating that there is a child is added after the node name.
[3] When the node is the next node after the youngest brother, a symbol (indicated here by “}”) indicating that the node of the previous sibling group has ended is displayed before the node name. It is attached to.
[4] The difference between the relative path name of the original tree data and the relative path name of the changed tree data is obtained.
[0250]
By the dictionary order difference based on the unary relative path name, the increase / decrease of the node and the change of the non-terminal node / terminal node can be detected as the difference data. That is, when there is a node “y {”, if all child nodes up to the node before the closing parenthesis “}” match (if there is no difference display), there is no change in the node y and its subtree. I understand that.
[0251]
The unary relative path name data corresponding to the tree of FIG. 57 is shown in FIG. 65, the unary relative path name data corresponding to the tree of FIG. 58 is shown in FIG. 66, and the unary relative path name data corresponding to the tree of FIG. 67. In addition, FIG. 68 shows the difference between FIG. 65 and FIG. 66 in the unary relative path name notation, and FIG. 69 shows the difference between FIG. 65 and FIG.
[0252]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 58 is the new tree data, the difference data based on these unary relative path names is the unary relative path name data shown in FIG. 65 and FIG. Since it is a difference from the unary relative path name data, as shown in FIG. 68, “deletion of e”, “deletion of g”, “deletion of i”, “deletion of}}”, “addition of k”, “} D {add”, “l add”, “} j {add”, “m add”.
[0253]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 59 is the new tree data, the difference data based on these unary relative path names is the unary relative path name data shown in FIG. 69, as shown in FIG. 69, “e delete”, “g delete”, “i delete”, “} d delete”, “x { “Add”, “k”, “} d {add”, “l” add, “} j {add}”, “m add”.
[0254]
(Binary relative path)
Next, the binary relative path name represents all parent-child relationships connected by delimiters (in this embodiment, for example, “{”) indicating the parent-child relationship between node names. It is. However, data of only the root node name is added to the head.
[0255]
The depth priority difference by the binary relative path name is obtained as follows.
[1] A relative path name and an absolute path name are obtained for each node of the original tree data and the changed tree data, and are sorted in ascending order of the absolute path names.
[2] The relative path name of the root node is the node name. Relative path names other than the root node are represented by connecting the direct parent node name and its own node name with a delimiter (indicated here by “{”).
[3] The difference between the binary relative path name of the original tree data and the binary relative path name of the changed tree data is obtained.
[0256]
A node whose direct parent-child relationship has changed can be detected as difference data by the depth priority difference based on the binary relative path name. Deleted data includes the first term (the term before “{”), the second term (the term after “{”), or the parent-child relationship between the first term and the second term. Indicates that has been deleted. The additional data indicates that the first term has been added, the second term has been added, or the parent-child relationship between the first term and the second term has been added.
[0257]
FIG. 70 shows binary relative path name data corresponding to the tree of FIG. 57, FIG. 71 shows binary relative path name data corresponding to the tree of FIG. 58, and binary relative path name corresponding to the tree of FIG. The data is shown in FIG. Further, FIG. 73 shows the difference between FIG. 70 and FIG. 71 in the binary relative path name notation, and FIG. 74 shows the difference between FIG. 70 and FIG.
[0258]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 58 is the new tree data, the difference data based on these two-term relative path names is the two-term relative path name data shown in FIG. As shown in FIG. 73, “b {e delete”, “c {g delete”, “c {i delete”, “a {j ”,“ B {k addition ”,“ d {l addition ”, and“ j {m addition ”.
[0259]
If the tree shown in FIG. 57 is the old tree data and the tree shown in FIG. 59 is the new tree data, the difference data based on these binary relative path names is the binary relative path name data shown in FIG. 74, “a delete”, “b {e delete”, “c {g delete”, “c {i delete” as shown in FIG. ”,“ Add x ”,“ a {add j ”,“ b {k add ”,“ d {l add ”, and“ j {m add ”.
[0260]
FIG. 75 is a block diagram showing an example of a connection drawing edit display device for editing and displaying a state variation diagram or class diagram as a connection drawing. This connection drawing edit / display apparatus shows a functional configuration of a program to be executed by a personal computer or a workstation.
[0261]
The apparatus shown in FIG. 75 includes a display 1101 as an input / output terminal device, a pointing device 1102 such as a mouse, a keyboard 1103, and an output device 1104 such as a printer. Exchange of signals such as graphic data and input / output instructions with 1106 is executed.
[0262]
The connected drawing editing / display apparatus 1106 includes a tree structure creation unit 1108, a path name generation unit 1109, a path name difference detection unit 1110, a tree difference association unit 1111, a drawing information extraction unit 1112, an absolute path name generation unit 1113, and a unary relative path. A tree difference detection unit 1107 having a name generation unit 1114 and a binary relative path name generation unit 1115, a link difference detection unit 1116, a symbol difference detection unit 1117, an addition display unit 1118, and a deletion display unit 1119. I have.
[0263]
The tree difference detection unit 1107 includes an old drawing file 1131 of a state transition drawing (old drawing) as shown in FIG. 56A and a new drawing file 1130 of a state transition drawing (new drawing) as shown in FIG. Are read out, a difference as a tree is detected for these new and old drawing files 1130 and 1131, and the difference result is stored in the difference data storage unit 1133.
[0264]
The drawing information extraction unit 1112 extracts information to be converted into a tree structure from the new drawing file 1130 and the old drawing file 1131. The tree structure creation unit 1108 converts the information to be converted into the tree structure of the extracted old and new drawings into tree structure data, that is, the new drawing tree structure file 1121 and the old drawing tree structure file 1122. The path name generation unit 1109 displays the absolute path name generation unit 1113 in accordance with the user's designated selection contents (which text is selected as line representation, absolute path name notation, unary relative path name notation, binary relative path name notation). Then, by calling one of the unary relative path name generation unit 1114 and the binary relative path name generation unit 1115 and operating the called path name generation unit, mapping to one of the three text line expressions is performed. New drawing path name data 1123 and old drawing path name data 1124 are generated. The path name difference detection unit 1110 creates path name difference data 1125 by taking the difference between the new drawing path name data 1123 and the old drawing path name data 1124. The tree difference association unit 1111 stores the path name difference data 1125 in the difference data storage unit 1133 in association with the drawing.
[0265]
The link difference detection unit 1116 calculates a link (state transition) difference between the new drawing file 1130 and the old drawing file 1131, and additionally stores this link difference data in the difference data storage unit 1133. The symbol difference detection unit 1117 detects a difference between symbols (state operations), and additionally stores the symbol difference data in the difference data storage unit 1133. When highlighting the difference data stored in the difference data storage unit 1133, the old drawing and the new drawing are displayed side by side on the screen of the display 1101. The added part display unit 1118 displays a part added to the new drawing with a predetermined added part display color, and the deleted part display part 1119 displays a part deleted from the old drawing with a predetermined deletion different from the deleted display color. Display with display color.
[0266]
Next, a state transition diagram difference extraction / display operation by the connection drawing editing / display apparatus 1106 will be described with reference to the flowchart of FIG. 76 and FIGS. 77 to 81.
[0267]
The operator selects the absolute path name notation, unary relative path name notation, and binary relative path name as the path name to be adopted in the current difference extraction process at the beginning or at an appropriate time before path name generation. Select from.
[0268]
When the difference extraction process is started, the tree difference detection unit 1107 includes a new drawing file 1130 (new state transition drawing as shown in FIG. 56B) and an old drawing file 1131 (as shown in FIG. 56A). The old state transition drawing) is read (step S1201). Next, the drawing information extraction unit 1112 extracts information to be converted into a tree structure from the new drawing file 1130 and the old drawing file 1131 (step S1202). Next, the tree structure creation unit 1108 creates tree structure data, that is, a new drawing tree structure file 1121 and an old drawing tree structure file 1122 based on the extracted information, that is, the state nesting relationship of the state transition diagram. (Step S1203).
[0269]
FIG. 77 (a) shows the tree structure of the old drawing of the state transition diagram shown in FIG. 56 (a), and FIG. 77 (b) shows the new drawing of the state transition diagram shown in FIG. 56 (b). This shows the tree structure. The node name of the tree is represented by (state category, state name).
[0270]
In FIG. 77, for example, the state “ON” has an AND sub-state of a monitoring state and a processing state, so the state classification is 2, and its node name is (2, ON). The state “monitoring” indicates the or state of the state “warning”, state “command waiting”, state “setup”, state “preparing setup”, state “comparing”, and “initial state” represented by a black circle Therefore, the node name is (1, monitoring). Since the state “comparing” has no sub-state, the state classification is a terminal state, and the node name is (0, being compared). In this case, since each “initial state” has only one pseudo state of the same state classification in the parent state, its unique number is 0 and its node name is (3, 0). The node name of “connector” is (5, 0). In this way, a tree is constructed with a parent state and a child state as a state and its sub-states.
[0271]
Next, the path name generation unit 1109 calls one of the absolute path name generation unit 1113, the unary relative path name generation unit 1114, and the binary relative path name generation unit 1115 in accordance with the user's designated selection content, and the called path By operating the name generation unit, new drawing path name data 1123 and old drawing path name data 1124 are generated (steps S1204 to S1206).
[0272]
When the operator selects a text expression based on an absolute path name to represent a tree structure, the absolute path name generation unit 1113 is called to create new and old drawing path name data based on the absolute path name notation. When the operator selects the text line expression by the unary relative path name, the unary relative path name generation unit 1114 is called to create old and new drawing path name data by the unary relative path name notation. When the operator selects the text line expression by the binary relative path name, the binary relative path name generation unit 1115 is called to create old and new drawing path name data by the binary relative path name notation.
[0273]
Next, the path name difference detection unit 1110 creates path name difference data 1125 by taking the difference between the new drawing path name data 1123 and the old drawing path name data 1124 in any of the above path name notations (step S1207). .
[0274]
FIG. 78 shows a dictionary order difference result in absolute path name notation. According to the dictionary order difference result by the absolute path name notation, the path name (2, ON). (1, under monitoring). (0, preparing for setup) is deleted from the old drawing and the path name (2, ON). (1, under monitoring). (5, 0) and path name (2, ON). (1, processing in progress). (0, connected). (0, idle) and path name (2, on). (1, processing in progress). (0, connected), (0, running) and path name (2, ON). (1, Processing). (0, Connecting). Path name difference data indicating that (3, 0) has been added to the new drawing is formed.
[0275]
FIG. 79 shows the dictionary order difference result by the unary relative path name notation. According to the dictionary order difference result by the unary relative path name notation, the path name (0, preparing for setup) and the path name (0, connecting) are deleted from the old drawing, and the path name (5 in the new drawing). , 0), path name (0, connected) {, path name (0, idle), path name (0, running), and path name} (3, *) are added. The path name difference data shown is formed.
[0276]
FIG. 80 shows the depth priority difference result by the binary relative path name. According to the depth priority difference result based on the binary relative path name, from the old drawing, the path name (1, monitoring in progress) {(0, preparing for setup) and path name (1, processing in progress) {(0, Connected) is deleted, and for the new drawing, the path name (1, monitoring) {(0, setup), path name (1, processing) {(1, connected), and path name (1 , Connected) {(0, idle), path name (1, connected) {(0, running), and path name (1, connected) {(3, 0) are added. The path name difference data shown is formed.
[0277]
The tree difference association unit 1111 stores the path name difference data 1125 in any one of these path name notations in association with the drawing in the difference data storage unit 1133 (step S1208).
[0278]
The link difference detection unit 1116 obtains a state transition difference between the new drawing file 1130 and the old drawing file 1131 and additionally stores this transition difference data in the difference data storage unit 1133 (step S1209).
[0279]
When the (From state ID, To state ID, event name [guard condition] / action) are equal, the link difference detection unit 1116 determines that the transitions to be compared are the same transition, and the new difference exists in the old drawing. When it is not in the drawing, it is determined as a deletion transition, and when it is in the new drawing but not in the old drawing, it is determined as an addition transition. The From state ID and the To state ID are represented by an absolute path name of the state name.
[0280]
FIG. 81 schematically shows transition difference data between the state transition diagram (old drawing) shown in FIG. 56 (a) and the state transition diagram (new drawing) shown in FIG. 56 (b). In this case, transition difference data including deletion data composed of three state transitions indicated in the deletion column and additional data consisting of six state transitions indicated in the addition column is obtained.
[0281]
Next, the symbol difference detection unit 1117 detects a difference in the description (character string) of the operation of the old and new drawings, and additionally stores this operation difference data in the difference data storage unit 1133 (step S1210). This difference in behavioral description can be done by simple text comparison.
[0282]
Next, the added part display unit 1118 and the deleted part display unit 1119 highlight the difference data of the state, transition, and operation stored in the difference data storage unit 1133 on the screen of the display 1101. That is, the old drawing and the new drawing are displayed side by side on the screen of the display 1101, and the deleted part (in the rectangle with rounded corners indicating the state, the arrow indicating the transition, the character string indicating the operation) is displayed on the old drawing. ) Is displayed with a different display color from the other parts, and added parts (in the rectangle with rounded corners indicating the state, arrows indicating the transition, character strings indicating the action) are displayed on the new drawing. Are displayed with a display color different from that of the deleted portion of the old drawing (steps S1211, S1212).
[0283]
As described above, in the second embodiment, when extracting the difference between the state transition diagrams, a state tree structure is created based on the nesting relationship between the states of the old and new state transition diagrams, and the dictionary order difference by the absolute path name, the unary By creating the text of the old and new drawings representing the tree structure using either the dictionary order difference by relative path name or the depth priority difference by binary relative path name, and extracting the text difference between these two old and new drawings Extracting the difference (deletion / addition) between the old and new drawings, and extracting the difference between the old and new drawings by comparing (From state ID, To state ID, event name [guard condition] / action) of the old and new drawings And, by comparing the descriptive text of the behavior of the old and new drawings, the difference of the behavior is extracted, so that the semantic difference extraction of the state transition diagram is performed. In addition, the moving part of the symbol position for the purpose of appearance adjustment is not highlighted, but only the truly meaningful revisions are highlighted, and the operator can easily check only the substantial revisions become able to.
[0284]
[Object diagram]
Next, semantic difference extraction related to an object diagram will be described. As shown in FIGS. 82A and 82B, the class diagram (object diagram) represents the relationship, aggregation, and inheritance between classes (objects). In an object-oriented system, one use case is realized while objects in the system cooperate with each other. When realizing one use case, an object sends a message, and an object receives the message and activates a necessary process. At this time, the objects must know each other's existence. A class diagram expresses this. In FIG. 82, (a) shows the old drawing of the class diagram and (b) shows the new drawing of the class diagram.
[0285]
Next, terms used in the class diagram will be described with reference to FIGS. The “class diagram” is composed of “class graphic”, “inheritance”, “aggregation”, and “relation”. The rectangle divided into three sections is a class graphic. The upper area is the "class name", the middle area is the "attribute name", and the lower area is the lower area. It is the “operation (method) name”. In FIG. 82, “graphic”, “closed graphic”, “circle”, and the like are class names, “filled pattern” is an attribute, and “draw ()”, “set_pattern ()”, and the like are operations.
[0286]
“Inheritance” is a relationship between a super (parent) class and a subclass, and the inheritance relationship has a hierarchical structure. “Inheritance” is represented by a white triangle line connecting the class figures, and the triangle side is the parent side of inheritance. “Aggregation” is the relationship between the whole and the part class, and the end points connecting the figures of the class are represented by rhombus lines, the rhombus side shows the whole, and the opposite side is the part that constitutes the whole ing. “Relationship” is a temporary relationship between classes, and is represented by a simple line connecting the graphics of the class.
[0287]
First, an outline of semantic difference extraction in a class diagram will be described. In this class diagram difference extraction, broad relations are classified into inheritance, aggregation, and other relations, and differences in link relationships between classes, inheritance, and aggregation tree structures are extracted for each type of relation. To do.
[0288]
That is, inheritance extracts differences as a tree structure. For association and aggregation, a difference in link information between classes is detected. Tree difference detection is executed in the same manner as tree difference detection in the state transition diagram. The highlighting is almost the same as in the state transition diagram.
[0289]
Next, the semantic difference extraction display operation of the class diagram by the connection drawing edit display device 1106 shown in FIG. 75 will be described in more detail with reference to the flowchart shown in FIG. 76 and the specific examples shown in FIGS. To do.
[0290]
As described above, the operator selects the path name used in the current difference extraction process at the first time or at an appropriate time before generating the path name as an absolute path name notation, unary relative path name notation, and binary relative path name. Select and specify from either.
[0291]
When the difference extraction process is started, the tree difference detection unit 1107 includes a new drawing file 1130 (new class diagram as shown in FIG. 82 (b)) and an old drawing file 1131 (old as shown in FIG. 82 (a)). Class diagram) is read (step S1201). Next, the drawing information extraction unit 1112 extracts information to be converted into a tree structure from the new drawing file 1130 and the old drawing file 1131 (step S1202). In other words, a class connected by an inheritance arrow (open triangle) and an inheritance arrow are extracted. Next, the tree structure creation unit 1108 creates the tree structure data, that is, the new drawing tree structure file 1121 and the old drawing tree structure file 1122 based on the extracted information, that is, the class nesting relationship of the class diagram ( Step S1203). At this time, the tree structure creation unit 1108 creates a tree structure with the class having the inheritance arrow as a parent and the class having no inheritance arrow as a child. The node name uses the class name.
[0292]
FIG. 83A shows the tree structure of the class diagram (old drawing) shown in FIG. 82A, and FIG. 83B shows the class diagram shown in FIG. 82B (new drawing). This shows the tree structure.
[0293]
Next, the path name generation unit 1109 calls one of the absolute path name generation unit 1113, the unary relative path name generation unit 1114, and the binary relative path name generation unit 1115 in accordance with the user's designated selection content, and the called path By operating the name generation unit, new drawing path name data 1123 and old drawing path name data 1124 are generated (steps S1204 to S1206).
[0294]
Next, the path name difference detection unit 1110 creates path name difference data 1125 by taking the difference between the new drawing path name data 1123 and the old drawing path name data 1124 in any of the above path name notations (step S1207). .
[0295]
FIG. 84 shows a dictionary order difference result in absolute path name notation. According to the difference result in the dictionary order by the absolute path name notation, the path names “figure.line” and “figure.closed figure.circle” are deleted from the old drawing, and the path names “figure.closed figure”, “figure.closed figure” are deleted. . ”Line”, “Figure.Closed figure.Ellipse” are generated to indicate that the path name difference data has been added to the new drawing.
[0296]
FIG. 85 shows the dictionary order difference result by the unary relative path name notation. According to the dictionary order difference result by unary relative path name notation, the path name “circle” is deleted from the old drawing and the path name “open figure {”, “oval” is added. Data is formed.
[0297]
FIG. 86 shows the depth priority difference result by the binary relative path name. According to the depth priority difference result by the binary relative path name, the path name “figure {straight line” “closed figure {circle” is deleted from the old drawing, and the path name “figure {open figure” is added to the new drawing. "," Open figure {straight line "," closed figure {ellipse "path name difference data indicating that a circle has been added.
[0298]
The tree difference association unit 1111 stores the path name difference data 1125 generated by the path name difference detection unit 1110 in any one of the above path name notations in the difference data storage unit 1133 in association with the drawing (step S1208). .
[0299]
Next, the link difference detection unit 1116 obtains a difference regarding aggregation and association between the new drawing file 1130 and the old drawing file 1131 and additionally stores the difference data in the difference data storage unit 1133 (step S1209).
[0300]
The link difference detection unit 1116 performs aggregation difference extraction by arranging pairs of class names composed of (From class name, To class name) in the order of dictionary and detecting text difference. The side with the diamond is the From side, and the side without the diamond is the To side. When there are a plurality of To sides, it is decomposed into a plurality of pairs of From and To. As for the association, the class name to which they are connected is represented as a pair with the front in the dictionary order and the other in the order of the dictionary. These pairs are arranged in a dictionary order, and a difference between texts is detected to detect a related difference.
[0301]
Next, the symbol difference detection unit 1117 detects the difference between the addition and deletion of the class using the class name as a key, detects the difference between the class attribute and the method of the old and new class drawings, and stores the difference data as a difference data storage unit. It is additionally stored in 1133 (step S1210). For attributes, the attribute text is obtained for each class name, and the difference between the attributes is detected by comparing the text in the old drawing with the text in the new drawing. The difference is detected in the same manner for the operation.
[0302]
Next, the added part display unit 1118 and the deleted part display unit 1119 include difference data relating to addition / deletion of classes stored in the difference data storage unit 1133, difference data relating to increase / decrease of class attributes and operations, inheritance, aggregation. , The difference data related to the addition / deletion related to the relationship is highlighted on the screen of the display 1101. That is, the old drawing and the new drawing are displayed side by side on the screen of the display 1101, the deleted part is displayed on the old drawing with a display color different from the other parts, and the added part on the new drawing. Is displayed with a different display color from the other parts and the deleted part of the old drawing (steps S1211, S1212).
[0303]
FIG. 87 shows other old and new drawings relating to the class diagram. FIG. 87A is an old drawing of the class diagram, and FIG. 87B is a new drawing of the class diagram.
[0304]
If the difference extraction method for the class diagram described above is used, the difference extraction result in the case of the class diagram shown in FIG. 87 is as follows.
(a) Adding and deleting classes (components)
The added component is class 3, and the deleted component is class C.
(b) Addition and deletion of component attributes and operations
The add operation is class 4 operation 4 and the delete operation is class 1 operation 2.
(c) Inheritance difference extraction
Figure 0003761156
  (d) Related difference extraction
Additional relationships are class1-class3 and class2-class3.
[0305]
As described above, in the second embodiment, when class diagram difference extraction is performed, a class inheritance tree structure is created based on the class inheritance relationship of the old and new state transition diagrams, and a dictionary order difference based on an absolute path name, Create text of old and new drawings that represent tree structure by either dictionary order difference by single relative path name or depth priority difference by binary relative path name, and extract text difference between these two old and new drawings Then, the class inheritance difference (deletion / addition) of the old and new drawings is extracted, and a pair of class names composed of (From class name, To class name) of the old and new drawings is compared, and the old and new drawings are aggregated. Extracts the difference between these classes, class attributes, and class operations by extracting related differences and comparing text names of class names, class attributes, and class methods of old and new drawings. As a result, semantic difference extraction of the class diagram is performed, so that the moving part of the symbol position for the purpose of appearance adjustment is not highlighted, but only the truly meaningful revisions are highlighted. As a result, the operator can easily confirm only the substantial revision location.
[0306]
Embodiment 3 FIG.
Next, a third embodiment of the present invention will be described with reference to FIGS. In the third embodiment, the present invention is applied to a ladder diagram created using a CAD system.
[0307]
[Ladder diagram]
In the ladder diagram, as shown in FIGS. 88 (a) and 88 (b), contacts, coils and the like are arranged in rows and columns in a matrix. 88, (a) shows the old drawing of the ladder diagram, and (b) shows the new drawing of the ladder diagram.
[0308]
The terms used in the ladder diagram will be described with reference to FIGS. 88 (a) and 88 (b). “X01” to “X14” and “M01” to “M03” are symbol names. The graphic parts below these symbol names are symbols such as “contact” and “coil”. The lower circle such as “M01” is a “coil” symbol, and the lower circle such as “X01” is a “contact” symbol. A parallel two line with a cross line below “M01” is a b contact, and a simple parallel two line below “X04” is an a contact. The vertical lines at the left and right ends are “buses” as connection lines. Symbols are arranged in a grid pattern between the bus bars. The left bus bar, the symbol, and the right bus bar are wired by “connection lines”.
[0309]
FIG. 89 is a block configuration diagram showing an example of a connection drawing edit display device for editing and displaying a ladder diagram as a connection drawing. This connection drawing edit / display apparatus shows a functional configuration of a program to be executed by a personal computer or a workstation.
[0310]
The apparatus shown in FIG. 89 includes a display 2101 as an input / output terminal device, a pointing device 2102 such as a mouse, a keyboard 2103, and an output device 2104 such as a printer. Exchange of signals such as graphic data and input / output instructions with 2106 is executed.
[0311]
The connected drawing editing / display apparatus 2106 includes a drawing information extraction unit 2112, a drawing text creation unit 2108 that controls the operation of the line text generation unit 2109 and the item text generation unit 2113, a text difference detection unit 2110, a difference association unit 2111, An addition display unit 2118 and a deletion display unit 2119 are provided.
[0312]
The drawing information extraction unit 2112 reads the old drawing file 2131 of the ladder diagram (old drawing) as shown in FIG. 88 (a) and the new drawing file 2130 of the ladder diagram (new drawing) as shown in FIG. 88 (b). From these, necessary drawing information is extracted. The line text generation unit 2109 sequentially extracts data (ladder column) for one line of the drawings arranged and routed in a grid pattern from the drawing information of the old drawing and the new drawing from the first line, and the symbols in the extracted lines and The wiring intersections are examined in order from the beginning of the line, and a new drawing text 2121 and an old drawing text 2122 in which text representation is made for each line for each of the new and old drawings are created. The new drawing is added after the last line of the new drawing text 2121, and the old drawing is added after the last line of the old drawing text 2122.
[0313]
The text difference detection unit 2110 detects the difference between the drawing texts by extracting the difference between the new drawing text 2121 and the old drawing text 2122 for each line, and extracts the difference data 2125. The text difference detection unit 2110 detects line changes according to the following rules.
[0314]
(A) When the i-line of the old text and the k-line of the new text are different, the i-line of the old text is the k of the new text if the i-line before and after the i-line of the old text matches the k-line of the new text. Consider changed to a line.
(B) When the above condition (A) is satisfied for n consecutive lines, it is considered that the n lines of the old text have been changed to n lines of the new text.
[0315]
The difference association unit 2111 associates line-by-line differences detected by the text difference detection unit 2110 with differences on the drawing, and stores the associated difference data in the difference data storage unit 2133. The item text generation unit 2113 decomposes the text of each line of the old and new drawings in which there is a difference between the old drawing and the new drawing into units of items (branch information composed of symbols, ruled line characters, etc.). Then, an old drawing item text 2124 is created, a difference between the item texts of each line of the old and new drawings is created, and this item difference data is additionally stored in the difference data storage unit 2133 as an item difference.
[0316]
The added part display unit 2118 and the deleted part display unit 2119 highlight the difference according to the data in the difference data storage unit 2133. As a highlighting technique,
(A) Like the state transition diagram and the class diagram, the old drawing and the new drawing are displayed side by side on the screen of the display 2101, and the display colors of the deleted part and the added part on the new drawing are displayed on the old drawing. Different methods
(B) A method of displaying information of the old drawing under the changed line on the new drawing
(C) A method for displaying new drawing information on the old drawing under the changed ladder unit.
Either of these is adopted.
[0317]
Next, the ladder diagram difference extraction / display operation by the connection drawing editing / display apparatus 2106 will be described more specifically with reference to FIGS. 88 and 90. FIG.
[0318]
The line text generation unit 2109 checks the intersection of the symbol and the wiring in the line in order from the left, and generates a drawing text composed of items such as symbols and ruled line characters. For symbols in the drawing, a text composed of “symbol name (symbol classification)” is generated. In this case, the symbol classification is 0 for coil, 1 for a contact, and 2 for b contact. The connection line is expressed by ruled line characters corresponding to the graphic pattern of the connection line-, ┃, ┏, ┓, ┛, ┗, ┣, ┳, ┫, ┻, ╋. FIG. 90 (a) shows drawing text corresponding to FIG. 88 (a), and FIG. 90 (b) shows drawing text corresponding to FIG. 88 (b).
[0319]
The text difference detection unit 2110 extracts the difference between the drawing text line units of the old and new drawings using a diff algorithm. According to this difference extraction,
Line 2 of the old drawing is changed to line 2 of the new drawing,
Line 3 of the old drawing is changed to line 3 of the new drawing,
Line 5 of the old drawing is deleted
It can be seen that lines 5 and 6 of the new drawing have been added.
[0320]
The item text generation unit 2113 generates an item text for each corrected line. For example,
Figure 0003761156
Is detected.
[0321]
The text difference detection unit 2110 detects the item unit difference using the diff algorithm using the item text generated by the item text generation unit 2113. As a result, in the example of line 2, it is detected that X07 (1) is changed to M02 (1), M02 (0) is added, and the ruled line character “┃” is changed to the ruled line character “┫”. .
[0322]
The added part display unit 2118 and the deleted part display unit 2119 highlight the difference portion using any of the methods described above according to the line-by-line difference data and the item-by-item difference data stored in the difference data storage unit 2133. .
[0323]
As described above, according to the third embodiment, when the difference between the ladder diagrams is extracted, the old and new ladder drawing data is divided into symbol information composed of “symbol name (symbol classification)” and ruled line characters. Each of the converted text is converted into text including information, and the converted old drawing text and new drawing text are differentiated in line units and item units using a diff algorithm to extract differential data in line units and item units, Since the extracted difference data is highlighted, only the revision part that is truly meaningful is highlighted without highlighting the moving part of the symbol position for the purpose of appearance adjustment, The operator can easily confirm only the substantial revision location.
[0324]
Embodiment 4 FIG.
Next, a fourth embodiment of the present invention will be described with reference to FIGS. In the fourth embodiment, the present invention is applied to a flowchart created using a CAD system.
[0325]
[Flowchart]
The flowchart is a diagram for showing the flow of processing. As the graphic elements, as shown in FIG. 91, (a) “start of processing”, (b) “end of processing”, (c) “ “Processing box”, (d) “Branch box”, and the like. In the following, two methods will be described as methods for extracting the differences in the flowchart diagram.
[0326]
<First method>
In this first method, simple languages are respectively generated from old and new flowchart diagrams, and a simple language corresponding to the old and new drawings is compared with a text line so that a difference is extracted so that a difference in meaning can be extracted. . For example, the changed part is highlighted by changing the color between the added part and the deleted part, so that the changed part can be easily identified.
[0327]
FIG. 92 is a block diagram showing an example of a connection drawing edit display device for editing and displaying a flowchart diagram as a connection drawing by the first method. This connection drawing edit / display apparatus shows a functional configuration of a program to be executed by a personal computer or a workstation.
[0328]
The apparatus shown in FIG. 92 has a display 2301 as an input / output terminal device, a pointing device 2302 such as a mouse, a keyboard 2303, and an output device 2304 such as a printer, and a connection drawing edit display device via an input / output interface unit 2305. Exchange of signals such as graphic data and input / output instructions with 2306 is executed.
[0329]
The connected drawing editing / displaying device 2306 includes a drawing / language conversion unit 2308 for controlling the operation of the drawing information extraction unit 2312 and the language generation unit 2309, a text difference detection unit 2310, a difference association unit 2311, and an additional display unit 2318. And a deleted amount display portion 2319.
[0330]
The drawing information extracting unit 2312 reads the old drawing file 2331 of the flowchart (old drawing) as shown in FIG. 93 and the new drawing file 2330 of the flowchart (new drawing) as shown in FIG. 94 or FIG. Retrieve required drawing information. The drawing / language conversion unit 2308 generates the new drawing language text 2321 and the old drawing language text 2322 by converting the drawing information of the old drawing and the new drawing into a (simplified) language using the language generation unit 2309. .
[0331]
At the time of drawing / language conversion by these drawing / language conversion unit 2308 and language generation unit 2309,
As a prerequisite, nested structures are not allowed,
(1) Processing is enumerated,
Figure 0003761156
Express like this. The conditions are arranged under the condition box, right, left conditions in this order from the top,
(3) If there are two or more inputs (IN) in the process, attach a label and jump with GOTO.
Conversion is performed by the method.
[0332]
The text difference detection unit 2310 extracts the difference data 2325 by comparing the new drawing language text 2321 and the old drawing language text 2322 line by line, and stores the difference data in the difference data storage unit 2333.
[0333]
The difference associating unit 2311 creates a language-record key correspondence table 2326 (see FIG. 96) in which the line number of the language text is associated with the record key as the unique name of the box on the drawing. Further, when the difference is extracted by the text difference detection unit 2310, the difference association unit 2311 uses the language-record key correspondence table 2326 and the difference line of the language text based on the record key, on the corresponding drawing. Ask for a box.
[0334]
The added part display unit 2318 and the deleted part display unit 2319 use the difference data stored in the difference data storage unit 2333 to highlight differences between the old and new drawings in accordance with the difference association derived by the difference association unit 2311. I do. As a highlighting technique,
(A) Highlight the processing (or condition) box by adding and deleting different colors
(B) A cloud frame is used (effective when the display is monochrome), and the deleted cloud frame is hatched in the cloud frame as in the first embodiment.
Either of these is adopted.
[0335]
Next, the difference extraction display operation of the flowchart diagram according to the first method will be described more specifically with reference to FIGS. FIG. 93 (a) shows an old drawing of a flow chart as a connection drawing, FIG. 94 (a) shows the new drawing (1), and FIG. 95 (a) shows another new drawing (2).
[0336]
For example, in the flowchart of the old drawing shown in FIG. 93A, the record key of the “START” box indicating the start of processing is 0, and the record key 3 is assigned to the “condition C” as the condition box. , Pin 1 C = X? And pin 2 has C = Z? And pin 3 has C = Y? Has the attributes of
[0337]
The drawing / language conversion unit 2308 and the language generation unit 2309 generate old and new language text data 2321 and 2322 by converting these new and old flowchart drawing data into a simple language. 93 (b), 94 (b), and 95 (b) show language texts corresponding to the flowchart diagram created by the drawing / language conversion processing by the drawing / language conversion unit 2308 and the language generation unit 2309. .
[0338]
The difference associating unit 2311 creates a correspondence table 2326 between the line numbers of the language texts of the created old and new drawings and the record keys assigned to the boxes in the drawings.
[0339]
FIG. 96 (a) shows the correspondence table of the old drawing shown in FIG. 93, and FIG. 96 (b) shows the correspondence table of the new drawing (1) shown in FIG. 94. FIG. Shows the correspondence table of the new drawing (2) shown in FIG. In these tables, the record key is abbreviated as “RK” for convenience.
[0340]
For example, in the table shown in FIG. 96A, “L00” corresponds to pin 3 of record key 0, record key 1 and record key 3, “Process A” corresponds to record key 1,. (Condition C = X?) Corresponds to pin 1 of record key 3,..., “Process D” corresponds to record key 4.
[0341]
Next, the text difference detection unit 2310 performs line-by-line text comparison between the language text file of the old drawing and the language text file of the new drawing.
[0342]
FIG. 97 shows the language text schematically showing the difference extraction result between the language text of the old drawing shown in FIG. 93 (b) and the language text of the new drawing (1) shown in FIG. 94 (b). FIG. 98 shows the difference extraction result between the language text of the old drawing shown in FIG. 93 (b) and the language text of the new drawing (2) shown in FIG. 95 (b). The language text added to the language text is shown.
[0343]
For example, in FIG. 98, when the old drawing text is used as a reference, “L00” in the first line is deleted, and “L00” is added between “Processing A” and “Processing B” in the second line. , “Process D” is added between “IF (condition C = X?) {” On the fourth line and “GOTOL01” on the fifth line, and “Process D” on the thirteenth line is deleted. Is shown to be obtained.
[0344]
Then, when highlighting these difference extraction results, the difference associating unit 2311 uses the drawing-element corresponding to the difference line obtained by the difference extraction as a record key as a key in the language-record shown in FIG. It is obtained from the key correspondence table 2326, and the information is notified to the added part display unit 2318 and the deleted part display unit 2319.
[0345]
The added part display part 2318 and the deleted part display part 2319 change the color of the processing (or condition) box corresponding to the added or deleted part by adding or deleting, or adding a cloud frame, etc. Highlight. FIG. 99 is a diagram in which the difference extraction portion of the flowchart of the old drawing shown in FIG. 93 and the flowchart of the new drawing (1) shown in FIG. 94 is highlighted with a cloud frame. FIG. FIG. 96 is a diagram in which the difference extraction portion of the flowchart of the old drawing shown and the flowchart of the new drawing (2) shown in FIG. 95 is highlighted with a cloud frame. The deleted part is surrounded by a cloud frame including hatching, and the added part is surrounded by a cloud frame having nothing inside.
[0346]
As described above, in the first method of the fourth embodiment, the old and new flowchart drawing data is converted into simple language text, the simple language text corresponding to the old and new drawings is compared with the text line, and the difference is extracted. Because the difference between the symbol positions is extracted, the moving part of the symbol position for the purpose of appearance adjustment is not highlighted, and only the truly meaningful revisions are highlighted. Only substantial revisions can be easily confirmed.
[0347]
<Second method>
Next, the second method of the fourth embodiment will be described with reference to FIGS. In the first method, drawing data was converted into a language, but in the second method, processing is enumerated for each path from the start to the end of the flowchart, not in the language, and the text is considered to be the same between the paths that are considered the same. Line comparison is performed.
[0348]
The same path is determined using a rule that (1) conditions are the same and (2) the start and end are the same. In the text line comparison, the extracted difference is determined as to which processing box or condition box in the processing statement and record key correspondence table.
[0349]
Next, the outline of the processing method will be described.
(1) List the processing statements (character strings indicating processing, conditional statements, etc.) in the flowchart for each path. That is, the character string and conditions in the box are listed from the start to the end. The definition of start and end is as follows.
Figure 0003761156
(2) When there is a branch, the flow is divided into a plurality of paths for each branch. There is no way from OUT to IN.
(3) The loop process (when returning to the same box) is the flow up to that point.
(4) Compare the old and new drawings for each pass.
(5) When taking the difference, it is searched whether there is the same for each path, and if there is the same, these paths are regarded as the same path. When there is no same thing, the text line is compared and the difference with the nearest one is taken. If there is a conditional statement, it is determined that the same conditional statement is the same path. If there is no conditional statement, the same start and end are regarded as the same path. When taking the difference, text line comparison is performed for each path determined to be the same.
(6) The display of the difference as a result of (5) is highlighted by changing the color of the processing (or condition) box between addition and deletion. In order to determine the target of the drawing to be highlighted, a correspondence table of record keys corresponding to each box on the flowchart and the line number of the processed text is provided for each path. If the end is not “END” and there is a difference, the destination in the loop is considered different, and the line is highlighted.
[0350]
FIG. 101 (a) shows an example of an old drawing of a flowchart as a connection drawing, and FIG. 101 (b) shows a processing character string text corresponding to this old drawing. FIG. 102 (a) shows an example of a new drawing of a flow chart as a connection drawing, and FIG. 102 (b) shows a processing character string text corresponding to this new drawing.
[0351]
The old drawing shown in FIG. 101 (a) is divided into three paths A1, A2, and A3 because there is one conditional branch having three branches. The new drawing shown in FIG. 102 (a) is also divided into three paths B1, B2, and B3 because there is one conditional branch having three branches.
[0352]
Since the path A1 of the old drawing and the path B1 of the new drawing have the same conditions and the same start and end, they are determined to be the same path. The path A3 of the old drawing and the path B3 of the new drawing are the same and are determined to be the same path. The path A2 of the old drawing and the path B2 of the new drawing are determined to be the closest paths and are subjected to difference comparison.
[0353]
The results of text line comparison for each of these paths A1-B1, A2-B2, and A3-B3 are shown on the right side of each path in FIGS. 101 (b) and 102 (b).
[0354]
In this case, regarding the old drawing, the process D is deleted in the path A1, the process A is deleted in the path A2, and the process D is deleted in the path A3. Regarding the new drawing, the process D is added in the path B1, the process D and the process B are added in the path B2, and the process D is added in the path B3.
[0355]
FIG. 103 shows a correspondence table between processing statements set for the paths A1 to A3 and B1 to B3 of the old and new drawings and the record key of the drawing. For example, for the path A1 in the old drawing, “Process A” in the second line corresponds to the record key 1, “Process B” in the third line corresponds to the record key 2, and “Condition C” in the fourth line. Corresponds to the record key 3, “C = X?” In the fifth row corresponds to the pin 1 of the record key 3, and “Processing D” in the sixth row corresponds to the record key 4.
[0356]
As described above, in the second method of the fourth embodiment, the old and new flowchart drawing data is converted into a plurality of processing sentence texts in which processing is listed for each of a plurality of paths included from the start to the end of the flowchart. Differences between old and new flowcharts can be extracted by comparing text lines between the considered paths so that differences in meaning can be extracted. In addition, only a truly meaningful revision location is highlighted, and the operator can easily confirm only the substantial revision location.
[0358]
【The invention's effect】
  As described above, according to the present invention, the drawing elements included in the old and new drawing data of the electric circuit diagram are grouped into a plurality of different connection groups so that those of the same potential become the same connection group. The connection group of the old drawing and the connection group of the new drawing that are grouped are associated with each other, and the connection group of the corresponding old drawing and the connection group of the new drawingMutualIn betweenThe part connection point difference is extracted using the part connection point unique comparison key. Part connection points are extracted as highlighting targets, and connection lines connected to the part connection points extracted as highlighting targets are traced to extract the connection lines as highlighting targets. Since part connection points and connection lines are highlighted, parts connection points that belong to different connection groups even if the unique comparison key matches between the old drawing data and the new drawing data are highlighted.As a result, the operator can easily confirm a truly meaningful revision in the electrical circuit diagram.
[0403]
According to the program of the next invention, since the method described in any one of the above inventions is caused to be executed by a computer, the program can be read by a computer. There is an effect that one operation can be executed by a computer.
[Brief description of the drawings]
BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is a diagram for describing terms relating to an electric circuit diagram used in Embodiment 1 of the present invention;
FIG. 2 is a diagram for explaining connection line connection rules with respect to the electric circuit diagram used in Embodiment 1 of the present invention;
FIG. 3 is a block diagram showing the configuration of the first embodiment of the connection drawing edit display device according to the present invention;
4 is a flowchart showing an operation procedure of a semantic space mapping unit of FIG. 3;
FIG. 5 is a diagram illustrating old drawing data relating to the electric circuit drawing used in the first embodiment;
6 is a diagram illustrating new drawing data regarding the electric circuit drawing used in the first embodiment. FIG.
FIG. 7 is a storage table showing part information related to an old drawing.
FIG. 8 is a storage table showing connection line information related to an old drawing.
FIG. 9 is a storage table showing attribute information related to old drawings.
FIG. 10 is a storage table showing connection point information related to an old drawing.
FIG. 11 is a storage table showing connection group information related to old drawings.
FIG. 12 is a storage table showing part information related to a new drawing.
FIG. 13 is a storage table showing connection line information related to a new drawing.
FIG. 14 is a storage table showing attribute information related to a new drawing.
FIG. 15 is a storage table showing connection point information related to a new drawing.
FIG. 16 is a storage table showing connection group information related to a new drawing.
FIG. 17 is a flowchart showing an operation procedure of the connection group generation unit of FIG. 3;
FIG. 18 is a table showing the result of grouping vertical connection lines related to the old drawing.
FIG. 19 is a table diagram in which horizontal connection line grouping is added to vertical connection line grouping for an old drawing.
FIG. 20 is a table in which horizontal connection line grouping and part connection point grouping are added to the vertical connection line grouping for the old drawing.
FIG. 21 is a flowchart showing an operation procedure of the connection drawing difference extraction unit of FIG. 3;
22 is a flowchart showing an operation procedure of the semantic difference extraction unit in FIG. 3;
FIG. 23 is a storage table showing part information relating to an old drawing to which a difference extraction result has been added.
FIG. 24 is a storage table showing part information related to a new drawing to which a difference extraction result has been added.
FIG. 25 is a storage table showing attribute information related to an old drawing to which a difference extraction result has been added.
FIG. 26 is a storage table showing attribute information related to a new drawing to which a difference extraction result has been added.
FIG. 27 is a storage table showing connection point information relating to an old drawing to which a difference extraction result has been added.
FIG. 28 is a storage table showing connection point information related to a new drawing to which a difference extraction result has been added.
FIG. 29 is a flowchart showing an operation procedure of the highlighted connection line extraction unit of FIG. 3;
FIG. 30 is a storage table showing connection line information related to an old drawing to which a difference extraction result has been added.
FIG. 31 is a storage table showing connection line information related to a new drawing to which a difference extraction result has been added.
32 is a flowchart showing an operation procedure of the connection drawing additional difference data generation unit of FIG. 3;
FIG. 33 is a diagram illustrating a differential extraction drawing in a state where an additional part part and a polygon surrounding an additional drawing attribute part are added to the new drawing.
FIG. 34 is a diagram illustrating a difference extraction drawing in a state where polygon data of an additional portion is expanded.
FIG. 35 is a diagram illustrating a difference extraction drawing in a state where cloud frame data is added to an additional portion.
36 is a flowchart showing an operation procedure of a part highlight display area calculation unit in FIG. 3;
FIG. 37 is a diagram for explaining the operation of the part emphasis display area calculation unit in FIG. 3;
FIG. 38 is a diagram for explaining the operation of the part emphasis display area calculation unit in FIG. 3;
FIG. 39 is a flowchart showing the operation procedure of the proximity emphasis display area composition unit of FIG. 3;
40 is a diagram for explaining the operation of the proximity emphasis display area composition unit in FIG. 3; FIG.
41 is a flowchart showing an operation procedure of the connection drawing deletion difference data generation unit of FIG. 3;
FIG. 42 is a diagram illustrating a differential extraction drawing in a state where a polygon surrounding a deleted part part and a deleted drawing attribute part is added to the new drawing.
FIG. 43 is a diagram illustrating a difference extraction drawing in a state where polygon data of a deleted portion is expanded.
FIG. 44 is a diagram illustrating a difference extraction drawing in a state where cloud frame data is added to a deletion portion.
45 is a flowchart showing an operation procedure of the connection drawing change difference data generation unit of FIG. 3; FIG.
FIG. 46 is a diagram showing a differential extraction drawing in a state where a changed part part and a polygon surrounding the changed drawing attribute part are added to the new drawing.
FIG. 47 is a diagram illustrating a difference extraction drawing in a state where cloud frame data is added to a changed portion.
48 is a diagram for explaining the operation of the sub-number information generating unit in FIG. 3; FIG.
FIG. 49 is a diagram illustrating an actual display state of the difference extraction drawing in which all the difference extraction information is reflected.
50 is a flowchart showing the operation procedure of the cloud frame enlarging / reducing unit of FIG. 3. FIG.
51 is a diagram for explaining the operation of the cloud frame enlarging / reducing unit of FIG. 3;
52 is a flowchart showing an operation procedure of the cloud frame changing unit in FIG. 3. FIG.
53 is a diagram for explaining the operation of the cloud frame changing unit in FIG. 3; FIG.
54 is a flowchart showing an operation procedure of the disappearing line changing unit in FIG. 3; FIG.
55 is a diagram for explaining the operation of the disappearing line changing unit in FIG. 3; FIG.
FIG. 56 is a diagram illustrating an old drawing and a new drawing for the state transition diagram used in the second embodiment of the present invention.
FIG. 57 is a diagram illustrating an old tree structure for explaining difference extraction by a tree structure;
FIG. 58 is a diagram illustrating a new tree structure for explaining difference extraction by a tree structure;
FIG. 59 is a diagram illustrating a new tree structure for explaining difference extraction by a tree structure;
60 is a diagram showing the absolute path name notation of the tree structure of FIG. 57. FIG.
61 is a diagram showing notation of an absolute path name of the tree structure of FIG. 58. FIG.
62 shows absolute path name notation of the tree structure of FIG. 59. FIG.
FIG. 63 is a diagram showing difference text in the absolute path name notation of the tree structure shown in FIGS. 57 and 58;
64 is a diagram showing difference text in the absolute path name notation of the tree structure shown in FIGS. 57 and 59. FIG.
65 is a diagram showing a single relative path name notation of the tree structure of FIG. 57. FIG.
66 is a diagram showing notation relative path name notation of the tree structure of FIG. 58. FIG.
67 is a diagram showing unary relative path name notation of the tree structure of FIG. 59. FIG.
FIG. 68 is a diagram illustrating difference text in a single-term relative path name notation of the tree structure illustrated in FIGS. 57 and 58;
FIG. 69 is a diagram showing difference text in the tree structure shown in FIG. 57 and FIG. 59 in unary relative path name notation.
FIG. 70 is a diagram illustrating binary relative path name notation of the tree structure of FIG.
71 is a diagram showing binary relative path name notation of the tree structure of FIG. 58;
72 is a diagram illustrating binary relative path name notation of the tree structure of FIG. 59. FIG.
FIG. 73 is a diagram showing a difference text in binary tree relative path name notation of the tree structure shown in FIGS. 57 and 58;
74 is a diagram showing difference text in the binary structure relative path name notation of the tree structure shown in FIGS. 57 and 59. FIG.
FIG. 75 is a block diagram showing a configuration of a second embodiment of the connection drawing edit display device according to the present invention;
76 is a flowchart showing an operation procedure of the connection drawing editing apparatus of FIG. 75. FIG.
77 is a diagram showing a tree structure of the state of the old and new drawings of the state variation diagram shown in FIG. 56. FIG.
78 is a diagram showing a difference text in a state expressed by an absolute path name notation in the old and new drawings of the state variation diagram shown in FIG. 56. FIG.
FIG. 79 is a diagram showing a state difference text in a single relative path name notation in the old and new drawings of the state variation diagram shown in FIG. 56;
FIG. 80 is a diagram showing a difference text in a state expressed by a binary path name notation in the old and new drawings of the state variation diagram shown in FIG. 56;
81 is a diagram showing a difference text of transition between the old and new drawings of the state variation diagram shown in FIG. 56. FIG.
FIG. 82 is a diagram illustrating an old drawing and a new drawing for an object diagram (class diagram) used in Embodiment 2 of the present invention;
83 is a diagram showing a tree structure of transition of the old and new drawings of the class diagram shown in FIG. 82.
84 is a diagram showing a difference text of transitions in the absolute path name notation of the old and new drawings of the class diagram shown in FIG. 82.
FIG. 85 is a diagram showing a difference text of transitions in the unary relative path name notation of the old and new drawings of the class diagram shown in FIG. 82.
FIG. 86 is a diagram showing a difference text of transitions expressed in the binary relative path name notation of the old and new drawings of the class diagram shown in FIG. 82.
FIG. 87 is a diagram illustrating another old drawing and new drawing for the object diagram (class diagram) used in the second embodiment of the present invention;
FIG. 88 is a diagram illustrating an old drawing and a new drawing for the ladder diagram used in the third embodiment of the present invention.
FIG. 89 is a block diagram showing a configuration of a third embodiment of the connection drawing edit display device according to the present invention;
FIG. 90 is a diagram showing old drawing text data and new drawing text data for a ladder diagram.
FIG. 91 is a diagram illustrating a box description used in the flowchart used in the fourth embodiment of the present invention.
FIG. 92 is a block diagram showing a configuration of a fourth embodiment of the connection drawing edit display device according to the present invention;
FIG. 93 is a diagram showing an example of a flowchart (old drawing) and its language text used in Embodiment 4 of the present invention.
FIG. 94 is a diagram illustrating a flowchart (new drawing {circle around (1)}) and language text thereof used in the fourth embodiment of the present invention.
FIG. 95 is a diagram illustrating a flowchart (new drawing (2)) and its language text used in Embodiment 4 of the present invention.
FIG. 96 is a diagram showing a language-record key correspondence table for an old drawing, a new drawing (1), and a new drawing (2).
FIG. 97 is a diagram showing a text difference result between the old drawing and the new drawing (1).
FIG. 98 is a diagram showing a text difference result between the old drawing and the new drawing (2).
FIG. 99 is a diagram showing a flowchart in which a text difference result between an old drawing and a new drawing (1) is reflected.
FIG. 100 is a diagram showing a flowchart in which a text difference result between an old drawing and a new drawing (2) is reflected.
FIG. 101 is a diagram illustrating a flowchart (old drawing) and a processing statement string for each path used in the fourth embodiment of the present invention.
FIG. 102 is a diagram illustrating a flowchart (new drawing) used in Embodiment 4 of the present invention and a processing statement string for each path.
FIG. 103 is a diagram showing a correspondence table between text data processing sentences and record keys of drawings.
[Explanation of symbols]
1 display, 2 pointing device, 3 keyboard, 4 output device, 5 input / output interface unit, 6 connection drawing edit display device, 7 semantic space mapping unit, 8 connection drawing difference extraction unit, 9 connection drawing difference data generation unit, 10 sub Number information generation unit, 11 Difference information reflection unit, 12 Highlight display data customization unit, 13 Connection group generation unit, 14 Parts difference extraction unit, 15 Attribute difference extraction unit, 16 Semantic difference extraction unit, 17 Connection drawing additional difference data generation unit , 18 Connection drawing deletion difference data generation unit, 19 Connection drawing change difference data generation unit, 20 Cloud frame enlargement / reduction unit, 21 Cloud frame deformation unit, 22 Visibility line change unit, 23 highlighted display connection line extraction unit, 24 parts Highlight display area calculation unit, 25 Proximity highlight display area composition unit, 26 Cloud frame generation unit, 27 c Tatching generation unit, 28 Changed character notation changing unit, 29 Development information storage unit, 30 New drawing file, 31 Old drawing file, 32 Difference data storage unit, 33 Highlight display data file, 1101 Display, 1102 Pointing device, 1103 Keyboard, 1104 Output device, 1105 input / output interface unit, 1106 connection drawing edit display device, 1106 connection drawing edit display device, 1107 tree difference detection unit, 1108 tree structure creation unit, 1109 path name generation unit, 1110 path name difference detection unit, 1111 tree Difference association unit, 1112, drawing information extraction unit, 1113 absolute path name generation unit, 1114 unary relative path name generation unit, 1115 binary relative path name generation unit, 1116 link difference detection unit, 1117 symbol difference detection unit, 111 8 Additional display section, 1119 Delete display section, 1121 New drawing tree structure file, 1122 Old drawing tree structure file, 1123 New drawing path name data, 1124 Old drawing path name data, 1125 Path name difference data, 1130 New drawing file 1131 old drawing file, 1133 differential data storage unit, 2101 display, 2102 pointing device, 2103 keyboard, 2104 output device, 2105 input / output interface unit, 2106 connected drawing edit display device, 2109 line text generation unit, 2110 text difference detection unit 2111 Difference association unit, 2113 item text generation unit, 2118 additional display unit, 2119 deletion display unit, 2121 new drawing text, 2122 old drawing text, 2123 new drawing item Text, 2124 Old drawing item text, 2125 Difference data, 2130 New drawing file, 2131 Old drawing file, 2133 Difference data storage unit, 2301 Display, 2302 Pointing device, 2303 Keyboard, 2304 Output device, 2305 I / O interface unit, 2306 connection Drawing edit display device, 2308 drawing / language conversion unit 2309 language generation unit, 2310 text difference detection unit, 2311 difference association unit, 2318 addition display unit, 2319 deletion display unit, 2321 new drawing language text, 2322 old drawing language Text, 2325 Difference data, 2326 Process statement-record key correspondence table, 2330 New drawing file, 2331 Old drawing file, 2333 Difference data storage unit.

Claims (24)

CADシステムによって作成したパーツ、パーツ接続点、接続線を含む図面要素を有する電気回路図のセマンティックな差分表示機能を有する接続図面の編集表示装置であって、
前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点、接続線を、同電位のものが同一接続グループになるように複数の異なる接続グループに夫々グループ分けするグループ分け手段と、
旧図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号と新図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号との比較に基づき強調表示の対象となる差分パーツを抽出するパーツ差分抽出手段と、
前記グループ分けした旧図面の接続グループと新図面の接続グループとの対応付けを行い、対応する旧図面の接続グループおよび新図面の接続グループ同士間でパーツ接続点の一意比較キーを用いてパーツ接続点の差分抽出を行い、前記パーツ差分抽出手段によって差分パーツとして抽出されたパーツに含まれるパーツ接続点と、前記パーツ接続点の差分抽出の結果、前記一意比較キーが不一致のパーツ接続点とを強調表示の対象として抽出するパーツ接続点差分抽出手段と、
前記パーツ接続点差分抽出手段によって抽出されたパーツ接続点につながる接続線をトレースすることで強調表示の対象としての接続線を抽出する接続線差分抽出手段と、
前記パーツ差分抽出手段によって抽出されたパーツ、前記パーツ接続点差分抽出手段によって抽出されたパーツ接続点および前記接続線差分抽出手段によって抽出された接続線を強調表示する強調表示手段と、
を備え、旧図面データおよび新図面データ間で一意比較キーが一致しても異なる接続グループに属するパーツ接続点に関しても、強調表示の対象とすることを特徴とする接続図面の編集表示装置。
A connection drawing edit display device having a semantic difference display function of an electric circuit diagram having a drawing element including parts, part connection points, and connection lines created by a CAD system,
Grouping means for grouping the part connection points and connection lines included in the old drawing data and new drawing data of the electric circuit diagram into a plurality of different connection groups, respectively, so that the same potential is in the same connection group;
Part difference extraction that extracts the difference parts to be highlighted based on the comparison between the part device number as the part unique comparison key included in the old drawing data and the part device number as the part unique comparison key included in the new drawing data Means,
The connection group of the old drawing and the connection group of the new drawing are associated with each other, and the parts are connected using the unique comparison key of the connection point between the connection group of the corresponding old drawing and the connection group of the new drawing. A point difference extraction is performed, and a part connection point included in a part extracted as a difference part by the part difference extraction means, and a part connection point whose unique comparison key does not match as a result of the difference extraction of the part connection point. A part connection point difference extracting means for extracting as a highlight target;
A connection line difference extracting means for extracting a connection line as an object of highlighting by tracing a connection line connected to a part connection point extracted by the part connection point difference extracting means;
Highlighting means for highlighting the parts extracted by the part difference extracting means, the part connecting points extracted by the part connecting point difference extracting means, and the connecting lines extracted by the connecting line difference extracting means;
A connected drawing editing and displaying apparatus characterized in that part connection points belonging to different connection groups even if the unique comparison key matches between the old drawing data and the new drawing data are highlighted.
前記パーツ接続点の一意比較キーは、パーツ毎に設定されたパーツ一意比較キーとパーツのピン番号とを有することを特徴とする請求項1に記載の接続図面の編集表示装置。Unique comparison key of the part connection point, editing and displaying device connection drawings according to claim 1, characterized in that it comprises a pin number of configured parts unique comparison key and parts for each part. 前記グループ分け手段は、前記グループ分けされた各接続グループに対して前記図形要素に含まれる線番号を夫々割付け、
前記パーツ接続点差分抽出手段は、同一線番号を有する接続グループを、旧図面及び新図面間で対応するグループとして対応付けを行うことを特徴とする請求項1または2に記載の接続図面の編集表示装置。
The grouping means assigns line numbers included in the graphic element to the grouped connection groups,
3. The connection drawing edit according to claim 1, wherein the part connection point difference extraction means associates connection groups having the same line number as a corresponding group between the old drawing and the new drawing. Display device.
前記グループ分け手段は、前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点および接続線を、1つの接続グループが、パーツを介さずに接続線の端点またはパーツ接続点まで延在して成る1〜複数の接続線と、該1〜複数の接続線の何れかにパーツを介さずに直接接続される1〜複数のパーツ接続点とを含むように、複数の接続グループにグループ分けすることを特徴とする請求項1〜3の何れか一つに記載の接続図面の編集表示装置。  The grouping means extends part connection points and connection lines included in the old drawing data and new drawing data of the electrical circuit diagram to one end of the connection line or part connection point without passing through the parts. 1 to a plurality of connection lines, and one to a plurality of connection points that are directly connected to any one of the connection lines without any parts. 4. The connection drawing edit display device according to claim 1, wherein the connection drawing edit display device is divided into groups. 前記パーツ接続点差分抽出手段は、旧図面の接続グループに属するパーツ接続点に関する情報と、新図面の接続グループに属するパーツ接続点に関する情報とを比較し、この比較により同じ情報を有するパーツ接続点が所定割合以上存在しているとき、これら旧図面および新図面の接続グループを対応するグループとして設定することを特徴とする請求項1〜4の何れか一つに記載の接続図面の編集表示装置。  The part connection point difference extracting means compares the information about the part connection points belonging to the connection group of the old drawing with the information about the part connection points belonging to the connection group of the new drawing, and the part connection points having the same information by this comparison The connection drawing edit display device according to any one of claims 1 to 4, wherein a connection group of the old drawing and the new drawing is set as a corresponding group when there is a predetermined ratio or more. . 接続線差分抽出手段は、パーツ接続点差分抽出手段によって抽出されたパーツ接続点から分岐点または接続線の端点またはパーツ接続点までに至る接続線を強調表示の対象として抽出することを特徴とする請求項1〜5の何れか一つに記載の接続図面の編集表示装置。  The connection line difference extraction means is characterized in that a connection line from the part connection point extracted by the part connection point difference extraction means to the branch point or the end point of the connection line or the part connection point is extracted as a highlight target. The connection display edit display device according to claim 1. 前記強調表示手段は、旧図面から削除される図形要素と、新図面に追加される図形要素とで、強調表示形態を異ならせることを特徴とする請求項1〜6の何れか一つに記載の接続図面の編集表示装置。  The highlighting means makes the highlighted display form different between a graphic element deleted from the old drawing and a graphic element added to the new drawing. Edit display device for connected drawings. 前記強調表示手段は、前記削除される図形要素は、内部にハッチングが形成された雲枠で囲み、前記追加された図形要素は、雲枠で囲むようにしたことを特徴とする請求項7に記載の接続図面の編集表示装置。  8. The highlighting unit according to claim 7, wherein the deleted graphic element is surrounded by a cloud frame in which hatching is formed, and the added graphic element is surrounded by a cloud frame. The connection drawing editing display device described. 前記強調表示手段は、追加箇所と削除箇所で表示色を異ならせることを特徴とする請求項8に記載の接続図面の編集表示装置。  9. The connection drawing editing / displaying apparatus according to claim 8, wherein the highlighting means changes the display color between the added portion and the deleted portion. 前記強調表示手段は、各雲枠が所定の距離以内に存在する場合は、これら所定距離内の雲枠を合成することを特徴とする請求項8または9に記載の接続図面の編集表示装置。  10. The connected drawing edit display device according to claim 8 or 9, wherein, when each cloud frame exists within a predetermined distance, the highlighting unit synthesizes the cloud frames within the predetermined distance. 前記強調表示手段は、削除される図形要素に関する強調表示データおよび追加される図形要素に関する強調表示データを別のレイヤに設定することを特徴とする請求項7〜10の何れか一つに記載の接続図面の編集表示装置。  The said highlighting means sets the highlight data regarding the graphic element to be deleted and the highlight data regarding the graphic element to be added to different layers, respectively. Connection drawing edit display device. 前記差分抽出の結果、セマンティックな差分がある場合、図面の副番欄の自動更新を行う副番情報更新手段をさらに有することを特徴とする請求項1〜11の何れか一つに記載の接続図面の編集表示装置。  The connection according to any one of claims 1 to 11, further comprising a sub-number information updating unit that automatically updates a sub-number column of a drawing when there is a semantic difference as a result of the difference extraction. Drawing display device. グループ分け手段、パーツ差分抽出手段、パーツ接続点差分抽出手段、接続線差分抽出手段および強調表示手段を備え、CADシステムによって作成したパーツ、パーツ接続点、接続線を含む図面要素を有する電気回路図のセマンティックな差分表示機能を有する接続図面の編集表示装置の動作方法であって、
前記グループ分け手段が、前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点、接続線を、同電位のものが同一接続グループになるように複数の異なる接続グループに夫々グループ分けする第1ステップと、
前記パーツ差分抽出手段が、旧図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号と新図面データに含まれるパーツ一意比較キーとしてのパーツ器具番号との比較に基づき強調表示の対象となる差分パーツを抽出する第2ステップと、
前記パーツ接続点差分抽出手段が、前記グループ分けした旧図面の接続グループと新図面の接続グループとの対応付けを行い、対応する旧図面の接続グループおよび新図面の接続グループ同士間でパーツ接続点の一意比較キーを用いてパーツ接続点の差分抽出を行い、前記第2ステップで差分パーツとして抽出されたパーツに含まれるパーツ接続点と、前記パーツ接続点の差分抽出の結果、前記一意比較キーが不一致のパーツ接続点とを強調表示の対象として抽出する第3ステップと、
前記接続線差分抽出手段が、第3ステップで強調表示の対象として抽出されたパーツ接続点につながる接続線をトレースすることで強調表示の対象としての接続線を抽出する第4ステップと、
前記第2ステップで抽出されたパーツ、前記第3ステップで抽出されたパーツ接続点および第4ステップで抽出された接続線を強調表示する第5ステップと、
を備え、旧図面データおよび新図面データ間で一意比較キーが一致しても異なる接続グループに属するパーツ接続点に関しても、強調表示の対象とすることを特徴とする接続図面の編集表示装置の動作方法。
Electrical circuit diagram having drawing elements including parts, part connection points, and connection lines created by a CAD system, comprising grouping means, part difference extraction means, part connection point difference extraction means, connection line difference extraction means, and highlighting means An operation method of a connection drawing edit display device having a semantic difference display function of
The grouping means groups the part connection points and connection lines included in the old drawing data and new drawing data of the electric circuit diagram into a plurality of different connection groups, respectively, so that the parts having the same potential become the same connection group. A first step to:
The difference to be highlighted by the part difference extraction means based on the comparison between the part device number as the part unique comparison key included in the old drawing data and the part device number as the part unique comparison key included in the new drawing data A second step of extracting parts;
The part connection point difference extraction means associates the grouped old drawing connection group and the new drawing connection group, and the part connection point between the corresponding old drawing connection group and the new drawing connection group. The part comparison point is extracted using the unique comparison key, and the part comparison point included in the part extracted as the difference part in the second step and the difference extraction result of the part connection point result in the unique comparison key. A third step of extracting unmatched part connection points as highlight targets;
A fourth step in which the connection line difference extracting means extracts a connection line as a highlighting target by tracing a connection line connected to a part connection point extracted as a highlighting target in the third step;
A fifth step of highlighting the parts extracted in the second step, the part connection points extracted in the third step and the connection lines extracted in the fourth step;
The connection drawing editing and display device is characterized by highlighting parts connection points belonging to different connection groups even if the unique comparison key matches between the old drawing data and the new drawing data. Method.
前記パーツ接続点の一意比較キーは、パーツ毎に設定されたパーツ一意比較キーとパーツのピン番号とを有することを特徴とする請求項13に記載の接続図面の編集表示装置の動作方法。Unique comparison key of the part connection point, the operation method of editing and displaying device connection drawings according to claim 13, characterized in that it comprises a pin number of configured parts unique comparison key and parts for each part. 前記第1ステップでは、前記グループ分けされた各接続グループに対して前記図形要素に含まれる線番号を夫々割付け、
前記第3ステップは、同一線番号を有する接続グループを、旧図面及び新図面間で対応するグループとして対応付けを行うことを特徴とする請求項13または14に記載の接続図面の編集表示装置の動作方法。
In the first step, line numbers included in the graphic elements are assigned to the grouped connection groups,
15. The connection drawing editing / display apparatus according to claim 13 or 14, wherein the third step associates connection groups having the same line number as a group corresponding to the old drawing and the new drawing. How it works.
第1ステップでは、前記電気回路図の旧図面データおよび新図面データに含まれるパーツ接続点および接続線を、1つの接続グループが、パーツを介さずに接続線の端点またはパーツ接続点まで延在して成る1〜複数の接続線と、該1〜複数の接続線の何れかにパーツを介さずに直接接続される1〜複数のパーツ接続点とを含むように、複数の接続グループにグループ分けすることを特徴とする請求項13〜15の何れか一つに記載の接続図面の編集表示装置の動作方法。  In the first step, one connection group extends part connection points and connection lines included in the old drawing data and new drawing data of the electric circuit diagram to the end points of the connection lines or the part connection points without going through the parts. Grouped into a plurality of connection groups so as to include one or a plurality of connection lines and one to a plurality of part connection points that are directly connected to any one of the one to a plurality of connection lines without any parts. 16. The operation method of the connection drawing edit display device according to any one of claims 13 to 15, characterized in that it is divided. 前記第3ステップでは、旧図面の接続グループに属するパーツ接続点に関する情報と、新図面の接続グループに属するパーツ接続点に関する情報とを比較し、この比較により同じ情報を有するパーツ接続点が所定割合以上存在しているとき、これら旧図面および新図面の接続グループを対応するグループとして設定することを特徴とする請求項13〜16の何れか一つに記載の接続図面の編集表示装置の動作方法。  In the third step, the information on the part connection points belonging to the connection group of the old drawing is compared with the information on the part connection points belonging to the connection group of the new drawing. The connected drawing editing / display apparatus operating method according to any one of claims 13 to 16, characterized in that, when existing, the connection group of the old drawing and the new drawing is set as a corresponding group. . 前記第4ステップでは、第3ステップで抽出されたパーツ接続点から分岐点または接続線の端点またはパーツ接続点までに至る接続線を強調表示の対象として抽出することを特徴とする請求項1〜5の何れか一つに記載の接続図面の編集表示装置の動作方法。  In the fourth step, a connection line from the part connection point extracted in the third step to a branch point or an end point of the connection line or a part connection point is extracted as an object to be highlighted. The operation method of the connection drawing edit display device according to claim 5. 前記第5ステップでは、旧図面から削除される図形要素と、新図面に追加される図形要素とで、強調表示形態を異ならせることを特徴とする請求項13〜18の何れか一つに記載の接続図面の編集表示装置の動作方法。  19. In the fifth step, the highlighted form is made different between a graphic element deleted from the old drawing and a graphic element added to the new drawing. Method for editing and displaying the connected drawing of the apparatus. 前記第5ステップでは、前記削除される図形要素は、内部にハッチングが形成された雲枠で囲み、前記追加された図形要素は、雲枠で囲むようにしたことを特徴とする請求項19に記載の接続図面の編集表示装置の動作方法。  In the fifth step, the graphic element to be deleted is surrounded by a cloud frame in which hatching is formed, and the added graphic element is surrounded by a cloud frame. The operation method of the connection drawing edit display device described. 前記第5ステップでは、追加箇所と削除箇所で表示色を異ならせることを特徴とする請求項20に記載の接続図面の編集表示装置の動作方法。  21. The operation method of the connection drawing edit display device according to claim 20, wherein in the fifth step, the display color is made different between the addition part and the deletion part. 前記第5ステップでは、各雲枠が所定の距離以内に存在する場合は、これら所定距離内の雲枠を合成することを特徴とする請求項20または21に記載の接続図面の編集表示装置の動作方法。  22. The connection drawing edit display device according to claim 20 or 21, wherein, in the fifth step, when each cloud frame exists within a predetermined distance, the cloud frames within the predetermined distance are synthesized. How it works. 前記第5ステップでは、削除される図形要素に関する強調表示データおよび追加される図形要素に関する強調表示データを別のレイヤに設定することを特徴とする請求項19〜22の何れか一つに記載の接続図面の編集表示装置の動作方法。  23. The fifth step according to any one of claims 19 to 22, wherein in the fifth step, highlight data relating to a graphic element to be deleted and highlight data relating to a graphic element to be added are set in different layers. Operation method of connected drawing edit display device. 請求項13〜23のいずれか一つに記載された方法をコンピュータに実行させるプログラム。  A program that causes a computer to execute the method according to any one of claims 13 to 23.
JP2001228351A 2001-07-27 2001-07-27 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method Expired - Fee Related JP3761156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001228351A JP3761156B2 (en) 2001-07-27 2001-07-27 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001228351A JP3761156B2 (en) 2001-07-27 2001-07-27 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP2005034930A Division JP4118891B2 (en) 2005-02-10 2005-02-10 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method
JP2005034931A Division JP4118892B2 (en) 2005-02-10 2005-02-10 Drawing editing and display device, operating method thereof, and program for causing computer to execute the method
JP2005034929A Division JP4118890B2 (en) 2005-02-10 2005-02-10 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method

Publications (2)

Publication Number Publication Date
JP2003044538A JP2003044538A (en) 2003-02-14
JP3761156B2 true JP3761156B2 (en) 2006-03-29

Family

ID=19060877

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001228351A Expired - Fee Related JP3761156B2 (en) 2001-07-27 2001-07-27 Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method

Country Status (1)

Country Link
JP (1) JP3761156B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423949B2 (en) 2010-01-06 2013-04-16 Fujitsu Limited Apparatus for displaying a portion to which design modification is made in designing a product

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722797B2 (en) * 2006-09-12 2011-07-13 三菱電機株式会社 Revision history confirmation device
WO2008032385A1 (en) * 2006-09-14 2008-03-20 Fujitsu Limited Work flowchart comparing program and work flowchart comparing device
EP2370887A4 (en) 2008-12-02 2012-06-13 Ab Initio Technology Llc Visualizing relationships between data elements and graphical representations of data element attributes
JP5670281B2 (en) * 2011-08-31 2015-02-18 本田技研工業株式会社 Chart creation system and change location display method
US9477786B2 (en) * 2013-03-15 2016-10-25 Ab Initio Technology Llc System for metadata management
US9557989B2 (en) * 2013-09-25 2017-01-31 Dassault Systemes Americas Corp. Comparison and merging of IC design data
JP6407806B2 (en) * 2015-06-24 2018-10-17 株式会社日立製作所 Control panel design support system
AU2017367772B2 (en) 2016-12-01 2020-05-14 Ab Initio Technology Llc Generating, accessing, and displaying lineage metadata
KR101862949B1 (en) * 2016-12-30 2018-05-31 두산중공업 주식회사 Drawing Design Apparatus for Providing Guiding Line and Line Drawing Method thereof
JP7120937B2 (en) * 2019-01-24 2022-08-17 株式会社日立製作所 Drawing difference recognition device and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423949B2 (en) 2010-01-06 2013-04-16 Fujitsu Limited Apparatus for displaying a portion to which design modification is made in designing a product

Also Published As

Publication number Publication date
JP2003044538A (en) 2003-02-14

Similar Documents

Publication Publication Date Title
JP5613118B2 (en) Conversion rule generation support apparatus, method, and program
JP4843867B2 (en) Document processing apparatus, document processing method, document processing program, and recording medium
JP3761156B2 (en) Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method
US7046848B1 (en) Method and system for recognizing machine generated character glyphs and icons in graphic images
JPS6162170A (en) Compound document editing
JP5545744B2 (en) Operation screen design support program, operation screen design support device, and operation screen design support method
JP4118892B2 (en) Drawing editing and display device, operating method thereof, and program for causing computer to execute the method
CN113158651A (en) Web server system and demonstration application generation method
CN112364496B (en) Avionics simulation panel generation system based on HTML5 and VUE technologies
JP4118890B2 (en) Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method
JP4921103B2 (en) Apparatus, method and program for visualizing Boolean expressions
JP4118891B2 (en) Connection drawing edit display device, operation method thereof, and program for causing computer to execute the method
US6968518B2 (en) Method of resolving missing graphical symbols in computer-aided integrated circuit design
JP6948492B2 (en) Information management device and file management method
JP2523289B2 (en) Display method in software development support system
JP4720695B2 (en) Content provision method
JP3802743B2 (en) Computer programmed to operate as a tree structure creation / drawing device, method for creating and drawing a tree structure using a computer, and computer readable recording program for operating the computer as a tree structure creation / drawing device Recording medium
JP2013088873A (en) Setting information generating program, setting information generating device, and setting information generating method
JP7358902B2 (en) Information processing device and program
JP7439955B2 (en) Operation support device, operation support method, and operation support program
Bardohl et al. Formal relationship between Petri nets and graph grammars as basis for animation views in GenGED
JP7380376B2 (en) Program for displaying information processing equipment and ladder programs
JP5151671B2 (en) Display control apparatus, display control method, and display control program
Udovičić et al. A tool for executable code complexity visualization
CN113778411A (en) Graphical programming method and application equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060106

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees