(57)【要約】【課題】接続図面の意味のある改定箇所を容易に確認することができること。【解決手段】ＣＡＤシステムによって作成したフローチャート図のセマンティックな差分表示機能を有する図面の編集表示装置であって、フローチャート図の旧図面データおよび新図面データを夫々言語テキストに変換する図面／言語変換部と、前記変換された旧図面の言語テキストおよび新図面の言語テキストの差分をテキスト行毎に抽出するテキスト差分検出部とを有する差分抽出手段と、前記差分抽出手段で差分抽出された部分を強調表示する強調表示手段とを備えることを特徴とする。【選択図】        図９２
2005158084.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤシステムによって作成したフローチャート図のセマンティックな差分表示機能を有する図面の編集表示装置であって、
フローチャート図の旧図面データおよび新図面データを夫々言語テキストに変換する図面／言語変換部と、前記変換された旧図面の言語テキストおよび新図面の言語テキストの差分をテキスト行毎に抽出するテキスト差分検出部とを有する差分抽出手段と、
前記差分抽出手段で差分抽出された部分を強調表示する強調表示手段と、
を備えることを特徴とする図面の編集表示装置。
【請求項２】
前記差分抽出手段の図面／言語変換部は、フローチャート図の旧図面データおよび新図面データを夫々、フローチャートの流れに対応して複数のパスに分割し、該分割したパス毎に当該パスに含まれる処理文の羅列で構成される処理文テキストを形成し、
前記差分抽出手段のテキスト差分検出部は、同じと判断した旧図面のパスおよび新図面のパス同士で前記処理文テキストの行単位のテキスト比較を行うことによって差分を抽出することを特徴とする請求項１に記載の図面の編集表示装置。
【請求項３】
前記強調表示手段は、差分抽出結果が追加である部分と削除である部分とで表示色を異ならせることを特徴とする請求項１または２に記載の図面の編集表示装置。
【請求項４】
差分抽出手段および強調表示手段を備え、ＣＡＤシステムによって作成したフローチャート図のセマンティックな差分表示機能を有する図面の編集表示装置の動作方法であって、
差分抽出手段が、フローチャート図の旧図面データおよび新図面データを夫々言語テキストに変換する第１ステップと、
差分抽出手段が、前記変換された旧図面の言語テキストおよび新図面の言語テキストの差分をテキスト行毎に抽出する第２ステップと、
強調表示手段が、前記第２ステップで差分抽出された部分を強調表示する第３ステップと、
を備えることを特徴とする図面の編集表示装置の動作方法。
【請求項５】
前記差分抽出手段による第１ステップでは、フローチャート図の旧図面データおよび新図面データを夫々、フローチャートの流れに対応して複数のパスに分割し、該分割したパス毎に当該パスに含まれる処理文の羅列で構成される処理文テキストを形成し、
前記差分抽出手段による第２ステップでは、同じと判断した旧図面のパスおよび新図面のパス同士で前記処理文テキストの行単位のテキスト比較を行うことによって差分を抽出することを特徴とする請求項４に記載の図面の編集表示装置の動作方法。
【請求項６】
前記強調表示手段による第３ステップでは、差分抽出結果が追加である部分と削除である部分とで表示色を異ならせることを特徴とする請求項４または５に記載の図面の編集表示装置の動作方法。
【請求項７】
請求項４〜６のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＤ図面やソフトウェア設計のモデル図などの図面の編集表示装置に関し、特にＣＡＤシステムやソフトウェア設計システムによる図面設計において、セマンティックな図面の変更箇所差分抽出を行い、その結果を強調表示する図面の編集表示装置、その動作方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【背景技術】
【０００２】
近年、電子・電気回路などを設計する際、ＣＡＤシステムを用いて回路図、ラダー図、フローチャートなどを作成することが一般的になっている。また、ソフトウェア設計時の設計のモデル（状態遷移図）、オブジェクト図（クラス図）なども同様に図面エディタで作成することが一般的になっている（以下回路図、ラダー図、フローチャート、モデル図、オブジェクト図を含めて「接続図面」という）。設計時に新規作成した接続図面に対して改定を加えていくことは、日常的に頻繁に行われているが、通常はその改定履歴を残すようにしている。そして、改定箇所は、以下のように確認されていた。
【０００３】
まず、接続図面に対する変更箇所などの改定情報は、紙面に出力した図面上に雲枠を書いて注記を記述したり、図面上に設けられている改定欄に文章で記述したりして管理され、各接続図面における改定箇所は、改定前と後の図面を別画面に表示したり印字出力し、それを見比べることによって具体的な変更箇所を視覚的に確認していた。
【０００４】
また、ＣＡＤシステムの発達に伴い、改定前と後の図面上のシンボルの各座標及び、文字列の位置情報をそれぞれに比較し、差分を求め、変更、削除、追加を区別して自動表示していた。
【０００５】
また、図面改定の際に、最新図面と今回改定中の図面とを比較し、不一致があるときには、その不一致箇所の図面情報を変更履歴コマンド情報に変換し、バージョンとともに保存する。そして、図面の読込みの時にバージョンと変更履歴コマンド情報を元に各バージョン毎の図面情報を別々のレイヤに自動生成し、各レイヤの表示色を変えることによって改定点を確認していた。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、改定前後の図面を見比べることにより改定箇所を把握する方法では、変更箇所が抽出されていないので、実際の改定箇所の見落としが発生し、誤りなく変更箇所を確認することが容易ではない。
【０００７】
また、図面上のシンボルの座標などの位置情報をそれぞれ比較して差異を求める方法は、見栄えをよくするために、単にシンボル位置を移動するような場合にも差異として認識されてしまうという問題があった。
【０００８】
また、最新図面と今回改定中の図面とを比較し、不一致がある部分の図面情報を抽出してバージョンとともに保存する方法では、上記と同様にシンボルの表示位置の移動だけでも差異として認識してしまう問題があり、また、改版が多く行われた後では、改定箇所の確認が容易ではないという問題もあった。
【０００９】
本発明は上記に鑑みてなされたもので、シンボル表示位置の単なる変更は改定とみなさない等、設計者の意図を確実に反映できかつ接続図面の意味のある改定箇所を容易に確認することができる図面の編集表示装置、その動作方法およびその方法をコンピュータに実行させるプログラムを得ることを目的としている。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、ＣＡＤシステムによって作成したフローチャート図のセマンティックな差分表示機能を有する図面の編集表示装置であって、フローチャート図の旧図面データおよび新図面データを夫々言語テキストに変換する図面／言語変換部と、前記変換された旧図面の言語テキストおよび新図面の言語テキストの差分をテキスト行毎に抽出するテキスト差分検出部とを有する差分抽出手段と、前記差分抽出手段で差分抽出された部分を強調表示する強調表示手段とを備えることを特徴とする。
【発明の効果】
【００１１】
この発明によれば、フローチャート図の差分抽出を行うときは、フローチャート図の旧図面データおよび新図面データを夫々言語テキストに変換し、該変換された旧図面の言語テキストおよび新図面の言語テキストの差分をテキスト行毎に抽出するようにしているので、フローチャート図についてのセマンティックな差分抽出が可能となり、これにより見栄え調整を目的としたボックス位置の移動などは強調表示されずに、真に意味のある改定箇所のみが強調表示される。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、この発明にかかる図面の編集表示装置の好適な実施の形態を詳細に説明する。
【００１３】
実施の形態１.
この実施の形態１は、ＣＡＤシステムを用いて作成されるシーケンス図面（例えば、電気回路図）に対して本発明を適用するものである。
【００１４】
まず、図１を用いて電気回路図面で用いる用語について説明する。「パーツ」とは、図１（ａ）に示すように、抵抗、コンデンサ、トランジスタなどの電気回路図で用いるシンボルのことをいう。
【００１５】
「パーツのピン」は、「接続点」ともいい、パーツを後述する接続線とつなぐことができる点である。図１（ｂ）においては、パーツの両端に示した×印がパーツのピンである。
【００１６】
パーツの「セグメント領域」とは、図形（パーツ）を含む最小の長方形領域である。図1（ｃ）において、パーツの周囲を破線で囲った内部がセグメント領域である。
【００１７】
「接続線」とは、パーツのピンとピンを結ぶ線である。また、接続線同士を結ぶ接続線もある。
【００１８】
「属性」とは、ＣＡＤ図面中の文字列を示す。「属性」には、パーツの種類を説明するための「パーツ属性」、ピンの機能を説明する「ピン属性」、ＣＡＤ図面全体を説明するための「図面属性」などがある。
【００１９】
次に、図２を用いてＣＡＤ図面作成上、許可されている接続線の接続方法即ち接続線のルールについて説明する。図２は、（ａ）と（ｂ）、（ｃ）と（ｄ）、（ｅ）と（ｆ）がそれぞれ組になっており、右側に示した（ｂ）、（ｄ）及び（ｆ）が正しい接続線の接続方法を示している。
【００２０】
まず、接続線ｉは、図２（ｂ）に示すように、１本の接続線として端点Ａ，Ｂで表わされる。図２（ａ）のように1本の接続線ｉを示すために３点Ａ，Ｂ，Ｃを用いて端点Ａと点Ｃの線分、点Ｃと端点Ｂの線分とすることはない。
【００２１】
水平接続線ｉに接続線ｊが接続交点（図面上×または・で表される）で接続されている場合、図２（ｃ）のように水平接続線ｉを端点Ｄと端点Ｅのみで表わすことはしない。図２（ｄ）に示すように、水平接続線ｉを端点Ｄと端点Ｆで表わす接続線及び端点Ｆと端点Ｅで表わす接続線との２本の接続線で表現する。
【００２２】
水平接続線ｉにパーツを接続する場合、図２（ｅ）のように水平接続線ｉを端点Ｇと端点Ｈで表わすことはしない。図２（ｆ）のように水平接続線ｉを端点Ｇと端点Ｉで表す接続線及び端点Ｉと端点Ｈで表す接続線との２本の接続線で表現する。
【００２３】
図３は、接続図面としての電気回路図面を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ，ワークステーションに実行させるプログラムの機能構成を示すものである。
【００２４】
この図３に示す装置は、入出力端末装置としてディスプレイ１、マウスなどのポインティングデバイス２、キーボード３及びプリンタなどの出力装置４を有しており、入出力インターフェース部５を介して接続図面編集表示装置６と図形データ、入出力指示などの信号の授受を実行する。
【００２５】
意味空間マッピング部７は、接続図面の新図面ファイル３０と旧図面ファイル３１を読み込み、該読み込んだ新図面ファイル３０および旧図面ファイル３１を展開して新旧図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を求め、該求めた新旧図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部２９に記憶する。また、意味空間マッピング部７は、接続グループ生成部１３を用いて、接続線およびパーツの接続点で構成されるネットを同電位のネットに分類し、同電位のネットを同一接続グループとしてマッピングさせる、接続線およびパーツの接続点（ピン）のグループ分け処理を実行する。グループ分けされた結果は、展開情報記憶部２９に記憶される。
【００２６】
接続図面差分抽出部８では、意味空間マッピング部７によって展開情報記憶部２９に記憶された新図面データと旧図面データとの差分を抽出する処理を実行する。接続図面差分抽出部８は、パーツ差分抽出部１４を用いてパーツの追加、削除、変更部分の抽出処理を実行させ、属性差分抽出部１５を用いて属性の追加、削除、変更部分の抽出処理を実行させ、セマンティック差分抽出部１６を用いて新旧図面の対応する接続グループ（ネット）の比較に基づく接続グループ（ネット）毎の追加、削除、変更部分の抽出処理を実行させる。そして、これらの抽出結果を差分データ記憶部３２に出力して記憶させる。その際、強調表示接続線抽出部２３では、追加／削除パーツのピンに繋がる接続線から分岐点または線の端点またはパーツのピンまでに至る線、属性（パーツ属性、ピン属性）が変更されたパーツ、ピン番号、文字列など強調表示の対象として抽出する。
【００２７】
接続図面差分データ生成部９は、接続図面追加差分データ生成部１７、接続図面削除差分データ生成部１８および接続図面変更差分データ生成部１９を制御することにより、差分データ記憶部３２に記憶された差分データを元に旧図面と新図面との差分を示すテキスト形式の強調表示用データを生成し、これら生成した強調表示用データを強調表示データファイル３３に記憶する。接続図面追加差分データ生成部１７は、「追加」されるパーツ、接続線、図面属性などの差分を生成するものであり、接続図面削除差分データ生成部１８は、「削除」されるパーツ、接続線、図面属性などの差分を生成するものであり、接続図面変更差分データ生成部１９は、「変更」されるパーツ、接続線、図面属性などの差分を生成するものである。
【００２８】
接続図面追加差分データ生成部１７では、パーツ強調表示領域計算部２４を用いて、追加パーツのセグメント領域とパーツ属性（文字）のセグメント領域を合成した多角形、追加する図面属性のセグメント領域に対応する多角形（通常は長方形）、さらには追加グループパーツ（結線が変えられた接続線、詳細は後述する）を囲む多角形を求める。また、接続図面追加差分データ生成部１７では、近接強調表示領域合成部２５を用いて、抽出されたパーツ領域を示す多角形と接続線のセグメント領域で隣接するものとを１つの多角形として合成する。また、近接強調表示領域合成部２５は、追加グループパーツが連結された複数の接続線で構成されている場合、これらを囲む１つの多角形を合成する。また、接続図面追加差分データ生成部１７は、雲枠生成部２６を用いて、前記合成された多角形の回りに雲枠データを生成する。
【００２９】
接続図面削除差分データ生成部１８は、パーツ強調表示領域計算部２４を用いて、削除パーツのセグメント領域とパーツ属性のセグメント領域を合成した多角形、削除する図面属性のセグメント領域に対応する多角形（通常は長方形）、さらには削除グループパーツ（詳細は後述する）を囲む多角形を求める。また、接続図面削除差分データ生成部１８は、近接強調表示領域合成部２５を用いて、抽出された削除パーツ領域を示す多角形と、接続線のセグメント領域で隣接するものとを１つの多角形に合成する。また、近接強調表示領域合成部２５は、削除グループパーツが連結された複数の接続線で構成されている場合、これらを囲む１つの多角形を合成する。また、接続図面削除差分データ生成部１８は、雲枠生成部２６を用いて、合成された多角形の回りに雲枠データを生成する。また、接続図面削除差分データ生成部１８は、ハッチング生成部２７を用いて雲枠内部に表示するハッチングデータを生成するとともに、変更文字表記変更部２８を用いて、図面属性（文字列）の削除の場合に、削除された文字の上に見え消し線を生成する。
【００３０】
接続図面変更差分データ生成部１９は、パーツ強調表示領域計算部２４を用いて、変更パーツがある場合は、変更パーツのセグメント領域とパーツ属性のセグメント領域を合成した多角形を求め、またパーツ属性のみの変更がある場合は、この変更パーツ属性のセグメント領域を求める。また、接続図面変更差分データ生成部１９は、雲枠生成部２６を用いて前記導出された多角形の回りの雲枠データを生成する。また、接続図面変更差分データ生成部１９は、文字列の変更の場合に、変更文字表記変更部２８を用いて、変更前の文字列データを生成し、その文字の上に、見え消し線を生成する。
【００３１】
副番情報生成部１０では、新旧図面を比較した結果に差異があれば、副番欄の自動更新を行う。差分情報反映部１１は、図形の追加命令から成る強調表示データファイル３３を読み取り、その内容を新図面に追加書き込みする。すなわち、新旧図面の差異を強調表示データとしてディスプレイ１に表示させる。
【００３２】
強調表示データカスタマイズ部１２では、雲枠拡大・縮小部２０、雲枠変形部２１および見え消し線変更部２２を用いて、これらを動作制御することにより雲枠の拡大、縮小、変形や見え消し線の形状の変形を行う。
【００３３】
かかる図３に示す構成において、特徴的なことは、どこが始まりという判別ができなく分岐が多い電気回路図などの接続図面において、同電位のものを同一接続グループ（同一ネット）にするというルールをもって図面要素をグループ分けし、対応するグループ同士で比較を行うことによって、見栄え調整を目的としたシンボル位置の移動を差分検出しないようにして、意味のある違いのみを差分抽出できるようにしたことにある。また、差分箇所は、雲枠表示されるため、差分箇所の特定を容易に行うことができる。
【００３４】
〔意味空間マッピング〕
次に、図３に示した各構成要素の機能をより詳細に説明していく。最初に意味空間マッピング部７および接続グループ生成部１３が提供する機能の概略を説明する。
【００３５】
図４は意味空間マッピング部７および接続グループ生成部１３で行われる処理の概略を示したフローチャートであり、図５は旧図面の電気回路図のデータ構造を模式図面化したものであり、図６は新図面の電気回路図のデータ構造を模式図面化したものである。また、図７〜図１１は旧図面の意味空間へのマッピング結果を例示し、図１２〜図１６は新図面の意味空間へのマッピング結果を例示している。なお、図５および図６は、電気回路図のデータ構造を模式図面化したものであり、四角枠で囲まれたＯＰＡ，ＯＰＢ，ＮＰＤ，ＮＰＥなどのパーツ識別子およびＯＨＡ，ＯＨＢ，ＮＶＡ，ＮＶＤなどの接続線識別子は実際の図面に表示あるいはハードコピーされるものではない。
【００３６】
ユーザが、図６に示すような図面を新図面ファイル３０とし、図５に示すような図面を旧図面ファイル３１として、当該接続図面編集表示装置６による処理を実行させると、まず、意味空間マッピング部７が、旧図面ファイル３１から図５に示す図面データを読み取り、これらをパーツ情報、接続線情報、属性情報、パーツ接続点情報に展開して、これら展開したパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部２９に記憶する（図４ステップＳ１）。図７に旧図面ファイル３１（図５）のパーツ情報を示し、図８にその接続線情報を示し、図９にその属性情報を示し、図１０にそのパーツ接続点情報を示している。
【００３７】
パーツ情報は、パーツに関する情報を含むものであり、図７に示すように、"ＯＰＡ"，"ＯＰＩ"などのパーツ識別子、ユニーク名、基準点、レイヤ、接続点数、色、図柄情報などから構成されている。基準点とは、各パーツの座標を相対座標で表すための基準座標である。レイヤには、当該パーツが描画されている画層番号が記入される。
【００３８】
接続線情報は、接続線に関する情報を含むものであり、図８に示すように、"ＯＨＡ"，"ＯＶＡ"などの接続線識別子、座標Ｘ１，座標Ｙ１，座標Ｘ２，座標Ｙ２、レイヤなどで構成されている。各接続線の座標情報を用いて、同電位のものを同一接続グループとするグループ分けが行われる。
【００３９】
属性情報は、ＣＡＤ図面中の文字列を示すものであり、図９に示すように、"ＯＡ１"，"ＯＧ１"，"ＯＧ２"，"ＺＡ１"などの識別子、パーツ、基準点、種別、ピン番号、値などで構成されている。パーツの各ピン番号１、２には、それぞれ"１"，"２"と、"１３"，"１４"というピン属性が付けられている。また、この場合、図面属性として、"old comment"、"modify"、"固定"、"削除"が存在し、また線番号の属性として、"ａ１","ａ２","ａ３"，"ａ４"，"ｖ１"，"ｖ２"，"ｖ１１"，"ｖ１２"が存在している。属性情報の種別は、器具番号、端子番号、種別、マクロ名などで構成される。例えば、識別子"ＯＰＨ"のパーツに着目すると、器具番号の値ＤＤＤと、端子番号１の値１３と、端子番号２の値１４とが実際に旧図面に表示されている。識別子"ＯＰＨ"のパーツの種別およびマクロ名の値はコイルとなっている。また、後述するように、夫々１つのネットを構成する識別子ＯＧ１〜ＯＧ９の欄には、実際に旧図面上に表示されている値ｖ１，ｖ２，…，ａ３,ａ４が設定されている。また、図面属性としての識別子ＺＡ１，ＺＡ２，ＺＡ３，ＺＡ４の欄には、実際に旧図面上に表示されている値"old comment"，"modify"，"固定"，"削除"が設定されている。
【００４０】
接続点情報は、パーツ接続点に関する情報を含むものであり、図１０に示すように、識別子、一意キー、ピン番号、座標などで構成されている。この座標の欄には、図７のパーツ情報または図９の属性情報に設定されている基準点からの相対座標値が記入される。この場合、一意キーは、属性情報の器具番号と種別との合成によって構成されている。図１０によれば、例えば、識別子"ＯＰＡ"のパーツは、一意キーが"ＡＡＡ，ａ接点"で、ピン番号が"１"のパーツ接続点と、一意キーが"ＡＡＡ，ａ接点"で、ピン番号が"２"のパーツ接続点とを有していることになる。
【００４１】
次に、接続グループ生成部１３は、これら展開された旧図面に関するパーツ情報、接続線情報、属性情報、パーツ接続点情報を用いて、同電位のものを同一グループとする複数の接続グループを生成する（図４ステップＳ２）。図１１に、図５に示した旧図面について、分割された複数の接続グループを示す。このグループ分けに関しては、後で詳述する。
【００４２】
次に、意味空間マッピング部７は、新図面ファイル３０から図６に示す図面データを読み取り、これらをパーツ情報、接続線情報、属性情報、パーツ接続点情報に展開し、該展開した新図面のパーツ情報、接続線情報、属性情報、パーツ接続点情報を展開情報記憶部２９に記憶する（図４ステップＳ３）。図１２に新図面ファイル３０（図６）のパーツ情報を示し、図１３にその接続線情報を示し、図１４にその属性情報を示し、図１５にそのパーツ接続点情報を示している。特に、図１４に示す新図面属性情報に関して、夫々１つの新図面のネットを構成する識別子ＮＧ１〜ＮＧ８の欄には、実際に旧図面上に表示されている値ｖ１，ｖ２，…ａ３,ａ４が設定されている。また、図面属性としての識別子ＺＡ１，ＺＡ２，ＺＡ３，ＺＡ５の欄には、実際に旧図面上に表示されている値"new comment"，"change"，"固定"，"追加"が設定されている。
【００４３】
次に、接続グループ生成部１３は、これら展開された新図面に関するパーツ情報、接続線情報、属性情報、パーツ接続点情報を用いて、同電位のものを同一グループとする複数の接続グループを生成する（図４ステップＳ４）。図１６に、図６に示した新図面について、分割された複数の接続グループを示す。
【００４４】
次に、接続グループ生成部１３で行われる前述した接続グループの分割手順について、図１７に示したフローチャートに基づいてより詳細に説明する。この場合は、図５に示した旧図面の電気回路図の接続グループを作成する場合を例にとって説明する。
【００４５】
接続グループ生成部１３は、まず、展開情報記憶部２９に記憶した旧図面の接続線情報（図８）に含まれる各接続線の座標情報を用いて回路図の中から垂直方向に延びる垂直接続線を抽出し、これら抽出した複数の接続線を、図１８に示すように、複数の接続グループに分ける（図１７ステップＳ１１）。この段階では、接続線情報（図８）の座標情報などを用いて、抵抗やコンデンサやスイッチなどのパーツを介さずに垂直方向に延びる１本の垂直線（複数の接続線から成ることもある、例えばＯＶＧおよびＯＶＨ）が１つのグループに含まれるように複数の垂直接続線を複数の接続グループに分割する。図５に示した回路図の例の場合は、図１８に示すように、相互に連携していない１９個のグループが形成される。すなわち、旧図面の接続線情報（図８）に含まれる複数の垂直接続線を、各垂直接続線の端点の座標が一致するという条件（実際には、誤差を考慮して、両端点が所定の距離内にあるときに両端点が一致すると判定している）をもって、複数の垂直接続線から成る１本の直線（例えばＯＶＧおよびＯＶＨ）を構成し、この１本の直線に含まれる垂直接続線を同一グループとする。
【００４６】
つぎに、接続グループ生成部１３は、前記と同様にして、接続線情報（図８）に含まれる各接続線の座標情報を用いて、パーツを介さずに水平方向に延びる１本の水平線が（複数の接続線から成ることもある、例えばＯＶＧ，ＯＶＢ，ＯＶＣ，ＯＶＤ，ＯＶＥ）１つのグループに含まれるように複数の水平接続線を複数の接続グループに分割するとともに、これら分割した水平接続線の接続グループと先に分割した垂直接続線の接続グループを、各接続線の端点の座標が一致するという条件をもって合成することで、パーツを介することなく水平および垂直方向に延びる１〜複数の接続線から成る複数の接続線グループを形成する（図１７ステップＳ１２）。
【００４７】
図５に示した回路図の場合は、例えば、水平接続線ＯＨＡ〜ＯＨＦと垂直接続線ＯＶＡ〜ＯＶＥとは、パーツを介することなく、５つの接続点で座標が一致しているので、これら水平接続線ＯＨＡ〜ＯＨＦおよび垂直接続線ＯＶＡ〜ＯＶＥは、図１９に示すように、同一の接続グループとして合成されることになる。同様にして、図１９に示すように、垂直接続線ＯＶＦ〜ＯＶＨおよび水平接続線ＯＨＧが同一接続グループと成るように合成され、垂直接続線ＯＶＩが同一接続グループと成るように合成され、垂直接続線ＯＶＪが同一接続グループと成るように合成され、垂直接続線ＯＶＫが同一接続グループと成るように合成され、垂直接続線ＯＶＬ〜ＯＶＯおよび水平接続線ＯＨＨ〜ＯＨＬが同一接続グループと成るように合成され、垂直接続線ＯＶＰ，ＯＶＱおよび水平接続線ＯＨＭ〜ＯＨＯが同一接続グループと成るように合成され、垂直接続線ＯＶＲ，ＯＶＳおよび水平接続線ＯＨＰが同一接続グループと成るように合成され、垂直接続線ＯＶＵ、水平接続線ＯＨＱ，ＯＨＲが同一接続グループと成るように合成される。
【００４８】
つぎに、接続グループ生成部１３は、上記分割合成した各グループに斜め接続線を前記同様にして追加する（図１７ステップＳ１３）。図５の回路図の場合は、該当する接続線は存在しないので、その説明は省略する。
【００４９】
つぎに、接続グループ生成部１３は、図１０に示した旧図面接続点情報に含まれる各パーツの接続点の座標を、前記グループ分けした各接続線の座標と比較処理することで、各パーツの接続点が繋がる接続線を識別する。そして、この識別結果に基づいて図１０に示した旧図面接続点情報に含まれる各パーツの接続点を上記各グループに追加することで、図２０（図１１と実質的に同じ）に示すような、接続線およびパーツの接続点から成る複数の同電位接続グループ（ネット）を形成する（図１７ステップＳ１４）。ここでは、パーツの接続点を、パーツ識別子と接続点番号（ピン番号）とで構成される値で追加するようにしている。例えば、図２０において、パーツ識別子"ＯＰＡ"の属性"２"のピン番号は、図９に示す属性情報によれば"２"なので、図２０に示したように"ＯＰＡ，２"として追加する。このようにして、同電位の接続グループ分けが終了する。
【００５０】
このようにして分割された１つの接続グループ（ネット）は、コンデンサ、抵抗、スイッチなどのパーツを含まずに構成される接続線とパーツの接続点との合成であるので、１つの接続グループの電位は同電位となる。このようにして、同電位の接続線が同じ接続グループに含まれることになる接続グループ分けが行われる。
【００５１】
また、これら新旧の接続グループには、図９，図１１，図１４，図１６に示すように、各接続グループ毎に、識別子"ＯＧ１"，…"ＮＧ１" ，…と、線番号属性ｖ１,ａ１,ａ２，…，ｖ１１,ｖ１２が設定される。
【００５２】
そして、意味空間マッピング部７および接続グループ生成部１３によって形成された、旧新図面パーツ情報（図７，図１２）、旧新図面接続線情報（図８，図１３）、旧新図面属性情報（図９，図１４）、旧新図面接続点情報（図１０，図１５）および旧新図面接続グループ情報（図１１，図１６）は、展開情報記憶部２９に記憶される。
【００５３】
〔接続図面差分抽出〕
次に、接続図面差分抽出部８、パーツ差分抽出部１４，属性差分抽出部１５およびセマンティック差分抽出部１６によって行われる接続図面の差分抽出動作について説明する。
【００５４】
図２１は、接続図面差分抽出部８、パーツ差分抽出部１４，属性差分抽出部１５およびセマンティック差分抽出部１６で行われる処理手順を示したフローチャートであり、図２２は特にセマンティック差分抽出部１６で行われる処理手順を詳細に示したフローチャートである。また、図２３は旧図面パーツ情報を、図２４は新図面パーツ情報を、図２５は旧図面属性情報を、図２６は新図面属性情報を、図２７は旧図面接続点情報を、図２８は新図面接続点情報を示すものであり、これら各情報の状態欄に、新旧図面の差分抽出結果としての"追加"，"削除"，"変更"などの差分抽出情報が設定される。
【００５５】
接続図面差分抽出部８は、まず、展開情報記憶部２９から旧図面属性情報（図９）および新図面属性情報（図１４）を読み出す。そして、パーツ差分抽出部１４を動作制御することで、旧図面属性情報（図９）に基づいて新旧比較のための旧図面のパーツの一意キーを求めるとともに、新図面属性情報（図１４）に基づいて新旧比較のための新図面のパーツの一意キーを求める（図２１ステップＳ２１）。この場合は、属性情報のパーツの器具番号とパーツ種別から新旧比較のためのパーツの一意キー（比較キー）を形成するようにしている。
【００５６】
図２３に一意キー情報および差分抽出情報（削除、変更など）が追加された旧図面のパーツ情報を示し、図２４に一意キーおよび差分抽出情報（追加、変更など）が追加された新図面のパーツ情報を示している。
【００５７】
そして、パーツ差分抽出部１４は、各パーツの一意キーを用いて新旧図面のパーツ情報を比較することで、差分となるパーツを求める（図２１ステップＳ２２）。この一意キー比較の結果、旧図面にのみ存在し、新図面に存在しないパーツは「削除パーツ」とし、新図面にのみ存在し、旧図面に存在しないパーツは「追加パーツ」とする。この例では、削除パーツは、図２３の旧図面パーツ情報に含まれる一意キー（ＡＡＡ,ａ接点）を有する識別子"ＯＰＡ"であり、また追加パーツは、図２４の新図面パーツ情報に含まれる一意キー（ＦＦＦ,Ｔａ接点）を有する識別子"ＮＰＥ"である。
【００５８】
つぎに、接続図面差分抽出部８は、属性差分抽出部１５を動作制御することで、新旧双方に存在するパーツについてのパーツ属性の比較を行う（図２１ステップＳ２３）。図２５に、状態欄すなわち差分抽出情報（削除、変更など）が追加された旧図面の属性情報を示し、図２６に差分抽出情報（削除、変更など）が追加された新図面のパーツ情報を示している。この場合は、新旧双方に存在するパーツについてのパーツ属性の比較において、パーツのマクロ名属性が異なる場合にのみ、パーツの「変更」としており、旧図面に存在して新図面に存在しないパーツ属性はパーツ属性の「削除」とし、新図面にのみ存在して旧図面に存在しないパーツ属性はパーツ属性の「追加」とする。また、値が変更されたパーツ属性はパーツ属性の「変更」とする。
【００５９】
ここで、マクロ名は、パーツ種別と同様、コイル，接点，抵抗などのパーツの種別自体を表しているので、マクロ名が異なる場合は、このマクロ名の異なるパーツを「変更パーツ」として、図２３および図２４に示す旧新パーツ情報の状態欄に設定し、「追加パーツ」，「削除パーツ」と同様、そのパーツ全体を強調表示するようにしている。
【００６０】
また、マクロ名以外の例えばピン番号の値などの、追加、削除、変更の場合は、パーツ自体の追加、削除、変更とはせず、パーツ属性の追加、削除、変更とすることで、この追加、削除、変更されたパーツ属性部分のみを強調表示するようにしている。
【００６１】
この例では、図９に示す旧図面属性情報および図１４に示す新図面属性情報を比較すれば判るように、旧図面の識別子名"ＯＰＥ（ＥＥＥ，Ｔａ接点）"と新図面の識別子名"ＮＰＤ（ＥＥＥ，Ｔａ接点）"とは、一意キー名は一致するが、マクロ名が異なっているので、「変更パーツ」となる。したがって、図２３に示す旧図面パーツ情報の"ＯＰＥ"の状態欄には「変更」が追加され、また図２４に示す新図面パーツ情報の"ＮＰＤ"の状態欄には「変更」が追加される。また、図９に示す旧図面属性情報と図１４に示す新図面属性情報との比較によれば、旧図面の識別子名"ＯＰＢ（ＢＢＢ，ａ接点）"と新図面の識別子名"ＮＰＡ（ＢＢＢ，ａ接点）"とは、一意キー名が一致するが、ピン番号"２"の端子番号の値が"ＯＰＢ"では"２"であり、"ＮＰＡ"では、"４"であるので、これらの「パーツ属性」は変更となる。したがって、図２５に示す旧図面属性情報の"ＯＰＢ"のピン番号２の状態欄には「変更」が追加され、また図２６に示す新図面属性情報の"ＮＰＡ"のピン番号２の状態欄には「変更」が追加される。
【００６２】
尚、ステップＳ２３においては、パーツの変更とみなす属性を、マクロ名としたが、パーツの変更とみなすパーツ属性をファイルに定義して適宜カスタマイズすることで、パーツの変更とみなすパーツ属性を任意に設定することも可能である。
【００６３】
つぎに、接続図面差分抽出部８は、属性差分抽出部１５を動作させて、図９に示す旧図面属性情報と図１４に示す新図面属性情報とを比較することで、新旧図面から差分となる図面属性を求める（図２１ステップＳ２４）。この場合、旧図面の図面属性は、図９に示すように、識別子ＺＡ１〜ＺＡ４の"old comment"，"modify"，"固定"，"削除"であり、また新図面の図面属性は、図１４に示すように、識別子ＺＡ１〜ＺＡ３，ＺＡ５の"new comment"，"change"，"固定"，"追加"である。図面属性は、意味を持つ一意名をもっていないので、ＣＡＤシステムが採番したキー（識別子：ＺＡ１，ＺＡ２，ＺＡ３，ＺＡ４，ＺＡ５）に基づいて比較を行う。すなわち、この場合、図面属性については、同じ採番がなされた新旧図面の図面属性に関しては、その値を比較することで、図面属性の変更の有無を判定する。また、対応する採番したキーが存在しない図面属性に関しては、旧図面の場合は、図面属性を「削除」とし、新図面の場合は、図面属性を「追加」とする。この例では、旧図面のコメント"削除"の採番したキー"ＺＡ４"に対応する新図面の座標位置には、何のコメントも存在しないので、旧図面のコメント"削除"に「削除」の差分抽出情報を設定する（図２５参照）。また、新図面のコメント"追加"の採番したキー"ＺＡ５"に対応する旧図面の座標位置には、何のコメントも存在しないので、新図面のコメント"追加"に「追加」の差分抽出情報を設定する（図２６参照）。また、旧図面のコメント"old comment"と新図面のコメント"new comment"及び旧図面のコメント"modify"と新図面のコメント"change"は、採番されたキーが対応するが、そのコメント内容が異なっているので、これらのコメントには夫々「変更」の差分抽出情報を設定する（図２５，２６参照）。
【００６４】
つぎに、接続図面差分抽出部８は、セマンティック差分抽出部１６を動作制御することで、新旧図面で対応する接続グループ同士の比較を行い、セマンティックな差分を抽出させる（図２１ステップＳ２５）。このセマンティックな差分に関しては、図２２のフローチャートに従って詳細に説明する。
【００６５】
セマンティック差分抽出部１６は、まず、展開情報記憶部２９に記憶された新図面接続グループ情報（図１６）を用いて、少なくとも１つの不変パーツ（追加、削除でないパーツ）を持つ新図面の接続グループのそれぞれにグループ番号を採番する（図２２ステップＳ３１）。この場合は、新図面は、全ての９つの接続グループが、少なくとも１つの不変パーツを持つので、全ての接続グループにグループ番号が設定される。すなわち、図２８に示すように、９つの接続グループに対して、９つのグループ番号「１００１」〜「１００９」が夫々設定される。
【００６６】
続いて、セマンティック差分抽出部１６は、展開情報記憶部２９に記憶された旧図面接続グループ情報（図１１）を用いて、少なくとも１つの不変パーツ（追加、削除でないパーツ）を持つ旧図面の接続グループにグループ番号を採番する（図２２ステップＳ３２）。この場合は、旧図面は、全ての９つの接続グループが、少なくとも１つの不変パーツを持っているので、前記同様、図２７に示すように、９つの接続グループに対して、９つのグループ番号「１」〜「９」が夫々設定される。
【００６７】
上記のように、少なくとも１つの不変パーツを持つ新旧図面の接続グループにのみグループ番号を採番するようにしたのは、削除パーツのみで構成された旧図面の接続グループおよび追加パーツのみで構成された新図面の接続グループは、後述するセマンティックな接続グループ単位での差分を行わなくても、これらは、一意キーを用いたパーツ差分抽出部１４での差分抽出処理の時に、削除あるいは追加パーツとして、図２３に示す旧図面パーツ情報あるいは図２４に示す新図面パーツ情報に登録されて、その後これらの削除パーツあるいは追加パーツが強調表示接続線抽出部２３での強調表示線抽出処理に用いられることを理由としている。
【００６８】
つぎに、セマンティック差分抽出部１６で行われる接続グループ単位のセマンティックな差分抽出について詳細に説明する。まず、その概要を説明する。
【００６９】
１．図１１に示すように分類された旧図面接続グループ情報と図１６に示すように分類された新図面接続グループ情報は、接続線とパーツのピン（接続点）とから構成されているが、パーツのピン情報の集まり同士で比較を行い、接続線は無視する。
【００７０】
２．旧図面の接続グループに含まれるパーツのピンと新図面の接続グループに含まれるパーツのピンとを一意キーおよびピン番号を比較キーとして比較し、完全に一致するもの以外を差分として取り出す。
【００７１】
３．差異のある接続グループの要素を全て差分とせず、意味のある変更があったと判断すべき箇所を強調表示できるように情報を抽出する。この差分抽出の際に、新旧接続グループが同一（対応する）接続グループであるか否かを判定しているが、新旧接続グループに線番号（図１１，図１６参照）が付けられているときは、線番号が同一であるときは同じ対応する接続グループであると判断する。線番号情報がない場合は、旧図面の接続グループと新図面の接続グループの構成メンバーがほぼ同じであれば、同じ接続グループと判断する。ほぼ同じとは、新図面から追加ピンを除き、旧図面の接続グループのメンバーから新図面で変更となったピン（削除ではなく他の接続グループのメンバーとなったピン）を除いて一意キーおよびピン番号による比較行い、メンバーが所定割合（例えば７０％）以上同じのときとする。そして、同一接続グループであると判定されたときは、強調表示の対象とはしない。
【００７２】
４．新旧図面で、一意キーおよびピン番号が一致しても、線番号が異なる接続グループに属するパーツのピンに関しては、強調表示の対象とする。
【００７３】
つぎに、グループ単位のセマンティック差分抽出動作について詳細について説明する。
【００７４】
セマンティック差分抽出部１６では、新図面の各パーツの接続点（ピン）に前記採番した新図面の接続グループ番号を割り振るとともに、旧図面の各パーツの接続点に前記採番した新図面の接続グループ番号を割り振る（図２２ステップＳ３３）。
【００７５】
これにより、図２８に示すように、新図面の各パーツの接続点には、例えば、次のようにグループ番号が付与される。
グループ１００１（線番号ｖ１）：
ＮＰＡのピン番号２（値４），ＮＰＢのピン番号２，ＮＰＤのピン番号２，
ＮＰＥのピン番号２
グループ１００２（線番号ａ１）：
ＮＰＡのピン番号１，ＮＰＨのピン番号２（値１４）
グループ１００３（線番号ａ２）：
ＮＰＢのピン番号１，ＮＰＩのピン番号２（値１４）
グループ１００４（線番号ａ３）：
ＮＰＣのピン番号１，ＮＰＪのピン番号２（値１４）
グループ１００５（線番号ａ４）：
ＮＰＤのピン番号１，ＮＰＥのピン番号１，ＮＰＫのピン番号２（値１４）
グループ１００６（線番号ｖ２）：
ＮＰＨのピン番号１（値１３），ＮＰＩのピン番号１（値１３），ＮＰＪの
ピン番号１（値１３），ＮＰＫのピン番号１（値１３）
グループ１００７（線番号ｂ１）：
ＮＰＦのピン番号１，ＮＰＧのピン番号１，ＮＰＬのピン番号２（値１４）
グループ１００８（線番号ｖ１１）：
ＮＰＣのピン番号２，ＮＰＦのピン番号２，ＮＰＧのピン番号２
グループ１００９（線番号ｖ１２）：
ＮＰＬのピン番号１（値１３）
【００７６】
また、図２７に示すように、旧図面の各パーツの接続点には、例えば、次のようにグループ番号が付与される。
グループ１（線番号ｖ１）：
ＯＰＡのピン番号２，ＯＰＢのピン番号２，ＯＰＣのピン番号２，ＯＰＤの
ピン番号２，ＯＰＥのピン番号２
グループ２（線番号ａ１）：
ＯＰＡのピン番号１，ＯＰＢのピン番号１，ＯＰＦのピン番号２（値１４）
グループ３（線番号ａ２）：
ＯＰＣのピン番号１，ＯＰＧのピン番号２（値１４）
グループ４（線番号ａ３）：
ＯＰＤのピン番号１，ＯＰＨのピン番号２（値１４）
グループ５（線番号ａ４）：
ＯＰＥのピン番号１，ＯＰＩのピン番号２（値１４）
グループ６（線番号ｖ２）：
ＯＰＦのピン番号１（値１３），ＯＰＧのピン番号１（値１３），ＯＰＨの
ピン番号１（値１３），ＯＰＩのピン番号１（値１３）
グループ７（線番号ｂ１）：
ＯＰＪのピン番号１，ＯＰＫのピン番号１，ＯＰＬのピン番号２（値１４）
グループ８（線番号ｖ１１）：
ＯＰＪのピン番号２，ＯＰＫのピン番号２
グループ９（線番号ｖ１２）：
ＯＰＬのピン番号１（値１３）
【００７７】
つぎに、セマンティック差分抽出部１６は、新旧グループ番号の対応付けを行い、図２８に示す新図面接続点情報の状態欄に追加パーツを登録し、図２７に示す旧図面接続点情報の状態欄に削除パーツを設定する。さらに新図面接続点情報の状態欄に「追加グループパーツ接続点」を設定するとともに、旧図面接続点情報の状態欄に「削除パーツ接続点」を設定する（図２２ステップＳ３４）。
【００７８】
図２２のステップＳ３４においては、最初に、図２８に示す新図面接続点情報の対応グループ番号設定欄に旧図面のグループ番号を設定する。すなわち、新図面の１つの接続グループに属する複数のパーツ接続点が複数の旧図面の接続グループに別れる場合も、前述したように、図１１，図１６に示した線番号をキーにするか、あるいは構成メンバーの割合値による手法を用いて、新図面の各パーツ接続点に対し、対応する旧図面のグループ番号を設定する。また、図２４に示した新図面パーツ情報に、「追加パーツ」として登録されたパーツの各接続点に関しては、図２８に示す新図面接続点情報の状態の欄に追加パーツを設定するとともに、対応グループ番号をなしに設定する。また、新旧図面において、同一の一意キーおよびピン番号を持つパーツであっても、線番号が異なるパーツの接続点または構成メンバーの割合値による手法を用いて対応するグループが旧図面に存在しないパーツの接続点に関しては、「追加グループパーツ接続点」として、設定するとともに、対応グループ番号をなしに設定する。
【００７９】
この例では、線番号比較より、グループ１とグループ１００１、グループ２とグループ１００２、グループ３とグループ１００３、グループ４とグループ１００４、グループ５とグループ１００５，グループ６とグループ１００６、グループ７とグループ１００７、グループ８とグループ１００８と、グループ９とグループ１００９とが対応している同一グループとなり、これらに含まれ、新旧の対応するグループ双方に含まれるパーツのピンは強調表示の対象とはならない。
【００８０】
また、この例では、旧図面のグループ１に存在するパーツのピンは、"ＯＰＢ，２"，"ＯＰＣ，２"，"ＯＰＤ，２"，"ＯＰＥ，２"になるが、それに対応する新図面のパーツのピンは、グループ１００１に属する"ＮＰＡ，２"，"ＮＰＢ，２"，"ＮＰＤ，２"の３個と、グループ１００８に属する"ＮＰＣ，２"の１個になる。しかし、この"ＮＰＣ，２"の線番号は「ｖ１１」でグループ１の線番号「ｖ１」とは異なるので、"ＮＰＣ"のピン番号２を、「追加グループパーツ接続点」として設定するとともに、"ＮＰＣ"のピン番号２の対応グループ番号を「なし」とする。なお、"ＮＰＥ"については、パーツ差分抽出部１４での差分抽出により、図２４に示した新図面パーツ情報に、追加パーツとして既に登録されているので、それらの各ピン番号１，２については、対応グループが「なし」とする。この場合、その他の新図面の接続グループについては、変化が発生しているものはない。
【００８１】
つぎに、図２２のステップＳ３４において、図２７に示す旧図面接続点情報の対応グループ番号設定欄に新図面のグループ番号を設定する。すなわち、旧図面の１つの接続グループに属する複数のパーツ接続点が複数の新図面の接続グループに別れる場合も、前述したように、図１１，図１６に示した線番号をキーにするか、あるいは構成メンバーの割合値による手法を用いて、旧図面の各パーツ接続点に対し、対応する新図面のグループ番号を設定する。また、図２３に示した旧図面パーツ情報に、「削除パーツ」として登録されたパーツの各接続点に関しては、図２７に示す旧図面接続点情報の状態の欄に削除パーツを設定するとともに、対応グループ番号がなしに設定する。また、新旧図面において、同一の一意キーおよびピン番号を持つパーツであっても、線番号が異なるパーツの接続点または構成メンバーの割合値による手法を用いて対応するグループが新図面に存在しないパーツの接続点であって、その接続点の座標が新と旧で異なる場合（新旧図面の強調表示が重ならないように配慮し、座標が一致するときは追加表示のみとしている）、その接続点を、「削除グループパーツ接続点」として、設定するとともに、対応グループ番号をなしに設定する。
【００８２】
この例では、削除グループパーツ接続点は存在しないので、図２７に示す旧図面接続点情報には、その設定はない。図２７に示す旧図面接続点情報には、パーツ差分抽出部１４での差分抽出により旧図面パーツ情報（図２３）に削除パーツとして既に登録されている"ＯＰＡ"と変更パーツとして登録されている"ＯＰＥ"の各ピンの状態欄に、その旨が登録されると共に、それらの各ピンについては、対応グループが「なし」と設定される。
【００８３】
そして、接続図面差分抽出部８、パーツ差分抽出部１４，属性差分抽出部１５およびセマンティック差分抽出部１６による差分抽出処理によって得られた上記差分抽出情報が追加設定された、旧新図面パーツ情報（図２３，図２４）、旧新図面属性報（図２５，図２６）、旧新図面接続点情報（図２７，図２８）は、差分データ記憶部３２に記憶される。
【００８４】
次に、接続図面差分抽出部８は、強調表示接続線抽出部２３を動作制御することで、各追加パーツ、削除パーツにつながる接続線及び、追加グループパーツ、削除グループパーツにつながる接続線を求める（図２２ステップＳ３５）。この強調表示接続線抽出部２３で行われる強調表示接続線抽出処理に関しては、図２９のフローチャートに従ってより詳細に説明する。
【００８５】
まず、強調表示接続線抽出部２３は、新図面上で、追加パーツの接続点につながる接続線をトレースする。すなわち、追加パーツの座標情報および各接続線の座標情報を用いて、追加パーツの接続点につながる接続線をトレースする。このトレースで、接続線の分岐点または接続線の端点または他のパーツの接続点に到達したら、トレースを終了する（図２９ステップＳ４１）。
【００８６】
この例では、追加パーツは、"ＮＰＥ"（ＦＦＦ,ａ接点）であり、図６に示すように、ピン番号１につながる接続線は、"ＮＶＬ"であり、接続線"ＮＶＬ"の反対側の端点は、接続線"ＮＨＫ"につながっている。接続点"ＮＨＫ"の反対側の端点は、分岐点とつながっているので、これでトレースを終了する。したがって、この場合、求められた接続線は、"ＮＶＬ"と"ＮＨＫ"になる。追加パーツ"ＮＰＥ"のピン番号２につながる接続線は、"ＮＶＥ"であり、接続線"ＮＶＥ"の反対側の端点が分岐点とつながっているので、これでトレースを終了する。この場合、求められた接続線は"ＮＶＥ"のみである。したがって、図３１に示す新図面接続線情報には、"ＮＶＬ"，"ＮＨＫ"，"ＮＶＥ"の状態欄に、「追加」が設定される。
【００８７】
次に、新図面上で、追加グループパーツ接続点につながる接続線をトレースし、接続線の分岐点または接続線の端点または他のパーツの接続点に到達したらトレースを終了する（図２９ステップＳ４２）。この例では、追加パーツ接続点は、"ＮＰＣ"（ＤＤＤ,ａ接点）の第２ピンであり、これにつながる接続線は、"ＮＶＣ"であり、接続点と繋がらない方の端点が分岐点とつながっているので、トレースを終了する。求められた接続線は"ＮＶＣ"のみである。したがって、図３１に示す新図面接続線情報の"ＮＶＣ"の状態欄に「追加」が設定される。
【００８８】
次に旧図面上で、削除パーツにつながる接続線を求める（図２９ステップＳ４３）。方法は追加の場合と同様である。この例では、削除パーツは、"ＯＰＡ"であり、削除パーツ"ＯＰＡ"のピン番号１とつながる接続線は、接続線"ＯＶＦ"，接続線"ＯＨＧ"である。削除パーツ"ＯＰＡ"のピン番号２とつながる接続線は、"ＯＶＡ"のみである。したがって、図３０に示す旧図面接続線情報の"ＯＶＦ"，"ＯＨＧ"，"ＯＶＡ"の状態欄に、「削除」が設定される。
【００８９】
次に、旧図面上で削除グループパーツ接続点につながる接続線をトレースする。（図２９ステップＳ４４）。方法は追加の場合と同様である。この例では、削除グループパーツ接続点は存在しない。
【００９０】
そして、このようにして得られた上記差分抽出情報が追加設定された、旧新図面接続線情報（図３０，図３１）は、差分データ記憶部３２に記憶される。
【００９１】
〔接続図面差分データ生成〕
次に、接続図面差分データ生成部９が提供する機能について説明する。接続図面差分データ生成部９では、差分データ記憶部３２に記憶された差分データに基づいて強調表示差分データを生成する。接続図面差分データ生成部９では、追加の差分データがあれば、接続図面追加差分データ生成部１７を用いて追加強調表示データを生成し、削除の差分データがあれば、接続図面削除差分データ生成部１８を用いて削除強調表示データを生成し、変更差分データがあれば、接続図面変更差分データ生成部１９を用いて変更強調表示データを生成する。
【００９２】
（追加差分）
まず、接続図面追加差分データ生成部１７が提供する機能について説明する。図３２のフローチャートは、接続図面追加差分データ生成部１７で行われる手順について示したものである。
【００９３】
追加の強調表示データは、図２６に示した新図面属性情報、図２８に示した新図面接続点情報および図３１に示した新図面接続点情報に基づいて作成される。
【００９４】
接続図面追加差分データ生成部１７は、まず、パーツ強調表示領域計算部２４を用いて、追加パーツとこの追加パーツのパーツ属性（図面中の文字列）を囲む多角形を求める（図３２ステップＳ５１）。この例では、"ＮＰＥ"が追加パーツとなる。求められた多角形は、図３３に示す多角形３００となる。
【００９５】
次に、追加接続線の始点と終点を強調表示領域として求める（図３２ステップＳ５２）。この例では、追加接続線は、図３１に示すように、パーツ"ＮＰＣ"のピン番号２から延びる接続線"ＮＶＣ"と、追加パーツ"ＮＰＥ"のピン番号１から延びる接続線"ＮＶＥ"，"ＮＶＬ","ＮＨＫ"であるので、これらが強調表示の対象の接続線となる。図３３では、符号３０１で示される接続線"ＮＶＣ"、符号３０２で示される接続線"ＮＶＥ"、符号３０３で示される接続線"ＮＶＬ"、符号３０４で示される接続線"ＮＨＫ"が強調表示の対象の接続線となり、これらは太線で示されている。したがって、これら強調表示の対象の接続線"ＮＶＣ"，"ＮＶＥ"，"ＮＶＬ","ＮＨＫ"の始点と終点の座標を、図３１に示す新図面接続線情報から求める。
【００９６】
次に、追加図面属性のセグメント領域を強調表示領域として設定する（図３２ステップＳ５３）。この例では、図２６の新図面属性情報に示すように、"追加"という図面属性が、追加図面属性であるので、図３３に示すように、そのセグメント領域に対応する多角形３０６を強調表示領域として設定する。
【００９７】
次に、接続図面追加差分データ生成部１７は、近接強調表示領域合成部２５を用いて、近接する強調表示領域同士の合成を行う（図３２ステップＳ５４）。この例では、図３３に示す多角形３００と３本の太線３０２〜３０４が合成の対象となる。図３４は合成された結果を示すもので、図３４には、合成された多角形３０５と、追加図形属性"追加"に対応する多角形３０６と、追加接続線"ＮＶＣ"に対応する多角形３０７とが形成されている。
【００９８】
つぎに、接続図面追加差分データ生成部１７は、雲枠生成部２６を用いて、上記多角形３０５，３０６および３０７で構成される強調表示領域の回りに形成する雲枠を生成する（図３２ステップＳ５５）。図３４の多角形３０５，３０６および３０７のまわりに雲枠を出力した結果は、図３５に示す通りとなる。
【００９９】
ここで、雲枠生成部２６では、多角形の辺の上に円弧を並べることで雲枠を表現する。そして、多角形と円弧を強調表示データとして出力する。追加、削除、変更などの差分抽出情報（差分内容）の違いに応じて、雲枠（円弧）の色を変えるようにしている。予め、追加、削除、変更などの差分内容毎に対応する色を設定するファイルを用意しておき、それに従って、雲枠の色を決める。また、追加、削除、変更などの差分内容毎に表示レイヤを異ならせるようにしており、レイヤ毎に表示／非表示を制御することにより、追加、削除、変更などの差分内容に応じて雲枠の表示／非表示を制御することが可能である。
【０１００】
そして、接続図面追加差分データ生成部１７では、このようにして形成された追加雲枠に関するデータを含む強調表示データを、強調表示データファイル３３に記憶する。
【０１０１】
なお、図３５に対応する追加雲枠の強調表示データファイルは以下の通りである。
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
【０１０２】
ここで、図３６〜図４０を用いてパーツ強調表示領域計算部２４で行う処理と近接強調表示領域合成部２５で行う処理について、より詳細に説明する。
【０１０３】
まず、図３６〜図３８にしたがってパーツ強調表示領域計算部２４の機能についてより詳細に説明する。図３６はパーツ強調表示領域計算部２４で行うパーツおよびこのパーツのパーツ属性を囲む多角形を求める際の動作手順を示すフローチャートである。
【０１０４】
まず、パーツの図形部分のセグメント領域とパーツ属性のセグメント領域を取り出す（図３６ステップＳ８１）。つぎに、パーツのセグメント領域に全く含まれていないパーツ属性のセグメント領域があるか否かを判定する（図３６ステップＳ８２）。ある場合は、それらのパーツ属性のセグメント領域がパーツのセグメント領域に当接するかあるいはそれらのパーツ属性のセグメント領域の一部がパーツのセグメント領域に含まれるまでパーツのセグメント領域を拡張する（図３６ステップＳ８３）。次に、拡張したパーツのセグメント領域および各パーツ属性のセグメント領域を含む多角形を求める。つぎに、このようにして求めた多角形で、所定の間隔よりも近い対向辺がある場合は、雲枠表示を見やすくするために、その多角形の形状を補正する（図３６ステップＳ８４）。このようにして得られた多角形が求める強調表示領域になる。
【０１０５】
図３７（ａ）〜（ｃ）は、パーツのセグメント領域の拡張動作を示すものである。最終的に求められる多角形は、太線で示している。図３７（ａ）においては、４つのパーツ属性のうち２つのパーツ属性３４１，３４２がパーツのセグメント領域３４０に含まれていないので、これらパーツ属性３４１，３４２の一辺に、パーツのセグメント領域３４０の一辺が当接するまで、パーツのセグメント領域３４０を拡張している。図３７（ｂ）においては、全ての（４つの）パーツ属性の一部がパーツのセグメント領域３４０に含まれているので、パーツのセグメント領域３４０の拡張は行わない。図３７（ｃ）においては、３つのパーツ属性３４４〜３４６の全てがパーツのセグメント領域３４０に含まれていないので、これらパーツ属性３４４〜３４６の一辺に、パーツのセグメント領域３４０の一辺が当接するまで、パーツのセグメント領域３４０を拡張している。
【０１０６】
また、図３８は、図３６のステップＳ８４で行われる強調表示領域の補正処理を示すもので、図３８（ａ）に示す補正前には、所定の間隔よりも近い対向辺がある箇所が２箇所あるので、図３８（ｂ）のように、多角形の形状を補正することで、間隔の短い対向辺がある箇所を削除している。
【０１０７】
次に、図３９および図４０にしたがって近接強調表示領域合成部２５が提供する機能についてより詳細に説明する。
【０１０８】
まず、同じ種類の強調表示領域、例えば追加／削除パーツおよびこのパーツに繋がる追加／削除接続線について、予めファイルに設定されている元の領域から四方に、所定量だけ強調表示領域を広げる（図３９ステップＳ９１）。次に、広げた領域同士が重なるものを求める（図３９ステップＳ９２）。次に、重なった多角形を１つの多角形にまとめる（図３９ステップＳ９３）。つぎに、このようにして求めた多角形で、所定の間隔よりも近い対向辺がある場合は、雲枠表示を見やすくするために、その多角形の形状を補正する（図３９ステップＳ９４）。このようにして得られた多角形が求める強調表示領域になる。
【０１０９】
図４０は、追加／削除パーツおよびこのパーツに繋がる追加／削除接続線の強調表示領域の拡張処理を示すもので、図４０（ａ）に示す元の領域が図４０（ｂ）に破線で示すように拡張され、結果的に、図４０（ｃ）に示すように、太線で示す多角形が得られる。
【０１１０】
（削除差分）
つぎに、接続図面削除差分データ生成部１８が提供する機能について説明する。図４１のフローチャートは、接続図面削除差分データ生成部１８で行われる手順について示したものである。
【０１１１】
削除の強調表示データは、図２５に示した旧図面属性情報、図２７に示した旧図面接続点情報および図３０に示した旧図面接続点情報に基づいて作成される。
【０１１２】
接続図面削除差分データ生成部１８は、まず、パーツ強調表示領域計算部２４を用いて、削除パーツとこの削除パーツのパーツ属性（図面中の文字列）を囲む多角形を求める（図４１ステップＳ６１）。この例では、"ＯＰＡ"が削除パーツとなる。求められた多角形は、図４２に示す多角形３２０となる。
【０１１３】
次に、削除接続線の始点と終点を強調表示領域として求める（図４１ステップＳ６２）。この例では、削除接続線は、図３０に示すように、"ＯＶＡ","ＯＶＦ","ＯＨＧ"であるので、これらが強調表示の対象の接続線となる。図４２では、符号３２１で示される接続線"ＯＶＡ"、符号３２２で示される接続線"ＯＶＦ"、符号３２３で示される接続線"ＯＨＧ"が強調表示の対象の接続線となり、これらは太線で示されている。したがって、これら強調表示の対象の接続線"ＯＶＡ","ＯＶＦ","ＯＨＧ"の始点と終点の座標を、図３０に示す旧図面接続線情報から求める。
【０１１４】
次に、削除図面属性のセグメント領域を強調表示領域として設定する（図４１ステップＳ６３）。この例では、図２５の旧図面属性情報に示すように、"削除"という図面属性が、削除図面属性であるので、図４２に示すように、そのセグメント領域に対応する多角形３２５を強調表示領域として設定する。
【０１１５】
次に、接続図面削除差分データ生成部１８は、近接強調表示領域合成部２５を用いて、近接する強調表示領域同士の合成を行う（図４１ステップＳ６４）。この例では、図４２に示す多角形３２０と３本の太線３２１〜３２３が合成の対象となる。図４３は合成された結果を示すもので、図４３には、合成された多角形３２６と、削除図面属性"削除"に対応する多角形３２５とが形成されている。
【０１１６】
つぎに、接続図面削除差分データ生成部１８は、雲枠生成部２６を用いて、上記多角形３２６，３２５で構成される強調表示領域の回りに雲枠を生成する（図４１ステップＳ６５）。図４３の多角形３２６，３２５のまわりに雲枠を出力した結果は、図４４に示す通りとなる。
【０１１７】
つぎに、接続図面削除差分データ生成部１８は、ハッチング生成部２７を用いて、削除の強調表示領域の内部にハッチングを生成する（図４１ステップＳ６６）。図４３の多角形３２６の周りに雲枠を形成し、さらに多角形３２６の内部にハッチングを出力した結果を図４４に示す。すなわち、ハッチング生成部２７では、削除表示領域の内側にハッチング（斜め線）を強調表示データとして出力するとともに、削除表示領域の中に含まれる削除データを強調表示データとして出力する機能を有している。
【０１１８】
つぎに、接続図面削除差分データ生成部１８は、変更文字表記変更部２８を用いて、削除図面属性（文字列）の上に、見え消し線を生成する（図４１ステップＳ６７）。この例では、"削除"という図面属性の上に見え消し線３２８を生成する（図４４参照）。すなわち、変更文字表記変更部２８は、属性情報の削除の場合は、旧図面上にある文字のセグメント領域を求め、文字の上に２本の見え消し線を作成する。
【０１１９】
そして、接続図面追加差分データ生成部１７では、このようにして形成された削除雲枠、削除雲枠に含まれる旧図面中の削除データ、ハッチングデータ、および見え消し線に関するデータを含む強調表示データを、強調表示データファイル３３に記憶する。
【０１２０】
なお、図４４に対応する追加雲枠の強調表示データファイルは以下の通りである。
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
【０１２１】
（変更差分）
次に、接続図面変更差分データ生成部１９が提供する機能について説明する。図４５のフローチャートは、接続図面変更差分データ生成部１９で行われる手順について示したものである。
【０１２２】
変更パーツの強調表示データは、図２３および図２４に示した旧新図面パーツ情報または図２７および図２８に示した旧新図面接続点情報に基づいて作成される。また、変更属性の強調表示データは、図２５および図２６に示す旧新属性情報を用いて作成される。
【０１２３】
接続図面変更差分データ生成部１９は、まず、パーツ強調表示領域計算部２４を用いて、変更パーツとその変更パーツのパーツ属性を囲む多角形を求める（図４５ステップＳ７１）。この例では、パーツ"ＮＰＤ"が"ＯＰＥ"とのマクロ名の違いによって変更パーツとなる。求められた多角形は、図４６に示す多角形３３０となる。
【０１２４】
接続図面変更差分データ生成部１９は、つぎに、パーツ強調表示領域計算部２４を用いて、変更属性を囲む多角形を求める（図４５ステップＳ７２）。この際、変更属性に関しては、旧属性を新属性の上部に表示するため、旧属性と新属性を含む最小の長方形領域を強調表示領域として設定する。この例では、変更パーツ属性が、パーツ"ＮＰＡ（ＢＢＢ，ａ接点）"のピン属性"４"であり、変更図面属性が"new comment"と"change"である。したがって、新図面に対し、パーツ"ＮＰＡ（ＢＢＢ，ａ接点）"のピン属性"４"の上部に、旧ピン属性"２"を追加し、図面属性"new comment"の上部に旧図面属性"old comment"を追加し、図面属性"change"の上部に旧図面属性"modify"を追加する。したがって、求められた多角形は、図４６に示す多角形３３１〜３３３となる。
【０１２５】
つぎに、接続図面変更差分データ生成部１９は、雲枠生成部２６を用いて、上記多角形３３０〜３３３で構成される強調表示領域の回りに雲枠を生成する（図４５ステップＳ７３）。図４６の多角形３３０〜３３３のまわりに雲枠を出力した結果は、図４７に示す通りとなる。
【０１２６】
つぎに、接続図面変更差分データ生成部１９は、変更文字表記変更部２８を用いて、旧パーツ属性および旧図面属性の上に、見え消し線３３４〜３３６を生成する（図４５ステップＳ７４）。この例では、図４７に示すように、"２","old comment","modify"という旧属性の上に見え消し線３３４〜３３６が生成される。すなわち、変更文字表記変更部２８は、属性情報の変更の場合は、新図面上の変更後文字列の近傍に（この場合は上側に）、追加しようとする旧図面の変更前文字列のセグメント領域を求め、そのセグメント領域内の変更前文字列の上に２本の見え消し線を作成し、強調表示データとして出力する。
【０１２７】
そして、接続図面追加差分データ生成部１７では、このようにして形成された変更雲枠、変更後文字列の上に追加する変更後文字列データおよび見え消し線に関するデータなどを含む強調表示データを、強調表示データファイル３３に記憶する。
【０１２８】
なお、図４７に対応する追加雲枠の強調表示データファイルは以下の通りである。
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
【０１２９】
〔副番情報生成〕
次に、副番情報生成部１０が提供する機能について説明する。副番情報生成部１０では、新旧図面を比較した結果、差分がある場合は、図面の改定欄の副番を更新する。この改定欄の情報も強調表示データとして出力する。図４８（ａ）（ｂ）は、改定欄の改定処理を示すもので、図４８（ａ）の場合は、旧図面の改定欄に副番号設定がないので、新図面の改定欄には、新たに副番Ａを付けて、改定年月日を入力設定している。図４８（ｂ）の場合は、旧図面の改定欄には、副番Ａ〜Ｃの設定があるので、つぎの副番Ｄを付けて、改定年月日を入力設定している。
【０１３０】
〔差分情報反映〕
次に、差分情報反映部１１が提供する機能について説明する。差分情報反映部１１は、強調表示データファイル３３の内容を新図面に追加書き込みする。図４９に、図５に示した旧図面データと図６に示した新図面データを差分抽出した結果を、新図面に反映した結果を示す。この図４９に示す図面が、実際に操作者に対して表示される図面である。図４９に示す実際の表示図面では、各パーツ、接続線などの識別子名、強調表示領域の多角形などは実際には表示されない。
【０１３１】
〔強調表示カスタマイズ〕
次に、強調表示データカスタマイズ部１２が提供する機能について説明する。強調表示データカスタマイズ部１２では、雲枠拡大・縮小部２０と雲枠変形部２１と見え消し線変更部２２を有し、これらを動作制御することで、操作者の指定に応じて雲枠を任意の大きさ、形に拡大、縮小、変形するとともに、見え消し線の表記を変更させる。
【０１３２】
図５０のフローチャートを用いて雲枠拡大・縮小部２０が提供する機能について説明する。雲枠の拡大、縮小を行う場合は、操作者が拡大・縮小を行いたい雲枠をマウスなどのポインティングデバイス２で指定する（図５０ステップＳ１０１）。次に、操作者は、マウスカーソルを拡大・縮小したい方向に移動させ、マウスボタンクリックで確定する（図５０ステップＳ１０２）。操作者のこれらの操作を検出することで、雲枠拡大・縮小部２０は、縮小・拡大後の強調表示領域である多角形を通常の図形ズームと同じ方法で求める（図５０ステップＳ１０３）。雲枠拡大・縮小部２０は雲枠生成部２６を用いて、この拡大縮小した多角形のまわりに雲枠を生成する（図５０ステップＳ１０４）。これにより、雲枠は、図５１に示すように、任意の縮倍率に縮小あるいは拡大される。
【０１３３】
図５２のフローチャートを用いて雲枠変形部２１が提供する機能について説明する。雲枠変形部２１は、雲枠の強調表示領域である多角形の頂点を増減することによって、雲枠の形状の変更を行う機能を持つ。
【０１３４】
まず、操作者が変形したい雲枠の強調表示領域である多角形をマウスなどのポインティングデバイスで指定する（図５２ステップＳ１１１）。マウスカーソルを変形させたい方向に移動させ、マウスクリックで確定する（図５２ステップＳ１１２）。
【０１３５】
次に、雲枠変形部２１は、ステップＳ１１１で操作者が多角形の辺を指定したか、頂点を指定したか判定する（図５２ステップＳ１１３）。多角形の辺を指定した場合は、頂点の追加となり、図５３（ｃ）に示すように、指定した辺の両端点の間に、ステップＳ１１２で確定した点を頂点として挿入する（図５２ステップＳ１１４）。ステップＳ１１１で操作者が多角形の頂点を指定した場合は、指定した頂点とつながる両側の頂点とステップＳ１１２で指定した点が一直線になるかどうか判定し（図５２ステップＳ１１５）、一直線になる場合は、図５３（ｂ）に示すように、指定した頂点を削除し、両側の頂点同士を直接結ぶ（図５２ステップＳ１１６）。一直線にならない場合は、図５３（ａ）に示すように、指定頂点の座標値をステップＳ１１２で確定した座標値に変更する（図５２ステップＳ１１７）。次に、雲枠変形部２１は、雲枠生成部２６を用いて、この多角形のまわりに雲枠を生成する（ステップＳ１１８）。
【０１３６】
つぎに、図５４のフローチャートを用いて見え消し線変更部２２が提供する機能について説明する。見え消し線を変更する場合、操作者は、変更前の旧属性をマウスなどのポインティングデバイスで指定する（図５４ステップＳ１２１）。操作者がマウスカーソルを移動させたい方向に移動させ、マウスクリックで確定する（図５４ステップＳ１２２）。これらの操作を検出した見え消し線変更部２２は、まず、元の雲枠を削除する（図５４ステップＳ１２３）。つぎに、見え消し線変更部２２は、新旧属性の配置位置をチェックし（図５４ステップＳ１２４）、これらの配置位置が予め設定された所定の距離を越える場合は、図５５に示すように、新旧の属性のリンクを表わす矢印線３５０をひく（図５４ステップＳ１２５）。そして、新旧の属性それぞれについて、雲マークを生成する（図５４ステップＳ１２６）。新旧属性の配置位置が予め設定された距離をこえない場合は、新旧属性の双方を含む雲枠を発生する（図５４ステップＳ１２７）。
【０１３７】
このようにこの実施の形態１によれば、ＣＡＤで作成した新旧の電気回路図面から、同電位のものを同一接続グループ（同一ネット）にするというルールをもって図面要素をグループ分けし、対応するグループ同士でセマンティックな比較を行うことによって、新旧の電気回路図面における意味のある違いのみを差分抽出し、これら差分抽出された部分のみを強調表示した新旧の電気回路図の合成図面を作成するようにしているので、見栄え調整を目的としたシンボル位置の移動部分は強調表示されず、また一部図形要素のみが追加／削除されたネットの場合はネット全体が強調表示されるのではなく、真に追加／削除された部分のみが強調表示される。したがって、実施の形態１によれば、設計者の意図を確実に反映することができ、また電気回路図の真に意味のある改定箇所を操作者が容易に確認できるようになる。また、削除箇所と追加箇所は、表示色の違い、ハッチングの有無など強調表示形態を異ならせているので、削除箇所と追加箇所を容易に識別できるようになる。また、一定の距離以内にある雲枠を合成するようにしているので、改定箇所が多い場合でも、雲枠が複雑に重なって、本来の電気回路図部分の視認を邪魔したりすることがなくなり、扱者にとって見易い差分抽出図面を提供することが可能となる。また、削除される図形要素に関する強調表示データ、追加される図形要素に関する強調表示データおよび変更される図形要素に関する強調表示データを別のレイヤに設定するようにしているので、レイヤ毎に表示／非表示を制御することにより、追加、削除、変更などの差分内容に応じて雲枠の表示／非表示を制御することが可能となる。さらに、差分抽出の結果、セマンティックな差分がある場合、図面の副番欄の自動更新を行うようにしているので、扱者の副番更新のための手間を省くことが可能となる。
【０１３８】
なお、上記実施の形態では、雲枠をもって強調表示するようにしたが、くさび形の繰り返し、他の任意の図形の繰り返しなど他の任意の強調表示図形を採用するようにしてもよい。
【０１３９】
実施の形態２．
つぎに、図５６〜図８７に従ってこの発明の実施の形態２について説明する。この実施の形態２は、ＣＡＤシステムを用いて作成される状態遷移図（図５６）およびオブジェクト図（クラス図、図８２）に対して本発明を適用するものである。
【０１４０】
〔状態遷移図〕
最初に、状態変異図に関するセマンティックな差分抽出に関して説明する。状態遷移図は、図５６（ａ）（ｂ）に示すように、システムの状態を制御するための状態遷移を表わすものである。図５６においては、（ａ）が状態遷移図の旧図面を（ｂ）が状態遷移図の新図面を示している。
【０１４１】
この図５６（ａ）（ｂ）を用いて状態遷移図で用いる用語について説明する。「状態」は長方形の角を丸み付けした図形で示される。各状態は、「名前」、「動作」、「状態区分」の属性を持つ。
【０１４２】
図５６中の"オン"、"監視中"、"コマンド待ち"、"処理中"、"切り離し中"、"接続中"などが「状態名」である。各状態は、その中に、「ａｎｄサブ状態」と「ｏｒサブ状態」を含むことができる。「ａｎｄサブ状態」は、並行サブ状態であり、「ｏｒサブ状態」は、複数の状態が同時に起こることが無いサブ状態である。例えば、"オン"状態は、"監視中"と"処理中"の「ａｎｄサブ状態」を含む。"処理中"状態は"切り離し中"と"接続中"の「ｏｒサブ状態」を含む。各状態は更に、「初期状態」、「終端状態」、「コネクタ」などの「疑似状態」を含む。「初期状態」は、黒丸４００で表され、「終端状態」は黒丸目玉で表され（図示せず）、また、図５６（ｂ）において、符号４０１で示される記号が「コネクタ」である。
【０１４３】
つぎに、状態区分は、
０がリーフ状態すなわちサブ状態を持たない状態、
１が「ｏｒサブ状態」を持つ状態、
２が「ａｎｄサブ状態」をもつ状態、
３が初期状態、
４が終端状態、
５がコネクタ
とする。
【０１４４】
状態区分が３以上である「疑似状態」すなわち初期状態、終端状態およびコネクタは、状態名を持たないので、状態名はユニーク番号（ユニークＮｏ）で表す。ユニークＮｏは、親状態の中に同一状態区分の疑似状態が１個のみの時のユニークＮｏは０とし、複数ある時はそれぞれに対し０から始まる連番で表す。
【０１４５】
つぎに、各状態の属性である「動作」は、「入場動作」、「退場動作」、「イベント動作」等の集合である。
【０１４６】
状態から状態への矢印を「遷移」と言う。矢印の起点側の状態を「Ｆｒｏｍ状態」、矢印の先端側の状態を「ｔｏ状態」と言う。「遷移」は、「イベント名」、「ガード条件」、「遷移動作」などの属性を持ち、イベント名［ガード条件］／アクションの形で表現される。例えば、図５６中の"リセット／中断"では、"リセット"が「イベント名」、"中断"が「遷移動作」である。また、"［センサー接続］"、"［センサー切離し］"は、「ガード条件」である。また、"［信号有り］／運転"は、"［信号有り］"が「ガード条件」で、"運転"が「遷移動作」である。
【０１４７】
ここで、新旧状態遷移図の差分検出を行うに当たっては、状態のツリー構造を作り、このツリー構造を用いて相対表現による差分（diff）を検出するようにしている。
【０１４８】
そこで、状態遷移図の差分検出について説明する前に、ツリーに対する差分検出について図５７〜図７４を用いて説明する。図５７〜図５９は、ツリー構造を示すもので、図５７が旧ツリー構造、図５８および図５９が変更後の新ツリー構造を示している。
【０１４９】
図５７において、ツリーの各ノードの名前をａ〜ｉとする。ｄ，ｅ，ｆ，ｇ，ｈ，ｉが終端ノードで、ａ，ｂ，ｃ，が非終端ノードである。ａはルートノードである。
【０１５０】
図５７に示すツリーにおいては、（ａ，ｂ）、（ｂ，ｅ）、（ｂ，ｆ）、（ａ，ｃ）、（ｃ，ｇ）、（ｃ，ｈ）、（ｃ，ｉ）、（ａ，ｄ）の各ノードについてのペアに親子関係がある。同一の親を持つ子は兄弟関係にあるという。ノードをある規則に従って並べたとき、兄弟中最初に現れるノードを長男、兄弟中最後に現れるノードを末弟と呼ぶ。
【０１５１】
（絶対パス）
各ノード名をルートノードからのパスの形で表現したものが絶対パス名である。図５７，図５８，図５９に示した例において、パスの区切り文字をピリオド"．"としたとき、図５７のツリーに対応した各ノードの絶対パス名を図６０に、図５８のツリーに対応した各ノードの絶対パス名を図６１に、図５９のツリーに対応した各ノードの絶対パス名を図６２に夫々示す。
【０１５２】
絶対パスによる辞書順差分は以下のようにして求めることができる。
［１］旧ツリーデータおよび新ツリーデータの各々に対し、各ノードの絶対パス名を求め、その昇順にソートする。
［２］絶対パス表示による差分を求める。
【０１５３】
これによりノードの増減および絶対パス名の変化の差分表示ができる。ルートノードの前にノードを追加すると、全ての旧ツリーの要素が削除され、全ての新ツリーの要素が追加という差分データとなる。
【０１５４】
図５７に示したツリーの絶対パス名データ（図６０）と図５８に示したツリーの絶対パス名データ（図６１）との絶対パス名による差分を図６３に示し、図５７に示したツリーの絶対パス名データ（図６０）と図５９に示したツリーの絶対パス名データ（図６２）との絶対パス名による差分を図６４に示す。
【０１５５】
図５７に示したツリーを旧ツリーデータとし、図５８に示したツリーを新ツリーデータとすると、これらの絶対パス名による差分データは、図６３に示すように、（ａ，ｂ，ｅ）の削除、（ａ，ｃ，ｇ）の削除、（ａ，ｃ，ｉ）の削除、（ａ，ｂ，ｆ）の追加、（ａ，ｄ，ｌ）の追加、（ａ，ｊ）の追加、（ａ，ｊ，ｍ）の追加によって構成される。
【０１５６】
図５７に示したツリーを旧ツリーデータとし、図５９に示したツリーを新ツリーデータとすると、この場合には、ルートノードａの前に新ノードｘが追加されているので、これらの絶対パス名による差分データは、図６４に示すように、全ての旧ツリーの要素が削除され、全ての新ツリーの要素が追加というものとなる。
【０１５７】
（単項相対パス）
次に、単項相対パス名とは、前述した絶対パス名を辞書順に並べた並び順を前提に、各ノード名に対し、そのノードが親であることを示す情報（この実施の形態では、ノード名の後ろに"｛"を付けて示している）と、末弟の次の要素であることを示す情報（この実施の形態では、ノード名の前に"｝"を付けて示している）を付加した表現である。
【０１５８】
単項相対パス名による辞書順差分は以下のように求める。
［１］元のツリーデータおよび変更後のツリーデータの各ノードに対し絶対パス名を求め、その昇順にソートする。
［２］ノードが非終端ノード名のときは、ノード名の後ろに子があることを示す記号（ここでは"｛"で表示している）を付ける。
［３］ノードが末弟の次のノードのときは、ノード名の前に、前の兄弟群のノードが終わったことを示す記号（ここでは"｝"で表示している）をノード名の前に付けて表す。
［４］元のツリーデータの相対パス名と、変更後のツリーデータの相対パス名に対する差分を求める。
【０１５９】
単項相対パス名による辞書順差分により、ノードの増減および非終端ノード／終端ノードの変更が差分データとして検出できる。すなわち、ノード"ｙ｛"があったときは、その閉じかっこ"｝"の前のノードまでの全ての子ノードが一致すれば（差分表示がなければ）、ノードｙとそのサブツリーに変更がなかったことがわかる。
【０１６０】
図５７のツリーに対応する単項相対パス名データを図６５に示し、図５８のツリーに対応する単項相対パス名データを図６６に示し、図５９のツリーに対応する単項相対パス名データを図６７に示している。また、単項相対パス名表記による図６５と図６６の差分を図６８に示し、図６５と図６７との差分を図６９に示す。
【０１６１】
図５７に示したツリーを旧ツリーデータとし、図５８に示したツリーを新ツリーデータとすると、これらの単項相対パス名による差分データは、図６５に示す単項相対パス名データと図６６に示す単項相対パス名データとの差分であるので、図６８に示すように、「ｅの削除」、「ｇの削除」、「ｉの削除」、「 ｝ｄの削除」、「ｋの追加」、「 ｝ｄ｛の追加」、「ｌの追加」、「 ｝ｊ｛の追加」、「ｍの追加」で構成されることになる。
【０１６２】
また、図５７に示したツリーを旧ツリーデータとし、図５９に示したツリーを新ツリーデータとすると、これらの単項相対パス名による差分データは、図６５に示す単項相対パス名データと図６７に示す単項相対パス名データとの差分であるので、図６９に示すように、「ｅの削除」、「ｇの削除」、「ｉの削除」、「｝ｄの削除」、「ｘ｛の追加」、「ｋの追加」、「 ｝ｄ｛の追加」、「ｌの追加」、「 ｝ｊ｛の追加｝」、「ｍの追加」で構成されることになる。
【０１６３】
（２項相対パス）
つぎに、２項相対パス名とは、全ての親子関係をノード名の間に親子関係を示す区切り文字（この実施の形態では、例えば"｛"で表示している）でつないで表したものである。ただし先頭にルートノード名のみのデータを付加する。
【０１６４】
２項相対パス名による深さ優先差分は以下のように求める。
［１］元のツリーデータおよび変更後のツリーデータの各ノードに対し相対パス名と、絶対パス名を求め、絶対パス名の昇順にソートする。
［２］ルートノードの相対パス名はそのノード名とする。ルートノード以外の相対パス名は、直接の親のノード名と、自ノード名を区切り文字（ここでは"｛"で表示している）でつないで表す。
［３］元のツリーデータの２項相対パス名と、変更後のツリーデータの２項相対パス名に対する差分を求める。
【０１６５】
２項相対パス名による深さ優先差分により、直接の親子関係が変化したノードが差分データとして検出できる。削除データは、第１項（"｛"の前の項）が削除されたか、あるいは第２項（"｛"の後ろの項）が削除されたか、あるいは第１項と第２項の親子関係が削除されたことを示す。追加データは、第１項が追加されたか、あるいは第２項が追加されたか、あるいは第１項と第２項の親子関係が追加されたことを示す。
【０１６６】
図５７のツリーに対応する２項相対パス名データを図７０に示し、図５８のツリーに対応する２項相対パス名データを図７１に示し、図５９のツリーに対応する２項相対パス名データを図７２に示している。また、２項相対パス名表記による図７０と図７１の差分を図７３に示し、図７０と図７２との差分を図７４に示す。
【０１６７】
図５７に示したツリーを旧ツリーデータとし、図５８に示したツリーを新ツリーデータとすると、これらの２項相対パス名による差分データは、図７０に示す２項相対パス名データと図７１に示す２項相対パス名データとの差分であるので、図７３に示すように、「ｂ｛ｅの削除」、「ｃ｛ｇの削除」、「ｃ｛ｉの削除」、「ａ｛ｊの追加」、「ｂ｛ｋの追加」、「ｄ｛ｌの追加」、「ｊ｛ｍの追加」で構成されることになる。
【０１６８】
図５７に示したツリーを旧ツリーデータとし、図５９に示したツリーを新ツリーデータとすると、これらの２項相対パス名による差分データは、図７０に示す２項相対パス名データと図７２に示す２項相対パス名データとの差分であるので、図７４に示すように、「ａの削除」、「ｂ｛ｅの削除」、「ｃ｛ｇの削除」、「ｃ｛ｉの削除」、「ｘの追加」、「ａ｛ｊの追加」、「ｂ｛ｋの追加」、「ｄ｛ｌの追加」、「ｊ｛ｍの追加」で構成されることになる。
【０１６９】
図７５は、接続図面としての状態変異図あるいはクラス図を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ，ワークステーションに実行させるプログラムの機能構成を示すものである。
【０１７０】
図７５に示す装置は、入出力端末装置としてディスプレイ１１０１、マウスなどのポインティングデバイス１１０２、キーボード１１０３及びプリンタなどの出力装置１１０４を有しており、入出力インターフェース部１１０５を介して接続図面編集表示装置１１０６と図形データ、入出力指示などの信号の授受を実行する。
【０１７１】
接続図面編集表示装置１１０６は、ツリー構造作成部１１０８、パス名生成部１１０９、パス名差分検出部１１１０，ツリー差分対応付け部１１１１、図面情報抽出部１１１２、絶対パス名生成部１１１３、単項相対パス名生成部１１１４および２項相対パス名生成部１１１５を有するツリー差分検出部１１０７と、リンク差分検出部１１１６と、シンボル差分検出部１１１７と、追加分表示部１１１８と、削除分表示部１１１９とを備えている。
【０１７２】
ツリー差分検出部１１０７は、図５６（ａ）に示すような状態遷移図面（旧図面）の旧図面ファイル１１３１および図５６（ｂ）に示すような状態遷移図面（新図面）の新図面ファイル１１３０を読み出し、これら新旧図面ファイル１１３０，１１３１に対し、ツリーとしての差分を検出し、その差分結果を差分データ記憶部１１３３に記憶する。
【０１７３】
図面情報抽出部１１１２は、新図面ファイル１１３０，旧図面ファイル１１３１からツリー構造に変換する情報を取り出す。ツリー構造作成部１１０８は、これら取り出された新旧図面のツリー構造に変換する情報をツリー構造のデータ、すなわち新図面ツリー構造ファイル１１２１および旧図面ツリー構造ファイル１１２２に変換する。パス名生成部１１０９は、ユーザの指定選択内容（絶対パス名表記、単項相対パス名表記、２項相対パス名表記の何れのテキストを行表現として選択するか）に従って、絶対パス名生成部１１１３、単項相対パス名生成部１１１４および２項相対パス名生成部１１１５の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、３つのテキスト行表現のいずれかへのマッピングを行って、新図面パス名データ１１２３と旧図面パス名データ１１２４を生成する。パス名差分検出部１１１０は、新図面パス名データ１１２３と旧図面パス名データ１１２４の差分をとることでパス名差分データ１１２５を作成する。ツリー差分対応付け部１１１１は、パス名差分データ１１２５を図面に対応付けて差分データ記憶部１１３３に記憶する。
【０１７４】
リンク差分検出部１１１６は、新図面ファイル１１３０と旧図面ファイル１１３１とのリンク（状態の遷移）の差分を求め、このリンク差分データを差分データ記憶部１１３３に追加記憶する。シンボル差分検出部１１１７はシンボル（状態の動作）の差分を検出し、このシンボル差分データを差分データ記憶部１１３３に追加記憶する。これらの差分データ記憶部１１３３に記憶された差分データを強調表示する際には、旧図面及び新図面をディスプレイ１１０１の画面上に並べて表示する。追加分表示部１１１８は、新図面に追加された部分を所定の追加分表示色をもって表示すると共に、削除分表示部１１１９は旧図面から削除された部分を、削除表示色とは異なる所定の削除表示色をもって表示する。
【０１７５】
つぎに、かかる接続図面編集表示装置１１０６による状態遷移図の差分抽出表示動作を図７６のフローチャートおよび図７７〜図８１に従って説明する。
【０１７６】
操作者は、最初或いはパス名生成を行う前の適宜の時点に、今回の差分抽出処理で採用するパス名を、絶対パス名表記、単項相対パス名表記、および２項相対パス名の何れかから選択指定する。
【０１７７】
差分抽出処理が開始されると、ツリー差分検出部１１０７は、新図面ファイル１１３０（図５６（ｂ）に示すような新状態遷移図面），旧図面ファイル１１３１（図５６（ａ）に示すような旧状態遷移図面）を読み込む（ステップＳ１２０１）。つぎに、図面情報抽出部１１１２は、新図面ファイル１１３０，旧図面ファイル１１３１からツリー構造に変換する情報を取り出す（ステップＳ１２０２）。つぎに、ツリー構造作成部１１０８は、これら取り出された情報、すなわち状態遷移図の状態のネスティング関係に基づいてツリー構造のデータ、すなわち新図面ツリー構造ファイル１１２１および旧図面ツリー構造ファイル１１２２を作成する（ステップＳ１２０３）。
【０１７８】
図７７（ａ）は、図５６（ａ）に示した状態遷移図の旧図面のツリー構造を示すもので、図７７（ｂ）は、図５６（ｂ）に示した状態遷移図の新図面のツリー構造を示すものである。ツリーのノード名は（状態区分，状態名）で表す。
【０１７９】
図７７において、例えば、状態"オン"は、監視中状態と処理中状態のａｎｄサブ状態をもつので、状態区分は２であり、そのノード名は、（２，オン）となる。状態"監視中"は、状態"警告中"、状態"コマンド待ち"、状態"セットアップ"、状態"セットアップ準備中"、状態"比較中"、黒丸で表される"初期状態"のｏｒ状態を持つので、そのノード名は（１，監視中）となる。状態"比較中"は、サブ状態を持たないので、その状態区分は終端状態となり、そのノード名は（０，比較中）となる。この場合、各"初期状態"は、親状態の中に同一状態区分の疑似状態が１個のみしかないので、そのユニークＮｏは０となり、そのノード名は（３，０）となる。また、"コネクタ"のノード名は（５，０）となる。このように、状態とそのサブ状態を親子関係としてツリーが構成される。
【０１８０】
つぎに、パス名生成部１１０９は、ユーザの指定選択内容に従って、絶対パス名生成部１１１３、単項相対パス名生成部１１１４および２項相対パス名生成部１１１５の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、新図面パス名データ１１２３と旧図面パス名データ１１２４を生成する（ステップＳ１２０４〜Ｓ１２０６）。
【０１８１】
操作者が、ツリー構造を表すために絶対パス名によるテキスト表現を選択したときは、絶対パス名生成部１１１３が呼び出され、絶対パス名表記による新旧図面パス名データが作成される。操作者が、単項相対パス名によるテキスト行表現を選択したときは、単項相対パス名生成部１１１４が呼び出され、単項相対パス名表記による新旧図面パス名データが作成される。操作者が、２項相対パス名によるテキスト行表現を選択したときは、２項相対パス名生成部１１１５が呼び出され、２項相対パス名表記による新旧図面パス名データが作成される。
【０１８２】
つぎに、パス名差分検出部１１１０は、上記何れかのパス名表記による新図面パス名データ１１２３と旧図面パス名データ１１２４の差分をとることでパス名差分データ１１２５を作成する（ステップＳ１２０７）。
【０１８３】
図７８は、絶対パス名表記による辞書順差分結果を示すものである。絶対パス名表記による辞書順差分結果によれば、パス名（２，オン）．（１，監視中）．（０，セットアップ準備中）が旧図面から削除され、パス名（２，オン）．（１，監視中）．（５，０）と、パス名（２，オン）．（１，処理中）．（０，接続中）．（０，アイドル）と、パス名（２，オン）．（１，処理中）．（０，接続中），（０，運転中）と、パス名（２，オン）．（１，処理中）.（０，接続中）．（３，０）が新図面に追加されたことを示すパス名差分データが形成される。
【０１８４】
図７９は、単項相対パス名表記による辞書順差分結果を示すものである。単項相対パス名表記による辞書順差分結果によれば、旧図面からは、パス名（０，セットアップ準備中）と、パス名（０，接続中）とが削除され、新図面にパス名（５，０）と、パス名（０，接続中）｛と、パス名（０，アイドル）と、パス名（０，運転中）と、パス名｝（３，＊）とが追加されたことを示すパス名差分データが形成される。
【０１８５】
図８０は、２項相対パス名による深さ優先差分結果を示すものである。２項相対パス名による深さ優先差分結果によれば、旧図面からは、パス名（１，監視中）｛（０，セットアップ準備中）と、パス名（１，処理中）｛（０，接続中）が削除され、新図面に対して、パス名（１，監視中）｛（０，セットアップ）と、パス名（１，処理中）｛（１，接続中）と、パス名（１，接続中）｛（０，アイドル）と、パス名（１，接続中）｛（０，運転中）と、パス名（１，接続中）｛（３，０）とが追加されたことを示すパス名差分データが形成される。
【０１８６】
ツリー差分対応付け部１１１１は、これら何れかのパス名表記によるパス名差分データ１１２５を図面に対応付けて差分データ記憶部１１３３に記憶する（ステップＳ１２０８）。
【０１８７】
リンク差分検出部１１１６は、新図面ファイル１１３０と旧図面ファイル１１３１との状態の遷移の差分を求め、この遷移差分データを差分データ記憶部１１３３に追加記憶する（ステップＳ１２０９）。
【０１８８】
リンク差分検出部１１１６では、（Ｆｒｏｍ状態ＩＤ，Ｔｏ状態ＩＤ，イベント名［ガード条件］／アクション）が等しいとき、比較される各遷移が同一遷移であると判定し、また旧図面にあって新図面にないときは削除遷移と判定し、新図面にあって旧図面にないときは追加遷移と判定する。Ｆｒｏｍ状態ＩＤ、Ｔｏ状態ＩＤは、状態名の絶対パス名で表す。
【０１８９】
図８１は、図５６（ａ）に示した状態遷移図（旧図面）と図５６（ｂ）に示した状態遷移図（新図面）との遷移差分データを模式的に示すものである。この場合には、削除欄に示される３つの状態遷移から成る削除データと、追加欄に示される６つの状態遷移から成る追加データを含む遷移差分データが得られることとなる。
【０１９０】
つぎに、シンボル差分検出部１１１７は新旧図面の動作の記述（文字列）の差分を検出し、この動作差分データを差分データ記憶部１１３３に追加記憶する（ステップＳ１２１０）。この動作記述の差分は、単純なテキストの比較で行える。
【０１９１】
つぎに、追加分表示部１１１８および削除分表示部１１１９は、差分データ記憶部１１３３に記憶された状態、遷移、動作の差分データをディスプレイ１１０１の画面上に強調表示する。すなわち、旧図面及び新図面をディスプレイ１１０１の画面上に並べて表示し、旧図面上には削除された部分（状態を示す角が丸み付けされた長方形内、遷移を示す矢印、動作を示す文字列）が他の部分とは異なる表示色をもって表示され、また新図面上には追加された部分（状態を示す角が丸み付けされた長方形内、遷移を示す矢印、動作を示す文字列）が他の部分および旧図面の削除部分とは異なる表示色をもって表示される（ステップＳ１２１１，Ｓ１２１２）。
【０１９２】
このように実施の形態２において、状態遷移図の差分抽出を行う際には、新旧状態遷移図の状態のネスティング関係に基づいて状態のツリー構造を作成し、絶対パス名による辞書順差分、単項相対パス名による辞書順差分、２項相対パス名による深さ優先差分のいずれかの方式でツリー構造を表す新旧図面のテキストを作成し、これら２つの新旧図面のテキストの差分抽出を行うことで、新旧図面の状態の差分（削除／追加）を抽出し、また新旧図面の（Ｆｒｏｍ状態ＩＤ，Ｔｏ状態ＩＤ，イベント名［ガード条件］／アクション）を比較することで新旧図面の遷移の差分抽出を行い、さらに新旧図面の動作の記述テキスト比較することで動作の差分抽出を行い、これにより、状態遷移図のセマンティックな差分抽出を行うようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【０１９３】
〔オブジェクト図〕
次に、オブジェクト図に関するセマンティックな差分抽出について説明する。クラス図（オブジェクト図）は、図８２（ａ）（ｂ）に示すように、クラス（オブジェクト）間の関係、集約、継承を表現する。オブジェクト指向システムでは、システム内のオブジェクト同士がお互いに協調し合いながら、1つのユースケースを実現する。1つのユースケースを実現するときには、あるオブジェクトはメッセージを送信し、あるオブジェクトはそのメッセージを受信して必要な処理を起動する。このときオブジェクト同士が相手の存在を知っていなければならない。それを表現するのがクラス図である。図８２においては、（ａ）がクラス図の旧図面を（ｂ）がクラス図の新図面を示している。
【０１９４】
次に、図８２（ａ）（ｂ）を用いてクラス図で用いる用語について説明する。「クラス図」は、「クラスの図形」、「継承」、「集約」「関連」からなる。３つの区画に仕切られた長方形がクラスの図形で、上領域に書かれているのが「クラス名」で、中間領域に書かれているのが「属性名」で、下領域に書かれているのが「操作（メソッド）名」である。図８２では、"図形"、"閉図形"、"円"などがクラス名であり、"塗りつぶしパターン"が属性であり、"ｄｒａｗ（）"、"ｓｅｔ_ｐａｔｔｅｒｎ（）」などが操作である。
【０１９５】
「継承」は、スーパー（親）クラスとサブクラスの関係であり、継承関係は階層構造をもっている。「継承」は、クラスの図形間をつなぐ、端点が白抜きの三角形の線で表され、三角形側が継承の親側である。「集約」は、全体と部分を表すクラスの関係であり、クラスの図形間をつなぐ端点が菱形の線で表され、菱形側が全体を示し、その反対側が全体を構成する部分であることを示している。「関連」は、クラス同士の一時的な関係であり、クラスの図形間をつなぐ単純な線で表される。
【０１９６】
まず、クラス図におけるセマンティックな差分抽出についてその概要を説明する。このクラス図の差分抽出では、広義の関連を、継承、集約、その他関連に分類して、それぞれの関連の種別毎に、クラス間のリンク関係の差異、継承、集約のツリー構造の差異を抽出する。
【０１９７】
すなわち、継承は、ツリー構造として差異を抽出する。関連や集約などはクラス間のリンク情報の差分を検出する。ツリーの差分検出は、状態遷移図のツリー差分検出と同様に実行する。強調表示も状態遷移図の場合とほぼ同様とする。
【０１９８】
つぎに、図７５に示した接続図面編集表示装置１１０６によるクラス図のセマンティックな差分抽出表示動作を図７６に示したフローチャートおよび図８３〜図８６に示した具体例を参照してより詳細に説明する。
【０１９９】
操作者は、前記同様最初或いはパス名生成を行う前の適宜の時点に、今回の差分抽出処理で採用するパス名を、絶対パス名表記、単項相対パス名表記、および２項相対パス名の何れかから選択指定する。
【０２００】
差分抽出処理が開始されると、ツリー差分検出部１１０７は、新図面ファイル１１３０（図８２（ｂ）に示すような新クラス図），旧図面ファイル１１３１（図８２（ａ）に示すような旧クラス図）を読み込む（ステップＳ１２０１）。つぎに、図面情報抽出部１１１２は、新図面ファイル１１３０，旧図面ファイル１１３１からツリー構造に変換する情報を取り出す（ステップＳ１２０２）。すなわち、継承の矢印（白抜きの三角形）でつながっているクラスと継承の矢印を取り出す。つぎに、ツリー構造作成部１１０８は、これら取り出された情報、すなわちクラス図のクラスのネスティング関係に基づいてツリー構造のデータ、すなわち新図面ツリー構造ファイル１１２１および旧図面ツリー構造ファイル１１２２を作成する（ステップＳ１２０３）。この際、ツリー構造作成部１１０８では、継承矢印の有る側のクラスを親とし、無い側のクラスを子としてツリー構造を作成する。ノード名はそのクラス名を用いる。
【０２０１】
図８３（ａ）は、図８２（ａ）に示したクラス図（旧図面）のツリー構造を示すもので、図８３（ｂ）は、図８２（ｂ）に示したクラス図（新図面）のツリー構造を示すものである。
【０２０２】
つぎに、パス名生成部１１０９は、ユーザの指定選択内容に従って、絶対パス名生成部１１１３、単項相対パス名生成部１１１４および２項相対パス名生成部１１１５の何れかを呼び出し、該呼び出したパス名生成部を動作させることで、新図面パス名データ１１２３と旧図面パス名データ１１２４を生成する（ステップＳ１２０４〜Ｓ１２０６）。
【０２０３】
つぎに、パス名差分検出部１１１０は、上記何れかのパス名表記による新図面パス名データ１１２３と旧図面パス名データ１１２４の差分をとることでパス名差分データ１１２５を作成する（ステップＳ１２０７）。
【０２０４】
図８４は、絶対パス名表記による辞書順差分結果を示すものである。絶対パス名表記による辞書順差分結果によれば、パス名"図形．直線"および"図形．閉図形．円"が旧図面から削除され、パス名"図形．閉図形"、"図形．閉図形．直線"、"図形．閉図形．だ円"が新図面に追加されたことを示すパス名差分データが形成される。
【０２０５】
図８５は、単項相対パス名表記による辞書順差分結果を示すものである。単項相対パス名表記による辞書順差分結果によれば、旧図面からは、パス名"円"が削除され、パス名"開図形｛"、"だ円"が追加されたことを示すパス名差分データが形成される。
【０２０６】
図８６は、２項相対パス名による深さ優先差分結果を示すものである。２項相対パス名による深さ優先差分結果によれば、旧図面からは、パス名"図形｛直線""閉図形｛円"が削除され、新図面に対して、パス名"図形｛開図形"、"開図形｛直線""閉図形｛だ円"が追加されたことを示すパス名差分データが形成される。
【０２０７】
ツリー差分対応付け部１１１１は、パス名差分検出部１１１０で作成された上記の何れかのパス名表記によるパス名差分データ１１２５を図面に対応付けて差分データ記憶部１１３３に記憶する（ステップＳ１２０８）。
【０２０８】
つぎに、リンク差分検出部１１１６は、新図面ファイル１１３０と旧図面ファイル１１３１との集約および関連についての差分を求め、この差分データを差分データ記憶部１１３３に追加記憶する（ステップＳ１２０９）。
【０２０９】
リンク差分検出部１１１６では、集約に関しては、（Ｆｒｏｍクラス名，Ｔｏクラス名）より構成されるクラス名のペアを辞書順に並べ、テキストの差分検出を行うことにより集約の差分抽出を行う。菱形の付いた方をＦｒｏｍ側とし、付いていない方をＴｏ側とする。Ｔｏ側が複数あるときは、Ｆｒｏｍ、Ｔｏの複数のペアに分解する。関連に関しても、それらがつながるクラス名の辞書順の前のほうをＦｒｏｍ側、他方をＴｏ側としてペアで表す。これらのペアを辞書順に並べ、テキストの差分検出を行うことにより、関連の差分を検出する。
【０２１０】
つぎに、シンボル差分検出部１１１７は、クラス名をキーにクラスの追加削除の差分を検出するとともに、新旧クラス図面のクラスの属性とメソッドの差分検出を行い、これらの差分データを差分データ記憶部１１３３に追加記憶する（ステップＳ１２１０）。属性に関しては、同一クラス名毎に、属性のテキストを求め、旧図面のテキストと新図面のテキストを比較することにより、属性の差分を検出する。操作についても同様にして差分を検出する。
【０２１１】
つぎに、追加分表示部１１１８および削除分表示部１１１９は、差分データ記憶部１１３３に記憶されたクラスの追加／削除に関する差分データ、クラスの属性および操作の増減、変更に関する差分データ、継承，集約，関連に関する追加／削除に関する差分データをディスプレイ１１０１の画面上に強調表示する。すなわち、旧図面及び新図面をディスプレイ１１０１の画面上に並べて表示し、旧図面上には削除された部分が他の部分とは異なる表示色をもって表示され、また新図面上には追加された部分が他の部分および旧図面の削除部分とは異なる表示色をもって表示される（ステップＳ１２１１，Ｓ１２１２）。
【０２１２】
図８７に、クラス図に関する他の新旧図面を示す。図８７（ａ）がクラス図の旧図面であり、図８７（ｂ）がクラス図の新図面である。
【０２１３】
上述したクラス図についての差分抽出手法を用いれば、上記図８７示すクラス図の場合の差分抽出結果を次のようになる。
(a)クラス（コンポーネント）の追加削除
追加コンポーネントは、class３，削除コンポーネントはclassＣである。
(b)コンポーネントの属性、操作の追加削除
追加操作はclass１の操作４、削除操作はclass１の操作２である。
(c)継承の差分抽出
旧図面
abstractclass――classＡ
――classＢ
――classＣ
新図面
abstractclass――classＡ
――classＢ
(d)関連の差分抽出
追加関連がclass１−class３と、class２−class３となる。
【０２１４】
このように実施の形態２において、クラス図の差分抽出を行う際には、新旧状態遷移図のクラスの継承関係に基づいてクラスの継承のツリー構造を作成し、絶対パス名による辞書順差分、単項相対パス名による辞書順差分、２項相対パス名による深さ優先差分のいずれかの方式でツリー構造を表す新旧図面のテキストを作成し、これら２つの新旧図面のテキストの差分抽出を行うことで、新旧図面のクラスの継承の差分（削除／追加）を抽出し、また新旧図面の（Ｆｒｏｍクラス名，Ｔｏクラス名）より構成されるクラス名のペアを比較することで新旧図面の集約、関連の差分抽出を行い、さらに新旧図面のクラス名、クラスの属性、クラスのメソッドのテキスト比較を行うことで、これらクラス、クラスの属性、クラスの操作の差分抽出を行い、これにより、クラス図のセマンティックな差分抽出を行うようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【０２１５】
実施の形態３．
つぎに、図８８〜図９０に従ってこの発明の実施の形態３について説明する。この実施の形態３は、ＣＡＤシステムを用いて作成されたラダー図に対して本発明を適用するものである。
【０２１６】
〔ラダー図〕
ラダー図は、図８８（ａ）（ｂ）に示すように、接点、コイルなどをマトリックス状に各行、各列に配置したものである。図８８においては、（ａ）がラダー図の旧図面を（ｂ）がラダー図の新図面を示している。
【０２１７】
この図８８（ａ）（ｂ）を用いてラダー図で用いる用語について説明する。"Ｘ０１"〜"Ｘ１４"、"Ｍ０１"〜"Ｍ０３"はシンボル名である。これらシンボル名の下側にある図形部分が"接点"、"コイル"などのシンボルである。"Ｍ０１"などの下側にある円の図形が「コイル」シンボルで、"Ｘ０１"などの下側にある図形が「接点」シンボルである。"Ｍ０１"の下側にあるクロス線のある平行２本線がｂ接点で、"Ｘ０４"などの下側にある単純な平行２本線がａ接点である。左右端の垂直線は接続線としての「母線」である。母線と母線の間にシンボルが格子状に配置される。左母線、シンボル、右母線の間は「接続線」により配線される。
【０２１８】
図８９は、接続図面としてのラダー図を編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ，ワークステーションに実行させるプログラムの機能構成を示すものである。
【０２１９】
図８９に示す装置は、入出力端末装置としてディスプレイ２１０１、マウスなどのポインティングデバイス２１０２、キーボード２１０３及びプリンタなどの出力装置２１０４を有しており、入出力インターフェース部２１０５を介して接続図面編集表示装置２１０６と図形データ、入出力指示などの信号の授受を実行する。
【０２２０】
接続図面編集表示装置２１０６は、図面情報抽出部２１１２、行テキスト生成部２１０９および項目テキスト生成部２１１３を動作制御する図面テキスト作成部２１０８と、テキスト差分検出部２１１０と、差分対応付け部２１１１と、追加分表示部２１１８と、削除分表示部２１１９とを備えている。
【０２２１】
図面情報抽出部２１１２は、図８８（ａ）に示すようなラダー図（旧図面）の旧図面ファイル２１３１および図８８（ｂ）に示すようなラダー図（新図面）の新図面ファイル２１３０を読み出し、これらから所要の図面情報を取り出す。行テキスト生成部２１０９は、前記旧図面および新図面の図面情報から格子状に配置配線された図面の１行分のデータ（ラダー列）を先頭行から順に取り出し、該取り出した各行内のシンボルと配線の交差を行頭側から順に調べ、新および旧図面のそれぞれについて各行毎にテキスト表現がなされた新図面テキスト２１２１および旧図面テキスト２１２２を作成する。新図面は、新図面テキスト２１２１の末尾行以降に追記され、旧図面は旧図面テキスト２１２２の末尾行以降に追記される。
【０２２２】
テキスト差分検出部２１１０は、新図面テキスト２１２１と旧図面テキスト２１２２との差分を行毎にとることで、図面テキストの差分を検出して、差分データ２１２５を抽出する。テキスト差分検出部２１１０は、以下のルールで行変更の検出を行う。
【０２２３】
（Ａ）旧テキストのｉ行と新テキストのｋ行が異なるとき、旧テキストのｉ行の前後と、新テキストのｋ行の前後がともに一致すれば、旧テキストのｉ行は新テキストのｋ行に変更されたと見なす。
（Ｂ）連続するｎ個の行について、上記（Ａ）の条件が満たされるときは、この旧テキストのｎ個の行が、新テキストのｎ個の行に変更されたと見なす。
【０２２４】
差分対応付け部２１１１は、テキスト差分検出部２１１０によって検出された行単位の差分を図面上の差分と対応付け、これら対応付けた差分データを差分データ記憶部２１３３に記憶する。項目テキスト生成部２１１３は、旧図面と新図面との差分があった新旧図面の各行のテキストを、項目（シンボル、罫線文字で構成される分岐情報など）単位に分解した、新図面項目テキスト２１２３および旧図面項目テキスト２１２４を作成し、さらに新旧図面の各行の項目テキスト間の差分を作成し、この項目差分データを差分データ記憶部２１３３に項目差分として追加記憶する。
【０２２５】
追加分表示部２１１８と削除分表示部２１１９が差分データ記憶部２１３３のデータに従って差分の強調表示を行う。強調表示の手法としては、
（ａ）状態遷移図やクラス図と同様、旧図面及び新図面をディスプレイ２１０１の画面上に並べて表示し、旧図面上には削除された部分と新図面上の追加された部分の表示色を互いに異ならせる手法
（ｂ）新図面上で、変更のあった行の下に旧図面の情報を表示する手法
（ｃ）旧図面上で、変更のあったラダーユニットの下に新図面の情報を表示する手法
の何れかを採用する。
【０２２６】
つぎに、かかる接続図面編集表示装置２１０６によるラダー図の差分抽出表示動作を図８８および図９０を用いてより具体的に説明する。
【０２２７】
行テキスト生成部２１０９は、行内のシンボルと配線の交差を左から順に調べ、シンボルおよび罫線文字などの項目で構成される図面テキストを生成する。図面のシンボルに対しては、"シンボル名（シンボル区分）"で構成されるテキストを生成する。この場合、シンボル区分は、０がコイル、１がａ接点、２がｂ接点とする。接続線は、接続線の図形パターンに対応した罫線文字━,┃,┏,┓,┛,┗,┣,┳,┫,┻,╋で表現する。図９０（ａ）に図８８（ａ）に対応する図面テキストを示し、図９０（ｂ）に図８８（ｂ）に対応する図面テキストを示す。
【０２２８】
テキスト差分検出部２１１０は、これら新旧図面の図面テキスト行単位の差分をｄｉｆｆアルゴリズムを用いて抽出する。この差分抽出によると、
旧図面の行２が新図面の行２に変更され、
旧図面の行３が新図面の行３に変更され、
旧図面の行５が削除され、
新図面の行５，６が追加されたことが判る。
【０２２９】
項目テキスト生成部２１１３は、修正された各行に関して項目テキストを生成する。たとえば、
図９０（ａ）の行２は、            図９０（ｂ）の行２は、
項目１        ┃                          ┃
項目２        ┗                          ┗
項目３        Ｘ07(1) Ｍ02(1) 変更
項目４        ┳                          ┳
項目５        Ｘ08(1) Ｘ08(1)
項目６        ┳                          ┳
項目７        ━━━                      ━━━
項目８        ┫                          ┫
項目９
項目１０
項目１１      ┃                          ┃
項目１２                                  ┗
項目１３                                  Ｍ02(0) 追加
項目１４      ┃                          ┫              変更
となっていることが検出される。
【０２３０】
テキスト差分検出部２１１０は、項目テキスト生成部２１１３で生成された項目テキストを用いて項目単位の差分をｄｉｆｆアルゴリズムを用いて検出する。この結果、行２の例では、Ｘ07(1)がＭ02(1)に変更され、Ｍ02(0)が追加され、罫線文字"┃"が罫線文字"┫"に変更されたことが検出される。
【０２３１】
追加分表示部２１１８および削除分表示部２１１９は、差分データ記憶部２１３３に記憶された行単位の差分データおよび項目単位の差分データに従って上述した何れかの方法を用いて差分部分の強調表示を行う。
【０２３２】
このようにこの実施の形態３によれば、ラダー図の差分抽出を行う際には、新旧ラダー図面データを"シンボル名（シンボル区分）"で構成されるシンボル情報および罫線文字で構成される分岐情報を含むテキストに夫々変換し、該変換した旧図面テキストおよび新図面テキストに対しｄｉｆｆアルゴリズムを用いて行単位および項目単位の差分をとることで、行単位および項目単位の差分データを抽出し、該抽出した差分データを強調表示するようにしたので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【０２３３】
実施の形態４．
つぎに、図９１〜図１０３に従ってこの発明の実施の形態４について説明する。この実施の形態４は、ＣＡＤシステムを用いて作成されたフローチャート図に対して本発明を適用するものである。
【０２３４】
〔フローチャート図〕
フローチャート図は、処理の流れを表すための図であり、その図形要素としては、図９１に示すように、（ａ）「処理の開始」、（ｂ）「処理の終了」、（ｃ）「処理のボックス」、（ｄ）「分岐のボックス」などがある。以下に、フローチャート図の差分抽出する手法として、２つの手法を述べる。
【０２３５】
〈第１の手法〉
この第１の手法では、新旧のフローチャート図から簡易言語を夫々生成し、この新旧図面に対応する簡易言語をテキストライン比較することにより差分を抽出して、意味の違いを抽出できるようにしている。その結果を例えば、追加分と削除分とで色を変えて強調表示することにより、変更箇所の特定を容易に行うことができるようにしている。
【０２３６】
図９２は、接続図面としてのフローチャート図を第１の手法をもって編集表示するための接続図面編集表示装置の一例を示したブロック構成図である。この接続図面編集表示装置は、パーソナルコンピュータ，ワークステーションに実行させるプログラムの機能構成を示すものである。
【０２３７】
図９２に示す装置は、入出力端末装置としてディスプレイ２３０１、マウスなどのポインティングデバイス２３０２、キーボード２３０３及びプリンタなどの出力装置２３０４を有しており、入出力インターフェース部２３０５を介して接続図面編集表示装置２３０６と図形データ、入出力指示などの信号の授受を実行する。
【０２３８】
接続図面編集表示装置２３０６は、図面情報抽出部２３１２および言語生成部２３０９を動作制御する図面／言語変換部２３０８と、テキスト差分検出部２３１０と、差分対応付け部２３１１と、追加分表示部２３１８と、削除分表示部２３１９とを備えている。
【０２３９】
図面情報抽出部２３１２は、図９３に示すようなフローチャート図（旧図面）の旧図面ファイル２３３１および図９４または図９５に示すようなフローチャート図（新図面）の新図面ファイル２３３０を読み出し、これらから所要の図面情報を取り出す。図面／言語変換部２３０８は、言語生成部２３０９を用いて、前記旧図面および新図面の図面情報を（簡易）言語に変換することにより、新図面言語テキスト２３２１および旧図面言語テキスト２３２２を作成する。
【０２４０】
これら図面／言語変換部２３０８および言語生成部２３０９による図面／言語変換の際には、
前提条件として、ネスト構造は不可とし、
(1)処理は羅列、
(2)条件分岐は  IF (条件) [処理 GOTO ラベル]、
ELSEIF(条件)[処理  GOTO ラベル]
のように表現する。条件は条件ボックスの下、右、左の条件をこの順番に上から順に並べる、
(3)処理に２個以上の入力(IN)がある場合、ラベルをつけて、GOTOにてジャンプさせる、
という方式で変換を行う。
【０２４１】
テキスト差分検出部２３１０は、新図面言語テキスト２３２１と旧図面言語テキスト２３２２とを行毎にテキスト比較することで、差分データ２３２５を抽出し、この差分データを差分データ記憶部２３３３に記憶する。
【０２４２】
差分対応付け部２３１１は、言語テキストの行番号と、図面上のボックスの一意名としてのレコードキーとを対応付けた言語−レコードキー対応テーブル２３２６（図９６参照）を作成する。また、差分対応付け部２３１１は、テキスト差分検出部２３１０で差分が抽出されると、前記言語−レコードキー対応テーブル２３２６を用いてレコードキーに基づいて言語テキストの差分行と、対応する図面上のボックスを求める。
【０２４３】
追加分表示部２３１８および削除分表示部２３１９は、差分データ記憶部２３３３に記憶された差分データを用いて、差分対応付け部２３１１で導出された差分の対応付けに従って、新旧図面の差分の強調表示を行う。強調表示の手法としては、
（ａ）処理（または条件）ボックスの色を追加と削除で異ならせて強調表示する
（ｂ）雲枠を用いる（表示がモノクロのとき有効）、削除雲枠は実施の形態１と同様雲枠内にハッチングを追加する
などの何れかを採用する。
【０２４４】
つぎに、第１の手法によるフローチャート図の差分抽出表示動作を図９３〜図１００を用いてより具体的に説明する。図９３（ａ）に接続図面としてのフローチャート図の旧図面に示し、図９４（ａ）にその新図面１（図面中では丸数字で表記）を示し、図９５（ａ）に他の新図面２（図面中では丸数字で表記）を示す。
【０２４５】
例えば、図９３（ａ）に示す旧図面のフローチャート図においては、処理の開始を示す"ＳＴＡＲＴ"ボックスのレコードキーは０であり、条件ボックスとしての"条件Ｃ"は、レコードキー３が割り付けられ、ピン１にＣ＝Ｘ？の属性をもち、ピン２にＣ＝Ｚ？の属性を持ち、ピン３にＣ＝Ｙ？の属性を持っている。
【０２４６】
図面／言語変換部２３０８および言語生成部２３０９では、これら新旧フローチャート図面データを簡易言語に変換することで、新旧の言語テキストデータ２３２１，２３２２を作成する。図９３（ｂ），図９４（ｂ），図９５（ｂ）に、図面／言語変換部２３０８および言語生成部２３０９による図面／言語変換処理によって作成された当該フローチャート図に対応する言語テキストを示す。
【０２４７】
差分対応付け部２３１１は、これら作成された新旧図面の言語テキストの行番号と図面中の各ボックスに割り当てられたレコードキーとの対応テーブル２３２６を作成する。
【０２４８】
図９６（ａ）は図９３に示す旧図面の対応テーブルを示すものであり、図９６（ｂ）は図９４に示す新図面１（図面中では丸数字で表記）の対応テーブルを示すものであり、図９６（ｃ）は図９５に示す新図面２（図面中では丸数字で表記）の対応テーブルを示すものである。これらのテーブルにおいては、レコードキーは便宜上"ＲＫ"と省略して示す。
【０２４９】
例えば、図９６（ａ）に示すテーブルにおいて、「Ｌ００」がレコードキー０，レコードキー１およびレコードキー３のピン３に対応し、「処理Ａ」がレコードキー１に対応し、…、「IF（条件Ｃ＝Ｘ？」がレコードキー３のピン１に対応し、…、「処理Ｄ」がレコードキー４に対応する。
【０２５０】
次に、テキスト差分検出部２３１０で、旧図面の言語テキストファイルと新図面の言語テキストファイル間で行単位のテキスト比較を行う。
【０２５１】
図９７は、図９３（ｂ）に示す旧図面の言語テキストと図９４（ｂ）に示す新図面１（図面中では丸数字で表記）の言語テキストとの差分抽出結果を模式的に示した言語テキストを示すものであり、また図９８は、図９３（ｂ）に示す旧図面の言語テキストと図９５（ｂ）に示す新図面２（図面中では丸数字で表記）の言語テキストとの差分抽出結果を、旧図面または新図面２（図面中では丸数字で表記）の言語テキストに追加した言語テキストを示すものである。
【０２５２】
例えば、図９８においては、旧図面テキストを基準にした場合は、第１行の「Ｌ００」が削除され、第２行の「処理Ａ」と「処理Ｂ」の間に「Ｌ００」が追加され、第４行の「IF（条件Ｃ＝Ｘ？）｛」と第５行の「GOTOＬ０１」の間に「処理Ｄ」が追加され、第１３行の「処理Ｄ」が削除される差分抽出結果が得られることが示されている。
【０２５３】
そして、これら差分抽出結果を強調表示する際には、差分対応付け部２３１１は、前記差分抽出により得られた差分行に対応する図面要素をレコードキーをキーにして図９６に示した言語−レコードキー対応テーブル２３２６から求め、その情報を追加分表示部２３１８および削除分表示部２３１９に知らせる。
【０２５４】
追加分表示部２３１８および削除分表示部２３１９は、追加または削除部分に対応する処理（または条件）ボックスの色を追加と削除で異ならせたり、あるいは雲枠を追加するなどして、差分部分を強調表示する。図９９は、図９３に示す旧図面のフローチャート図と図９４に示す新図面１（図面中では丸数字で表記）のフローチャート図の差分抽出部分が雲枠をもって強調表示された図を示すもので、図１００は図９３に示す旧図面のフローチャート図と図９５に示す新図面２（図面中では丸数字で表記）のフローチャート図の差分抽出部分が雲枠をもって強調表示された図を示すものである。削除部分はハッチングを含む雲枠で囲まれ、追加部分は内部になにもない雲枠で囲まれている。
【０２５５】
このように実施の形態４の第１の手法では、新旧のフローチャート図面データを簡易言語テキストに変換し、この新旧図面に対応する簡易言語テキストをテキストライン比較することにより差分を抽出して、意味の違いを抽出できるようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【０２５６】
〈第２の手法〉
つぎに、図１０１〜図１０３を用いて実施の形態４の第２の手法について説明する。第１の手法では、図面データを言語に変換していたが、第２の手法では、言語ではなく、フローチャートのスタートからエンドまでのパス毎に処理を羅列し、同じと見なされるパス同士でテキストライン比較を行うようにしている。
【０２５７】
パスが同じとは、（１）条件がある場合は、条件が同じであり、かつ（２）スタートとエンドが同じであるとのルールを用いて判断する。テキストライン比較で、抽出された差分は、処理文とレコードキーの対応表にてどの処理ボックスまたは条件ボックスであるかを判定する。
【０２５８】
つぎにその処理方法の概要について述べる。
（１）パス毎にフローチャート中の処理文（処理を示す文字列、条件文など）を羅列する。すなわち、スタートからエンドまでボックス内文字列及び条件を羅列する。なお、スタート、エンドの定義は次の通りである。
スタートの定義：（ｉ）スタート用の特別なボックスを定義する。
（ｉｉ）INのないものをスタートと見なす。
エンドの定義：  （ｉ）エンド用の特別なボックスを定義する。
（ｉｉ）OUTのないものをエンドと見なす。
（２）分岐がある場合は、分岐毎に流れを複数のパスに分割する。ＯＵＴからＩＮに向かうことはない。
（３）ループ処理（同じボックスに戻ったとき）はそこまでの流れとする。
（４）パス毎に新旧図面を比較する。
（５）差分をとる際には、パス毎に同じものがあるか否かを検索し、同じものがあれば、それらのパスは同じパスと見なす。同じものがない場合、テキストライン比較し、最も近いものとの差分をとる。条件文があれば、条件文が同じものを同じパスと判定する。条件文がなければ、スタート、エンドが同じものを同じパスと見なす。差分をとる際は、同じと判定されたパス毎のテキストライン比較を行う。
（６）（５）の結果である差分の表示は、処理（または条件）ボックスの色を追加と削除で異ならせて、強調表示する。強調表示する図面の対象を求めるため、フローチャート上の各ボックスに対応するレコードキーと処理文テキストの行番号との対応テーブルをパス毎に備える。なお、最後が"ＥＮＤ"でない場合で、差分があるときは、ループでの行き先が異なると見なし、線を強調表示する。
【０２５９】
図１０１（ａ）に接続図面としてのフローチャート図の旧図面の一例を示し、図１０１（ｂ）にこの旧図面に対応する処理文字列テキストを示す。図１０２（ａ）に接続図面としてのフローチャート図の新図面の一例を示し、図１０２（ｂ）にこの新図面に対応する処理文字列テキストを示す。
【０２６０】
図１０１（ａ）に示す旧図面は、３つの分岐を有する条件分岐が１個あるので、３つのパスＡ１，Ａ２およびＡ３に分割されている。また、図１０２（ａ）に示す新図面も、３つの分岐を有する条件分岐が１個あるので、３つのパスＢ１，Ｂ２およびＢ３に分割されている。
【０２６１】
旧図面のパスＡ１と新図面のパスＢ１とは、条件が同じでかつスタートとエンドが同じであるので、同じパスと判断される。旧図面のパスＡ３と新図面のパスＢ３とも、同様であり、同じパスと判断される。旧図面のパスＡ２と新図面のパスＢ２とは、最も近いパスであると判定され、差分比較の対象とされる。
【０２６２】
そして、これらのパスＡ１−Ｂ１，Ａ２−Ｂ２，Ａ３−Ｂ３毎にテキストライン比較を行った結果が、図１０１（ｂ）および図１０２（ｂ）の各パスの右側に示されている。
【０２６３】
この場合は、旧図面に関しては、パスＡ１では、処理Ｄが削除され、パスＡ２では、処理Ａが削除され、パスＡ３では、処理Ｄが削除されている。また、新図面に関しては、パスＢ１では、処理Ｄが追加され、パスＢ２では、処理Ｄおよび処理Ｂが追加され、パスＢ３では、処理Ｄが追加されている。
【０２６４】
図１０３は、新旧図面の各パスＡ１〜Ａ３，Ｂ１〜Ｂ３毎に設定される処理文と図面のレコードキーとの対応テーブルを示すものである。例えば、旧図面のパスＡ１に関しては、第２行の"処理Ａ"がレコードキー１に対応し、第３行の"処理Ｂ"がレコードキー２に対応し、第４行の"条件Ｃ"がレコードキー３に対応し、第５行の"Ｃ＝Ｘ？"がレコードキー３のピン１に対応し、第６行の"処理Ｄ"がレコードキー４に対応している。
【０２６５】
このようにこの実施の形態４の第２の手法では、新旧のフローチャート図面データをフローチャートのスタートからエンドまでに含まれる複数のパス毎に処理を羅列した複数の処理文テキストに変換し、同じとみなされるパス同士で、テキストライン比較することにより新旧フローチャートの差分を抽出して、意味の違いを抽出できるようにしているので、見栄え調整を目的としたシンボル位置の移動部分などは強調表示されずに、真に意味のある改定箇所のみが強調表示されることになり、操作者が実質的な改定箇所のみを容易に確認できるようになる。
【図面の簡単な説明】
【０２６６】
【図１】この発明の実施の形態１で用いる電気回路図面に関する用語を説明するための図である。
【図２】この発明の実施の形態１で用いる電気回路図面に関しての接続線の接続ルールを説明するための図である。
【図３】この発明にかかる図面の編集表示装置の実施の形態１の構成を示すブロック図である。
【図４】図３の意味空間マッピング部の動作手順を示すフローチャートである。
【図５】実施の形態１で用いる電気回路図面に関しての旧図面データを例示する図である。
【図６】実施の形態１で用いる電気回路図面に関しての新図面データを例示する図である。
【図７】旧図面に関するパーツ情報を示す記憶テーブル図である。
【図８】旧図面に関する接続線情報を示す記憶テーブル図である。
【図９】旧図面に関する属性情報を示す記憶テーブル図である。
【図１０】旧図面に関する接続点情報を示す記憶テーブル図である。
【図１１】旧図面に関する接続グループ情報を示す記憶テーブル図である。
【図１２】新図面に関するパーツ情報を示す記憶テーブル図である。
【図１３】新図面に関する接続線情報を示す記憶テーブル図である。
【図１４】新図面に関する属性情報を示す記憶テーブル図である。
【図１５】新図面に関する接続点情報を示す記憶テーブル図である。
【図１６】新図面に関する接続グループ情報を示す記憶テーブル図である。
【図１７】図３の接続グループ生成部の動作手順を示すフローチャートである。
【図１８】旧図面に関する垂直接続線のグループ分け結果を示すテーブル図である。
【図１９】旧図面に関する垂直接続線のグループ分けに水平接続線のグループ分けを追加したテーブル図である。
【図２０】旧図面に関する垂直接続線のグループ分けに水平接続線のグループ分けおよびパーツ接続点のグループ分けを追加したテーブル図である。
【図２１】図３の接続図面差分抽出部の動作手順を示すフローチャートである。
【図２２】図３のセマンティック差分抽出部の動作手順を示すフローチャートである。
【図２３】差分抽出結果が追加された旧図面に関するパーツ情報を示す記憶テーブル図である。
【図２４】差分抽出結果が追加された新図面に関するパーツ情報を示す記憶テーブル図である。
【図２５】差分抽出結果が追加された旧図面に関する属性情報を示す記憶テーブル図である。
【図２６】差分抽出結果が追加された新図面に関する属性情報を示す記憶テーブル図である。
【図２７】差分抽出結果が追加された旧図面に関する接続点情報を示す記憶テーブル図である。
【図２８】差分抽出結果が追加された新図面に関する接続点情報を示す記憶テーブル図である。
【図２９】図３の強調表示接続線抽出部の動作手順を示すフローチャートである。
【図３０】差分抽出結果が追加された旧図面に関する接続線情報を示す記憶テーブル図である。
【図３１】差分抽出結果が追加された新図面に関する接続線情報を示す記憶テーブル図である。
【図３２】図３の接続図面追加差分データ生成部の動作手順を示すフローチャートである。
【図３３】新図面に追加パーツ部分、追加図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図３４】追加部分の多角形データが拡張された状態の差分抽出図面を示す図である。
【図３５】追加部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図３６】図３のパーツ強調表示領域計算部の動作手順を示すフローチャートである。
【図３７】図３のパーツ強調表示領域計算部の動作を説明するための図である。
【図３８】図３のパーツ強調表示領域計算部の動作を説明するための図である。
【図３９】図３の近接強調表示領域合成部の動作手順を示すフローチャートである。
【図４０】図３の近接強調表示領域合成部の動作を説明するための図である。
【図４１】図３の接続図面削除差分データ生成部の動作手順を示すフローチャートである。
【図４２】新図面に削除パーツ部分、削除図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図４３】削除部分の多角形データが拡張された状態の差分抽出図面を示す図である。
【図４４】削除部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図４５】図３の接続図面変更差分データ生成部の動作手順を示すフローチャートである。
【図４６】新図面に変更パーツ部分、変更図面属性部分を囲む多角形が追加された状態の差分抽出図面を示す図である。
【図４７】変更部分に雲枠データが追加された状態の差分抽出図面を示す図である。
【図４８】図３の副番情報生成部の動作を説明するための図である。
【図４９】全ての差分抽出情報が反映された差分抽出図面の実際の表示状態を示す図である。
【図５０】図３の雲枠拡大・縮小部の動作手順を示すフローチャートである。
【図５１】図３の雲枠拡大・縮小部の動作を説明するための図である。
【図５２】図３の雲枠変更部の動作手順を示すフローチャートである。
【図５３】図３の雲枠変更部の動作を説明するための図である。
【図５４】図３の見え消し線変更部の動作手順を示すフローチャートである。
【図５５】図３の見え消し線変更部の動作を説明するための図である。
【図５６】この発明の実施の形態２で用いる状態遷移図についての旧図面および新図面を例示する図である。
【図５７】ツリー構造による差分抽出を説明するための旧ツリー構造を例示する図である。
【図５８】ツリー構造による差分抽出を説明するための新ツリー構造を例示する図である。
【図５９】ツリー構造による差分抽出を説明するための新ツリー構造を例示する図である。
【図６０】図５７のツリー構造の絶対パス名表記を示す図である。
【図６１】図５８のツリー構造の絶対パス名表記を示す図である。
【図６２】図５９のツリー構造の絶対パス名表記を示す図である。
【図６３】図５７および図５８に示すツリー構造の絶対パス名表記による差分テキストを示す図である。
【図６４】図５７および図５９に示すツリー構造の絶対パス名表記による差分テキストを示す図である。
【図６５】図５７のツリー構造の単項相対パス名表記を示す図である。
【図６６】図５８のツリー構造の単項相対パス名表記を示す図である。
【図６７】図５９のツリー構造の単項相対パス名表記を示す図である。
【図６８】図５７および図５８に示すツリー構造の単項相対パス名表記による差分テキストを示す図である。
【図６９】図５７および図５９に示すツリー構造の単項相対パス名表記による差分テキストを示す図である。
【図７０】図５７のツリー構造の２項相対パス名表記を示す図である。
【図７１】図５８のツリー構造の２項相対パス名表記を示す図である。
【図７２】図５９のツリー構造の２項相対パス名表記を示す図である。
【図７３】図５７および図５８に示すツリー構造の２項相対パス名表記による差分テキストを示す図である。
【図７４】図５７および図５９に示すツリー構造の２項相対パス名表記による差分テキストを示す図である。
【図７５】この発明にかかる接続図面の編集表示装置の実施の形態２の構成を示すブロック図である。
【図７６】図７５の接続図面編集示装置の動作手順を示すフローチャートである。
【図７７】図５６に示す状態変異図の旧新図面の状態のツリー構造を示す図である。
【図７８】図５６に示す状態変異図の旧新図面の絶対パス名表記による状態の差分テキストを示す図である。
【図７９】図５６に示す状態変異図の旧新図面の単項相対パス名表記による状態の差分テキストを示す図である。
【図８０】図５６に示す状態変異図の旧新図面の２項相対パス名表記による状態の差分テキストを示す図である。
【図８１】図５６に示す状態変異図の旧新図面の遷移の差分テキストを示す図である。
【図８２】この発明の実施の形態２で用いるオブジェクト図（クラス図）についての旧図面および新図面を例示する図である。
【図８３】図８２に示すクラス図の旧新図面の遷移のツリー構造を示す図である。
【図８４】図８２に示すクラス図の旧新図面の絶対パス名表記による遷移の差分テキストを示す図である。
【図８５】図８２に示すクラス図の旧新図面の単項相対パス名表記による遷移の差分テキストを示す図である。
【図８６】図８２に示すクラス図の旧新図面の２項相対パス名表記による遷移の差分テキストを示す図である。
【図８７】この発明の実施の形態２で用いるオブジェクト図（クラス図）についての他の旧図面および新図面を例示する図である。
【図８８】この発明の実施の形態３で用いるラダー図についての旧図面および新図面を例示する図である。
【図８９】この発明にかかる接続図面の編集表示装置の実施の形態３の構成を示すブロック図である。
【図９０】ラダー図についての旧図面テキストデータおよび新図面テキストデータを示す図である
【図９１】この発明の実施の形態４で用いるフローチャートで用いるボックス記述を例示する図である。
【図９２】この発明にかかる接続図面の編集表示装置の実施の形態４の構成を示すブロック図である。
【図９３】この発明の実施の形態４で用いるフローチャート（旧図面）およびその言語テキストを例示する図である。
【図９４】この発明の実施の形態４で用いるフローチャート（新図面１（図面中では丸数字で表記））およびその言語テキストを例示する図である。
【図９５】この発明の実施の形態４で用いるフローチャート（新図面２（図面中では丸数字で表記））およびその言語テキストを例示する図である。
【図９６】旧図面、新図面１（図面中では丸数字で表記）、新図面２（図面中では丸数字で表記）についての言語−レコードキー対応テーブルを示す図である。
【図９７】旧図面と新図面１（図面中では丸数字で表記）のテキスト差分結果を示す図である。
【図９８】旧図面と新図面２（図面中では丸数字で表記）のテキスト差分結果を示す図である。
【図９９】旧図面と新図面１（図面中では丸数字で表記）のテキスト差分結果が反映されたフローチャートを示す図である。
【図１００】旧図面と新図面２（図面中では丸数字で表記）のテキスト差分結果が反映されたフローチャートを示す図である。
【図１０１】この発明の実施の形態４で用いるフローチャート（旧図面）およびそのパス毎の処理文列を例示する図である。
【図１０２】この発明の実施の形態４で用いるフローチャート（新図面）およびそのパス毎の処理文列を例示する図である。
【図１０３】テキストデータ処理文と図面のレコードキーとの対応テーブルを示す図である。
【符号の説明】
【０２６７】
１  ディスプレイ
２  ポインティングデバイス
３  キーボード
４  出力装置
５  入出力インターフェース部
６  接続図面編集表示装置
７  意味空間マッピング部
８  接続図面差分抽出部
９  接続図面差分データ生成部
１０  副番情報生成部
１１  差分情報反映部
１２  強調表示データカスタマイズ部
１３  接続グループ生成部
１４  パーツ差分抽出部
１５  属性差分抽出部
１６  セマンティック差分抽出部
１７  接続図面追加差分データ生成部
１８  接続図面削除差分データ生成部
１９  接続図面変更差分データ生成部
２０  雲枠拡大・縮小部
２１  雲枠変形部
２２  見え消し線変更部
２３  強調表示接続線抽出部
２４  パーツ強調表示領域計算部
２５  近接強調表示領域合成部
２６  雲枠生成部
２７  ハッチング生成部
２８  変更文字表記変更部
２９  展開情報記憶部
３０  新図面ファイル
３１  旧図面ファイル
３２  差分データ記憶部
３３  強調表示データファイル
１１０１  ディスプレイ
１１０２  ポインティングデバイス
１１０３  キーボード
１１０４  出力装置
１１０５  入出力インターフェース部
１１０６  接続図面編集表示装置
１１０６  接続図面編集表示装置
１１０７  ツリー差分検出部
１１０８  ツリー構造作成部
１１０９  パス名生成部
１１１０  パス名差分検出部
１１１１  ツリー差分対応付け部
１１１２  図面情報抽出部
１１１３  絶対パス名生成部
１１１４  単項相対パス名生成部
１１１５  ２項相対パス名生成部
１１１６  リンク差分検出部
１１１７  シンボル差分検出部
１１１８  追加分表示部
１１１９  削除分表示部
１１２１  新図面ツリー構造ファイル
１１２２  旧図面ツリー構造ファイル
１１２３  新図面パス名データ
１１２４  旧図面パス名データ
１１２５  パス名差分データ
１１３０  新図面ファイル
１１３１  旧図面ファイル
１１３３  差分データ記憶部
２１０１  ディスプレイ
２１０２  ポインティングデバイス
２１０３  キーボード
２１０４  出力装置
２１０５  入出力インターフェース部
２１０６  接続図面編集表示装置
２１０９  行テキスト生成部
２１１０  テキスト差分検出部
２１１１  差分対応付け部
２１１３  項目テキスト生成部
２１１８  追加分表示部
２１１９  削除分表示部
２１２１  新図面テキスト
２１２２  旧図面テキスト
２１２３  新図面項目テキスト
２１２４  旧図面項目テキスト
２１２５  差分データ
２１３０  新図面ファイル
２１３１  旧図面ファイル
２１３３  差分データ記憶部
２３０１  ディスプレイ
２３０２  ポインティングデバイス
２３０３  キーボード
２３０４  出力装置
２３０５  入出力インターフェース部
２３０６  接続図面編集表示装置
２３０８  図面／言語変換部
２３０９  言語生成部
２３１０  テキスト差分検出部
２３１１  差分対応付け部
２３１８  追加分表示部
２３１９  削除分表示部
２３２１  新図面言語テキスト
２３２２  旧図面言語テキスト
２３２５  差分データ
２３２６  処理文−レコードキー対応テーブル
２３３０  新図面ファイル
２３３１  旧図面ファイル
２３３３  差分データ記憶部
【図１】
2005158084.tif 000003
【図２】
2005158084.tif 000004
【図３】
2005158084.tif 000005
【図４】
2005158084.tif 000006
【図５】
2005158084.tif 000007
【図６】
2005158084.tif 000008
【図７】
2005158084.tif 000009
【図８】
2005158084.tif 000010
【図９】
2005158084.tif 000011
【図１０】
2005158084.tif 000012
【図１１】
2005158084.tif 000013
【図１２】
2005158084.tif 000014
【図１３】
2005158084.tif 000015
【図１４】
2005158084.tif 000016
【図１５】
2005158084.tif 000017
【図１６】
2005158084.tif 000018
【図１７】
2005158084.tif 000019
【図１８】
2005158084.tif 000020
【図１９】
2005158084.tif 000021
【図２０】
2005158084.tif 000022
【図２１】
2005158084.tif 000023
【図２２】
2005158084.tif 000024
【図２３】
2005158084.tif 000025
【図２４】
2005158084.tif 000026
【図２５】
2005158084.tif 000027
【図２６】
2005158084.tif 000028
【図２７】
2005158084.tif 000029
【図２８】
2005158084.tif 000030
【図２９】
2005158084.tif 000031
【図３０】
2005158084.tif 000032
【図３１】
2005158084.tif 000033
【図３２】
2005158084.tif 000034
【図３３】
2005158084.tif 000035
【図３４】
2005158084.tif 000036
【図３５】
2005158084.tif 000037
【図３６】
2005158084.tif 000038
【図３７】
2005158084.tif 000039
【図３８】
2005158084.tif 000040
【図３９】
2005158084.tif 000041
【図４０】
2005158084.tif 000042
【図４１】
2005158084.tif 000043
【図４２】
2005158084.tif 000044
【図４３】
2005158084.tif 000045
【図４４】
2005158084.tif 000046
【図４５】
2005158084.tif 000047
【図４６】
2005158084.tif 000048
【図４７】
2005158084.tif 000049
【図４８】
2005158084.tif 000050
【図４９】
2005158084.tif 000051
【図５０】
2005158084.tif 000052
【図５１】
2005158084.tif 000053
【図５２】
2005158084.tif 000054
【図５３】
2005158084.tif 000055
【図５４】
2005158084.tif 000056
【図５５】
2005158084.tif 000057
【図５６】
2005158084.tif 000058
【図５７】
2005158084.tif 000059
【図５８】
2005158084.tif 000060
【図５９】
2005158084.tif 000061
【図６０】
2005158084.tif 000062
【図６１】
2005158084.tif 000063
【図６２】
2005158084.tif 000064
【図６３】
2005158084.tif 000065
【図６４】
2005158084.tif 000066
【図６５】
2005158084.tif 000067
【図６６】
2005158084.tif 000068
【図６７】
2005158084.tif 000069
【図６８】
2005158084.tif 000070
【図６９】
2005158084.tif 000071
【図７０】
2005158084.tif 000072
【図７１】
2005158084.tif 000073
【図７２】
2005158084.tif 000074
【図７３】
2005158084.tif 000075
【図７４】
2005158084.tif 000076
【図７５】
2005158084.tif 000077
【図７６】
2005158084.tif 000078
【図７７】
2005158084.tif 000079
【図７８】
2005158084.tif 000080
【図７９】
2005158084.tif 000081
【図８０】
2005158084.tif 000082
【図８１】
2005158084.tif 000083
【図８２】
2005158084.tif 000084
【図８３】
2005158084.tif 000085
【図８４】
2005158084.tif 000086
【図８５】
2005158084.tif 000087
【図８６】
2005158084.tif 000088
【図８７】
2005158084.tif 000089
【図８８】
2005158084.tif 000090
【図８９】
2005158084.tif 000091
【図９０】
2005158084.tif 000092
【図９１】
2005158084.tif 000093
【図９２】
2005158084.tif 000094
【図９３】
2005158084.tif 000095
【図９４】
2005158084.tif 000096
【図９５】
2005158084.tif 000097
【図９６】
2005158084.tif 000098
【図９７】
2005158084.tif 000099
【図９８】
2005158084.tif 000100
【図９９】
2005158084.tif 000101
【図１００】
2005158084.tif 000102
【図１０１】
2005158084.tif 000103
【図１０２】
2005158084.tif 000104
【図１０３】
2005158084.tif 000105