(57)【要約】【課題】産業用機器の制御内容を表す制御データ間の比較をより容易とする。【解決手段】データ編集比較装置１０は、産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイ１４に表示させる表示制御部４２と、ユーザによる複数の異なる制御データの指定を受け付ける比較対象指定受付部５０と、指定された複数の制御データの間の差分を取得するデータ比較部５２と、を備える。表示制御部４２は、指定された複数の制御データのうちの少なくともひとつを図形要素を使用してディスプレイ１４に表示させる際、データ比較部５２によって取得された差分に対応する部分をそうでない部分とは異なる態様で表示させる。【選択図】図１
2014006717.tif 000002
【特許請求の範囲】
【請求項１】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、
ユーザによる複数の異なる制御データの指定を受け付ける指定受付部と、
指定された複数の制御データの間の差分を取得する差分取得部と、を備え、
前記表示制御部は、指定された複数の制御データのうちの少なくともひとつを図形要素を使用してディスプレイに表示させる際、前記差分取得部によって取得された差分に対応する部分をそうでない部分とは異なる態様で表示させることを特徴とするデータ比較装置。
【請求項２】
前記差分取得部は、図形要素の配置に関する差分を取得することを特徴とする請求項１に記載のデータ比較装置。
【請求項３】
前記差分取得部は、制御内容に関する差分を取得することを特徴とする請求項１または２に記載のデータ比較装置。
【請求項４】
前記表示制御部は、前記差分取得部によって取得された差分に対応する部分を強調して表示させることを特徴とする請求項１から３のいずれかに記載のデータ比較装置。
【請求項５】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用して表示するステップと、
ユーザによる複数の異なる制御データの指定を受け付けるステップと、
指定された複数の制御データの間の差分を取得するステップと、
指定された複数の制御データのうちの少なくともひとつを図形要素を使用して表示する際、取得された差分に対応する部分をそうでない部分とは異なる態様で表示するステップと、を含むことを特徴とするデータ比較方法。
【請求項６】
産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる機能と、
ユーザによる複数の異なる制御データの指定を受け付ける機能と、
指定された複数の制御データの間の差分を取得する機能と、
指定された複数の制御データのうちの少なくともひとつを図形要素を使用してディスプレイに表示させる際、取得された差分に対応する部分をそうでない部分とは異なる態様で表示させる機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用機器の制御内容を表す制御データの比較技術に関する。
【背景技術】
【０００２】
現在、多くの産業用機器に組み込みシステムが使用されている。組み込みシステムは特定の機能を実現するためのコンピュータシステムの総称であり、特に特定の機能を実現するための必要十分条件を満たす、選択および交換不可能なハードウエアとプログラムで構成されるコンピュータシステムであると言ってもよい。
【０００３】
組み込みシステムのソフトウエアの開発では、ラダー言語やシーケンシャル・ファンクション・チャートなどの制御内容の図的な表現が可能な言語が使用されることが多い。さらに本出願人は特許文献１において、プログラム開発効率の向上を目指し、図的なプログラミング言語を使用した編集技術を提案している。
【０００４】
ソフトウエアの開発においては、追加修正を行っていく上で過去のソースファイルとの差分を抽出し検討することが比較的頻繁に行われる。従来のソフトウエア開発環境においては、例えば特許文献２に記載されるようなテキストベースでの差分検索、表示機能が使用される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７１７６８号公報
【特許文献２】国際公開第０８／１２９６１９号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
図的なプログラミング言語で記述されたソフトウエアについても差分を抽出して検討する作業は発生する。現状では、例えば図的な表現をテキストベースの表現に変換した上で特許文献２に記載されるような差分検索、表示技術を適用することが考えられるが、これは手間である。図的なプログラミング言語は、ソフトウエアの制御内容を図的に表現することで理解しやすくするという主旨で開発されたものであるから、差分の抽出についてもその主旨に沿った手法の登場が望まれている。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、産業用機器の制御内容を表す制御データ間の比較をより容易とする技術の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様はデータ比較装置に関する。このデータ比較装置は、産業用機器の制御内容を表す制御データを、制御内容を構成する処理単位に対応する図形要素を使用してディスプレイに表示させる表示制御部と、ユーザによる複数の異なる制御データの指定を受け付ける指定受付部と、指定された複数の制御データの間の差分を取得する差分取得部と、を備える。表示制御部は、指定された複数の制御データのうちの少なくともひとつを図形要素を使用してディスプレイに表示させる際、差分取得部によって取得された差分に対応する部分をそうでない部分とは異なる態様で表示させる。
【０００９】
この態様によると、差分取得部によって取得された差分に対応する部分はそうでない部分とは異なる態様でディスプレイに表示される。
【００１０】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、産業用機器の制御内容を表す制御データ間の比較をより容易とすることができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るデータ編集比較装置の機能および構成を示すブロック図である。
【図２】図１の制御データ保持部の一例を示すデータ構造図である。
【図３】接続極性を説明するための模式図である。
【図４】図形要素を使用して制御データを表示するデータ表示画面の代表画面図である。
【図５】図形要素を使用して第３制御データを表示する別のデータ表示画面の代表画面図である。
【図６】図形要素を使用して第４制御データを表示する別のデータ表示画面の代表画面図である。
【図７】図形要素を使用して第５制御データを表示する別のデータ表示画面の代表画面図である。
【図８】図１のデータ比較部における一連の処理の一例を示すフローチャートである。
【図９】第３制御データと第４制御データとの比較結果を示す比較結果表示画面の代表画面図である。
【図１０】第３制御データと第５制御データとの比較結果を示す別の比較結果表示画面の代表画面図である。
【発明を実施するための形態】
【００１３】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１４】
実施の形態に係るデータ編集比較装置は、産業用機器の組み込みシステムを制御するためのソフトウエアを開発する環境に設けられる。ユーザはデータ編集比較装置を使用して所望の制御内容を表す制御データを生成し、生成された制御データをデータ編集比較装置に保持させる。データ編集比較装置は制御データの編集に際し、制御データを、処理単位に対応する図形要素を使用してディスプレイに表示させる。データ編集比較装置は制御データを、Ｃ言語などのテキストベースのプログラミング言語で記述されたソースプログラムに変換すなわちコンパイルする。
【００１５】
データ編集比較装置によって生成されたソースプログラムはそのまま、もしくはさらに機械語へ翻訳された後、ターゲットボードに実装され、様々な産業用機器のシミュレーションに利用される。また、ソースプログラムを組み込みシステムに導入することで、産業用機器を直接駆動・制御することができる。
【００１６】
制御データは、ディスプレイにおける図形を用いた表示に適合した形式を有していてもよい。例えば制御データは、サーボ制御やフィードバック制御などのループを含む制御を好適に表せるブロック線図に対応するデータであってもよい。あるいはまた、制御データは、組み込みシステムのシーケンス制御を記述するのに好適なラダー図やシーケンシャル・ファンクション・チャートや特許文献１に記載される表現に対応するデータであってもよい。
【００１７】
処理単位は、制御内容を構成する処理の単位であり、特に処理の流れにおけるひとつの処理またはひとまとまりの処理であってもよい。例えば処理単位は、条件とそれに対する応答という処理の流れにおいては、条件や応答であってもよい。例えば処理単位は、入力とそれに対する出力という処理の流れにおいては、入力や出力であってもよい。例えば処理単位は、シーケンス制御の場合はシーケンスのステップであってもよく、ブロック線図の場合はブロックに対応する処理であってもよい。
【００１８】
実施の形態に係るデータ編集比較装置は、上記のような図的なプログラム開発環境を提供する。また、データ編集比較装置は、そのような図的なプログラム開発環境において、テキストベースでの差分検索・表示機能に代えてまたは加えて、ブロック図等で図的に記述される制御データの間の差分を検索し、図的に表示する機能を提供する。これにより、制御データの開発者以外のコントローラユーザが制御データの内部のモニタやデータ収集を行う際、ソースファイルもしくは変数とアドレス値の対応等、制御データ内部の情報を意識する必要はなくなる。これにより、容易にかつ自由度高く内部のモニタ、データ収集を可能にする環境を提供することが可能となる。
【００１９】
図１は、実施の形態に係るデータ編集比較装置１０の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００２０】
データ編集比較装置１０は、マウスやキーボードなどの入力装置１２およびディスプレイ１４と接続される。データ編集比較装置１０は不図示のインターネットなどのネットワークと接続されていてもよい。
データ編集比較装置１０は、制御データ編集部４０と、コンパイル部４４と、表示制御部４２と、比較対象指定受付部５０と、データ比較部５２と、差分表示指定受付部５４と、制御データ保持部１６と、差分データ保持部１８と、を備える。
【００２１】
図２は、制御データ保持部１６の一例を示すデータ構造図である。図２の例では制御データ保持部１６は第１制御データ２０と第２制御データ２２とを含む。第１制御データ２０、第２制御データ２２はそれぞれ２つの処理単位を含む。各処理単位に対応する箱などの図形要素は、図形要素を一意に特定するＩＤすなわち名称と、処理の種類と、記述されるテキスト内容と、接続元と、接続先と、接続極性と、位置座標と、属する制御データ名等と、を属性として持ち、これらは構造体２４、２６、２８、３０として制御データに格納される。
【００２２】
処理の種類は、条件処理であるかそれとも応答処理であるかを示す情報であってもよい。あるいはまた、ラダー図の場合は入力処理であるかそれとも出力処理であるかを示す情報であってもよい。接続極性は、次の図形要素への接続が正論理か負論理かを示す。接続先は複数存在してもよい。接続元、接続先はそれぞれ処理単位間の因果関係を示す。
【００２３】
なお、因果関係は、条件に対する応答の関係であってもよいし、入力に対する出力の関係であってもよい。あるいはまた、因果関係は処理単位間の順序であってもよい。処理単位間の順序は、一連の処理において処理単位が実行される順序であってもよい。
【００２４】
例えば、図２において第１制御データ２０に含まれる構造体２４に対応する図形要素は、名称「A」、処理の種類「Condition」、テキスト内容「A==1」、接続元「NULL」、接続先「B」、接続極性「正論理」、位置座標「(Xa,Ya)」、属する制御データ名「Original」、を属性として有する。
【００２５】
図３は、接続極性を説明するための模式図である。「A==1」の箱から「B=1」の箱への矢印３２に丸印が付されていない場合、それらの間の接続は正論理である。すなわち、「A==1」が成立した場合、「B=1」を実行する。「A==1」の箱から「B=1」の箱への矢印３４に丸印３６が付されている場合、それらの間の接続は負論理である。すなわち、「A==1」が成立していない場合、「B=1」を実行する。
【００２６】
図１に戻り、制御データ編集部４０は、入力装置１２および表示制御部４２と協働して、インタラクティブな制御データの編集を可能とする。制御データ編集部４０は、ユーザから入力装置１２を介して入力される入力情報に基づいて制御データを編集し、編集された制御データを制御データ保持部１６に登録する。制御データの編集は、新たに制御データを生成することと、既存の制御データを例えば制御データ保持部１６から呼び出して変更することと、を含む。制御データ編集部４０においては、例えば公知のラダー図編集技術や、特許文献１に記載されるような公知の図的プログラム編集技術が使用されてもよい。
あるいはまた、制御データ編集部４０は、外部記憶装置やネットワーク（いずれも不図示）などから制御データを取得してもよい。
【００２７】
コンパイル部４４は、ユーザからの要求に基づき、制御データ保持部１６によって保持される制御データをソースプログラムに変換する。ソースプログラムは、産業用機器の組み込みシステムで実行可能な形式を有していてもよい。ラダー図やブロック線図などの図的な表現に対応する制御データをソースプログラムに変換する技術は公知である。
【００２８】
表示制御部４２は、ユーザからの要求に基づき、制御データ保持部１６によって保持される制御データを、箱や矢印などの図形要素を使用してディスプレイ１４に表示させる。
【００２９】
図４は、図形要素を使用して制御データを表示するデータ表示画面６０の代表画面図である。データ表示画面６０は図２に示される制御データ保持部１６に対応する。データ表示画面６０は、図形要素を使用して第１制御データ２０が表示される第１データ表示領域６２と、図形要素を使用して第２制御データ２２が表示される第２データ表示領域６４と、を有する。
【００３０】
第１データ表示領域６２には、テキスト内容「A==1」を有する構造体２４に対応する第１箱６６と、テキスト内容「B=1」を有する構造体２６に対応する第２箱６８と、第１矢印７４と、が表示される。第１矢印７４は、構造体２４、２６の接続元、接続先、接続極性、位置座標、に基づき表示される。
第２データ表示領域６４には、テキスト内容「A==1」を有する構造体２８に対応する第３箱７０と、テキスト内容「B=1」を有する構造体３０に対応する第４箱７２と、第２矢印７６と、が表示される。第２矢印７６は、構造体２８、３０の接続元、接続先、接続極性、位置座標、に基づき表示される。
【００３１】
図５は、図形要素を使用して第３制御データを表示する別のデータ表示画面７８の代表画面図である。データ表示画面７８は、第３制御データで使用される変数やその値が表示される変数表示領域８０と、図形要素を使用して第３制御データの制御内容が表示される制御内容表示領域８２と、を有する。制御内容表示領域８２は、処理単位に対応する箱群と、箱と箱との間に設けられる矢印群と、を主に含む。
制御内容表示領域８２には、「「A==1」が成立した場合「B=1」を実行し、「A==1が成立していない場合「B=0」を実行する」という一連の処理が表示されている。
【００３２】
図６は、図形要素を使用して第４制御データを表示する別のデータ表示画面８４の代表画面図である。第４制御データは、第３制御データの変数名「B」を変数名「C」に変更したものである。
【００３３】
図７は、図形要素を使用して第５制御データを表示する別のデータ表示画面８６の代表画面図である。第５制御データは、第３制御データの「B=1」の箱および「B=0」の箱を所定距離下方に移動させたものである。処理単位間の因果関係に変更はないので、第５制御データの制御内容は第３制御データの制御内容と同等である。
【００３４】
図１に戻り、比較対象指定受付部５０は、入力装置１２を介して、ユーザによる複数の異なる制御データの指定を受け付ける。特に比較対象指定受付部５０は、比較元の制御データおよび比較先の制御データの指定を受け付ける。
【００３５】
データ比較部５２は、比較元の制御データと比較先の制御データとを比較し、それらの差分を導出する。データ比較部５２は、比較元の制御データの全ての図形要素について、属性について１つずつ比較を行い、属する制御データ名以外に差異があるものを差分データとして差分データ保持部１８に格納する。
【００３６】
図８は、データ比較部５２における一連の処理の一例を示すフローチャートである。データ比較部５２は、制御データ保持部１６によって保持される比較元の制御データを参照し、その制御データに含まれる構造体であってこれまで選択されていない構造体を選択する（Ｓ２０２）。データ比較部５２は、制御データ保持部１６によって保持される比較先の制御データを参照し、その制御データに、ステップＳ２０２で選択された構造体に対応する構造体が含まれるか否かを判定する（Ｓ２０４）。含まれると判定された場合（Ｓ２０４のＹ）、データ比較部５２は、ステップＳ２０２で選択された構造体と、それに対応する比較先の制御データの構造体と、に差があるか否かを判定する（Ｓ２０６）。
【００３７】
差があると判定された場合（Ｓ２０６のＹ）またはステップＳ２０４において含まれないと判定された場合（Ｓ２０４のＮ）、データ比較部５２は、ステップＳ２０２で選択された構造体について差分データを生成し、差分データ保持部１８に登録する（Ｓ２０８）。差分データは、比較元の制御データ名と、比較先の制御データ名と、ステップＳ２０６で導出された差についての情報と、を含む。差についての情報は、例えば構造体のどの属性がどのように異なるかを示す情報である。
【００３８】
差分データの生成に際し、データ比較部５２は、ステップＳ２０６で比較される２つの構造体間の差は、制御内容の違いによるものか否かを判定する（Ｓ２１０）。具体的には、データ比較部５２は、２つの構造体間の差が位置座標の差のみであるか、それ以外の属性の差を含むかを判定する。データ比較部５２は、前者の場合、２つの構造体に関して制御内容に違いはないと判定し、後者の場合、制御内容にも違いがあると判定する。
【００３９】
２つの構造体に関して制御内容に違いはないと判定された場合（Ｓ２１０のＮ）、データ比較部５２は、ステップＳ２０８で生成、登録された差分データに、２つの構造体間の差について制御内容は同等であることを記録する（Ｓ２１２）。例えば、差分データは、制御内容が同等であるか否かを示す同等フラグを有する。データ比較部５２は、２つの構造体に関して制御内容に違いはないと判定された場合、その同等フラグを立てる。
【００４０】
ステップＳ２０６において差がないと判定された場合（Ｓ２０６のＮ）またはステップＳ２１０において制御内容に違いがあると判定された場合（Ｓ２１０のＹ）またはステップＳ２１２において差分データが更新されると、データ比較部５２は、比較元の制御データに含まれる全ての構造体が選択されたか否かを判定する（Ｓ２１４）。選択されていない構造体が存在すると判定された場合（Ｓ２１４のＮ）、処理はステップＳ２０２に戻る。全ての構造体が選択されたと判定された場合（Ｓ２１４のＹ）、データ比較部５２は、比較先の制御データに含まれる全ての構造体が、ステップＳ２０６において比較されたか否かを判定する（Ｓ２１６）。比較されていない構造体が存在すると判定された場合（Ｓ２１６のＮ）、データ比較部５２は、比較されていない構造体について差分データを生成し、差分データ保持部１８に登録する（Ｓ２１８）。ステップＳ２１８において差分データが更新されるとまたはステップＳ２１６において全ての構造体が選択されたと判定された場合（Ｓ２１６のＹ）、処理は終了する。
【００４１】
図２および図４に示される第１制御データ２０を比較元の制御データ、第２制御データ２２を比較先の制御データとする例について説明する。データ比較部５２は、第１制御データ２０の第１箱６６の構造体２４について、対応する構造体を第２制御データ２２から検索する。データ比較部５２は、属する制御データ名以外が全て等しい箱の構造体が第２制御データ２２に存在するので（第３箱７０の構造体２８）、構造体２４についての検索を終了し、構造体２４（第１箱６６）に関する差分データを生成しない。データ比較部５２は、第１制御データ２０の第２箱６８の構造体２６について、対応する構造体を第２制御データ２２から検索する。データ比較部５２は、第２制御データ２２中に、属する制御データ名以外に、位置座標に差異がある構造体３０を発見し、構造体２６（第２箱６８）について差分データを生成する。この差分データ生成の際に、接続元である第１箱６６の構造体２４を再度検索し、第１箱６６との接続極性に差異がないことから、第１箱６６と第２箱６８との接続関係は第３箱７０と第４箱７２との接続関係と同一であることを差分データに記録する。
【００４２】
なお、上記の例においては簡単のため制御データが２つの箱を含む場合について説明したが、箱が３つ以上ある場合においても上記と同様の処理を繰り返すことで差分データを生成することが可能となる。
【００４３】
図１に戻り、図形要素に対応する処理単位の処理順序やデータの流れを示す矢印等で表示される接続関係をトポロジーと称す。データ編集比較装置１０は、図７に示される第５制御データのようにトポロジー的には図５に示される第３制御データと差分がなく、図形要素の位置が変わっただけの場合において、その位置の差分を差分として検出するか同一のものとするかについての選択機能を有する。差分表示指定受付部５４は、入力装置１２を介して、ユーザによる比較結果表示モードの指定を受け付ける。比較結果表示モードは、トポロジー的には差分がない場合はそれを差分として表示しない第１モードと、トポロジー的には差分がなくても図形要素の位置関係に差分があればそれを差分として表示する第２モードと、から選択される。
【００４４】
表示制御部４２は、比較元の制御データまたは比較先の制御データをディスプレイ１４に表示させる際、差分データ保持部１８を参照し、データ比較部５２によって導出された差分に対応する部分をそうでない部分とは異なる態様で表示させる。特に、表示制御部４２は、差分データ保持部１８によって保持される差分データに対応する図形要素を強調してディスプレイ１４に表示させる。
【００４５】
表示制御部４２は、指定された比較結果表示モードにしたがって差分を表示させる。第１モードが指定される場合、表示制御部４２は、同等フラグが立っている差分データを参照しないか、無視する。第２モードが指定される場合、表示制御部４２は、同等フラグの状態によらずに差分データを参照する。すなわち、第１モードが指定される場合、差分が図形要素の配置の差分のみを含む場合はその差分は無視されるが、第２モードが指定される場合はそのような差分も差分として表示される。
【００４６】
図９は、第３制御データと第４制御データとの比較結果を示す比較結果表示画面８８の代表画面図である。比較結果表示画面８８は、比較元の制御データを図５に示される第３制御データ、比較先の制御データを図６に示される第４制御データとしたときの差分データに基づいて、第３制御データを示すデータ表示画面７８に変更を加える形で生成される。
【００４７】
比較結果表示画面８８の変数表示領域９０には、第３制御データで使用される変数および第４制御データで使用される変数が表示される。第３制御データおよび第４制御データの両方で使用される変数（「bool A」）すなわち差分に関しない変数は、破線や薄い色などの抑制された態様で表示される。このように、ある部分を抑制された態様で表示することは、それ以外の部分を強調することでもある。あるいはまた、そのような変数は表示されなくてもよい。第３制御データで使用されるが第４制御データで使用されない変数（「int B」）の表示色である第１の色は、第４制御データで使用されるが第３制御データで使用されない変数（「int C」）の表示色である第２の色とは異なる。図９では第１の色と第２の色との差を濃淡で表現するが、青と赤など色分けして表示してもよい。
【００４８】
比較結果表示画面８８の制御内容表示領域９２は、抑制された態様で表示される図形要素と、第１の色で表示される図形要素と、第２の色で表示される図形要素と、を含む。第３制御データと第４制御データとで制御データ名を除いて同一となる構造体（すなわち、対応する差分データが差分データ保持部１８に存在しない構造体）に対応する図形要素（「A==1」の箱および関連する矢印）は、抑制された態様で表示される。対応する差分データが差分データ保持部１８に存在する構造体については、第３制御データの構造体に対応する図形要素（「B=1」の箱および「B=0」の箱）は第１の色で表示され、第４制御データの構造体に対応する図形要素（「C=1」の箱および「C=0」の箱）は第２の色で表示される。これにより、ユーザは、比較の結果差分が発生した箇所をより容易かつ迅速に特定することができる。
【００４９】
なお、図９の例では、差分比較結果を１つの画面に重ねて表示しており、制御内容表示領域９２については図形要素の位置は同じであるため、重なって表示されているが、場所をずらして表示してもよく、また差分比較結果をそれぞれ別画面で表示してもよい。
【００５０】
図１０は、第３制御データと第５制御データとの比較結果を示す別の比較結果表示画面９４の代表画面図である。比較結果表示画面９４は、比較元の制御データを図５に示される第３制御データ、比較先の制御データを図７に示される第５制御データとしたときの差分データに基づいて、第３制御データを示すデータ表示画面７８に変更を加える形で生成される。その際、第２モードが指定されている。
【００５１】
比較結果表示画面９４の変数表示領域９６には、第３制御データで使用される変数および第５制御データで使用される変数が表示される。第３制御データおよび第５制御データの両方で使用される変数（「bool A」「int B」）は、抑制された態様で表示される。
【００５２】
比較結果表示画面９４の制御内容表示領域９８は、抑制された態様で表示される図形要素と、第３の色で表示される図形要素と、第３の色とは異なる第４の色で表示される図形要素と、を含む。図１０では第３の色と第４の色との差を濃淡で表現するが、青と赤など色分けして表示してもよい。
【００５３】
第３制御データと第５制御データとで制御データ名を除いて同一となる構造体に対応する図形要素（「A==1」の箱）は、抑制された態様で表示される。対応する差分データが差分データ保持部１８に存在する構造体については、第３制御データの構造体に対応する図形要素（上側の「B=1」の箱および上側の「B=0」の箱および関連する矢印）は第３の色で表示され、第５制御データの構造体に対応する図形要素（下側の「B=1」の箱および下側の「B=0」の箱および関連する矢印）は第４の色で表示される。この場合、ユーザは、トポロジー的には同じだが図形要素の位置関係に差分が生じている箇所をより容易かつ迅速に特定することができる。
【００５４】
なお、図１０に関する例で第１モードが指定される場合は全ての差分が無視され、したがって比較結果表示画面の変数表示領域および制御内容表示領域の両方は抑制された態様で表示される。例えば、図５に示されるデータ表示画面７８の変数表示領域８０および制御内容表示領域８２をすべて破線で表現したものが比較結果表示画面となる。
【００５５】
以上の構成によるデータ編集比較装置１０の動作を説明する。ユーザは比較元の制御データと比較先の制御データとを選択し、データ編集比較装置１０に対して指定する。データ編集比較装置１０は指定された２つの制御データを比較し、差分を差分データとして差分データ保持部１８に登録する。データ編集比較装置１０は、差分データ保持部１８によって保持される差分データに基づいて、比較結果をディスプレイ１４に表示させる。
【００５６】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【００５７】
本実施の形態に係るデータ編集比較装置１０によると、図形要素を使用して表現される制御データ同士をそのまますなわち他の形式に変換することなく比較し、差分を導出し、その差分を図形要素を使用して表示することができる。これにより、ユーザは、図形要素を使用して制御データを表現するソフトウエア開発環境において、より容易かつ迅速に制御データ間の差分を特定することができる。その結果、そのようなソフトウエア開発環境が有する利便性に加えて、ソフトウエアの開発をさらに効率化し、品質向上および保守作業の効率向上を実現することができる。
【００５８】
また、本実施の形態に係るデータ編集比較装置１０は図形要素を使用して制御データを表現するので、制御データ間の差分として、（１）制御内容の違いに基づく差分、（２）（１）には分類されないが図形要素の配置の違いに基づく差分、の２つがある。データ編集比較装置１０は、（１）および（２）の両方を差分として表示するのか、（１）のみを差分として表示するのか、をユーザに選択させるよう構成される。したがって、比較結果の表示に関する自由度が向上する。特に、ユーザは、制御内容をベースに比較しているのか、見た目まで気にして比較しているのか、によって適切な比較結果表示モードを選択することができる。
【００５９】
以上、実施の形態に係るデータ編集比較装置１０の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６０】
実施の形態では、制御データのうち差分に対応する図形要素は比較元と比較先とで異なる色で表示され、そうでない図形要素は抑制された態様で表示される場合について説明したが、これに限られない。例えば、差分に対応する図形要素をそうでない図形要素よりも拡大して表示する等、図形要素の大きさを異ならせてもよい。図形要素が文字を含む場合はその文字のフォントを異ならせてもよい。
【００６１】
実施の形態では、箱に対して構造体を設け、矢印は構造体の接続元や接続先にて表現する場合について説明したが、これに限られず、矢印に対して独立した構造体を設けてもよい。
【符号の説明】
【００６２】
１０  データ編集比較装置、  １２  入力装置、  １４  ディスプレイ、  １６  制御データ保持部、  １８  差分データ保持部、  ４０  制御データ編集部、  ４２  表示制御部、  ４４  コンパイル部、  ５０  比較対象指定受付部、  ５２  データ比較部、  ５４  差分表示指定受付部。
【図１】
2014006717.tif 000003
【図２】
2014006717.tif 000004
【図３】
2014006717.tif 000005
【図４】
2014006717.tif 000006
【図５】
2014006717.tif 000007
【図６】
2014006717.tif 000008
【図７】
2014006717.tif 000009
【図８】
2014006717.tif 000010
【図９】
2014006717.tif 000011
【図１０】
2014006717.tif 000012