Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6562850B2 - 差分解析装置、差分解析方法及び差分解析プログラム - Google Patents
[go: Go Back, main page]

JP6562850B2 - 差分解析装置、差分解析方法及び差分解析プログラム - Google Patents

差分解析装置、差分解析方法及び差分解析プログラム Download PDF

Info

Publication number
JP6562850B2
JP6562850B2 JP2016029586A JP2016029586A JP6562850B2 JP 6562850 B2 JP6562850 B2 JP 6562850B2 JP 2016029586 A JP2016029586 A JP 2016029586A JP 2016029586 A JP2016029586 A JP 2016029586A JP 6562850 B2 JP6562850 B2 JP 6562850B2
Authority
JP
Japan
Prior art keywords
directed graph
difference
logic drawing
logic
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016029586A
Other languages
English (en)
Other versions
JP2017146878A (ja
Inventor
孝保 笠原
孝保 笠原
石田 智利
智利 石田
朋子 穐山
朋子 穐山
和己 安田
和己 安田
克年 小林
克年 小林
和寿 宮
和寿 宮
裕信 中島
裕信 中島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Power Solutions Co Ltd
Original Assignee
Hitachi Power Solutions Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Power Solutions Co Ltd filed Critical Hitachi Power Solutions Co Ltd
Priority to JP2016029586A priority Critical patent/JP6562850B2/ja
Publication of JP2017146878A publication Critical patent/JP2017146878A/ja
Application granted granted Critical
Publication of JP6562850B2 publication Critical patent/JP6562850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、差分解析装置、差分解析方法及び差分解析プログラムに関する。
機器に関する図面は、設計時、納品時等に頻繁に修正される。修正後の図面は、修正前の図面を部分的に修正することによって作成されることが多く、一見して修正前の図面と見分けがつかない。そこで、機器の設計ミス、不具合等を防ぐ観点から、よく似た図面同士の差分を知ることは極めて重要である。
特許文献1のロジック図面処理装置は、監視制御システムが機器に対して行なう監視制御の内容を示す、複数のロジック図面同士を比較する。具体的には、特許文献1のロジック図面処理装置は、比較対象である2つのロジック図面間において、異なる制御ロジックを抽出し、抽出した制御ロジックの演算要素の位置(ロジック図面上の座標値)を検出する。そして、演算要素の外形が重なるように演算要素を再配置し、2つのロジック図面を重ね合わせ、演算要素の共通部分又は差分を所定の方式で表示する。
特許第5591271号明細書
実際の設計現場においては、図面間の差分の定義が問題となる。例えば、プラントを制御するためのロジック図面を作成する場合、設計の段階ごとに、実質的に区別するべき差分の内容が様々に変化する。ロジック全体の演算機能が等価であっても、そのロジックを実現する演算要素の構成が異なれば差分が生じていると判断される場合がある一方で、そのように判断されない場合もある。また、ある演算要素に対して属性値が設定されている場合、上流の設計段階においては、属性値の相違は無視される一方で、下流の現場調整段階においては、設定値の相違は無視され得ない。さらに、演算要素の構成が同じであっても、演算要素のロジック図面上の位置が異なれば、差分が生じていると判断される場合がある。
特許文献1のロジック図面処理装置は、制御ロジックが異なる2つの演算要素、例えば “OR(論理和)”と“NOT(否定)”との差分を表示する。しかしながら、特許文献1のロジック図面処理装置は、実質的に区別するべき差分の内容を、設計の段階に応じて様々に変化させることを前提としていないことに起因し、表示される差分が画一的になっている。例えば、設計のある段階においては区別するべき差分が表示されないこともあり、他の段階においては区別する必要のない差分が表示されることもある。
そこで、本発明は、複数の図面間の差分の抽出を行うに際し、必要に応じて差分の内容を変化させて設定することを目的とする。
本発明の差分解析装置は、ロジックの等価性を定義するルールを受け付けるルール受付部と、ロジックを使用して作成された第1のロジック図面及び第2のロジック図面を受け付けるロジック図面受付部と、第1のロジック図面から要素及び信号線を抽出することにより第1のロジック図面を第1の有向グラフに変換し、第2のロジック図面から要素及び信号線を抽出することにより第2のロジック図面を第2の有向グラフに変換する有向グラフ作成部と、受け付けたルールに基づき、変換した第1の有向グラフを補正し、又は、変換した第2の有向グラフを補正する等価補正部と、第1の有向グラフと補正後の第2の有向グラフとを比較することによって、又は、第2の有向グラフと補正後の第1の有向グラフとを比較することによって、第1のロジック図面と第2のロジック図面との差分を抽出する差分抽出部と、抽出した差分を画面に表示する差分表示処理部と、を備えることを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
本発明によれば、複数の図面間の差分の抽出を行うに際し、必要に応じて差分の内容を変化させて設定することができる。
ロジック図面を説明する図である。 (a)及び(b)は、有向グラフを説明する図である。 (a)及び(b)は、部分有向グラフによる等価補正を説明する図である。 差分抽出対象となる有向グラフの例である。 ノード対応情報の例である。 差分解析装置の構成を説明する図である。 (a)及び(b)は、差分抽出対象となるロジック図面の例である。 (a)及び(b)は、要素情報の例である。 (a)及び(b)は、信号線情報の例である。 (a)及び(b)は、ノード情報の例である。 (a)及び(b)は、リンク情報の例である。 処理手順のフローチャートである。 等価ルール入力画面の例である。 等価ルール入力画面の他の例である。 類似度評価ルール入力画面の例である。 (a)は、等価補正の際のノード情報の例であり、(b)は、等価補正の際のリンク情報の例である。 ノード補正情報の例である。 差分表示画面の例である。 差分表示画面の他の例である。 変形例1を説明する図である。
以降、本発明を実施するための形態(“本実施形態”と言う)を、図等を参照しながら詳細に説明する。本実施形態において、差分解析装置は、プラント制御に使用される複数のロジック図面を比較する。
(ロジック図面)
図1に沿って、ロジック図面を説明する。一般的に“ロジック図面”とは、信号に対する論理(ロジック)処理を模式的に表現した図面である。本実施形態のロジック図面LG(図1)は、プラントの操作器から入力される信号に基づき、プラントの表示回路及び機器制御回路へ出力される信号を生成するためのものである。ロジック図面LGは、複数の要素51c等及び複数の信号線L03等(詳細は直ちに後記)を有する。信号線を介して信号が伝搬される。本実施形態における信号は、“0”又は“1”のいずれかである。
“要素”とは、入出力等の操作・動作、信号に対する演算及び機器構成等を意味する図形の総称であり、図1の符号51a〜51pに相当する。そのうち、符号51f〜51jのように、要素が信号に対する演算を意味する場合、その要素は、特に“演算要素”と呼ばれる。要素及び演算要素は、その演算等の内容に応じて、様々な形状(長方形、円形、三角形等)を有し得るが、簡単化のため、ここでの形状は長方形に統一されている。要素の“種別”とは、要素に付される文字列(“OR”等)であり、当該文字列は、入出力等の操作・動作、信号に対する演算及び機器構成等の内容を示している。以下において要素の種別の具体例を説明する。
(要素の種別)
要素のうち“IN”51c等は、操作器等からの入力点である。要素のうち“OUT”51k等は、表示回路51n及び機器制御回路への出力点である。なお、“IN”及び“OUT”の近傍に記された“51A01”等は、信号の名称である。要素のうち“開”51aは、操作器を“開”とする操作である。要素のうち“ロック”51bは、操作器を“ロック”する操作である。要素のうち“OPEN”51oは、機器制御回路が“OPEN”となる動作である。要素のうち“LOCK”51pは、機器制御回路が“LOCK”となる動作である。
演算要素のうち“AND”(図1には該当なし)は、入力される複数の信号のすべてが“1”である場合に信号“1”を出力し、それ以外の場合に“0”を出力する演算(論理積)である。演算要素のうち“OR”51jは、入力される複数の信号のうち少なくとも1つが“1”である場合に信号“1”を出力し、それ以外の場合に“0”を出力する演算(論理和)である。演算要素のうち“NOT”51f等は、入力される信号が“1”である場合に信号“0”を出力し、入力される信号が“0”である場合に信号“1”を出力する演算(否定)である。演算要素のうち“T”51iは、入力された信号を一旦保持し、信号が入力された時点から所定の時間(待機時間)が経過した時点において、その信号をそのまま出力する演算(タイマ)である。
“信号線”とは、ある要素から他の要素に信号が伝搬される際の経路を示す図形である。信号線L03等は、伝搬する信号の内容に応じて、様々な形状(実線、破線、点線等)を有し得るが、簡単化のため、ここでの形状は実線矢印に統一されている。
要素の“ポート”とは、ある要素が他の複数の要素から信号を受ける場合、他の要素ごとに定められた当該要素の受け口である。例えば図1において、異なる3つの演算要素“NOT”51f、“NOT”51g及び “NOT”51hのそれぞれから、1つの演算要素“OR”51jが信号を受ける。この場合、演算要素“OR”51jは、“ポート1”、“ポート2”及び“ポート3”を有する。そして、ポート1は、“NOT”51fからの信号を受け取り、ポート2は、“NOT”51gからの信号を受け取り、ポート3は、“NOT”51hからの信号を受け取る。
このような入力側のポートと同様に、ある要素が他の複数の要素に対して信号を出力する場合、他の要素ごとに定められた当該要素の出口を、“ポート”(出力側のポート)と呼んでもよい。
(有向グラフ)
図2(a)に沿って、有向グラフを説明する。“有向グラフ”とは、ロジック図面における各要素、各要素の種別及び各信号線等の特徴を抽出した図面である。ロジック図面LG(図1)は、あくまでもユーザによって描画され視認されることを一義的な目的としている結果、差分解析装置が高速度で処理するにはやや冗長なデータ(画像データ等)を有している。有向グラフは、差分解析装置によって高速処理されるのに相応しい最低限のデータ量を有し、“ノード”と“リンク”(詳細は直ちに後記)という簡単な構成で表示され得る。
図2(a)の有向グラフBGは、図1のロジック図面LGの特徴を抽出した例である。“ノード”とは、ロジック図面における要素に相当する図形である。要素は様々な形状を有し得るが、どのような形状の要素であっても、通常は、1種類の形状(例えば円形)のノード51c等に変換される。“リンク”とは、ロジック図面における信号線に相当する図形である。信号線は様々な形状を有し得るが、どのような形状の信号線であっても、通常は、1種類の形状(例えば実線矢印)のリンクL03等に変換される。
ノードには、ロジック図面における要素の種別が記載される。このように記載された種別(“IN”等)もまた、ノードの“種別”と呼ばれる。ノードには、ロジック図面における要素の属性も関連付けられ得る。このように関連付けられた属性を、ノードの“ラベル”と呼ぶ。リンクには、ロジック図面における信号線の入力側のポート又は出力側のポートが関連付けられ得る。このように関連付けられた属性を、リンクの“ラベル”と呼ぶ。図2(b)については、後記する。
(有向グラフにおける等価変換)
図3(a)及び図3(b)に沿って、部分有向グラフによる等価変換を説明する。有向グラフの一部を“部分有向グラフ”と呼ぶ。部分有向グラフは、有向グラフを構成する多くのノード及びリンクの一部を含む。図3(a)の部分有向グラフBGa及び図3(b)の部分有向グラフBGbは部分有向グラフの一例である。部分有向グラフBGaを見ると以下のことがわかる。
・ノード“NOT”61a、ノード“NOT”61b、 ノード“NOT”61c及びノード“OR”61dが存在する。
・ノード“NOT”61aを終点とするリンク62aが存在する。リンク62aが他のどのノードを起点としているかは不明である。
・同様に、ノード“NOT”61bを終点とするリンク62b及びノード“NOT”61cを終点とするリンク62cが存在する。リンク62b及びリンク62cが他のどのノードを起点としているかは不明である。
・ノード“NOT”61aを起点としノード“OR”61dを終点とするリンク62dが存在する。
・同様に、ノード“NOT”61bを起点としノード“OR”61dを終点とするリンク62e、及び、ノード“NOT”61cを起点としノード“OR”61dを終点とするリンク62fが存在する。
部分有向グラフBGbを見ると以下のことがわかる。
・ノード“AND”63a及びノード“NOT”63bが存在する。
・ノード“AND”63aを終点とする3本のリンク64a、リンク64b及びリンク64cが存在する。リンク64a、リンク64b及びリンク64cが他のどのノードを起点としているかは不明である。
・ノード“AND”63aを起点としノード“NOT”63bを終点とするリンク64dが存在する。
実は、図3(a)の部分有向グラフBGaと図3(b)の部分有向グラフBGbとは、論理的には完全に等価である。部分有向グラフBGaにおいて、ノード“NOT”61aへの信号、ノード“NOT”61bへの信号、及び、ノード“NOT”61cへの信号が、それぞれ、“1”、“0”及び“1”であるとする。すると、ノード“NOT”61aからノード“OR”61dへの信号、ノード“NOT”61bからノード“OR”61dへの信号、及び、ノード“NOT”61cからノード“OR”61dへの信号は、それぞれ、“0”、“1”及び“0”となる。さらに、ノード“OR”61dは、これらの信号を受け取り、“1”を出力することになる。
部分有向グラフBGbにおいて、ノード“AND”63aへの3つの信号が、それぞれ前記同様の“1”、“0”及び“1”であるとする。すると、ノード“AND”63aがノード“NOT”63bに対して出力する信号は、“0”となる。さらに、ノード“NOT”63bは、これらの信号を受け取り、“1”を出力することになる。
他の信号の例(6通りの組み合わせがある)を使用しても、結果としては、ノード“OR”61dが出力する信号は、ノード“NOT”63bが出力する信号と等しくなる。つまり、“否定の論理和は、論理積の否定と等価である”ということが論理的に保証されている。なお、図3(a)及び図3(b)の破線の四角形及び“N”については後記する。
ある部分有向グラフが、相互に等価である他の部分有向グラフに変化することはよくある。なぜならば、ロジック図面の全体的な機能は同じであっても、ユーザ(設計者)に与えられた他の設計条件に応じて、ロジック図面の部分が変化するからである。例えば、信号に対するある処理を行うための条件として、ノードの数が最大4つに限定されているとする。この場合、設計者は、図3(a)の部分有向グラフBGaのようにノードとリンクとを繋ぐことができる。しかしながら、ノードの数が最大2つに限定されることになった場合、設計者は、図3(b)の部分有向グラフBGbのようにノードとリンクとを繋ぐことを考えるかもしれない。また、当初あるノード(例えばノード61d)の入力側のポート数が特に制限を受けないために、ユーザは図3(a)のような設計をした。しかしながら、当該ポートの入力側のポート数が“1”に制限された場合、ユーザは、図3(b)に設計変更することもあるかも知れない。
差分解析装置が、“部分有向グラフBGaは、部分有向グラフBGbと等価である”と看做している場合、差分解析装置は、たとえ厳密には両者間に差分が存在しても、これを差分として抽出しない。ユーザは、このような細部の差分(設計上の微差)を無視してもよければ、このような等価ルールを適用し、無視できなければ、適用しなければよい。つまり、前記した微差を無視してもよい場合、差分解析装置は、図2(a)の有向グラフBGを図2(b)の有向グラフBGmに補正する。
図4の有向グラフBGdは、比較対象となる2つの有向グラフのうちの一方(比較先)である。比較対象となる2つの有向グラフのうちの他方(比較元)が、図2(a)の有向グラフBGである場合と、図2(b)の有向グラフBGmである場合とを対比しながら以降の説明を続ける。
(図2(a)と図4の比較)
差分解析装置は、以下の差分を抽出することになる。
差分♭1:有向グラフBGにおいては、3つのノード“NOT”51f、51g及び51hがノード“OR”51jに対して繋がっている一方、有向グラフBGdにおいては、ノード“AND”52iが3本のリンクを受け、ノード“NOT”52kに対して繋がっている。
差分♭2:ノード“IN”の数が、有向グラフBGにおいては3つである一方、有向グラフBGdにおいては4つである。
差分♭3:有向グラフBGにおいては存在しないノード“OR”53gが、有向グラフBGdにおいては存在する。
(図2(b)と図4の比較)
差分解析装置は、前記の差分♭2及び差分♭3を抽出するが、前記の差分♭1を抽出することはない。なぜなら、差分♭1は、設計上の微差として等価ルールに設定されているからである。
(類似度と差分の抽出)
図5は、ノード対応情報36の例である。差分解析装置は、2つの有向グラフを比較する際にノード対応情報36を作成する。ここでは説明を単純にするために、差分解析装置が、「有向グラフBGm(図2(b))の3つのノード“IN”のそれぞれが、有向グラフBGd(図4)の4つのノード“IN”のうちのどれに対応するか」を判断する例を説明する。
差分解析装置は、「有向グラフBGmの各ノード“IN”と有向グラフBGdの各ノード“IN”とは1対1に対応する」という前提のもとで対応関係を割り当てて行く。すると、有向グラフBGdの4つのノード“IN”のうち1つが、対応相手を有さない“差分”として抽出される。このような対応関係の組合せの候補は、4×3×2=24通り存在する。差分解析装置は、24通りの候補のうち類似度が最大となる候補を決定し、その候補の組合せにおいて、対応相手を有さないノードを差分として抽出する。
図5において、例えば“〈51c,52c〉”は、有向グラフBGmのノード51cと有向グラフBGdのノード52cとの対応関係を示す。この“〈51c,52c〉”について、“I〈51c,52c〉”及び“W〈51c,52c〉”が定義される。
I〈51c,52c〉は、“1”又は“0”のいずれかである。“1”は、差分解析装置が、ノード51cとノード52cとが対応していると看做していることを示す。“0”は、差分解析装置が、ノード51cとノード52cとが対応していないと看做していることを示す。同様に、“I〈51c,52d〉”、“I〈51c,52e〉”及び“I〈51c,52f〉”を定義するとこれらの間には以下の制約式が成り立つことがわかる。
I〈51c,52c〉+I〈51c,52d〉+I〈51c,52e〉+I〈51c,52f〉≦1
当該制約式の意味は、以下の通りである。
・制約式の左辺は、“1”又は“0”であること。
・つまり、ノード51cが、ノード52c、52d、52e及び52fのうちのいずれか1つに対応する、又は、ノード51cが、ノード52c、52d、52e及び52fのうちのいずれにも対応しないこと。
なお、前記の制約式は、ノード51cを基準とした制約式である。7つのノード(ノード51c、51d、51e、52c、52d、52e及び52f)が存在するので、制約式も7本存在することになる。
W〈51c,52c〉は、2つのノード51c及び52cがどれだけ類似しているかを数値化した“評価係数”であり、評価係数は、例えば次のような類似度評価ルールに基づき算出される。
類似度評価ルール#1:リンク先のノードの種別が同じであれば、W=“10”とする。リンク先のノードの種別が異なれば、W=“0”とする。
類似度評価ルール#2:リンク先のノードの種別が同じ群に属していれば、W=“2”とする。リンク先のノードが同じ群に属していなければ、W=“0”とする。差分解析装置は、ユーザによる設定「“AND”、“OR”及び“NOT”は論理演算子として1つの群を形成する」等を受け付ける。類似度評価ルール#2は、類似度評価ルール#1と重複してもよいし、そうでなくてもよい。例えば、ノード“AND”とノード“AND”の対応関係に対して、W=10を与えてもよいし、W=12を与えてもよい。
類似度評価ルール#3:リンク先のノードが複数ある場合は、それぞれのリンク先のノードについて種別の同異を算出し、算出結果を加算する。
図5の横軸には、前記した対応関係が並んでいる。縦軸には、対応関係の組合せの候補が並んでいる。横軸及び縦軸の交点のセルには、“I×W”の値が記憶されている。図5を全体的に見ると、以下のことがわかる。
・各行には、“I×W”の値が3つ記載されており、そのそれぞれの値は、“1×0”、“1×10”及び“1×20”のうちのいずれかであり、そのセルの位置は、前記した制約式の条件を満たしている。つまり、有向グラフBGmの3つのノードのそれぞれに対して、有向グラフBGdの4つのノードのうちの1つが、相互に重複しないように対応している。
・各行の空白のセルは、制約式に従い、その候補においてはI=“0”となる対応関係のセルである。したがって、Wがどのような値を取ったとしても常に“I×W=0”となるので、当該セルは空白となっている。
・各行に対し、3つの“I×W”の値の和が、類似度として算出されている。
さらに、例えば図5の候補4の行、図2(b)及び図4に注目すると次のことがわかる。
・図5の候補4の行において、ノード51cにはノード52cが対応し、ノード51dにはノード52eが対応し、ノード51eにはノード52fが対応している。
・図5の候補4の行において、ノード52dについての列は3つ存在するが、そのいずれもが空白になっている。つまり、ノード52dは、対応相手を有さない。
・図2(b)において、ノード51eを起点とするリンクが終点とするノードは2つ存在し、それらの種別は、“T”及び“OUT”である。図4において、ノード52fを起点とするリンクが終点とするノードは2つ存在し、それらの種別もまた、“T”及び“OUT”である。この結果図5の候補4の行において、W〈51e,52f〉=10+10=20となる。
・図2(b)において、ノード51dを起点とするリンクが終点とするノードの種別は、“AND”である。図4において、ノード52eを起点とするリンクが終点とするノードの種別もまた、“AND”である。この結果図5の候補4の行において、W〈51d,52e〉=10となる。
・図2(b)において、ノード51cを起点とするリンクが終点とするノードの種別は、“AND”である。図4において、ノード52cを起点とするリンクが終点とするノードの種別は、“OR”である。この結果図5の候補4の行において、W〈51c,52c〉=0となる。
再度図5を全体的に見る。24個の対応関係の組合せのうち、類似度が最大であるものは、候補4、候補14及び候補16であり、それらの類似度は、ともに“30”である。例が単純である結果、このような“同点1位”の結果となった。しかしながら、例えば、前記した類似度評価ルール#2の群の設定を工夫することによって、候補4の類似度が“32”となり、候補14及び候補16の類似度がともに“30”となることもある。そうすれば、最も類似度が大きい対応関係の組合せは、候補4のみに特定される。
前記のように、図5の候補4の行は、ノード52dには、対応相手が存在しないことを示している。したがって、有向グラフBGmと有向グラフBGdとの比較において、ノード52dが“差分”として抽出されることになる。前記では、ノード“IN”に限定して、差分解析装置が図2(b)の有向グラフBGmと図4の有向グラフBGdとの差分を抽出する方法を説明したが、他の種別のノードについても、差分解析装置が行なう情報処理は本質的に同様である。
(差分解析装置の構成)
図6に沿って、差分解析装置1の構成を説明する。差分解析装置1は、一般的なコンピュータである。差分解析装置1は、中央制御装置11、入力装置12、出力装置13、主記憶装置14及び補助記憶装置15を有する。これらは、バスによって相互に接続されている。補助記憶装置15は、ロジック図面31(例えば図1の符号LGに相当)、有向グラフ32(例えば図2(a)の符号BGに相当)、等価ルール33、類似度評価ルール34、ノード補正情報35、ノード対応情報36、要素情報37、信号線情報38、ノード情報39及びリンク情報40を記憶している(詳細後記)。
主記憶装置14におけるルール受付部21、ロジック図面受付部22、有向グラフ作成部23、等価補正部24、差分抽出部25及び差分表示処理部26はプログラムである。以降、“○○部は”と主体を記した場合は、中央制御装置11が、補助記憶装置15から○○部を読み出し、主記憶装置14にロードしたうえで、○○部の機能(詳細後記)を実現するものとする。
図7(a)は、ロジック図面LG1である。図7(b)は、ロジック図面LG2である。図7(a)のロジック図面LG1は、図1のロジック図面LGと同じではあるが、ロジック図面LG2と比較しやすいように再掲している。以降、差分解析装置1が、ロジック図面LG1とロジック図面LG2との差分を抽出するために使用する各情報及び処理手順を説明する。
(要素情報)
図8(a)及び図8(b)に沿って、要素情報37を説明する。要素情報37においては、図面ID欄101に記憶された図面IDに関連付けて、要素ID欄102には要素IDが、種別欄103には種別が、X座標欄104にはX座標が、Y座標欄105にはY座標が、領域欄106には領域フラグが、属性欄107には属性が、属性値欄108には属性値が記憶されている。
図面ID欄101の図面IDは、ロジック図面を一意に特定する識別子である。
要素ID欄102の要素IDは、ロジック図面の要素を一意に特定する識別子である。
種別欄103の種別は、要素の種別である。
X座標欄104のX座標は、ロジック図面における、要素のX軸の座標値(右が正の方向)である。
Y座標欄105のY座標は、ロジック図面における、要素のY軸の座標値(上が正の方向)である。
領域欄106の領域フラグは、その要素の座標値がユーザにより指定された領域に含まれることを示す“TRUE”、又は、含まれないことを示す“FALSE”のいずれかである。
属性欄107の属性は、要素のパラメータである。例えば、“WT”は、タイマのパラメータが、待機時間“Waiting Time”であることを示している。
属性値欄108の属性値は、パラメータ値である。例えば“1.0”は、待機時間が1時間であることを示す。
なお、ユーザは、抽出したい差分の内容に応じて、任意に属性欄107及び属性値欄108に対し値を設定することができる。
要素情報37は、ロジック図面ごとに存在する。要素情報37のレコードの数は、各ロジック図面の要素の数に等しい。図8(a)の要素情報37は、ロジック図面LG1(図7(a))についてのものである。図8(b)の要素情報37は、ロジック図面LG2(図7(b))についてのものであり、詳細な説明は省略する。
(信号線情報)
図9(a)及び図9(b)に沿って、信号線情報38を説明する。信号線情報38においては、図面ID欄111に記憶された図面IDに関連付けて、信号線ID欄112には信号線IDが、起点要素ID欄113には起点要素IDが、終点要素ID欄114には終点要素IDが、起点ポートID欄115には起点ポートIDが、終点ポートID欄116には終点ポートIDが記憶されている。
図面ID欄111の図面IDは、図8(a)及び図8(b)の図面IDと同じである。
信号線ID欄112の信号線IDは、ロジック図面の信号線を一意に特定する識別子である。
起点要素ID欄113の起点要素IDは、信号線の起点となる要素の要素IDである。
終点要素ID欄114の終点要素IDは、信号線の終点となる要素の要素IDである。
起点ポートID欄115の起点ポートIDは、信号線の起点となる要素のポートを一意に特定する識別子である。
終点ポートID欄116の終点ポートIDは、信号線の終点となる要素のポートを一意に特定する識別子である。
信号線情報38は、ロジック図面ごとに存在する。信号線情報38のレコードの数は、各ロジック図面の信号線の数に等しい。図9(a)の信号線情報38は、ロジック図面LG1(図7(a))についてのものである。図9(b)の信号線情報38は、ロジック図面LG2(図7(b))についてのものであり、詳細な説明は省略する。
(ノード情報)
図10(a)及び図10(b)に沿って、ノード情報39を説明する。ノード情報39においては、図面ID欄121に記憶された図面IDに関連付けて、ノードID欄122にはノードIDが、種別欄123には種別が、ラベル欄124にはラベルが、ラベル値欄125にはラベル値が記憶されている。
図面ID欄121の図面IDは、図8(a)及び図8(b)の図面IDと同じである。
ノードID欄122のノードIDは、ロジック図面から変換された有向グラフ(以降“被変換有向グラフ”と呼ぶことがある)におけるノードを一意に特定する識別子である。ここでは、分り易さのために、あるノードのノードIDは、当該ノードの変換元である要素の要素ID(図8(a)及び図8(b))と一致している。
種別欄123の種別は、被変換有向グラフにおけるノードの種別である。
ラベル欄124のラベルは、被変換有向グラフにおけるノードの属性である。
ラベル値欄125のラベル値は、被変換有向グラフにおけるノードの属性値である。
なお、あるノードの種別、ラベル及びラベル値は、当該ノードの変換元である要素の種別、属性及び属性値(図8(a)及び図8(b))とそれぞれ一致している。
ノード情報39は、被変換有向グラフごとに存在する。ノード情報39のレコードは、変換元のロジック図面の要素のうち、領域が“TRUE”であるものにのみ対応している。図10(a)のノード情報39は、ロジック図面LG1(図7(a))から変換された有向グラフについてのものである。図10(b)のノード情報39は、ロジック図面LG2(図7(b))から変換された有向グラフについてのものであり、詳細な説明は省略する。
(リンク情報)
図11(a)及び図11(b)に沿って、リンク情報40を説明する。リンク情報40においては、図面ID欄131に記憶された図面IDに関連付けて、リンクID欄132にはリンクIDが、起点ノードID欄133には起点ノードIDが、終点ノードID欄134には終点ノードIDが、ラベル1欄135にはラベル値1が、ラベル2欄136にはラベル値2が記憶されている。
図面ID欄131の図面IDは、図8(a)及び図8(b)の図面IDと同じである。
リンクID欄132のリンクIDは、被変換有向グラフにおけるリンクを一意に特定する識別子である。ここでは、分り易さのために、あるリンクのリンクIDは、当該リンクの変換元である信号線の信号線ID(図9(a)及び図9(b))と一致している。
起点ノードID欄133の起点ノードIDは、被変換有向グラフにおけるリンクの起点となるノードのノードIDである。
終点ノードID欄134の終点ノードIDは、被変換有向グラフにおけるリンクの終点となるノードのノードIDである。
ラベル1欄135のラベル値1は、被変換有向グラフにおけるリンクの起点となるノードのポートIDである。
ラベル1欄136のラベル値2は、被変換有向グラフにおけるリンクの終点となるノードのポートIDである。
なお、あるリンクの起点(終点)ノードID及びラベル値1(2)は、当該リンクの変換元である信号線の起点(終点)要素ID及び起点(終点)ポートID(図9(a)及び図9(b))とそれぞれ一致している。
リンク情報40は、被変換有向グラフごとに存在する。リンク情報40のレコードは、変換元のロジック図面の信号線のうち、起点及び終点の要素の領域がともに“TRUE”であるものにのみ対応している。図11(a)のリンク情報40は、ロジック図面LG1(図7(a))から変換された有向グラフについてのものである。図11(b)のリンク情報40は、ロジック図面LG2(図7(b))から変換された有向グラフについてのものであり、詳細な説明は省略する。
(処理手順)
図12は、処理手順のフローチャートである。以降、図12の説明に沿って、適宜のタイミングで、図13〜図19の説明を加えて行く。
ステップS201において、差分解析装置1のルール受付部21は、等価ルールを受け付ける。具体的には、第1に、ルール受付部21は、出力装置13に等価ルール入力画面71a(図13)を表示する。このとき、補正前欄72a及び補正後欄72bは空白になっている。
第2に、ルール受付部21は、補正前欄72a及び補正後欄72bに対して、ユーザがそれぞれ補正前の部分有向グラフ、及び、補正後の部分有向グラフを描画するのを受け付ける。ユーザは、編集用アイコン欄73に見本掲出されているアイコンをコピーすることによってノード等を描画する。図13の例では、ユーザは、“否定の論理和は、論理積の否定と等価である”旨入力している。なお、ユーザは、あるノード及び/又はリンクを領域指定したうえで(符号75a及び/又は75b)、繰り返し回数(符号74a及び/又は74b)を設定することができる。すると、ルール受付部21は同様の描画を指定の回数“N”だけ繰り返す。
第3に、ルール受付部21は、タイトル欄76に対してユーザが等価ルールのタイトルを入力し、適用ボタン77を押下するのを受け付ける。
第4に、ルール受付部21は、補正前の部分有向グラフ72a、補正後の部分有向グラフ72b及びタイトル76を相互に関連付けて、等価ルール33として補助記憶装置15に記憶する(図6参照)。
ユーザがルール追加ボタン78を押下する都度、ルール受付部21は、ステップS201の“第1”〜“第4”の処理を繰り返す。すると複数の等価ルール33が補助記憶装置15に蓄積されて行く。
第5に、ルール受付部21は、ユーザが設定終了ボタン79を押下するのを受け付ける。
(ロジック図面の入力)
なお、後記するステップS202においてロジック画面が入力されることになる。しかしながら、それに先んじてユーザは、ステップS201の処理の準備又は事後確認として、相互に等価であると看做すべき部分を含む2つのロジック図面を登録しておくこともできる。ユーザが等価事例設定タブ80を選択すると、等価ルール入力画面71a(図13)は、等価事例入力画面71b(図14)に遷移する。ユーザは、等価ロジックファイル読込欄81a及び81bに任意の2つのロジック図面の格納位置をそれぞれ入力する(又は格納位置とリンクしたアイコン等を選択する)。すると、ルール受付部21は、補助記憶装置15又は外部の記憶装置から当該ロジック図面を検索し、ロジック図面表示欄82a及び82bに表示する。ユーザは、タイトル欄76に対して等価ロジック図面のタイトルを入力し、適用ボタン77を押下する。すると、ルール受付部21は、ロジック図面表示欄82a及び82bに表示された2つのロジック並びに図面タイトル76を相互に関連付けて、等価ロジック図面として補助記憶装置15に記憶する。
(等価ルールの編集・削除)
等価ルール入力画面71a(図13)において、ユーザがリスト83から任意のタイトルを選択すると、ルール受付部21は、そのタイトルに関連付けられている補正前の部分有向グラフ72a及び補正後の部分有向グラフ72bを表示する。ユーザが補正前編集ボタン84a及び/又は補正後編集ボタン84bを押下すると、ルール受付部21は、補正前の部分有向グラフ72a及び/又は補正後の部分有向グラフ72bをアクティブ状態にする。この状態で、ルール受付部21は、ユーザが補正前の部分有向グラフ72a及び/又は補正後の部分有向グラフ72bを編集し、その後設定終了ボタン79を押下するのを受け付ける。そして、ルール受付部21は、編集後の等価ルールを補助記憶装置15に記憶する。アクティブ状態でユーザが不適用ボタン85を押下すると、ルール受付部21は、当該等価ルールを補助記憶装置15から削除する。このように、ユーザは、検出するべき差分のレベルを変更することができる。
(等価ロジック図面の編集・削除)
ルール受付部21は、同様の方法で、ユーザが等価ロジック図面を編集・削除することも可能である。
ステップS202において、ルール受付部21は、類似度評価ルールを受け付ける。具体的には、第1に、ルール受付部21は、出力装置13に類似度評価ルール入力画面91(図15)を表示する。
第2に、ルール受付部21は、ユーザが、ノード種別欄92aに第1の評価係数を入力するのを受け付ける。第1の評価係数は、前記の類似度評価ルール#1に対応している。
第3に、ルール受付部21は、ユーザが、ノード群欄92bに第2の評価係数を入力するのを受け付ける。第2の評価係数は、前記の類似度評価ルール#2に対応している。なお、このときルール受付部21は、ユーザが複数の群及び各群に属する種別を入力するのも受け付ける。
第4に、ルール受付部21は、ユーザが、ノード種別ごと設定欄92cのうちから任意の種別を選択するのを受け付ける。いま、ユーザは“T”を選択したとする。すると、ルール受付部21は、タイマ属性設定欄92dを表示する。
第5に、ルール受付部21は、ユーザが、属性欄93aに属性を入力し、属性値欄93bに、属性が一致した場合に与えられる第3の評価係数を入力するのを受け付ける。
第6に、ルール受付部21は、ステップS202の“第2”〜“第5”において受け付けた情報を、類似度評価ルール34(図6)として補助記憶装置15に記憶する。
ステップS203において、差分解析装置1のロジック図面受付部22は、ロジック図面を受け付ける。具体的には、第1に、ロジック図面受付部22は、ユーザが入力装置12(スキャナ等)を介して、比較対象となる2枚のロジック図面(図7(a)のロジック図面LG1及び図7(b)のロジック図面LG2)を入力するのを受け付ける。なお、ロジック図面がCAD(Computer Added Design)等の電子データとして既に存在している場合もある。この場合、ロジック図面受付部22は、スキャナで画像データを取得する必要はない。ロジック図面受付部22は、図14の等価事例入力画面71bにおいて、ロジック図面の格納位置(又は格納位置とリンクしたアイコン等)を選択肢として記載した“ロジック図面選択欄”を表示し、ユーザが選択するのを受け付けるだけでよい。受け付けた2枚のロジック図面を、“第1のロジック図面”及び“第2のロジック図面”と呼ぶ。
第2に、ロジック図面受付部22は、受け付けた2枚のロジック図面を出力装置13に表示し、ユーザが第1のロジック図面及び第2のロジック図面のそれぞれに対し、比較対象とする領域を指定するのを受け付ける。当該領域は、“指定領域”と呼ばれる。
第3に、ロジック図面受付部22は、第1のロジック図面及びその指定領域に基づき、要素情報37(図8(a))及び信号線情報38(図9(a))を作成する。
第4に、ロジック図面受付部22は、第2のロジック図面及びその指定領域に基づき、要素情報37(図8(b))及び信号線情報38(図9(b))を作成する。
ステップS204において、差分解析装置1の有向グラフ作成部23は、有向グラフを作成する。具体的には、第1に、有向グラフ作成部23は、ステップS203の“第3”において作成した要素情報37(図8(a))及び信号線情報38(図9(a))を、それぞれノード情報39(図10(a))及びリンク情報40(図11(a))に変換する。ここで変換されたノード情報39及びリンク情報40に基づいて描画される有向グラフが、“第1の有向グラフ”である。
第2に、有向グラフ作成部23は、ステップS203の“第4”において作成した要素情報37(図8(b))及び信号線情報38(図9(b))を、ノード情報39(図10(b))及びリンク情報40(図11(b))に変換する。ここで変換されたノード情報39及びリンク情報40に基づいて描画される有向グラフが、“第2の有向グラフ”である。
ステップS205において、差分解析装置1の等価補正部24は、等価補正を行う。具体的には、第1に、等価補正部24は、補助記憶装置15から等価ルール33を読み出す。
第2に、等価補正部24は、ステップS204の“第1”において作成したノード情報39及びリンク情報40と、等価ルールに含まれる補正前の部分有向グラフとを突き合わせる。そして、等価補正部24は、ノード情報39及びリンク情報40のうち補正前の部分有向グラフに一致する部分を、等価ルールに含まれる補正後の部分有向グラフで置換する。このとき、第1の有向グラフは、一部が補正後の部分有向グラフで置換されたものとなっている。この置換後の第1の有向グラフを“補正後の第1の有向グラフ”と呼ぶ。
前記した“否定の論理和は、論理積の否定と等価である”という等価ルールを適用することによって、有向グラフBG(図2(a))は、有向グラフBGm(図2(b))に補正されることになる。有向グラフを補正することは、ノード情報39及びリンク情報40の内容を変更することに他ならない。
当該補正の際、等価補正部24は、ノード情報39(図10(a))を、図16(a)のノード情報39に変更する。その変更点は以下の通りである(図2(a)及び図2(b)も参照)。
・図10(a)におけるノード51f、51g、51h及び51jについてのレコードが、図16(a)においては削除されている。
・図16(a)においては、ノード51x及び51yについてのレコードが新設されている。
当該補正の際、等価補正部24は、リンク情報40(図11(a))を、図16(b)のリンク情報40に変更する。その変更点は以下の通りである(図2(a)及び図2(b)も参照)。
・図11(a)におけるリンクL06、L07及びL08についてのレコードが、図16(b)においては削除されている。
・図16(b)においては、リンクL13についてのレコードが新設されている。
・図16(b)においては、リンクL03、L04及びL09についての終点ノードIDが変更されている。
・図16(b)においては、リンクL11及びL12についての起点ノードIDが変更されている。
・図16(b)においては、リンクL04及びL09についてのラベル値2が変更されている。
ステップS205の説明に戻り、第3に、等価補正部24は、補正の結果をノード補正情報35(図17)として、補助記憶装置15に記憶する。図17のノード補正情報35においては、図面IDに関連付けて、補正前のノードのノードID、補正後のノードのノードID及び適用された等価ルールのタイトルが記憶されている。
ステップS206において、差分解析装置1の差分抽出部25は、差分を抽出する。具体的には、差分抽出部25は、補正後の第1の有向グラフと第2の有向グラフとを比較し、差分を抽出する。このとき、差分抽出部25は、図5の説明において前記したように、補正後の第1の有向グラフに含まれるノード及びリンクの接続関係と、第2の有向グラフに含まれるノード及びリンクの接続関係とに基づき、ノード同士の評価係数を算出することにより、両者の有向グラフを比較する。
ステップS207において、差分解析装置1の差分表示処理部26は、差分を表示する。具体的には、第1に、差分表示処理部26は、出力装置13に差分表示画面94(図18)を表示する。差分表示画面94には、第1のロジック図面LG1及び第2のロジック図面LG2が表示されている。このとき、差分表示処理部26は、ステップS206において抽出した差分を強調表示(符号95)する。
ユーザは、第1のロジック図面LG1及び第2のロジック図面LG2を視認した結果、要素52gが差分となっていることを容易に理解できる。しかしながらユーザは、要素52j及び要素52kが差分として強調表示されていない理由を容易に理解しにくい。そこで、ユーザは、要素52j及び要素52kを含む領域をマウス等の入力装置12で指定する(符号96a)。この指定を“説明要求”と呼ぶ。差分表示処理部26は、説明要求を受け付ける。
第2に、差分表示処理部26は、ノード補正情報35(図17)のレコードのうち、補正後のノードのノードIDとして“52j”及び“52k”を含むレコードを取得する。そして差分表示処理部26は、取得したレコードの等価ルールのタイトルを説明欄96cに表示し、取得したレコードの補正前のノードに対応する第1のロジック図面の要素を強調表示する(符号96b)。ユーザは、等価ルールの内容を理解し、第1のロジック図面LG1の符号96bと第2のロジック図面LG2の符号96aとが論理的には等価であることを理解する。次にユーザは、第2のロジック図面LG2のある要素が、第1のロジック図面LG1のどの要素に対応しており、どの程度類似しているのかを知りたくなる。
図19もまた(図18と同じ)差分表示画面94を示している。ユーザは、例えば要素52fを含む領域をマウス等の入力装置12で指定する(符号97a)。この指定を“評価要求”と呼ぶ。差分表示処理部26は、評価要求を受け付ける。
ステップS207の説明に戻り、第3に、差分表示処理部26は、図5の候補4の行の評価係数W〈51e,52f〉の値“20”を、“要素の評価係数が大きい”のコメントとともに、評価欄97cに表示する。
その後、処理手順を終了する。
前記の例では、等価補正部24が、第1の有向グラフの一部を補正後の部分有向グラフで置換し、補正後の第1の有向グラフとしたうえで、差分抽出部25が、補正後の第1の有向グラフと第2の有向グラフとを比較する。しかしながら、等価補正部24が、第2の有向グラフの一部を補正後の部分有向グラフで置換し、補正後の第2の有向グラフとしたうえで、差分抽出部25が、補正後の第2の有向グラフと第1の有向グラフとを比較してもよい。また、前記の例では、ユーザは、説明要求及び評価要求を行う際、第2のロジック図面LG2上の領域を指定するものとした。しかしながら、ユーザは、第1のロジック図面LG1上の領域を指定してもよい。
(変形例1)
前記の図5及び図12のステップS206では、差分抽出部25が第1の有向グラフと第2の有向グラフとを比較し、2つのノードの対応関係に対して評価係数“W”を与える例を説明した。当該比較をより高精度で行なうための変形例1を図20に示す。いま、比較元及び比較先において比較対象となっているノードを擬人化して“本人”と呼ぶ。同様に、本人から信号が直接伝搬されていく先のノードを“子”と呼び、子から信号が直接伝搬されていく先のノードを“孫”と呼ぶ。この様子が図20に示されている。
前記の例と同様、差分抽出部25は、本人1と本人2との対応関係に対して“20”等の評価係数“E”を与える。しかしながら、差分抽出部25は、例えば、子11と子21との対応関係に対しても評価係数“E”を与え、本人同士の対応関係の評価係数“E”に加算してもよい。さらに、差分抽出部25は、例えば孫111と孫211との対応関係に対しても評価係数“E”を与え、本人同士の対応関係の評価係数“E”に加算してもよい。なお、“E”の算出方法は、“E”の算出方法(ノードの種別・群の同異、そのノードに接続されているノードの種別・群の同異等の基づき算出する)に準ずる。
前記したように、比較元のあるノードと比較先のあるノードとの対応関係に“I”が定義される。“I=1”である場合、差分抽出部25は、両者のノードが対応していると看做している。“I=0”である場合、差分抽出部25は、両者のノードが対応していないと看做している。そこで、差分抽出部25は、本人同士の対応関係が“I=1”でありかつ子若しくは孫同士の対応関係も“I=1”である場合、又は、本人同士の対応関係が“I=0”でありかつ子若しくは孫同士の対応関係も“I=0”である場合を“強化ケース”とする。
一方、差分抽出部25は、本人同士の対応関係が“I=1”でありかつ子若しくは孫同士の対応関係が“I=0”である場合、又は、本人同士の対応関係が“I=0”でありかつ子若しくは孫同士の対応関係が“I=1”である場合を“緩和ケース”とする。そして、差分抽出部25は、本人同士の対応関係に対し、強化ケースにおいては所定の基準値よりも大きな評価係数を与え、緩和ケースにおいて所定の基準値よりも小さな評価係数を与る。このような評価係数を“E”とする。例えば、本人同士の対応関係が“I=1”であり、比較元の子と比較先の子との間に、“I=1”の対応関係が1つ存在し、“I=0”の対応関係も1つ存在するとする。そして、大きな評価係数が“20”であり、小さな評価係数が“5”であるとする。この場合、本人同士の対応関係に対して与えられる“E”は、“20+5=25”である。
なお、同様に、本人へ信号が直接伝搬されてくる元のノードを“親”と呼び、親へ信号が直接伝搬されてくる元のノードを“親の親”と呼ぶ。前記の説明の“子”を“親”に読み替え、“孫”を“親の親”と読み替えてもよい。
さらに、比較元における本人に対応する要素の位置(座標値)と、比較先における本人に対応する要素の位置との間の距離が所定の閾値よりも小さい場合、これらの本人同士の対応関係に対して評価係数“E”を与えてもよい。結局、差分抽出部25は、本人同士の対応関係に対して、“W=k+k+k+k”を与えることになる。k、k、k及びkは、重みである。ユーザは、重みの値を任意に設定することができる。
(変形例2)
ユーザは、ある要素の識別子(要素ID)を引き継ぎつつ、設計の諸段階でその要素の種別又は属性を変化させて行くこともある。例えば、要素IDを“51”に維持したまま、その要素の種別を“OR”から“AND”に変更することがある。このような要素を“同一性維持要素”と呼ぶ。このような場合、差分抽出部25は、同一性維持要素に対応するノードのノードIDも変化させずに同一に維持する。そして、差分抽出部25は、ノード同士の対応関係に対して評価係数を与えるとき、ノードIDが同じノードの対応関係に対しては、ノードに関連付けられている他の情報の如何にかかわらず、評価係数の最大値を与える。つまり、差分抽出部25は、このような組合せのノードを同じものと看做す。
(変形例3)
差分解析装置1は、前記した処理手順のステップの順番のうちの一部をユーザが望むように変化させてもよい。具体的には、差分解析装置1は、処理手順が始まる前に、“等価ルール設定”ボタン、“類似度評価ルール設定”ボタン、“ロジック図面入力”ボタン及び“差分評価実行・確認”ボタンを出力装置13に表示する。
ユーザが“等価ルール設定”ボタンを押下すると、差分解析装置1は、前記したステップS201を実行する。ユーザが“類似度評価ルール設定”ボタンを押下すると、差分解析装置1は、前記したステップS202を実行する。ユーザが“ロジック図面入力”ボタンを押下すると、差分解析装置1は、前記したステップS203を実行する。ユーザが“差分評価実行・確認”ボタンを押下すると、差分解析装置1は、前記したステップS204〜S207を実行する。なお、ユーザは、“等価ルール設定”ボタン、“類似度評価ルール設定”ボタン及び“ロジック図面入力”ボタンのそれぞれを任意の順序で押下できる。ユーザは、これら3つのボタンをすべて押下した後でなければ、“差分評価実行・確認”ボタンを押下することができない。
(変形例4)
前記では、差分解析装置1は、ロジック図面の要素の形状の差分及び信号線の形状の差分を表示するべき差分としない例を説明した。しかしながら、等価ルールにこれらの差分を反映させ、類似度評価ルールにこれらの一致に対する評価係数を反映させることによって、差分解析装置1は、これらの相違を表示するべき差分として認識できるようになる。
(変形例5)
例えば、設計の上流段階において、要素の位置の一致に対する評価係数を小さくしておけば、差分解析装置1は、要素の細かな位置の差分を表示しない。設計の下流段階において、当該評価係数を徐々に大きくして行けば、差分解析装置1は、要素の細かな位置の差分を表示するようになる。
また、前記では、末端の要素(“開”、“OPEN”等)が指定領域に含まれない例を説明した。しかしながら、仮想的な要素“NULL”を創設し、末端の要素が“NULL”に繋がるものとすれば、末端の要素も指定領域に含まれ得る。
なお、本実施形態の情報処理を容易に実現するために変数、制約条件、評価関数等を設定するに際し、混合整数計画法、線形計画法等の数理計画法を使用することができる。
(実施形態の効果)
本実施形態は、以下の効果を奏する。
(1)差分解析装置は、等価ルールを必要に応じて柔軟に変化させることによって、抽出するべきロジック図面同士の差分を変化させることができる。
(2)差分解析装置は、等価ルールを容易かつ確実にユーザに定義させることができる。
(3)差分解析装置は、有向グラフの一部を部分有向グラフに置換することにより、有向グラフ同士の差分のうち抽出する必要がないものを確実に無視することができる。
(4)差分解析装置は、ロジック図面のどの部分が差分となるのかをユーザに容易に視認させることができる。
(5)差分解析装置は、有向グラフ同士の差分の抽出を客観的かつ高精度で行なうことができる。
(6)差分分析装置は、ユーザが同じ識別子を割り当てたノード同士を、無条件で同じものであると看做すことができる。
(7)差分解析装置は、ユーザが真に比較したいロジック画面の部分をユーザに指定させることができる。
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、前記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウエアで実現してもよい。また、前記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウエアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
1 差分解析装置
11 中央制御装置
12 入力装置
13 出力装置
14 主記憶装置(記憶部)
15 補助記憶装置(記憶部)
21 ルール受付部
22 ロジック図面受付部
23 有向グラフ作成部
24 等価補正部
25 差分抽出部
26 差分表示処理部
31 ロジック図面
32 有向グラフ
33 等価ルール
34 類似度評価ルール
35 ノード補正情報
36 ノード対応情報
37 要素情報
38 信号線情報
39 ノード情報
40 リンク情報

Claims (9)

  1. ロジックの等価性を定義するルールを受け付けるルール受付部と、
    前記ロジックを使用して作成された第1のロジック図面及び第2のロジック図面を受け付けるロジック図面受付部と、
    前記第1のロジック図面から要素及び信号線を抽出することにより前記第1のロジック図面を第1の有向グラフに変換し、前記第2のロジック図面から要素及び信号線を抽出することにより前記第2のロジック図面を第2の有向グラフに変換する有向グラフ作成部と、
    前記受け付けたルールに基づき、前記変換した第1の有向グラフを補正し、又は、前記変換した第2の有向グラフを補正する等価補正部と、
    前記第1の有向グラフと前記補正後の第2の有向グラフとを比較することによって、又は、前記第2の有向グラフと前記補正後の第1の有向グラフとを比較することによって、前記第1のロジック図面と前記第2のロジック図面との差分を抽出する差分抽出部と、
    前記抽出した差分を画面に表示する差分表示処理部と、
    を備えることを特徴とする差分解析装置。
  2. 前記ルール受付部は、
    前記有向グラフの部分のうち相互に等価であると看做される部分有向グラフをユーザが画面上で描画するのを受け付けること、
    を特徴とする請求項1に記載の差分解析装置。
  3. 前記等価補正部は、
    前記変換した第1の有向グラフ又は前記変換した第2の有向グラフの一部を、前記受け付けた部分有向グラフに置換することによって、前記変換した第1の有向グラフ又は前記変換した第2の有向グラフを補正すること、
    を特徴とする請求項2に記載の差分解析装置。
  4. 前記差分表示処理部は、
    前記抽出した差分を、前記第1のロジック図面及び前記第2のロジック図面を表示する画面上に併せて表示すること、
    を特徴とする請求項3に記載の差分解析装置。
  5. 前記差分抽出部は、
    前記有向グラフに含まれるノード及びリンクの接続関係に基づき前記ノード同士の類似の程度を数値化した評価係数を算出することにより前記有向グラフ同士を比較すること、
    を特徴とする請求項4に記載の差分解析装置。
  6. 前記差分抽出部は、
    前記ノードを識別する情報が一致する場合は、前記ノードに関連付けられる他の情報の如何にかかわらず、前記ノードが同一であると看做すこと、
    を特徴とする請求項5に記載の差分解析装置。
  7. 前記ロジック図面受付部は、
    前記ユーザが、前記第1のロジック図面及び前記第2のロジック図面のそれぞれに対し、比較対象となる領域を指定するのを受け付け、
    前記差分抽出部は、
    前記受け付けた領域において、前記差分を抽出すること、
    を特徴とする請求項6に記載の差分解析装置。
  8. 差分解析装置のルール受付部は、
    ロジックの等価性を定義するルールを受け付け、
    前記差分解析装置のロジック図面受付部は、
    前記ロジックを使用して作成された第1のロジック図面及び第2のロジック図面を受け付け、
    前記差分解析装置の有向グラフ作成部は、
    前記第1のロジック図面から要素及び信号線を抽出することにより前記第1のロジック図面を第1の有向グラフに変換し、前記第2のロジック図面から要素及び信号線を抽出することにより前記第2のロジック図面を第2の有向グラフに変換し、
    前記差分解析装置の等価補正部は、
    前記受け付けたルールに基づき、前記変換した第1の有向グラフを補正し、又は、前記変換した第2の有向グラフを補正し、
    前記差分解析装置の差分抽出部は、
    前記第1の有向グラフと前記補正後の第2の有向グラフとを比較することによって、又は、前記第2の有向グラフと前記補正後の第1の有向グラフとを比較することによって、前記第1のロジック図面と前記第2のロジック図面との差分を抽出し、
    前記差分解析装置の差分表示処理部は、
    前記抽出した差分を画面に表示すること、
    を特徴とする前記差分解析装置の差分解析方法。
  9. 差分解析装置のルール受付部に対し、
    ロジックの等価性を定義するルールを受け付ける処理を実行させ、
    前記差分解析装置のロジック図面受付部に対し、
    前記ロジックを使用して作成された第1のロジック図面及び第2のロジック図面を受け付ける処理を実行させ、
    前記差分解析装置の有向グラフ作成部に対し、
    前記第1のロジック図面から要素及び信号線を抽出することにより前記第1のロジック図面を第1の有向グラフに変換し、前記第2のロジック図面から要素及び信号線を抽出することにより前記第2のロジック図面を第2の有向グラフに変換する処理を実行させ、
    前記差分解析装置の等価補正部に対し、
    前記受け付けたルールに基づき、前記変換した第1の有向グラフを補正し、又は、前記変換した第2の有向グラフを補正する処理を実行させ、
    前記差分解析装置の差分抽出部に対し、
    前記第1の有向グラフと前記補正後の第2の有向グラフとを比較することによって、又は、前記第2の有向グラフと前記補正後の第1の有向グラフとを比較することによって、前記第1のロジック図面と前記第2のロジック図面との差分を抽出する処理を実行させ、
    前記差分解析装置の差分表示処理部に対し、
    前記抽出した差分を画面に表示する処理を実行させること、
    を特徴とする、前記差分解析装置を機能させるための差分解析プログラム。
JP2016029586A 2016-02-19 2016-02-19 差分解析装置、差分解析方法及び差分解析プログラム Active JP6562850B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016029586A JP6562850B2 (ja) 2016-02-19 2016-02-19 差分解析装置、差分解析方法及び差分解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016029586A JP6562850B2 (ja) 2016-02-19 2016-02-19 差分解析装置、差分解析方法及び差分解析プログラム

Publications (2)

Publication Number Publication Date
JP2017146878A JP2017146878A (ja) 2017-08-24
JP6562850B2 true JP6562850B2 (ja) 2019-08-21

Family

ID=59681571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016029586A Active JP6562850B2 (ja) 2016-02-19 2016-02-19 差分解析装置、差分解析方法及び差分解析プログラム

Country Status (1)

Country Link
JP (1) JP6562850B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019219769A (ja) * 2018-06-15 2019-12-26 富士ゼロックス株式会社 情報処理装置及びプログラム
CN120510247A (zh) * 2025-05-12 2025-08-19 南方电网储能股份有限公司西部检修试验分公司 一种基于图码定位全回路示图的二次系统绘图系统
CN120973650B (zh) * 2025-10-20 2026-01-27 中国核动力研究设计院 核安全级dcs系统工程应用软件逻辑对比方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822483A (ja) * 1994-07-07 1996-01-23 Toshiba Corp 機能記述の最適化システム
JP3148809B2 (ja) * 1997-04-10 2001-03-26 松下電器産業株式会社 モジュール合成装置
JP2000003382A (ja) * 1998-06-11 2000-01-07 Hitachi Ltd インクリメンタル論理生成方法
JP2010244150A (ja) * 2009-04-02 2010-10-28 Mitsubishi Electric Corp 図面管理装置

Also Published As

Publication number Publication date
JP2017146878A (ja) 2017-08-24

Similar Documents

Publication Publication Date Title
US7530014B2 (en) Data processing and difference computation for generating addressing information
US8387010B2 (en) Automatic software configuring system
JP5005510B2 (ja) ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム
JP6562850B2 (ja) 差分解析装置、差分解析方法及び差分解析プログラム
JP5747698B2 (ja) 要件管理支援装置
JP2015099564A (ja) 視覚プログラミング装置およびその制御方法
CN102707938B (zh) 表形式软件规格制作支援方法及装置
US20090031276A1 (en) Design Apparatus, Design Method, and Program
CN116501742A (zh) 一种简单灵活的表格数据采集输出方法、介质及系统
JP6247976B2 (ja) ルール管理支援装置、およびルール管理支援方法
JP6336922B2 (ja) 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置
US7941456B2 (en) Information management method, information management program and information management apparatus
JP2002014845A (ja) テスト・スクリプト部品の自動生成方法および装置
JP6775740B1 (ja) 設計支援装置、設計支援方法及び設計支援プログラム
JP5504212B2 (ja) テストケース自動生成システム、テストケース自動生成方法、およびテストケース自動生成プログラム
JP7134068B2 (ja) プロダクトライン開発支援装置
WO2021205823A1 (ja) 生産知識管理システム、生産知識管理方法及び生産知識管理プログラム
JP4663526B2 (ja) 帳票作成支援装置、帳票作成支援方法、および帳票作成支援プログラム
JP6475288B2 (ja) プログラム比較方法、プログラム比較装置およびプログラム比較プログラム
JP7795032B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6541353B2 (ja) 情報処理システム、情報処理方法およびプログラム
JP4988367B2 (ja) 約款に係る業務システム開発方法
US20250278558A1 (en) Enhanced automatic form processing using a knowledge graph data strucrture and a large language model
US20220317869A1 (en) Storage medium, screen generation assisting apparatus, and generation assisting method
JP3722854B2 (ja) データ編集装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190708

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190723

R150 Certificate of patent or registration of utility model

Ref document number: 6562850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150