(57)【要約】【課題】制御装置に測定器が接続されている測定器システムにおいて、目的となるプログラムを簡単に検索し、オブジェクトデータとプログラムとが不整合を生じることなくデバッグを行うことを目的とする。【解決手段】制御装置２は、測定器３の動作制御を行う複数のプログラムを記憶した補助記憶装置１３と、補助記憶装置１３に記憶されたプログラムを測定器３が実行可能な形式にコンパイルしたオブジェクトデータに変換するコンパイラ１４と、オブジェクトデータにセットとして付加されるプログラムを特定するシグネチャを生成するシグネチャ生成部１６と、測定器３に記憶されている複数のオブジェクトデータのうちデバッグを行う対象となるオブジェクトデータに対応するシグネチャを入力して、このシグネチャと一致するプログラムを補助記憶装置１３から検索するファイルサーチ部１７と、を備えている。【選択図】  図１
2012238132.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の測定器の動作制御を行う制御装置を備える測定器システムであって、
前記制御装置は、
前記測定器の動作制御を行う複数のプログラムを記憶した記憶部と、
この記憶部に記憶された前記プログラムを前記測定器が実行可能な形式にコンパイルしたオブジェクトデータに変換するオブジェクトデータ変換部と、
前記オブジェクトデータにセットとして付加される前記プログラムを特定するシグネチャを生成するシグネチャ生成部と、
前記測定器に記憶されている複数のオブジェクトデータのうちデバッグを行う対象となるオブジェクトデータに対応するシグネチャを入力して、このシグネチャと一致するプログラムを前記記憶部から検索するサーチ部と、
を備えたことを特徴とする測定器システム。
【請求項２】
前記シグネチャ生成部は、前記プログラムの内容に対するハッシュ関数を施したハッシュ値および前記プログラムのサイズを前記シグネチャとして生成し、
前記サーチ部は、前記ハッシュ値および前記プログラムのサイズに対応するプログラムを前記記憶部から検索すること
を特徴とする請求項１記載の測定器システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１または複数の測定器と当該測定器を制御する制御装置とを備える測定器システムに関するものである。
【背景技術】
【０００２】
１または複数の測定器と制御装置（ＰＣ：パーソナルコンピュータ）とを接続して、測定器で測定したデータを制御装置で表示する測定システムが特許文献１に開示されている。測定器と制御装置とを接続することで、制御装置により測定器の動作制御を行うことができる。
【０００３】
図５は従来の測定器システム１０１を示しており、この測定器システム１０１は制御装置１０２と測定器１０３とを接続して構成している。制御装置１０２はデバッグ管理部１１１と表示部１１２と補助記憶装置１１３とコンパイラ１１４と制御装置通信部１１５とを備えている。
【０００４】
デバッグ管理部１１１は測定器１０３に出力されたオブジェクトデータに対応するプログラムのデバッグを行う。表示部１１２はデバッグ対象のプログラムを画面上に表示する。補助記憶装置１１３は測定器１０３の動作制御を行う複数のプログラムを記憶する。コンパイラ１１４は補助記憶装置１１３に記憶されている複数のプログラムを測定器１０３が実行可能な形式であるオブジェクトデータに変換する。制御装置通信部１１５はオブジェクトデータを測定器１０３に送信する。
【０００５】
測定器１０３は測定器通信部１２１と測定器管理部１２２とデータ格納部１２３と実行部１２４とを備えて構成している。測定器通信部１２１は制御装置通信部１１５から送信されたオブジェクトデータを受信する。測定器管理部１２２は受信したオブジェクトデータをデータ格納部１２３に記憶する。また、測定器管理部１２２はデータ格納部１２３に記憶されているオブジェクトデータを読み出して、実行部１２４にオブジェクトデータを実行させる。
【０００６】
図６は測定器１０３のデータ格納部１２３にオブジェクトデータが格納されるまでのフローを示している。補助記憶装置１１３に記憶されているプログラムは測定器１０３の動作内容を記述している。測定器１０３は多様な動作を行うため、１つのプログラムではなく、複数のプログラムが補助記憶装置１１３に記憶されている。このうち１つのプログラムが読み出されてコンパイラ１１４に出力される。
【０００７】
コンパイラ１１４は読み出したプログラムをオブジェクトデータに変換する（ステップＳ１０１）。これにより、測定器１０３の実行部１２４が実行可能な形式に変換される。変換されたオブジェクトデータは制御装置通信部１１５に出力される。制御装置通信部１１５はオブジェクトデータを測定器１０３の測定器通信部１２１に送信する処理を行う（ステップＳ１０２）。
【０００８】
測定器通信部１２１はオブジェクトデータを受信する処理を行う（ステップＳ１０３）。そして、受信したオブジェクトデータは測定器管理部１２２に出力される。測定器管理部１２２はデータ格納部１２３にオブジェクトデータを保存する（ステップＳ１０４）。これにより、１つのプログラムに対応するオブジェクトデータがデータ格納部１２３に格納される。
【０００９】
前述したように、測定器１０３の多様な動作に対応するために、複数のプログラムが補助記憶装置１１３に記憶されている。よって、各プログラムはそれぞれコンパイラ１１４によってオブジェクトデータに変換されて、データ格納部１２３に記憶される。従って、データ格納部１２３にも複数のオブジェクトデータが記憶される。そして、データ格納部１２３に記憶されているオブジェクトデータに基づいて実行部１２４が実行することで、測定器１０３が所定の動作を行う。
【００１０】
測定器１０３はプログラムの内容に応じた所定の動作を行う必要がある。このために、補助記憶装置１１３に記憶されているプログラムの正確性を検証するデバッグを行う必要がある。このとき、測定器１０３はあくまでも測定を行うための装置であり、デバッグを行う機能を有していない。従って、デバッグは制御装置１０２の側で行なうことになる。
【００１１】
そのためのフローを図７に示す。ユーザ等はデバッグを行う旨のデバッグ命令をデバッグ管理部１１１に入力する（ステップＳ１１１）。補助記憶装置１１３には複数のプログラムが記憶されているため、複数のプログラムのうち何れか１つのプログラムが選択されて、当該選択されたプログラムのデバッグ命令が入力される。
【００１２】
デバッグ管理部１１１は補助記憶装置１１３からデバッグ命令の対象となるプログラムを読み出すように制御する。これにより、補助記憶装置１１３から読み出されたプログラムが表示部１１２に表示される（ステップＳ１１２）。これと共に、デバッグ命令は制御装置通信部１１５から測定器１０３に送信される（ステップＳ１１３）。
【００１３】
測定器通信部１２１はデバッグ命令を受信する処理を行う（ステップＳ１１４）。デバッグ命令を受信したときには、測定器管理部１２２は実行部１２４にデバッグ開始の通知を行う（ステップＳ１１５）。これにより、実行部１２４はデータ格納部１２３からオブジェクトデータを読み出して、読み出したオブジェクトデータを実行する。
【００１４】
制御装置１０２の表示部１１２にはデバッグ対象のプログラムが表示されており、このプログラムの一部を実行することで、実行部１２４は当該部分を実行する。これにより、測定器１０３が動作を行う。プログラムは多数の命令により構成されており、部分的にプログラムの命令を順次実行して、各命令による測定器１０３の動作を確認（検証）する。
【００１５】
この動作を検証することで、プログラムの正確性を検証する。これがデバッグになる。このデバッグをプログラムの全ての命令について行うことで、プログラム全体の正確性が検証される。補助記憶装置１１３には複数のプログラムが記憶されており、データ格納部１２３にはプログラムに対応した複数のオブジェクトデータが記憶されている。よって、全てのプログラムについてプログラムの正確性を検証するデバッグを行う。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２０１０−２５７１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
前述したように、測定器１０３はあくまでも測定を行うための装置であり、デバッグを行う機能を有していない。例えば、デバッグを行うためにプログラムを表示するための画面を有していない場合が多い。このために、制御装置１０２の側でデバッグを行う。つまり、ユーザ等が認識可能に記述されているプログラムを表示部１１２に表示させておき、このプログラムに対応したオブジェクトデータを測定器１０３で実行させる。従って、実際にプログラムが表示されている制御装置１０２とは異なる装置が実行を行なっていることになる。
【００１８】
制御装置１０２から測定器１０３に対して予めオブジェクトデータを送信しておき、その後にデバッグが行われる。つまり、オブジェクトデータを送信したときとデバッグを行うときとではタイミングにギャップが存在する。従って、制御装置１０２からオブジェクトデータを送信した後であり且つデバッグを行う前に、補助記憶装置１１３に記憶されているプログラムの内容を変更することがある。
【００１９】
このときには、プログラムとこのプログラムに対応するオブジェクトデータとの間が整合しなくなる。従って、プログラムとオブジェクトデータとが不整合な状態で検証を行ったとしても、デバッグ自体を正確に行うことができなくなる。
【００２０】
また、デバッグを行うときには、ユーザ等は測定器１０３に格納されているオブジェクトデータを選択する。そして、このオブジェクトデータに対応するプログラムを補助記憶装置１１３から取得する。制御装置１０２の補助記憶装置１１３には多数のプログラムが記憶されており、これに対応して測定器１０３のデータ格納部１２３にも多数のオブジェクトデータが記憶されている。
【００２１】
よって、ユーザ等は補助記憶装置１１３に記憶されている多数のプログラムの中から選択したオブジェクトデータに対応するプログラムを検索しなければならなくなる。補助記憶装置１１３は階層構造になっており、この階層構造の中に多数のプログラムがファイル形式で記憶されている。従って、これらの中から目的となるプログラムファイルを検索しなければならなくなり、検索が困難になる。
【００２２】
特に、オブジェクトデータを送信した後に、補助記憶装置１１３の階層構造の中でのプログラムファイルの位置を移動させ、或いはファイル名を変更することがある。この場合には、選択したオブジェクトデータに対応するプログラムファイルを検索することは極めて困難になる。
【００２３】
そこで、本発明は、制御装置に測定器が接続されている測定器システムにおいて、目的となるプログラムを簡単に検索し、オブジェクトデータとプログラムとが不整合を生じることなくデバッグを行うことを目的とする。
【課題を解決するための手段】
【００２４】
以上の課題を解決するため、本発明の測定器システムは、１または複数の測定器の動作制御を行う制御装置を備える測定器システムであって、前記制御装置は、前記測定器の動作制御を行う複数のプログラムを記憶した記憶部と、この記憶部に記憶された前記プログラムを前記測定器が実行可能な形式にコンパイルしたオブジェクトデータに変換するオブジェクトデータ変換部と、前記オブジェクトデータにセットとして付加される前記プログラムを特定するシグネチャを生成するシグネチャ生成部と、前記測定器に記憶されている複数のオブジェクトデータのうちデバッグを行う対象となるオブジェクトデータに対応するシグネチャを入力して、このシグネチャと一致するプログラムを前記記憶部から検索するサーチ部と、を備えたことを特徴とする。
【００２５】
この測定器システムによれば、シグネチャに基づいて、オブジェクトデータに対応するプログラムが自動的に取得される。これにより、プログラムを選択する動作を要しなくなり、簡単にデバッグ対象のプログラムが選択される。オブジェクトデータを送信後にプログラムを改変すると、シグネチャが一致しなくなるため、オブジェクトデータとプログラムとが一致しない状態でデバッグが行われることがない。このため、オブジェクトデータとプログラムとが整合しない状態でデバッグが行われることを回避できる。
【００２６】
また、前記シグネチャ生成部は、前記プログラムの内容に対するハッシュ関数を施したハッシュ値および前記プログラムのサイズを前記シグネチャとして生成し、前記サーチ部は、前記ハッシュ値および前記プログラムのサイズに対応するプログラムを前記記憶部から検索することを特徴とする。
【００２７】
ハッシュ値の最大値によっては、２つ以上のプログラムのハッシュ値が一致することがあるが、プログラムサイズとの組み合わせでプログラムを特定していることから、目的となるプログラムが正確に特定されるようになる。
【発明の効果】
【００２８】
本発明は、シグネチャを用いているため、オブジェクトデータに対応したプログラムを自動的に選択できる。これにより、デバッグ対象のプログラムが簡単に選択される。シグネチャが一致しなければ、オブジェクトデータに対応していないプログラムが選択されることがなくなり、オブジェクトデータとプログラムとが不整合の状態でデバッグが行われることがなくなる。
【図面の簡単な説明】
【００２９】
【図１】実施形態の測定器システムの構成を示すブロック図である。
【図２】実施形態のオブジェクトデータの格納動作のフローを示す図である。
【図３】実施形態のデバッグ動作のフローを示す図である。
【図４】ファイルサーチ処理のフローチャートである。
【図５】従来の測定器システムの構成を示すブロック図である。
【図６】従来のオブジェクトデータの格納動作のフローを示す図である。
【図７】従来のデバッグ動作のフローを示す図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施形態について説明する。図１は本実施形態の測定器システム１を示している。この測定器システム１は制御装置２と測定器３とを接続して構成している。なお、測定器システム１は複数の測定器３を備えていてもよく、測定器３が複数の場合には全ての測定器３を制御装置２に接続して、制御装置２が各測定器３を制御するように構成する。
【００３１】
制御装置２は測定器３の動作制御を行う装置であり、例えばコンピュータ（ＰＣ：パーソナルコンピュータ）を適用することができる。この制御装置２はデバッグ管理部１１と表示部１２と補助記憶装置１３とコンパイラ１４と制御装置通信部１５とシグネチャ生成部１６とファイルサーチ部１７とを備えて構成する。
【００３２】
デバッグ管理部１１は補助記憶装置１３に記憶されているプログラムの正確性を検証するデバッグを行う。プログラムは多数の命令により構築されるものであり、人手により作成される（自動的に作成される場合もある）。デバッグはプログラムが正確に記述されているか否かの検証を行い、不正確な箇所がある場合には当該箇所の修正をプログラムに対して行う。
【００３３】
表示部１２はディスプレイ等の表示装置である。デバッグを行うときには、プログラムを画面上で認識する必要があるため、表示部１２にプログラムの表示を行う。補助記憶装置１３は情報を記憶するハードディスク（ストレージ）であり、複数のプログラムを記憶する記憶部になる。
【００３４】
コンパイラ１４は補助記憶装置１３に記憶されている複数のプログラムのうち１つのプログラムを読み出して、オブジェクトデータに変換するオブジェクトデータ変換部である。プログラムは多数の命令を記述した情報であり、人が認識可能な情報になっている。一方、測定器３で実際に実行するときには、測定器３が実行可能な形式であるオブジェクトデータ（「０」と「１」とにより構成される情報）に変換する必要がある。この変換をコンパイラ１４が行う。
【００３５】
制御装置通信部１５はコンパイラ１４が変換したオブジェクトデータを測定器３に送信する。また、デバッグ管理部１１にも接続されており、デバッグ時に測定器３を制御する情報（指定されたプログラムの命令を実行させる旨の命令）が制御装置通信部１５から測定器３に送信される。
【００３６】
シグネチャ生成部１６はプログラムを特定するための情報としてシグネチャを生成する。プログラムは命令や変数等のデータにより構築されている。従って、プログラムはデータの集合になっている。そこで、プログラムの内容（データ）に対してハッシュ関数（ＭＤ５等）を施すことで、ハッシュ値を得る。このときのハッシュ値がシグネチャになる。勿論、ハッシュ関数以外にも、プログラムを特定することができるのであれば、任意の手法を用いてもよい。生成されたシグネチャはオブジェクトデータに付加されて制御装置通信部１５から測定器３に送信される。
【００３７】
ファイルサーチ部１７は、シグネチャにより特定されるプログラムを読み出すように補助記憶装置１３のプログラムを検索（サーチ）するサーチ部である。補助記憶装置１３には複数のプログラムがファイル形式で記憶されており、且つ補助記憶装置１３は階層構造になっている。よって、ファイルサーチ部１７は階層構造の中のプログラムをサーチして取得する。
【００３８】
測定器３について説明する。測定器３は任意の測定対象の測定を行う装置であり、例えばオシロスコープ等を適用できる。この測定器３は、測定器通信部２１と測定器管理部２２とデータ格納部２３と実行部２４とを備えて構成している。測定器通信部２１は制御装置通信部１５と適宜の通信手段により接続されており、制御装置通信部１５より送信される情報を受信する。
【００３９】
測定器管理部２２は測定器３の全体の管理を行っている。具体的には、制御装置２から送信されたオブジェクトデータをデータ格納部２３に格納し、データ格納部２３から読み出したオブジェクトデータを実行部２４に実行させる。データ格納部２３はオブジェクトデータを格納する。１つのオブジェクトデータは１つのプログラムに対応しているため、複数のプログラムに対応してデータ格納部２３には複数のオブジェクトデータが格納される。実行部２４はデータ格納部２３に格納されている１つのオブジェクトデータの内容を実行する。
【００４０】
以上が構成になる。次に、動作について説明する。制御装置２は予め測定器３にオブジェクトデータを送信する。測定器３は制御装置２により動作制御がされており、その制御内容は制御装置２のプログラムに基づいている。従って、制御装置２がプログラムをオブジェクトデータとして測定器３に送信することで、測定器３は所定の動作（例えば、電圧や電流を測定する動作等）を行うことができる。測定器３のオブジェクトデータを送信して、データ格納部２３に格納させるフロー（オブジェクトデータの格納動作）を図２に示す。
【００４１】
補助記憶装置１３は階層構造になっており、複数のプログラムが記憶されている。測定器３は多様な動作を行うために、動作制御を行うためのプログラムも複数になっている。そして、同一の階層に記憶されているとは限らず、異なる階層にプログラムが記憶されている場合もある。
【００４２】
いずれにしても、１つのプログラムが補助記憶装置１３から読み出される。このときに、シグネチャ生成部１６は読み出したプログラムの内容に対してハッシュ関数を施すことでハッシュ値を得て、このハッシュ値をシグネチャとして生成する（ステップＳ１）。
【００４３】
また、補助記憶装置１３から読み出されたプログラムはコンパイラ１４によりオブジェクトデータに変換される（ステップＳ２）。そして、シグネチャ生成部１６が生成したシグネチャとコンパイラ１４が変換したオブジェクトデータとは１つのセットにして制御装置通信部１５に出力される。
【００４４】
制御装置通信部１５はオブジェクトデータとシグネチャとをセットにして、測定器通信部２１に送信する（ステップＳ３）。そして、測定器通信部２１はオブジェクトデータとシグネチャとをセットで受信する（ステップＳ４）。測定器管理部２２は受信したオブジェクトデータとシグネチャとを対にしてデータ格納部２３に保存する（ステップＳ５）。これにより、データ格納部２３にオブジェクトデータとシグネチャとがセットで格納される。
【００４５】
補助記憶装置１３には１つのプログラムではなく、複数のプログラムが記憶されており、全てのプログラム（全部ではなくても複数であれば一部でもよい）について、シグネチャを生成し、オブジェクトデータに変換する。従って、オブジェクトデータとシグネチャとのセットが複数生成され、測定器３に送信されて、データ格納部２３に複数のセットが格納される。
【００４６】
以上がオブジェクトデータの格納動作になる。オブジェクトデータは予め測定器３に送信されて格納されており、その後にデバッグ動作が行われる。デバッグ動作を行うことで、オブジェクトデータの基礎となるプログラムの正確性を検証し、測定器３に正しい動作を行わせることができる。仮に、プログラムが不正確であることが検証されたときには、不正確な箇所の修正を行うことで、測定器３を正確に動作させることができる。
【００４７】
デバッグ動作のフローを図３に示す。デバッグ動作は、ユーザ等がデバッグ命令を入力することがトリガとなる。このデバッグ命令はデバッグ管理部１１に入力される（ステップＳ１１）。デバッグ命令を入力するときには、ユーザ等はデータ格納部２３に格納されている複数のオブジェクトデータのうち何れのオブジェクトデータがデバッグ対象となるのかを指定する。例えば、データ格納部２３に格納されている複数のオブジェクトデータの一覧を制御装置２が取得して、当該一覧を表示部１２に表示して所望のオブジェクトデータをユーザ等が選択できるようにする。
【００４８】
制御装置通信部１５はオブジェクトデータを指定したデバッグ命令を測定器３に送信する（ステップＳ１２）。このデバッグ命令を測定器通信部２１が受信する（ステップＳ１３）。受信したデバッグ命令は測定器管理部２２に入力されて、測定器管理部２２はデバッグ命令に基づいて、指定されたオブジェクトデータに対応するシグネチャをデータ格納部２３から取得する（ステップＳ１４）。
【００４９】
取得されたシグネチャはデバッグ命令により指定されるオブジェクトデータとセットで記憶されており、これにより取得されたシグネチャは指定されたオブジェクトデータに対応したものとなる。測定器管理部２２は取得したシグネチャを測定器通信部２１に出力する。
【００５０】
測定器通信部２１はシグネチャを制御装置２に送信する（ステップＳ１５）。これと共に、測定器管理部２２はシグネチャに対応するオブジェクトデータを実行部２４に出力する。実行部２４はこのオブジェクトデータを実行する準備を行う（ステップＳ１６）。これにより、実行部２４がオブジェクトデータを実行可能になる。
【００５１】
制御装置通信部１５はシグネチャを受信する（ステップＳ１７）。そして、受信したシグネチャをデバッグ管理部１１に出力する。デバッグ管理部１１は、シグネチャに基づいて補助記憶装置１３からプログラムをサーチさせるプログラムサーチ命令をファイルサーチ部１７に対して出力する（ステップＳ１８）。
【００５２】
このプログラムサーチ命令に基づいて、ファイルサーチ部１７は補助記憶装置１３からシグネチャに対応するプログラムを検索（サーチ）する（ステップＳ１９）。ファイルサーチ部１７はサーチした結果、シグネチャに対応するプログラムを検出したときには、検出したプログラムをデバッグ管理部１１に通知する（ステップＳ２０）。デバッグ管理部１１は通知されたプログラムを表示部１２の画面上に表示するように制御する（ステップＳ２１）。
【００５３】
次に、前記のステップＳ１９のファイルサーチ処理について図４のフローを用いて説明する。まず、ファイルサーチ部１７は、測定器３から受信したシグネチャを参照する（ステップＳ３１）。そして、ファイルサーチ部１７は補助記憶装置１３に記憶されているプログラムを１つ取得する（ステップＳ３２）。
【００５４】
補助記憶装置１３の中には各プログラムはファイル形式（プログラムファイル）で記憶されている。各プログラムファイルは補助記憶装置１３の階層構造に記憶されており、当該階層の中からプログラムファイルを１つずつ取得する。そして、全てのプログラムファイルを取得したか否かを判定する（ステップＳ３３）。全てのプログラムファイルを取得していないのであれば、シグネチャの演算を行う（ステップＳ３４）。
【００５５】
シグネチャは、プログラムファイル（プログラム）を構成するデータに対してハッシュ関数を施して得られるハッシュ値である。よって、ファイルサーチ部１７は補助記憶装置１３から１つ取得したプログラムファイルの内容に対してハッシュ関数を施して、シグネチャを取得する演算を行う。
【００５６】
そして、測定器３から受信したシグネチャと補助記憶装置１３から１つ取得したプログラムファイルのシグネチャとを比較する（ステップＳ３５）。シグネチャが一致していれば、補助記憶装置１３から取得したプログラムファイルは測定器３から受信したシグネチャに対応するオブジェクトデータと一致していることが認識される。つまり、取得したプログラムファイルをコンパイルして得られたオブジェクトデータと一致していることが認識される。
【００５７】
これにより、ファイルサーチ部１７はサーチの成功を認識する（ステップＳ３６）。ファイルサーチ部１７はサーチの成功を認識したときには、取得したプログラムファイルをデバッグ管理部１１に通知する（ステップＳ２０）。これにより、データ格納部２３で実行準備をしているオブジェクトデータと補助記憶装置１３から取得したプログラムとを一致させることができる。
【００５８】
ステップＳ３５において、シグネチャが一致しない場合には、再びステップＳ３２を行い、次のプログラムファイルを補助記憶装置１３の中から取得する。ステップＳ３３において、補助記憶装置１３から全てのプログラムファイルを取得したと判定した場合には、補助記憶装置１３の全てのプログラムファイルとシグネチャが一致していないため、サーチが失敗したことを認識する（ステップＳ３７）。
【００５９】
サーチの失敗が認識されるということは、測定器３で実行準備をしているオブジェクトデータと一致するプログラムが補助記憶装置１３に存在していないということを意味する。これは、コンパイラ１４がプログラムからオブジェクトデータに変換して、測定器３に送信した後に、補助記憶装置１３に記憶されているプログラムが変更または削除されている場合に生じる。プログラムの内容が変更またはプログラムが削除されれば、シグネチャは一致することがない。
【００６０】
従って、この場合は、プログラムとオブジェクトデータとが一致していないため、デバッグを行うことができない。つまり、オブジェクトデータに対応していていないプログラムをデバッグ対象としようとしているため、この場合には不正確なプログラムの検証が行われる。従って、表示部１２にその旨を表示すること等を行い、ユーザ等にその旨を了知させる。これにより、プログラムとオブジェクトデータとが整合していない状態でのデバッグが行われることを回避できる。
【００６１】
以上より、ユーザ等が補助記憶装置１３を検索することなく、指定されたオブジェクトデータに対応したプログラムが自動的に取得される。つまり、オブジェクトデータに対応するシグネチャをデータ格納部２３に格納し、デバッグ時にはシグネチャを取得している。そして、補助記憶装置１３からシグネチャが一致するプログラムを検索しているため、ユーザ等が自ら検索することなく簡単にプログラムを特定することができる。
【００６２】
そして、デバッグ管理部１１は、表示部１２にプログラムを表示し、測定器３の実行部２４にオブジェクトデータを実行させる。そして、プログラムを実行したときの測定器３の動作を確認する。これにより、正常な動作を行っていれば、プログラムの正確性が検証され、予期しない動作を行うのであれば、プログラムを修正する。これは、プログラムとオブジェクトデータとが一致しているために可能になる。
【００６３】
従って、プログラムとオブジェクトデータとが一致しないときにはその旨を了知させることで、不整合な状態でのデバッグが行われることがなくなる。且つ、シグネチャに基づいて自動的に補助記憶装置１３からオブジェクトデータに対応するプログラムが取得されることから、簡単に目的となるプログラムを検索してデバッグを行うことができる。
【００６４】
また、シグネチャに基づいて補助記憶装置１３からプログラムを取得することは、簡単なデバッグを実現するだけでなく、プログラムファイルの移動やファイル名の変更等が行われたとしても、簡単に目的のプログラムを検出することが可能になる。
【００６５】
補助記憶装置１３は階層構造になっており、プログラムはファイル形式（プログラムファイル）として記憶されている。プログラムファイルは任意の階層構造に移動することが可能になっており、異なる階層にプログラムファイルが移動されることがある。また、プログラムファイルにはファイル名が付与されており、このファイル名が変更されることもある。
【００６６】
この点、ファイルサーチ部１７はプログラムファイルが位置している階層やファイル名に影響されることなく、シグネチャに基づいて、目的となるプログラムを検索することができる。つまり、プログラムの中身のデータに対してハッシュ関数を施してシグネチャとしているため、プログラムファイルが移動され、或いはファイル名が変更されたとしても、シグネチャには影響されることがない。このため、目的となるプログラムを検出することができる。
【００６７】
以上において、シグネチャ生成部１６はプログラムに対してハッシュ関数を施してハッシュ値を得てシグネチャとしているが、ハッシュ値にプログラムのファイルサイズを付加してもよい。２つ以上のプログラムで同一のハッシュ値が生成される可能性がある。つまり、同じシグネチャが２つ以上のプログラムを指定することになる。
【００６８】
そこで、シグネチャ生成部１６はハッシュ値を生成するときに、プログラムのファイルサイズをシグネチャとして付加する。ハッシュ値とファイルサイズとの２つをシグネチャとすることで、同一のハッシュ値が２つ以上のプログラムを指定している場合でも、目的となるプログラムを特定できるようになる。
【００６９】
この場合には、ファイルサーチ部１７は受信したシグネチャのハッシュ値およびファイルサイズに対応して、補助記憶装置１３から読み出したプログラムのハッシュ値およびファイルサイズの両者に基づいて検索を行う。
【００７０】
また、シグネチャ生成部１６がシグネチャを生成するときに、プログラムのデータ部分だけを抽出してハッシュ関数を施してハッシュ値を得るようにしてもよい。例えば、プログラムに含まれるコメントや余白等を削除してハッシュ値を得るようにしてもよい。これにより、シグネチャを生成した後に、コメントや余白等を変更するような修正を行ったとしても、正確にファイルをサーチすることができる。
【符号の説明】
【００７１】
１    測定器システム
２    制御装置
３    測定器
１１    デバッグ管理部
１２    表示部
１３    補助記憶装置
１４    コンパイラ
１６    シグネチャ生成部
１７    ファイルサーチ部
２２    測定器管理部
２３    データ格納部
２４    実行部
【図１】
2012238132.tif 000003
【図２】
2012238132.tif 000004
【図３】
2012238132.tif 000005
【図４】
2012238132.tif 000006
【図５】
2012238132.tif 000007
【図６】
2012238132.tif 000008
【図７】
2012238132.tif 000009