(57)【特許請求の範囲】
【請求項１】
ロジックの等価性を定義するルールを受け付けるルール受付部と、
前記ロジックを使用して作成された第１のロジック図面及び第２のロジック図面を受け付けるロジック図面受付部と、
前記第１のロジック図面から要素及び信号線を抽出することにより前記第１のロジック図面を第１の有向グラフに変換し、前記第２のロジック図面から要素及び信号線を抽出することにより前記第２のロジック図面を第２の有向グラフに変換する有向グラフ作成部と、
前記受け付けたルールに基づき、前記変換した第１の有向グラフを補正し、又は、前記変換した第２の有向グラフを補正する等価補正部と、
前記第１の有向グラフと前記補正後の第２の有向グラフとを比較することによって、又は、前記第２の有向グラフと前記補正後の第１の有向グラフとを比較することによって、前記第１のロジック図面と前記第２のロジック図面との差分を抽出する差分抽出部と、
前記抽出した差分を画面に表示する差分表示処理部と、
を備えることを特徴とする差分解析装置。
【請求項２】
前記ルール受付部は、
前記有向グラフの部分のうち相互に等価であると看做される部分有向グラフをユーザが画面上で描画するのを受け付けること、
を特徴とする請求項１に記載の差分解析装置。
【請求項３】
前記等価補正部は、
前記変換した第１の有向グラフ又は前記変換した第２の有向グラフの一部を、前記受け付けた部分有向グラフに置換することによって、前記変換した第１の有向グラフ又は前記変換した第２の有向グラフを補正すること、
を特徴とする請求項２に記載の差分解析装置。
【請求項４】
前記差分表示処理部は、
前記抽出した差分を、前記第１のロジック図面及び前記第２のロジック図面を表示する画面上に併せて表示すること、
を特徴とする請求項３に記載の差分解析装置。
【請求項５】
前記差分抽出部は、
前記有向グラフに含まれるノード及びリンクの接続関係に基づき前記ノード同士の類似の程度を数値化した評価係数を算出することにより前記有向グラフ同士を比較すること、
を特徴とする請求項４に記載の差分解析装置。
【請求項６】
前記差分抽出部は、
前記ノードを識別する情報が一致する場合は、前記ノードに関連付けられる他の情報の如何にかかわらず、前記ノードが同一であると看做すこと、
を特徴とする請求項５に記載の差分解析装置。
【請求項７】
前記ロジック図面受付部は、
前記ユーザが、前記第１のロジック図面及び前記第２のロジック図面のそれぞれに対し、比較対象となる領域を指定するのを受け付け、
前記差分抽出部は、
前記受け付けた領域において、前記差分を抽出すること、
を特徴とする請求項６に記載の差分解析装置。
【請求項８】
差分解析装置のルール受付部は、
ロジックの等価性を定義するルールを受け付け、
前記差分解析装置のロジック図面受付部は、
前記ロジックを使用して作成された第１のロジック図面及び第２のロジック図面を受け付け、
前記差分解析装置の有向グラフ作成部は、
前記第１のロジック図面から要素及び信号線を抽出することにより前記第１のロジック図面を第１の有向グラフに変換し、前記第２のロジック図面から要素及び信号線を抽出することにより前記第２のロジック図面を第２の有向グラフに変換し、
前記差分解析装置の等価補正部は、
前記受け付けたルールに基づき、前記変換した第１の有向グラフを補正し、又は、前記変換した第２の有向グラフを補正し、
前記差分解析装置の差分抽出部は、
前記第１の有向グラフと前記補正後の第２の有向グラフとを比較することによって、又は、前記第２の有向グラフと前記補正後の第１の有向グラフとを比較することによって、前記第１のロジック図面と前記第２のロジック図面との差分を抽出し、
前記差分解析装置の差分表示処理部は、
前記抽出した差分を画面に表示すること、
を特徴とする前記差分解析装置の差分解析方法。
【請求項９】
差分解析装置のルール受付部に対し、
ロジックの等価性を定義するルールを受け付ける処理を実行させ、
前記差分解析装置のロジック図面受付部に対し、
前記ロジックを使用して作成された第１のロジック図面及び第２のロジック図面を受け付ける処理を実行させ、
前記差分解析装置の有向グラフ作成部に対し、
前記第１のロジック図面から要素及び信号線を抽出することにより前記第１のロジック図面を第１の有向グラフに変換し、前記第２のロジック図面から要素及び信号線を抽出することにより前記第２のロジック図面を第２の有向グラフに変換する処理を実行させ、
前記差分解析装置の等価補正部に対し、
前記受け付けたルールに基づき、前記変換した第１の有向グラフを補正し、又は、前記変換した第２の有向グラフを補正する処理を実行させ、
前記差分解析装置の差分抽出部に対し、
前記第１の有向グラフと前記補正後の第２の有向グラフとを比較することによって、又は、前記第２の有向グラフと前記補正後の第１の有向グラフとを比較することによって、前記第１のロジック図面と前記第２のロジック図面との差分を抽出する処理を実行させ、
前記差分解析装置の差分表示処理部に対し、
前記抽出した差分を画面に表示する処理を実行させること、
を特徴とする、前記差分解析装置を機能させるための差分解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分解析装置、差分解析方法及び差分解析プログラムに関する。
【背景技術】
【０００２】
機器に関する図面は、設計時、納品時等に頻繁に修正される。修正後の図面は、修正前の図面を部分的に修正することによって作成されることが多く、一見して修正前の図面と見分けがつかない。そこで、機器の設計ミス、不具合等を防ぐ観点から、よく似た図面同士の差分を知ることは極めて重要である。
【０００３】
特許文献１のロジック図面処理装置は、監視制御システムが機器に対して行なう監視制御の内容を示す、複数のロジック図面同士を比較する。具体的には、特許文献１のロジック図面処理装置は、比較対象である２つのロジック図面間において、異なる制御ロジックを抽出し、抽出した制御ロジックの演算要素の位置（ロジック図面上の座標値）を検出する。そして、演算要素の外形が重なるように演算要素を再配置し、２つのロジック図面を重ね合わせ、演算要素の共通部分又は差分を所定の方式で表示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５９１２７１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実際の設計現場においては、図面間の差分の定義が問題となる。例えば、プラントを制御するためのロジック図面を作成する場合、設計の段階ごとに、実質的に区別するべき差分の内容が様々に変化する。ロジック全体の演算機能が等価であっても、そのロジックを実現する演算要素の構成が異なれば差分が生じていると判断される場合がある一方で、そのように判断されない場合もある。また、ある演算要素に対して属性値が設定されている場合、上流の設計段階においては、属性値の相違は無視される一方で、下流の現場調整段階においては、設定値の相違は無視され得ない。さらに、演算要素の構成が同じであっても、演算要素のロジック図面上の位置が異なれば、差分が生じていると判断される場合がある。
【０００６】
特許文献１のロジック図面処理装置は、制御ロジックが異なる２つの演算要素、例えば “ＯＲ（論理和）”と“ＮＯＴ（否定）”との差分を表示する。しかしながら、特許文献１のロジック図面処理装置は、実質的に区別するべき差分の内容を、設計の段階に応じて様々に変化させることを前提としていないことに起因し、表示される差分が画一的になっている。例えば、設計のある段階においては区別するべき差分が表示されないこともあり、他の段階においては区別する必要のない差分が表示されることもある。
そこで、本発明は、複数の図面間の差分の抽出を行うに際し、必要に応じて差分の内容を変化させて設定することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の差分解析装置は、ロジックの等価性を定義するルールを受け付けるルール受付部と、ロジックを使用して作成された第１のロジック図面及び第２のロジック図面を受け付けるロジック図面受付部と、第１のロジック図面から要素及び信号線を抽出することにより第１のロジック図面を第１の有向グラフに変換し、第２のロジック図面から要素及び信号線を抽出することにより第２のロジック図面を第２の有向グラフに変換する有向グラフ作成部と、受け付けたルールに基づき、変換した第１の有向グラフを補正し、又は、変換した第２の有向グラフを補正する等価補正部と、第１の有向グラフと補正後の第２の有向グラフとを比較することによって、又は、第２の有向グラフと補正後の第１の有向グラフとを比較することによって、第１のロジック図面と第２のロジック図面との差分を抽出する差分抽出部と、抽出した差分を画面に表示する差分表示処理部と、を備えることを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【０００８】
本発明によれば、複数の図面間の差分の抽出を行うに際し、必要に応じて差分の内容を変化させて設定することができる。
【図面の簡単な説明】
【０００９】
【図１】ロジック図面を説明する図である。
【図２】（ａ）及び（ｂ）は、有向グラフを説明する図である。
【図３】（ａ）及び（ｂ）は、部分有向グラフによる等価補正を説明する図である。
【図４】差分抽出対象となる有向グラフの例である。
【図５】ノード対応情報の例である。
【図６】差分解析装置の構成を説明する図である。
【図７】（ａ）及び（ｂ）は、差分抽出対象となるロジック図面の例である。
【図８】（ａ）及び（ｂ）は、要素情報の例である。
【図９】（ａ）及び（ｂ）は、信号線情報の例である。
【図１０】（ａ）及び（ｂ）は、ノード情報の例である。
【図１１】（ａ）及び（ｂ）は、リンク情報の例である。
【図１２】処理手順のフローチャートである。
【図１３】等価ルール入力画面の例である。
【図１４】等価ルール入力画面の他の例である。
【図１５】類似度評価ルール入力画面の例である。
【図１６】（ａ）は、等価補正の際のノード情報の例であり、（ｂ）は、等価補正の際のリンク情報の例である。
【図１７】ノード補正情報の例である。
【図１８】差分表示画面の例である。
【図１９】差分表示画面の他の例である。
【図２０】変形例１を説明する図である。
【発明を実施するための形態】
【００１０】
以降、本発明を実施するための形態（“本実施形態”と言う）を、図等を参照しながら詳細に説明する。本実施形態において、差分解析装置は、プラント制御に使用される複数のロジック図面を比較する。
【００１１】
（ロジック図面）
図１に沿って、ロジック図面を説明する。一般的に“ロジック図面”とは、信号に対する論理（ロジック）処理を模式的に表現した図面である。本実施形態のロジック図面ＬＧ（図１）は、プラントの操作器から入力される信号に基づき、プラントの表示回路及び機器制御回路へ出力される信号を生成するためのものである。ロジック図面ＬＧは、複数の要素５１ｃ等及び複数の信号線Ｌ０３等（詳細は直ちに後記）を有する。信号線を介して信号が伝搬される。本実施形態における信号は、“０”又は“１”のいずれかである。
【００１２】
“要素”とは、入出力等の操作・動作、信号に対する演算及び機器構成等を意味する図形の総称であり、図１の符号５１ａ〜５１ｐに相当する。そのうち、符号５１ｆ〜５１ｊのように、要素が信号に対する演算を意味する場合、その要素は、特に“演算要素”と呼ばれる。要素及び演算要素は、その演算等の内容に応じて、様々な形状（長方形、円形、三角形等）を有し得るが、簡単化のため、ここでの形状は長方形に統一されている。要素の“種別”とは、要素に付される文字列（“ＯＲ”等）であり、当該文字列は、入出力等の操作・動作、信号に対する演算及び機器構成等の内容を示している。以下において要素の種別の具体例を説明する。
【００１３】
（要素の種別）
要素のうち“ＩＮ”５１ｃ等は、操作器等からの入力点である。要素のうち“ＯＵＴ”５１ｋ等は、表示回路５１ｎ及び機器制御回路への出力点である。なお、“ＩＮ”及び“ＯＵＴ”の近傍に記された“５１Ａ０１”等は、信号の名称である。要素のうち“開”５１ａは、操作器を“開”とする操作である。要素のうち“ロック”５１ｂは、操作器を“ロック”する操作である。要素のうち“ＯＰＥＮ”５１ｏは、機器制御回路が“ＯＰＥＮ”となる動作である。要素のうち“ＬＯＣＫ”５１ｐは、機器制御回路が“ＬＯＣＫ”となる動作である。
【００１４】
演算要素のうち“ＡＮＤ”（図１には該当なし）は、入力される複数の信号のすべてが“１”である場合に信号“１”を出力し、それ以外の場合に“０”を出力する演算（論理積）である。演算要素のうち“ＯＲ”５１ｊは、入力される複数の信号のうち少なくとも１つが“１”である場合に信号“１”を出力し、それ以外の場合に“０”を出力する演算（論理和）である。演算要素のうち“ＮＯＴ”５１ｆ等は、入力される信号が“１”である場合に信号“０”を出力し、入力される信号が“０”である場合に信号“１”を出力する演算（否定）である。演算要素のうち“Ｔ”５１ｉは、入力された信号を一旦保持し、信号が入力された時点から所定の時間（待機時間）が経過した時点において、その信号をそのまま出力する演算（タイマ）である。
【００１５】
“信号線”とは、ある要素から他の要素に信号が伝搬される際の経路を示す図形である。信号線Ｌ０３等は、伝搬する信号の内容に応じて、様々な形状（実線、破線、点線等）を有し得るが、簡単化のため、ここでの形状は実線矢印に統一されている。
【００１６】
要素の“ポート”とは、ある要素が他の複数の要素から信号を受ける場合、他の要素ごとに定められた当該要素の受け口である。例えば図１において、異なる３つの演算要素“ＮＯＴ”５１ｆ、“ＮＯＴ”５１ｇ及び “ＮＯＴ”５１ｈのそれぞれから、１つの演算要素“ＯＲ”５１ｊが信号を受ける。この場合、演算要素“ＯＲ”５１ｊは、“ポート１”、“ポート２”及び“ポート３”を有する。そして、ポート１は、“ＮＯＴ”５１ｆからの信号を受け取り、ポート２は、“ＮＯＴ”５１ｇからの信号を受け取り、ポート３は、“ＮＯＴ”５１ｈからの信号を受け取る。
【００１７】
このような入力側のポートと同様に、ある要素が他の複数の要素に対して信号を出力する場合、他の要素ごとに定められた当該要素の出口を、“ポート”（出力側のポート）と呼んでもよい。
【００１８】
（有向グラフ）
図２（ａ）に沿って、有向グラフを説明する。“有向グラフ”とは、ロジック図面における各要素、各要素の種別及び各信号線等の特徴を抽出した図面である。ロジック図面ＬＧ（図１）は、あくまでもユーザによって描画され視認されることを一義的な目的としている結果、差分解析装置が高速度で処理するにはやや冗長なデータ（画像データ等）を有している。有向グラフは、差分解析装置によって高速処理されるのに相応しい最低限のデータ量を有し、“ノード”と“リンク”（詳細は直ちに後記）という簡単な構成で表示され得る。
【００１９】
図２（ａ）の有向グラフＢＧは、図１のロジック図面ＬＧの特徴を抽出した例である。“ノード”とは、ロジック図面における要素に相当する図形である。要素は様々な形状を有し得るが、どのような形状の要素であっても、通常は、１種類の形状（例えば円形）のノード５１ｃ等に変換される。“リンク”とは、ロジック図面における信号線に相当する図形である。信号線は様々な形状を有し得るが、どのような形状の信号線であっても、通常は、１種類の形状（例えば実線矢印）のリンクＬ０３等に変換される。
【００２０】
ノードには、ロジック図面における要素の種別が記載される。このように記載された種別（“ＩＮ”等）もまた、ノードの“種別”と呼ばれる。ノードには、ロジック図面における要素の属性も関連付けられ得る。このように関連付けられた属性を、ノードの“ラベル”と呼ぶ。リンクには、ロジック図面における信号線の入力側のポート又は出力側のポートが関連付けられ得る。このように関連付けられた属性を、リンクの“ラベル”と呼ぶ。図２（ｂ）については、後記する。
【００２１】
（有向グラフにおける等価変換）
図３（ａ）及び図３（ｂ）に沿って、部分有向グラフによる等価変換を説明する。有向グラフの一部を“部分有向グラフ”と呼ぶ。部分有向グラフは、有向グラフを構成する多くのノード及びリンクの一部を含む。図３（ａ）の部分有向グラフＢＧａ及び図３（ｂ）の部分有向グラフＢＧｂは部分有向グラフの一例である。部分有向グラフＢＧａを見ると以下のことがわかる。
【００２２】
・ノード“ＮＯＴ”６１ａ、ノード“ＮＯＴ”６１ｂ、 ノード“ＮＯＴ”６１ｃ及びノード“ＯＲ”６１ｄが存在する。
・ノード“ＮＯＴ”６１ａを終点とするリンク６２ａが存在する。リンク６２ａが他のどのノードを起点としているかは不明である。
・同様に、ノード“ＮＯＴ”６１ｂを終点とするリンク６２ｂ及びノード“ＮＯＴ”６１ｃを終点とするリンク６２ｃが存在する。リンク６２ｂ及びリンク６２ｃが他のどのノードを起点としているかは不明である。
・ノード“ＮＯＴ”６１ａを起点としノード“ＯＲ”６１ｄを終点とするリンク６２ｄが存在する。
・同様に、ノード“ＮＯＴ”６１ｂを起点としノード“ＯＲ”６１ｄを終点とするリンク６２ｅ、及び、ノード“ＮＯＴ”６１ｃを起点としノード“ＯＲ”６１ｄを終点とするリンク６２ｆが存在する。
【００２３】
部分有向グラフＢＧｂを見ると以下のことがわかる。
・ノード“ＡＮＤ”６３ａ及びノード“ＮＯＴ”６３ｂが存在する。
・ノード“ＡＮＤ”６３ａを終点とする３本のリンク６４ａ、リンク６４ｂ及びリンク６４ｃが存在する。リンク６４ａ、リンク６４ｂ及びリンク６４ｃが他のどのノードを起点としているかは不明である。
・ノード“ＡＮＤ”６３ａを起点としノード“ＮＯＴ”６３ｂを終点とするリンク６４ｄが存在する。
【００２４】
実は、図３（ａ）の部分有向グラフＢＧａと図３（ｂ）の部分有向グラフＢＧｂとは、論理的には完全に等価である。部分有向グラフＢＧａにおいて、ノード“ＮＯＴ”６１ａへの信号、ノード“ＮＯＴ”６１ｂへの信号、及び、ノード“ＮＯＴ”６１ｃへの信号が、それぞれ、“１”、“０”及び“１”であるとする。すると、ノード“ＮＯＴ”６１ａからノード“ＯＲ”６１ｄへの信号、ノード“ＮＯＴ”６１ｂからノード“ＯＲ”６１ｄへの信号、及び、ノード“ＮＯＴ”６１ｃからノード“ＯＲ”６１ｄへの信号は、それぞれ、“０”、“１”及び“０”となる。さらに、ノード“ＯＲ”６１ｄは、これらの信号を受け取り、“１”を出力することになる。
【００２５】
部分有向グラフＢＧｂにおいて、ノード“ＡＮＤ”６３ａへの３つの信号が、それぞれ前記同様の“１”、“０”及び“１”であるとする。すると、ノード“ＡＮＤ”６３ａがノード“ＮＯＴ”６３ｂに対して出力する信号は、“０”となる。さらに、ノード“ＮＯＴ”６３ｂは、これらの信号を受け取り、“１”を出力することになる。
【００２６】
他の信号の例（６通りの組み合わせがある）を使用しても、結果としては、ノード“ＯＲ”６１ｄが出力する信号は、ノード“ＮＯＴ”６３ｂが出力する信号と等しくなる。つまり、“否定の論理和は、論理積の否定と等価である”ということが論理的に保証されている。なお、図３（ａ）及び図３（ｂ）の破線の四角形及び“Ｎ”については後記する。
【００２７】
ある部分有向グラフが、相互に等価である他の部分有向グラフに変化することはよくある。なぜならば、ロジック図面の全体的な機能は同じであっても、ユーザ（設計者）に与えられた他の設計条件に応じて、ロジック図面の部分が変化するからである。例えば、信号に対するある処理を行うための条件として、ノードの数が最大４つに限定されているとする。この場合、設計者は、図３（ａ）の部分有向グラフＢＧａのようにノードとリンクとを繋ぐことができる。しかしながら、ノードの数が最大２つに限定されることになった場合、設計者は、図３（ｂ）の部分有向グラフＢＧｂのようにノードとリンクとを繋ぐことを考えるかもしれない。また、当初あるノード（例えばノード６１ｄ）の入力側のポート数が特に制限を受けないために、ユーザは図３（ａ）のような設計をした。しかしながら、当該ポートの入力側のポート数が“１”に制限された場合、ユーザは、図３（ｂ）に設計変更することもあるかも知れない。
【００２８】
差分解析装置が、“部分有向グラフＢＧａは、部分有向グラフＢＧｂと等価である”と看做している場合、差分解析装置は、たとえ厳密には両者間に差分が存在しても、これを差分として抽出しない。ユーザは、このような細部の差分（設計上の微差）を無視してもよければ、このような等価ルールを適用し、無視できなければ、適用しなければよい。つまり、前記した微差を無視してもよい場合、差分解析装置は、図２（ａ）の有向グラフＢＧを図２（ｂ）の有向グラフＢＧｍに補正する。
【００２９】
図４の有向グラフＢＧｄは、比較対象となる２つの有向グラフのうちの一方（比較先）である。比較対象となる２つの有向グラフのうちの他方（比較元）が、図２（ａ）の有向グラフＢＧである場合と、図２（ｂ）の有向グラフＢＧｍである場合とを対比しながら以降の説明を続ける。
【００３０】
（図２（ａ）と図４の比較）
差分解析装置は、以下の差分を抽出することになる。
差分♭１：有向グラフＢＧにおいては、３つのノード“ＮＯＴ”５１ｆ、５１ｇ及び５１ｈがノード“ＯＲ”５１ｊに対して繋がっている一方、有向グラフＢＧｄにおいては、ノード“ＡＮＤ”５２ｉが３本のリンクを受け、ノード“ＮＯＴ”５２ｋに対して繋がっている。
差分♭２：ノード“ＩＮ”の数が、有向グラフＢＧにおいては３つである一方、有向グラフＢＧｄにおいては４つである。
差分♭３：有向グラフＢＧにおいては存在しないノード“ＯＲ”５３ｇが、有向グラフＢＧｄにおいては存在する。
【００３１】
（図２（ｂ）と図４の比較）
差分解析装置は、前記の差分♭２及び差分♭３を抽出するが、前記の差分♭１を抽出することはない。なぜなら、差分♭１は、設計上の微差として等価ルールに設定されているからである。
【００３２】
（類似度と差分の抽出）
図５は、ノード対応情報３６の例である。差分解析装置は、２つの有向グラフを比較する際にノード対応情報３６を作成する。ここでは説明を単純にするために、差分解析装置が、「有向グラフＢＧｍ（図２（ｂ））の３つのノード“ＩＮ”のそれぞれが、有向グラフＢＧｄ（図４）の４つのノード“ＩＮ”のうちのどれに対応するか」を判断する例を説明する。
【００３３】
差分解析装置は、「有向グラフＢＧｍの各ノード“ＩＮ”と有向グラフＢＧｄの各ノード“ＩＮ”とは１対１に対応する」という前提のもとで対応関係を割り当てて行く。すると、有向グラフＢＧｄの４つのノード“ＩＮ”のうち１つが、対応相手を有さない“差分”として抽出される。このような対応関係の組合せの候補は、４×３×２＝２４通り存在する。差分解析装置は、２４通りの候補のうち類似度が最大となる候補を決定し、その候補の組合せにおいて、対応相手を有さないノードを差分として抽出する。
【００３４】
図５において、例えば“〈５１ｃ，５２ｃ〉”は、有向グラフＢＧｍのノード５１ｃと有向グラフＢＧｄのノード５２ｃとの対応関係を示す。この“〈５１ｃ，５２ｃ〉”について、“Ｉ〈５１ｃ，５２ｃ〉”及び“Ｗ〈５１ｃ，５２ｃ〉”が定義される。
【００３５】
Ｉ〈５１ｃ，５２ｃ〉は、“１”又は“０”のいずれかである。“１”は、差分解析装置が、ノード５１ｃとノード５２ｃとが対応していると看做していることを示す。“０”は、差分解析装置が、ノード５１ｃとノード５２ｃとが対応していないと看做していることを示す。同様に、“Ｉ〈５１ｃ，５２ｄ〉”、“Ｉ〈５１ｃ，５２ｅ〉”及び“Ｉ〈５１ｃ，５２ｆ〉”を定義するとこれらの間には以下の制約式が成り立つことがわかる。
Ｉ〈５１ｃ，５２ｃ〉＋Ｉ〈５１ｃ，５２ｄ〉＋Ｉ〈５１ｃ，５２ｅ〉＋Ｉ〈５１ｃ，５２ｆ〉≦１
【００３６】
当該制約式の意味は、以下の通りである。
・制約式の左辺は、“１”又は“０”であること。
・つまり、ノード５１ｃが、ノード５２ｃ、５２ｄ、５２ｅ及び５２ｆのうちのいずれか１つに対応する、又は、ノード５１ｃが、ノード５２ｃ、５２ｄ、５２ｅ及び５２ｆのうちのいずれにも対応しないこと。
なお、前記の制約式は、ノード５１ｃを基準とした制約式である。７つのノード（ノード５１ｃ、５１ｄ、５１ｅ、５２ｃ、５２ｄ、５２ｅ及び５２ｆ）が存在するので、制約式も７本存在することになる。
【００３７】
Ｗ〈５１ｃ，５２ｃ〉は、２つのノード５１ｃ及び５２ｃがどれだけ類似しているかを数値化した“評価係数”であり、評価係数は、例えば次のような類似度評価ルールに基づき算出される。
類似度評価ルール＃１：リンク先のノードの種別が同じであれば、Ｗ＝“１０”とする。リンク先のノードの種別が異なれば、Ｗ＝“０”とする。
【００３８】
類似度評価ルール＃２：リンク先のノードの種別が同じ群に属していれば、Ｗ＝“２”とする。リンク先のノードが同じ群に属していなければ、Ｗ＝“０”とする。差分解析装置は、ユーザによる設定「“ＡＮＤ”、“ＯＲ”及び“ＮＯＴ”は論理演算子として１つの群を形成する」等を受け付ける。類似度評価ルール＃２は、類似度評価ルール＃１と重複してもよいし、そうでなくてもよい。例えば、ノード“ＡＮＤ”とノード“ＡＮＤ”の対応関係に対して、Ｗ＝１０を与えてもよいし、Ｗ＝１２を与えてもよい。
類似度評価ルール＃３：リンク先のノードが複数ある場合は、それぞれのリンク先のノードについて種別の同異を算出し、算出結果を加算する。
【００３９】
図５の横軸には、前記した対応関係が並んでいる。縦軸には、対応関係の組合せの候補が並んでいる。横軸及び縦軸の交点のセルには、“Ｉ×Ｗ”の値が記憶されている。図５を全体的に見ると、以下のことがわかる。
・各行には、“Ｉ×Ｗ”の値が３つ記載されており、そのそれぞれの値は、“１×０”、“１×１０”及び“１×２０”のうちのいずれかであり、そのセルの位置は、前記した制約式の条件を満たしている。つまり、有向グラフＢＧｍの３つのノードのそれぞれに対して、有向グラフＢＧｄの４つのノードのうちの１つが、相互に重複しないように対応している。
・各行の空白のセルは、制約式に従い、その候補においてはＩ＝“０”となる対応関係のセルである。したがって、Ｗがどのような値を取ったとしても常に“Ｉ×Ｗ＝０”となるので、当該セルは空白となっている。
・各行に対し、３つの“Ｉ×Ｗ”の値の和が、類似度として算出されている。
【００４０】
さらに、例えば図５の候補４の行、図２（ｂ）及び図４に注目すると次のことがわかる。
・図５の候補４の行において、ノード５１ｃにはノード５２ｃが対応し、ノード５１ｄにはノード５２ｅが対応し、ノード５１ｅにはノード５２ｆが対応している。
・図５の候補４の行において、ノード５２ｄについての列は３つ存在するが、そのいずれもが空白になっている。つまり、ノード５２ｄは、対応相手を有さない。
・図２（ｂ）において、ノード５１ｅを起点とするリンクが終点とするノードは２つ存在し、それらの種別は、“Ｔ”及び“ＯＵＴ”である。図４において、ノード５２ｆを起点とするリンクが終点とするノードは２つ存在し、それらの種別もまた、“Ｔ”及び“ＯＵＴ”である。この結果図５の候補４の行において、Ｗ〈５１ｅ，５２ｆ〉＝１０＋１０＝２０となる。
【００４１】
・図２（ｂ）において、ノード５１ｄを起点とするリンクが終点とするノードの種別は、“ＡＮＤ”である。図４において、ノード５２ｅを起点とするリンクが終点とするノードの種別もまた、“ＡＮＤ”である。この結果図５の候補４の行において、Ｗ〈５１ｄ，５２ｅ〉＝１０となる。
・図２（ｂ）において、ノード５１ｃを起点とするリンクが終点とするノードの種別は、“ＡＮＤ”である。図４において、ノード５２ｃを起点とするリンクが終点とするノードの種別は、“ＯＲ”である。この結果図５の候補４の行において、Ｗ〈５１ｃ，５２ｃ〉＝０となる。
【００４２】
再度図５を全体的に見る。２４個の対応関係の組合せのうち、類似度が最大であるものは、候補４、候補１４及び候補１６であり、それらの類似度は、ともに“３０”である。例が単純である結果、このような“同点１位”の結果となった。しかしながら、例えば、前記した類似度評価ルール＃２の群の設定を工夫することによって、候補４の類似度が“３２”となり、候補１４及び候補１６の類似度がともに“３０”となることもある。そうすれば、最も類似度が大きい対応関係の組合せは、候補４のみに特定される。
【００４３】
前記のように、図５の候補４の行は、ノード５２ｄには、対応相手が存在しないことを示している。したがって、有向グラフＢＧｍと有向グラフＢＧｄとの比較において、ノード５２ｄが“差分”として抽出されることになる。前記では、ノード“ＩＮ”に限定して、差分解析装置が図２（ｂ）の有向グラフＢＧｍと図４の有向グラフＢＧｄとの差分を抽出する方法を説明したが、他の種別のノードについても、差分解析装置が行なう情報処理は本質的に同様である。
【００４４】
（差分解析装置の構成）
図６に沿って、差分解析装置１の構成を説明する。差分解析装置１は、一般的なコンピュータである。差分解析装置１は、中央制御装置１１、入力装置１２、出力装置１３、主記憶装置１４及び補助記憶装置１５を有する。これらは、バスによって相互に接続されている。補助記憶装置１５は、ロジック図面３１（例えば図１の符号ＬＧに相当）、有向グラフ３２（例えば図２（ａ）の符号ＢＧに相当）、等価ルール３３、類似度評価ルール３４、ノード補正情報３５、ノード対応情報３６、要素情報３７、信号線情報３８、ノード情報３９及びリンク情報４０を記憶している（詳細後記）。
【００４５】
主記憶装置１４におけるルール受付部２１、ロジック図面受付部２２、有向グラフ作成部２３、等価補正部２４、差分抽出部２５及び差分表示処理部２６はプログラムである。以降、“○○部は”と主体を記した場合は、中央制御装置１１が、補助記憶装置１５から○○部を読み出し、主記憶装置１４にロードしたうえで、○○部の機能（詳細後記）を実現するものとする。
【００４６】
図７（ａ）は、ロジック図面ＬＧ１である。図７（ｂ）は、ロジック図面ＬＧ２である。図７（ａ）のロジック図面ＬＧ１は、図１のロジック図面ＬＧと同じではあるが、ロジック図面ＬＧ２と比較しやすいように再掲している。以降、差分解析装置１が、ロジック図面ＬＧ１とロジック図面ＬＧ２との差分を抽出するために使用する各情報及び処理手順を説明する。
【００４７】
（要素情報）
図８（ａ）及び図８（ｂ）に沿って、要素情報３７を説明する。要素情報３７においては、図面ＩＤ欄１０１に記憶された図面ＩＤに関連付けて、要素ＩＤ欄１０２には要素ＩＤが、種別欄１０３には種別が、Ｘ座標欄１０４にはＸ座標が、Ｙ座標欄１０５にはＹ座標が、領域欄１０６には領域フラグが、属性欄１０７には属性が、属性値欄１０８には属性値が記憶されている。
【００４８】
図面ＩＤ欄１０１の図面ＩＤは、ロジック図面を一意に特定する識別子である。
要素ＩＤ欄１０２の要素ＩＤは、ロジック図面の要素を一意に特定する識別子である。
種別欄１０３の種別は、要素の種別である。
Ｘ座標欄１０４のＸ座標は、ロジック図面における、要素のＸ軸の座標値（右が正の方向）である。
Ｙ座標欄１０５のＹ座標は、ロジック図面における、要素のＹ軸の座標値（上が正の方向）である。
【００４９】
領域欄１０６の領域フラグは、その要素の座標値がユーザにより指定された領域に含まれることを示す“ＴＲＵＥ”、又は、含まれないことを示す“ＦＡＬＳＥ”のいずれかである。
属性欄１０７の属性は、要素のパラメータである。例えば、“ＷＴ”は、タイマのパラメータが、待機時間“Waiting Time”であることを示している。
属性値欄１０８の属性値は、パラメータ値である。例えば“１.０”は、待機時間が１時間であることを示す。
なお、ユーザは、抽出したい差分の内容に応じて、任意に属性欄１０７及び属性値欄１０８に対し値を設定することができる。
【００５０】
要素情報３７は、ロジック図面ごとに存在する。要素情報３７のレコードの数は、各ロジック図面の要素の数に等しい。図８（ａ）の要素情報３７は、ロジック図面ＬＧ１（図７（ａ））についてのものである。図８（ｂ）の要素情報３７は、ロジック図面ＬＧ２（図７（ｂ））についてのものであり、詳細な説明は省略する。
【００５１】
（信号線情報）
図９（ａ）及び図９（ｂ）に沿って、信号線情報３８を説明する。信号線情報３８においては、図面ＩＤ欄１１１に記憶された図面ＩＤに関連付けて、信号線ＩＤ欄１１２には信号線ＩＤが、起点要素ＩＤ欄１１３には起点要素ＩＤが、終点要素ＩＤ欄１１４には終点要素ＩＤが、起点ポートＩＤ欄１１５には起点ポートＩＤが、終点ポートＩＤ欄１１６には終点ポートＩＤが記憶されている。
【００５２】
図面ＩＤ欄１１１の図面ＩＤは、図８（ａ）及び図８（ｂ）の図面ＩＤと同じである。
信号線ＩＤ欄１１２の信号線ＩＤは、ロジック図面の信号線を一意に特定する識別子である。
起点要素ＩＤ欄１１３の起点要素ＩＤは、信号線の起点となる要素の要素ＩＤである。
終点要素ＩＤ欄１１４の終点要素ＩＤは、信号線の終点となる要素の要素ＩＤである。
起点ポートＩＤ欄１１５の起点ポートＩＤは、信号線の起点となる要素のポートを一意に特定する識別子である。
終点ポートＩＤ欄１１６の終点ポートＩＤは、信号線の終点となる要素のポートを一意に特定する識別子である。
【００５３】
信号線情報３８は、ロジック図面ごとに存在する。信号線情報３８のレコードの数は、各ロジック図面の信号線の数に等しい。図９（ａ）の信号線情報３８は、ロジック図面ＬＧ１（図７（ａ））についてのものである。図９（ｂ）の信号線情報３８は、ロジック図面ＬＧ２（図７（ｂ））についてのものであり、詳細な説明は省略する。
【００５４】
（ノード情報）
図１０（ａ）及び図１０（ｂ）に沿って、ノード情報３９を説明する。ノード情報３９においては、図面ＩＤ欄１２１に記憶された図面ＩＤに関連付けて、ノードＩＤ欄１２２にはノードＩＤが、種別欄１２３には種別が、ラベル欄１２４にはラベルが、ラベル値欄１２５にはラベル値が記憶されている。
【００５５】
図面ＩＤ欄１２１の図面ＩＤは、図８（ａ）及び図８（ｂ）の図面ＩＤと同じである。
ノードＩＤ欄１２２のノードＩＤは、ロジック図面から変換された有向グラフ（以降“被変換有向グラフ”と呼ぶことがある）におけるノードを一意に特定する識別子である。ここでは、分り易さのために、あるノードのノードＩＤは、当該ノードの変換元である要素の要素ＩＤ（図８（ａ）及び図８（ｂ））と一致している。
種別欄１２３の種別は、被変換有向グラフにおけるノードの種別である。
ラベル欄１２４のラベルは、被変換有向グラフにおけるノードの属性である。
ラベル値欄１２５のラベル値は、被変換有向グラフにおけるノードの属性値である。
なお、あるノードの種別、ラベル及びラベル値は、当該ノードの変換元である要素の種別、属性及び属性値（図８（ａ）及び図８（ｂ））とそれぞれ一致している。
【００５６】
ノード情報３９は、被変換有向グラフごとに存在する。ノード情報３９のレコードは、変換元のロジック図面の要素のうち、領域が“ＴＲＵＥ”であるものにのみ対応している。図１０（ａ）のノード情報３９は、ロジック図面ＬＧ１（図７（ａ））から変換された有向グラフについてのものである。図１０（ｂ）のノード情報３９は、ロジック図面ＬＧ２（図７（ｂ））から変換された有向グラフについてのものであり、詳細な説明は省略する。
【００５７】
（リンク情報）
図１１（ａ）及び図１１（ｂ）に沿って、リンク情報４０を説明する。リンク情報４０においては、図面ＩＤ欄１３１に記憶された図面ＩＤに関連付けて、リンクＩＤ欄１３２にはリンクＩＤが、起点ノードＩＤ欄１３３には起点ノードＩＤが、終点ノードＩＤ欄１３４には終点ノードＩＤが、ラベル１欄１３５にはラベル値１が、ラベル２欄１３６にはラベル値２が記憶されている。
【００５８】
図面ＩＤ欄１３１の図面ＩＤは、図８（ａ）及び図８（ｂ）の図面ＩＤと同じである。
リンクＩＤ欄１３２のリンクＩＤは、被変換有向グラフにおけるリンクを一意に特定する識別子である。ここでは、分り易さのために、あるリンクのリンクＩＤは、当該リンクの変換元である信号線の信号線ＩＤ（図９（ａ）及び図９（ｂ））と一致している。
起点ノードＩＤ欄１３３の起点ノードＩＤは、被変換有向グラフにおけるリンクの起点となるノードのノードＩＤである。
終点ノードＩＤ欄１３４の終点ノードＩＤは、被変換有向グラフにおけるリンクの終点となるノードのノードＩＤである。
【００５９】
ラベル１欄１３５のラベル値１は、被変換有向グラフにおけるリンクの起点となるノードのポートＩＤである。
ラベル１欄１３６のラベル値２は、被変換有向グラフにおけるリンクの終点となるノードのポートＩＤである。
なお、あるリンクの起点（終点）ノードＩＤ及びラベル値１（２）は、当該リンクの変換元である信号線の起点（終点）要素ＩＤ及び起点（終点）ポートＩＤ（図９（ａ）及び図９（ｂ））とそれぞれ一致している。
【００６０】
リンク情報４０は、被変換有向グラフごとに存在する。リンク情報４０のレコードは、変換元のロジック図面の信号線のうち、起点及び終点の要素の領域がともに“ＴＲＵＥ”であるものにのみ対応している。図１１（ａ）のリンク情報４０は、ロジック図面ＬＧ１（図７（ａ））から変換された有向グラフについてのものである。図１１（ｂ）のリンク情報４０は、ロジック図面ＬＧ２（図７（ｂ））から変換された有向グラフについてのものであり、詳細な説明は省略する。
【００６１】
（処理手順）
図１２は、処理手順のフローチャートである。以降、図１２の説明に沿って、適宜のタイミングで、図１３〜図１９の説明を加えて行く。
ステップＳ２０１において、差分解析装置１のルール受付部２１は、等価ルールを受け付ける。具体的には、第１に、ルール受付部２１は、出力装置１３に等価ルール入力画面７１ａ（図１３）を表示する。このとき、補正前欄７２ａ及び補正後欄７２ｂは空白になっている。
【００６２】
第２に、ルール受付部２１は、補正前欄７２ａ及び補正後欄７２ｂに対して、ユーザがそれぞれ補正前の部分有向グラフ、及び、補正後の部分有向グラフを描画するのを受け付ける。ユーザは、編集用アイコン欄７３に見本掲出されているアイコンをコピーすることによってノード等を描画する。図１３の例では、ユーザは、“否定の論理和は、論理積の否定と等価である”旨入力している。なお、ユーザは、あるノード及び／又はリンクを領域指定したうえで（符号７５ａ及び／又は７５ｂ）、繰り返し回数（符号７４ａ及び／又は７４ｂ）を設定することができる。すると、ルール受付部２１は同様の描画を指定の回数“Ｎ”だけ繰り返す。
【００６３】
第３に、ルール受付部２１は、タイトル欄７６に対してユーザが等価ルールのタイトルを入力し、適用ボタン７７を押下するのを受け付ける。
第４に、ルール受付部２１は、補正前の部分有向グラフ７２ａ、補正後の部分有向グラフ７２ｂ及びタイトル７６を相互に関連付けて、等価ルール３３として補助記憶装置１５に記憶する（図６参照）。
ユーザがルール追加ボタン７８を押下する都度、ルール受付部２１は、ステップＳ２０１の“第１”〜“第４”の処理を繰り返す。すると複数の等価ルール３３が補助記憶装置１５に蓄積されて行く。
第５に、ルール受付部２１は、ユーザが設定終了ボタン７９を押下するのを受け付ける。
【００６４】
（ロジック図面の入力）
なお、後記するステップＳ２０２においてロジック画面が入力されることになる。しかしながら、それに先んじてユーザは、ステップＳ２０１の処理の準備又は事後確認として、相互に等価であると看做すべき部分を含む２つのロジック図面を登録しておくこともできる。ユーザが等価事例設定タブ８０を選択すると、等価ルール入力画面７１ａ（図１３）は、等価事例入力画面７１ｂ（図１４）に遷移する。ユーザは、等価ロジックファイル読込欄８１ａ及び８１ｂに任意の２つのロジック図面の格納位置をそれぞれ入力する（又は格納位置とリンクしたアイコン等を選択する）。すると、ルール受付部２１は、補助記憶装置１５又は外部の記憶装置から当該ロジック図面を検索し、ロジック図面表示欄８２ａ及び８２ｂに表示する。ユーザは、タイトル欄７６に対して等価ロジック図面のタイトルを入力し、適用ボタン７７を押下する。すると、ルール受付部２１は、ロジック図面表示欄８２ａ及び８２ｂに表示された２つのロジック並びに図面タイトル７６を相互に関連付けて、等価ロジック図面として補助記憶装置１５に記憶する。
【００６５】
（等価ルールの編集・削除）
等価ルール入力画面７１ａ（図１３）において、ユーザがリスト８３から任意のタイトルを選択すると、ルール受付部２１は、そのタイトルに関連付けられている補正前の部分有向グラフ７２ａ及び補正後の部分有向グラフ７２ｂを表示する。ユーザが補正前編集ボタン８４ａ及び／又は補正後編集ボタン８４ｂを押下すると、ルール受付部２１は、補正前の部分有向グラフ７２ａ及び／又は補正後の部分有向グラフ７２ｂをアクティブ状態にする。この状態で、ルール受付部２１は、ユーザが補正前の部分有向グラフ７２ａ及び／又は補正後の部分有向グラフ７２ｂを編集し、その後設定終了ボタン７９を押下するのを受け付ける。そして、ルール受付部２１は、編集後の等価ルールを補助記憶装置１５に記憶する。アクティブ状態でユーザが不適用ボタン８５を押下すると、ルール受付部２１は、当該等価ルールを補助記憶装置１５から削除する。このように、ユーザは、検出するべき差分のレベルを変更することができる。
【００６６】
（等価ロジック図面の編集・削除）
ルール受付部２１は、同様の方法で、ユーザが等価ロジック図面を編集・削除することも可能である。
【００６７】
ステップＳ２０２において、ルール受付部２１は、類似度評価ルールを受け付ける。具体的には、第１に、ルール受付部２１は、出力装置１３に類似度評価ルール入力画面９１（図１５）を表示する。
第２に、ルール受付部２１は、ユーザが、ノード種別欄９２ａに第１の評価係数を入力するのを受け付ける。第１の評価係数は、前記の類似度評価ルール＃１に対応している。
第３に、ルール受付部２１は、ユーザが、ノード群欄９２ｂに第２の評価係数を入力するのを受け付ける。第２の評価係数は、前記の類似度評価ルール＃２に対応している。なお、このときルール受付部２１は、ユーザが複数の群及び各群に属する種別を入力するのも受け付ける。
【００６８】
第４に、ルール受付部２１は、ユーザが、ノード種別ごと設定欄９２ｃのうちから任意の種別を選択するのを受け付ける。いま、ユーザは“Ｔ”を選択したとする。すると、ルール受付部２１は、タイマ属性設定欄９２ｄを表示する。
第５に、ルール受付部２１は、ユーザが、属性欄９３ａに属性を入力し、属性値欄９３ｂに、属性が一致した場合に与えられる第３の評価係数を入力するのを受け付ける。
第６に、ルール受付部２１は、ステップＳ２０２の“第２”〜“第５”において受け付けた情報を、類似度評価ルール３４（図６）として補助記憶装置１５に記憶する。
【００６９】
ステップＳ２０３において、差分解析装置１のロジック図面受付部２２は、ロジック図面を受け付ける。具体的には、第１に、ロジック図面受付部２２は、ユーザが入力装置１２（スキャナ等）を介して、比較対象となる２枚のロジック図面（図７（ａ）のロジック図面ＬＧ１及び図７（ｂ）のロジック図面ＬＧ２）を入力するのを受け付ける。なお、ロジック図面がＣＡＤ（Computer Added Design）等の電子データとして既に存在している場合もある。この場合、ロジック図面受付部２２は、スキャナで画像データを取得する必要はない。ロジック図面受付部２２は、図１４の等価事例入力画面７１ｂにおいて、ロジック図面の格納位置（又は格納位置とリンクしたアイコン等）を選択肢として記載した“ロジック図面選択欄”を表示し、ユーザが選択するのを受け付けるだけでよい。受け付けた２枚のロジック図面を、“第１のロジック図面”及び“第２のロジック図面”と呼ぶ。
【００７０】
第２に、ロジック図面受付部２２は、受け付けた２枚のロジック図面を出力装置１３に表示し、ユーザが第１のロジック図面及び第２のロジック図面のそれぞれに対し、比較対象とする領域を指定するのを受け付ける。当該領域は、“指定領域”と呼ばれる。
第３に、ロジック図面受付部２２は、第１のロジック図面及びその指定領域に基づき、要素情報３７（図８（ａ））及び信号線情報３８（図９（ａ））を作成する。
第４に、ロジック図面受付部２２は、第２のロジック図面及びその指定領域に基づき、要素情報３７（図８（ｂ））及び信号線情報３８（図９（ｂ））を作成する。
【００７１】
ステップＳ２０４において、差分解析装置１の有向グラフ作成部２３は、有向グラフを作成する。具体的には、第１に、有向グラフ作成部２３は、ステップＳ２０３の“第３”において作成した要素情報３７（図８（ａ））及び信号線情報３８（図９（ａ））を、それぞれノード情報３９（図１０（ａ））及びリンク情報４０（図１１（ａ））に変換する。ここで変換されたノード情報３９及びリンク情報４０に基づいて描画される有向グラフが、“第１の有向グラフ”である。
第２に、有向グラフ作成部２３は、ステップＳ２０３の“第４”において作成した要素情報３７（図８（ｂ））及び信号線情報３８（図９（ｂ））を、ノード情報３９（図１０（ｂ））及びリンク情報４０（図１１（ｂ））に変換する。ここで変換されたノード情報３９及びリンク情報４０に基づいて描画される有向グラフが、“第２の有向グラフ”である。
【００７２】
ステップＳ２０５において、差分解析装置１の等価補正部２４は、等価補正を行う。具体的には、第１に、等価補正部２４は、補助記憶装置１５から等価ルール３３を読み出す。
第２に、等価補正部２４は、ステップＳ２０４の“第１”において作成したノード情報３９及びリンク情報４０と、等価ルールに含まれる補正前の部分有向グラフとを突き合わせる。そして、等価補正部２４は、ノード情報３９及びリンク情報４０のうち補正前の部分有向グラフに一致する部分を、等価ルールに含まれる補正後の部分有向グラフで置換する。このとき、第１の有向グラフは、一部が補正後の部分有向グラフで置換されたものとなっている。この置換後の第１の有向グラフを“補正後の第１の有向グラフ”と呼ぶ。
【００７３】
前記した“否定の論理和は、論理積の否定と等価である”という等価ルールを適用することによって、有向グラフＢＧ（図２（ａ））は、有向グラフＢＧｍ（図２（ｂ））に補正されることになる。有向グラフを補正することは、ノード情報３９及びリンク情報４０の内容を変更することに他ならない。
当該補正の際、等価補正部２４は、ノード情報３９（図１０（ａ））を、図１６（ａ）のノード情報３９に変更する。その変更点は以下の通りである（図２（ａ）及び図２（ｂ）も参照）。
・図１０（ａ）におけるノード５１ｆ、５１ｇ、５１ｈ及び５１ｊについてのレコードが、図１６（ａ）においては削除されている。
・図１６（ａ）においては、ノード５１ｘ及び５１ｙについてのレコードが新設されている。
【００７４】
当該補正の際、等価補正部２４は、リンク情報４０（図１１（ａ））を、図１６（ｂ）のリンク情報４０に変更する。その変更点は以下の通りである（図２（ａ）及び図２（ｂ）も参照）。
・図１１（ａ）におけるリンクＬ０６、Ｌ０７及びＬ０８についてのレコードが、図１６（ｂ）においては削除されている。
・図１６（ｂ）においては、リンクＬ１３についてのレコードが新設されている。
・図１６（ｂ）においては、リンクＬ０３、Ｌ０４及びＬ０９についての終点ノードＩＤが変更されている。
・図１６（ｂ）においては、リンクＬ１１及びＬ１２についての起点ノードＩＤが変更されている。
・図１６（ｂ）においては、リンクＬ０４及びＬ０９についてのラベル値２が変更されている。
【００７５】
ステップＳ２０５の説明に戻り、第３に、等価補正部２４は、補正の結果をノード補正情報３５（図１７）として、補助記憶装置１５に記憶する。図１７のノード補正情報３５においては、図面ＩＤに関連付けて、補正前のノードのノードＩＤ、補正後のノードのノードＩＤ及び適用された等価ルールのタイトルが記憶されている。
【００７６】
ステップＳ２０６において、差分解析装置１の差分抽出部２５は、差分を抽出する。具体的には、差分抽出部２５は、補正後の第１の有向グラフと第２の有向グラフとを比較し、差分を抽出する。このとき、差分抽出部２５は、図５の説明において前記したように、補正後の第１の有向グラフに含まれるノード及びリンクの接続関係と、第２の有向グラフに含まれるノード及びリンクの接続関係とに基づき、ノード同士の評価係数を算出することにより、両者の有向グラフを比較する。
【００７７】
ステップＳ２０７において、差分解析装置１の差分表示処理部２６は、差分を表示する。具体的には、第１に、差分表示処理部２６は、出力装置１３に差分表示画面９４（図１８）を表示する。差分表示画面９４には、第１のロジック図面ＬＧ１及び第２のロジック図面ＬＧ２が表示されている。このとき、差分表示処理部２６は、ステップＳ２０６において抽出した差分を強調表示（符号９５）する。
【００７８】
ユーザは、第１のロジック図面ＬＧ１及び第２のロジック図面ＬＧ２を視認した結果、要素５２ｇが差分となっていることを容易に理解できる。しかしながらユーザは、要素５２ｊ及び要素５２ｋが差分として強調表示されていない理由を容易に理解しにくい。そこで、ユーザは、要素５２ｊ及び要素５２ｋを含む領域をマウス等の入力装置１２で指定する（符号９６ａ）。この指定を“説明要求”と呼ぶ。差分表示処理部２６は、説明要求を受け付ける。
【００７９】
第２に、差分表示処理部２６は、ノード補正情報３５（図１７）のレコードのうち、補正後のノードのノードＩＤとして“５２ｊ”及び“５２ｋ”を含むレコードを取得する。そして差分表示処理部２６は、取得したレコードの等価ルールのタイトルを説明欄９６ｃに表示し、取得したレコードの補正前のノードに対応する第１のロジック図面の要素を強調表示する（符号９６ｂ）。ユーザは、等価ルールの内容を理解し、第１のロジック図面ＬＧ１の符号９６ｂと第２のロジック図面ＬＧ２の符号９６ａとが論理的には等価であることを理解する。次にユーザは、第２のロジック図面ＬＧ２のある要素が、第１のロジック図面ＬＧ１のどの要素に対応しており、どの程度類似しているのかを知りたくなる。
【００８０】
図１９もまた（図１８と同じ）差分表示画面９４を示している。ユーザは、例えば要素５２ｆを含む領域をマウス等の入力装置１２で指定する（符号９７ａ）。この指定を“評価要求”と呼ぶ。差分表示処理部２６は、評価要求を受け付ける。
ステップＳ２０７の説明に戻り、第３に、差分表示処理部２６は、図５の候補４の行の評価係数Ｗ〈５１ｅ，５２ｆ〉の値“２０”を、“要素の評価係数が大きい”のコメントとともに、評価欄９７ｃに表示する。
その後、処理手順を終了する。
【００８１】
前記の例では、等価補正部２４が、第１の有向グラフの一部を補正後の部分有向グラフで置換し、補正後の第１の有向グラフとしたうえで、差分抽出部２５が、補正後の第１の有向グラフと第２の有向グラフとを比較する。しかしながら、等価補正部２４が、第２の有向グラフの一部を補正後の部分有向グラフで置換し、補正後の第２の有向グラフとしたうえで、差分抽出部２５が、補正後の第２の有向グラフと第１の有向グラフとを比較してもよい。また、前記の例では、ユーザは、説明要求及び評価要求を行う際、第２のロジック図面ＬＧ２上の領域を指定するものとした。しかしながら、ユーザは、第１のロジック図面ＬＧ１上の領域を指定してもよい。
【００８２】
（変形例１）
前記の図５及び図１２のステップＳ２０６では、差分抽出部２５が第１の有向グラフと第２の有向グラフとを比較し、２つのノードの対応関係に対して評価係数“Ｗ”を与える例を説明した。当該比較をより高精度で行なうための変形例１を図２０に示す。いま、比較元及び比較先において比較対象となっているノードを擬人化して“本人”と呼ぶ。同様に、本人から信号が直接伝搬されていく先のノードを“子”と呼び、子から信号が直接伝搬されていく先のノードを“孫”と呼ぶ。この様子が図２０に示されている。
【００８３】
前記の例と同様、差分抽出部２５は、本人１と本人２との対応関係に対して“２０”等の評価係数“Ｅ１”を与える。しかしながら、差分抽出部２５は、例えば、子１１と子２１との対応関係に対しても評価係数“Ｅ２”を与え、本人同士の対応関係の評価係数“Ｅ１”に加算してもよい。さらに、差分抽出部２５は、例えば孫１１１と孫２１１との対応関係に対しても評価係数“Ｅ２”を与え、本人同士の対応関係の評価係数“Ｅ１”に加算してもよい。なお、“Ｅ２”の算出方法は、“Ｅ１”の算出方法（ノードの種別・群の同異、そのノードに接続されているノードの種別・群の同異等の基づき算出する）に準ずる。
【００８４】
前記したように、比較元のあるノードと比較先のあるノードとの対応関係に“Ｉ”が定義される。“Ｉ＝１”である場合、差分抽出部２５は、両者のノードが対応していると看做している。“Ｉ＝０”である場合、差分抽出部２５は、両者のノードが対応していないと看做している。そこで、差分抽出部２５は、本人同士の対応関係が“Ｉ＝１”でありかつ子若しくは孫同士の対応関係も“Ｉ＝１”である場合、又は、本人同士の対応関係が“Ｉ＝０”でありかつ子若しくは孫同士の対応関係も“Ｉ＝０”である場合を“強化ケース”とする。
【００８５】
一方、差分抽出部２５は、本人同士の対応関係が“Ｉ＝１”でありかつ子若しくは孫同士の対応関係が“Ｉ＝０”である場合、又は、本人同士の対応関係が“Ｉ＝０”でありかつ子若しくは孫同士の対応関係が“Ｉ＝１”である場合を“緩和ケース”とする。そして、差分抽出部２５は、本人同士の対応関係に対し、強化ケースにおいては所定の基準値よりも大きな評価係数を与え、緩和ケースにおいて所定の基準値よりも小さな評価係数を与る。このような評価係数を“Ｅ３”とする。例えば、本人同士の対応関係が“Ｉ＝１”であり、比較元の子と比較先の子との間に、“Ｉ＝１”の対応関係が１つ存在し、“Ｉ＝０”の対応関係も１つ存在するとする。そして、大きな評価係数が“２０”であり、小さな評価係数が“５”であるとする。この場合、本人同士の対応関係に対して与えられる“Ｅ３”は、“２０＋５＝２５”である。
【００８６】
なお、同様に、本人へ信号が直接伝搬されてくる元のノードを“親”と呼び、親へ信号が直接伝搬されてくる元のノードを“親の親”と呼ぶ。前記の説明の“子”を“親”に読み替え、“孫”を“親の親”と読み替えてもよい。
【００８７】
さらに、比較元における本人に対応する要素の位置（座標値）と、比較先における本人に対応する要素の位置との間の距離が所定の閾値よりも小さい場合、これらの本人同士の対応関係に対して評価係数“Ｅ４”を与えてもよい。結局、差分抽出部２５は、本人同士の対応関係に対して、“Ｗ＝ｋ１Ｅ１＋ｋ２Ｅ２＋ｋ３Ｅ３＋ｋ４Ｅ４”を与えることになる。ｋ１、ｋ２、ｋ３及びｋ４は、重みである。ユーザは、重みの値を任意に設定することができる。
【００８８】
（変形例２）
ユーザは、ある要素の識別子（要素ＩＤ）を引き継ぎつつ、設計の諸段階でその要素の種別又は属性を変化させて行くこともある。例えば、要素ＩＤを“５１ｔ”に維持したまま、その要素の種別を“ＯＲ”から“ＡＮＤ”に変更することがある。このような要素を“同一性維持要素”と呼ぶ。このような場合、差分抽出部２５は、同一性維持要素に対応するノードのノードＩＤも変化させずに同一に維持する。そして、差分抽出部２５は、ノード同士の対応関係に対して評価係数を与えるとき、ノードＩＤが同じノードの対応関係に対しては、ノードに関連付けられている他の情報の如何にかかわらず、評価係数の最大値を与える。つまり、差分抽出部２５は、このような組合せのノードを同じものと看做す。
【００８９】
（変形例３）
差分解析装置１は、前記した処理手順のステップの順番のうちの一部をユーザが望むように変化させてもよい。具体的には、差分解析装置１は、処理手順が始まる前に、“等価ルール設定”ボタン、“類似度評価ルール設定”ボタン、“ロジック図面入力”ボタン及び“差分評価実行・確認”ボタンを出力装置１３に表示する。
【００９０】
ユーザが“等価ルール設定”ボタンを押下すると、差分解析装置１は、前記したステップＳ２０１を実行する。ユーザが“類似度評価ルール設定”ボタンを押下すると、差分解析装置１は、前記したステップＳ２０２を実行する。ユーザが“ロジック図面入力”ボタンを押下すると、差分解析装置１は、前記したステップＳ２０３を実行する。ユーザが“差分評価実行・確認”ボタンを押下すると、差分解析装置１は、前記したステップＳ２０４〜Ｓ２０７を実行する。なお、ユーザは、“等価ルール設定”ボタン、“類似度評価ルール設定”ボタン及び“ロジック図面入力”ボタンのそれぞれを任意の順序で押下できる。ユーザは、これら３つのボタンをすべて押下した後でなければ、“差分評価実行・確認”ボタンを押下することができない。
【００９１】
（変形例４）
前記では、差分解析装置１は、ロジック図面の要素の形状の差分及び信号線の形状の差分を表示するべき差分としない例を説明した。しかしながら、等価ルールにこれらの差分を反映させ、類似度評価ルールにこれらの一致に対する評価係数を反映させることによって、差分解析装置１は、これらの相違を表示するべき差分として認識できるようになる。
【００９２】
（変形例５）
例えば、設計の上流段階において、要素の位置の一致に対する評価係数を小さくしておけば、差分解析装置１は、要素の細かな位置の差分を表示しない。設計の下流段階において、当該評価係数を徐々に大きくして行けば、差分解析装置１は、要素の細かな位置の差分を表示するようになる。
【００９３】
また、前記では、末端の要素（“開”、“ＯＰＥＮ”等）が指定領域に含まれない例を説明した。しかしながら、仮想的な要素“ＮＵＬＬ”を創設し、末端の要素が“ＮＵＬＬ”に繋がるものとすれば、末端の要素も指定領域に含まれ得る。
【００９４】
なお、本実施形態の情報処理を容易に実現するために変数、制約条件、評価関数等を設定するに際し、混合整数計画法、線形計画法等の数理計画法を使用することができる。
【００９５】
（実施形態の効果）
本実施形態は、以下の効果を奏する。
（１）差分解析装置は、等価ルールを必要に応じて柔軟に変化させることによって、抽出するべきロジック図面同士の差分を変化させることができる。
（２）差分解析装置は、等価ルールを容易かつ確実にユーザに定義させることができる。
（３）差分解析装置は、有向グラフの一部を部分有向グラフに置換することにより、有向グラフ同士の差分のうち抽出する必要がないものを確実に無視することができる。
（４）差分解析装置は、ロジック図面のどの部分が差分となるのかをユーザに容易に視認させることができる。
（５）差分解析装置は、有向グラフ同士の差分の抽出を客観的かつ高精度で行なうことができる。
（６）差分分析装置は、ユーザが同じ識別子を割り当てたノード同士を、無条件で同じものであると看做すことができる。
（７）差分解析装置は、ユーザが真に比較したいロジック画面の部分をユーザに指定させることができる。
【００９６】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００９７】
また、前記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また、前記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００９８】
１      差分解析装置
１１    中央制御装置
１２    入力装置
１３    出力装置
１４    主記憶装置（記憶部）
１５    補助記憶装置（記憶部）
２１    ルール受付部
２２    ロジック図面受付部
２３    有向グラフ作成部
２４    等価補正部
２５    差分抽出部
２６    差分表示処理部
３１    ロジック図面
３２    有向グラフ
３３    等価ルール
３４    類似度評価ルール
３５    ノード補正情報
３６    ノード対応情報
３７    要素情報
３８    信号線情報
３９    ノード情報
４０    リンク情報
【図１】
0006562850.tif 000002
【図２】
0006562850.tif 000003
【図３】
0006562850.tif 000004
【図４】
0006562850.tif 000005
【図５】
0006562850.tif 000006
【図６】
0006562850.tif 000007
【図７】
0006562850.tif 000008
【図８】
0006562850.tif 000009
【図９】
0006562850.tif 000010
【図１０】
0006562850.tif 000011
【図１１】
0006562850.tif 000012
【図１２】
0006562850.tif 000013
【図１３】
0006562850.tif 000014
【図１４】
0006562850.tif 000015
【図１５】
0006562850.tif 000016
【図１６】
0006562850.tif 000017
【図１７】
0006562850.tif 000018
【図１８】
0006562850.tif 000019
【図１９】
0006562850.tif 000020
【図２０】
0006562850.tif 000021