(57)【要約】【課題】コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制する。【解決手段】プログラム処理装置１００は、コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部１１０と、取得されたコードデータおよび仕様書データの内容をディスプレイ１０４に表示させる表示制御部１２０と、ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部１３０と、指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部１７０と、コードデータまたは仕様書データの一方が変更される場合、保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部１６０と、を備える。【選択図】図１
2013142971.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部と、
前記データ取得部によって取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる表示制御部と、
ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部と、
指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部と、
コードデータまたは仕様書データの一方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部と、を備えることを特徴とするプログラム処理装置。
【請求項２】
前記リンク保持部は、指定されたコードデータの部分を特定するＩＤと指定された仕様書データの部分を特定するＩＤとを対応付けて保持し、
前記対応変更部は、
コードデータまたは仕様書データの一方のうち変更に係る部分を特定するＩＤが前記リンク保持部に保持されているか否かを判定する判定部と、
前記判定部において保持されていると判定された場合、コードデータまたは仕様書データの一方のうち変更に係る部分を特定するＩＤに対応する、コードデータまたは仕様書データの他方の部分のＩＤを前記リンク保持部から抽出するＩＤ抽出部と、
前記ＩＤ抽出部によって抽出されたＩＤが特定する部分に、コードデータまたは仕様書データの一方の変更内容を反映させる変更反映部と、を含むことを特徴とする請求項１に記載のプログラム処理装置。
【請求項３】
前記対応変更部は、コードデータまたは仕様書データの他方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの一方を変更することを特徴とする請求項１または２に記載のプログラム処理装置。
【請求項４】
コンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方が変更される場合、リンクに基づいて他方も対応するよう変更されることを特徴とするプログラム処理方法。
【請求項５】
コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得する機能と、
取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる機能と、
ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける機能と、
指定されたコードデータの部分と指定された仕様書データの部分との対応関係をリンク保持部に登録する機能と、
コードデータまたは仕様書データの一方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびそのプログラム仕様を処理するプログラム処理技術に関する。
【背景技術】
【０００２】
近年、組み込み製品の高機能化等により組み込み製品に組み込まれるコンピュータプログラムの数や規模や複雑さが増大している。そこで、そのようなコンピュータプログラムの開発の現場では、開発だけでなくコンピュータプログラム自体の管理にも手間がかかるようになってきている。
【０００３】
従来では、コンピュータプログラムの管理手法のひとつとして、いわゆるバージョン管理による手法が知られている（例えば、特許文献１参照）。一般にバージョン管理では、コンピュータプログラムおよび対応するプログラム仕様書を変更するたびに新たなバージョン番号を採番し、修正後の両者に付加する。このバージョン番号を参照することで変更の管理が可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−５６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、バージョン管理による手法では、実際の修正作業はユーザにより手作業で行われることが多い。この場合、ユーザがコンピュータプログラムおよびプログラム仕様書のそれぞれに必要な変更を施すので、その過程で漏れや抜けや間違いなどが生じる可能性がある。
【０００６】
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制できるプログラム処理技術の提供にある。
【課題を解決するための手段】
【０００７】
本発明のある態様はプログラム処理装置に関する。このプログラム処理装置は、コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部と、データ取得部によって取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる表示制御部と、ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部と、指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部と、コードデータまたは仕様書データの一方が変更される場合、リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部と、を備える。
【０００８】
この態様によると、コードデータの部分と仕様書データの部分との対応関係の登録およびその対応関係を使用した変更管理が可能となる。
【０００９】
本発明の別の態様は、プログラム処理方法である。この方法では、コンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方が変更される場合、リンクに基づいて他方も対応するよう変更される。
【００１０】
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制できる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係るプログラム処理装置の機能および構成を示すブロック図である。
【図２】編集画面の代表画面図である。
【図３】図３（ａ）、（ｂ）は、図１の指定受付部における処理を説明するための説明図である。
【図４】図１のリンク保持部の一例を示すデータ構造図である。
【図５】図１の参照削除部における処理を説明するための説明図である。
【図６】図１のプログラム処理装置における一連の処理を示すフローチャートである。
【図７】図７（ａ）〜（ｃ）は、変形例に係る指定受付部における処理を説明するための説明図である。
【発明を実施するための形態】
【００１３】
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
【００１４】
実施の形態に係るプログラム処理装置では、組み込み製品などに使用されるコンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方の部分が変更される場合、リンクに基づいて他方の部分も対応するよう変更される。これにより、コンピュータプログラム更新時の漏れ、抜けや間違いの発生を抑制し、ソースコードと仕様書との間に内容の不整合が生じる可能性を低減できる。
【００１５】
コンピュータプログラムを記述するコードデータは所定のプログラミング言語に基づいて生成される。コードデータは、それぞれ異なるプログラミング言語に基づいて生成された複数の部分を含んでもよい。また、仕様書データは動画、静止画、音声、テキスト、波形図などの種々のフォーマットのデータを含みうる。
【００１６】
図１は、実施の形態に係るプログラム処理装置１００の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのＣＰＵ（central processing unit）をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
【００１７】
プログラム処理装置１００は、マウスやキーボードなどの入力装置１０２および表示手段すなわちＬＣＤ（Liquid Crystal Display）などのディスプレイ１０４と接続される。なお、プログラム処理装置１００はインターネットなどのネットワーク（不図示）を介して入力装置やディスプレイと接続されてもよい。
プログラム処理装置１００は、データ取得部１１０と、表示制御部１２０と、指定受付部１３０と、変更受付部１５０と、対応変更部１６０と、リンク保持部１７０と、履歴保持部１８０と、を備える。
【００１８】
データ取得部１１０は、コードデータと仕様書データとを取得する。データ取得部１１０は少なくとも以下の２つのプログラム開発環境からデータを取得可能に構成される。
（１）コードデータ内に仕様書データを内包することで、それらを一体的に管理可能な一体的プログラム開発環境。
この一体的プログラム開発環境では、コードデータと仕様書データとはひとつの統合ファイル１１２として一体化され、その統合ファイル１１２をひとつの処理単位として保持や表示の処理が行われる。データ取得部１１０はそのような統合ファイル１１２を取得する。
（２）コードデータと仕様書データとが別々のファイルとして存在する別体的プログラム開発環境。
この別体的プログラム開発環境では、コードデータ１１６は例えば既知のプログラム開発環境を使用して編集され、仕様書データ１１８は例えば既知のドキュメント編集ツールを使用して編集される。データ取得部１１０は、対応するコードデータ１１６と仕様書データ１１８とが含まれるフォルダなどの対応ユニット１１４を取得する。
【００１９】
以下、データ取得部１１０が一体的プログラム開発環境から統合ファイル１１２を取得する場合を説明する。
表示制御部１２０は、データ取得部１１０によって取得された統合ファイル１１２の内容を表示する編集画面３００をディスプレイ１０４に表示させる。
図２は、編集画面３００の代表画面図である。編集画面３００は、統合ファイル１１２のコードデータに含まれる変数のリストを表示する変数宣言領域３０２と、統合ファイル１１２のコードデータが記述するコンピュータプログラムの内容をグラフィカルに表示するプログラム内容表示領域３０４と、統合ファイル１１２の仕様書データが記述するプログラム仕様を表示する仕様書内容表示領域３０６と、を有する。
【００２０】
表示制御部１２０は、データ取得部１１０によって取得された統合ファイル１１２を処理し、プログラム内容表示領域３０４にコンピュータプログラムの内容を表示させる。この際、表示制御部１２０はコンピュータプログラムのソースコードの構成をグラフィカルに表示させる公知の表示技術を使用してもよい。また、表示制御部１２０は統合ファイル１１２のコードデータから変数を抽出し、抽出された変数をリストにして変数宣言領域３０２に表示させる。
【００２１】
図１に戻り、指定受付部１３０は、編集画面３００に対するユーザの一連の入力動作から、コードデータの部分すなわちコードデータに含まれる変数の指定および仕様書データの部分すなわち仕様書データに含まれる変数の指定を受け付ける。指定受付部１３０は、第１参照特定部１３２と、第２参照特定部１３４と、参照種別特定部１３６と、リンク登録部１４０と、参照削除部１４２と、を含む。
【００２２】
図３（ａ）、（ｂ）は、指定受付部１３０における処理を説明するための説明図である。図３（ａ）は変数宣言領域３０２を示す。ユーザは、マウスなどを操作し、変数宣言領域３０２に表示されているリストのなかからひとつの変数３０８を選択する。第１参照特定部１３２は、選択された変数３０８に対応付けて第１指示受付領域３１０をディスプレイ１０４に表示させる。第１指示受付領域３１０は、選択された変数３０８を、リンク設定におけるコードデータ側の変数として指定すると共に仕様書データを参照するためのドキュメント参照メニュー３１２を有する。ユーザが第１指示受付領域３１０のドキュメント参照メニュー３１２を指定すると、第１参照特定部１３２は、選択された変数３０８を特定するコードデータ変数ＩＤを生成する。コードデータ変数ＩＤはプログラム処理装置１００内でコードデータの変数を特定するＩＤであり、例えば統合ファイル１１２のファイル名とコードデータ内で変数を表すために使用されている文字列とを含む。図３（ａ）の例では、選択された変数３０８を特定するコードデータ変数ＩＤは「統合ファイル１１２のファイル名」と文字列「ｆｗｄ＿ｖｅｌｏ」とを対応付けた情報である。
【００２３】
図３（ｂ）は仕様書内容表示領域３０６を示す。ユーザは、第１指示受付領域３１０のドキュメント参照メニュー３１２を指定した後、マウスなどを操作し、仕様書内容表示領域３０６に表示されている仕様書データの変数のなかから、変数宣言領域３０２で選択された変数３０８とリンクさせたい変数３１４を選択する。第２参照特定部１３４は、そのように選択された変数３１４を、リンク設定における仕様書データ側の変数として取得する。第２参照特定部１３４は、選択された変数３１４を特定する仕様書データ変数ＩＤを生成する。仕様書データ変数ＩＤはプログラム処理装置１００内で仕様書データの変数を特定するＩＤであり、例えば統合ファイル１１２のファイル名と仕様書データ内で変数を表すために使用されている文字列とを含む。図３（ｂ）の例では、選択された変数３１４を特定する仕様書データ変数ＩＤは「統合ファイル１１２のファイル名」と文字列「前進量」とを対応付けた情報である。
【００２４】
参照種別特定部１３６は、仕様書内容表示領域３０６で選択された変数３１４に対応付けて第２指示受付領域３１６をディスプレイ１０４に表示させる。第２指示受付領域３１６は参照の種別を指定するための複数の種別メニューを含み、特に相互参照を指定するための相互参照メニュー３１８と片側参照を指定するための片側参照メニュー３２０とを含む。ユーザが第２指示受付領域３１６のいずれかのメニューを指定すると、参照種別特定部１３６は指定されたメニューに対応する参照種別を特定する。
【００２５】
相互参照は、コードデータの変数と仕様書データの変数とがリンクで結ばれているとき、一方の変数が変更されると他方の変数も対応するよう変更され、かつ、他方の変数が変更されると一方の変数も対応するよう変更される参照態様である。
片側参照は、コードデータの変数と仕様書データの変数とがリンクで結ばれているとき、一方の変数が変更されると他方の変数も対応するよう変更されるが、他方の変数が変更されても一方の変数はその影響を受けないすなわち変更されない参照態様である。以下、片側参照のうち、コードデータの変数が変更されると仕様書データのリンクされた変数も対応するよう変更される参照態様を参照ケースＡと称し、仕様書データの変数が変更されるとコードデータのリンクされた変数も対応するよう変更される参照態様を参照ケースＢと称す。
図３（ａ）、（ｂ）の場合、片側参照３２０は、参照ケースＡ、すなわちコードデータの変数３０８が変更されるとその変更が仕様書データのリンクされた変数３１４に反映されるが、仕様書データの変数３１４の変更はコードデータの変数３０８に反映されない参照態様である。
【００２６】
図１に戻り、リンク登録部１４０は、第１参照特定部１３２によって生成されたコードデータ変数ＩＤと、そのコードデータ変数ＩＤによって特定される変数の値と、第２参照特定部１３４によって生成された仕様書データ変数ＩＤと、その仕様書データ変数ＩＤによって特定される変数の値と、参照種別特定部１３６によって特定された参照種別の情報と、を対応付けてリンク保持部１７０に登録する。
【００２７】
図４は、リンク保持部１７０の一例を示すデータ構造図である。リンク保持部１７０は、ユーザによって指定されたコードデータの部分とユーザによって指定された仕様書データの部分との対応関係を保持する。特にリンク保持部１７０は、コードデータ変数ＩＤと、コードデータ変数ＩＤによって特定される変数の値と、仕様書データ変数ＩＤと、仕様書データ変数ＩＤによって特定される変数の値と、参照種別と、を対応付けて保持する。リンク保持部１７０に保持される各エントリは、プログラム処理装置１００における変数間のリンクに相当する。
【００２８】
なお、ユーザがまず仕様書内容表示領域３０６に表示されている仕様書データの変数のなかからひとつの変数を選択した場合は、第１参照特定部１３２は、第１指示受付領域３１０に対応する指示受付領域を、選択された仕様書データの変数に対応付けてディスプレイ１０４に表示させる。この指示受付領域は、ドキュメント参照メニュー３１２の代わりに、選択された変数をリンク設定における仕様書データ側の変数として指定すると共にコードデータを参照するためのソースコード参照メニューを有する。以降のリンク設定のための処理の流れは、図３（ａ）、図３（ｂ）および図４を参照して説明した流れと同様である。
【００２９】
図５は、参照削除部１４２における処理を説明するための説明図である。図５は変数宣言領域３０２を示す。ユーザは、マウスなどを操作し、変数宣言領域３０２に表示されているリストのなかからひとつの変数３２２を選択する。参照削除部１４２は、選択された変数３２２に対応付けて第３指示受付領域３２４をディスプレイ１０４に表示させる。
【００３０】
参照削除部１４２は、選択された変数３２２を特定するコードデータ変数ＩＤがリンク保持部１７０に保持されている場合、第３指示受付領域３２４に参照削除メニュー３２６を含める。参照削除メニュー３２６は、選択された変数３２２について設定されているリンクの削除を指示するためのメニューである。ユーザが第３指示受付領域３２４の参照削除メニュー３２６を指定すると、参照削除部１４２は、選択された変数３２２について設定されているリンクを削除する。言い換えると、参照削除部１４２は、選択された変数３２２とそれと対応する仕様書データの変数との対応関係を解除する。より具体的には参照削除部１４２は、リンク保持部１７０から、選択された変数３２２を特定するコードデータ変数ＩＤを含むエントリを削除する。
【００３１】
なお、ユーザが仕様書内容表示領域３０６に表示されている仕様書データに含まれる変数のなかからひとつの変数を選択した場合、参照削除部１４２は、第３指示受付領域３２４に対応する指示受付領域を、選択された変数に対応付けてディスプレイ１０４に表示させる。以降のリンク削除のための処理の流れは、図５を参照して説明した流れと同様である。
【００３２】
図１に戻り、変更受付部１５０は、編集画面３００に対するユーザの入力動作から、統合ファイル１１２のコードデータまたは仕様書データの一方に対する変更を受け付ける。変更受付部１５０は変更部分特定部１５２と変更内容取得部１５４とを含む。
【００３３】
例えばユーザはディスプレイ１０４に表示される編集画面３００を見ながら、変更したい項目を入力装置１０２を介して指定する。指定される項目は、変数宣言領域３０２にリストされている変数や、仕様書内容表示領域３０６に表示されている変数であってもよい。変更受付部１５０は指定された変数の値の入力を待ち受ける。ユーザは変更値を入力する。
なお、以下ではユーザが変数の値を変更する場合について説明するが、コンピュータプログラムの要素や仕様書の記載などの他の部分を変更する場合にも本実施の形態の技術的思想を適用できることは、本明細書に触れた当業者には明らかである。
【００３４】
変更部分特定部１５２は、そのような変更値の入力が受け付けられると、変更値が入力された変数を特定する変更対象変数ＩＤを取得する。変更値が入力された変数がコードデータの変数であれば変更対象変数ＩＤはコードデータ変数ＩＤであり、変更値が入力された変数が仕様書データの変数であれば変更対象変数ＩＤは仕様書データ変数ＩＤである。
変更内容取得部１５４は、入力された変更値を取得する。
変更受付部１５０は、受け付けた変更の履歴を履歴保持部１８０に登録する。特に変更受付部１５０は、変更対象変数ＩＤと、変更値と、変更された時刻と、を対応付けて履歴保持部１８０に登録する。
【００３５】
対応変更部１６０は、変更受付部１５０によってコードデータまたは仕様書データの一方に対する変更が受け付けられると、リンク保持部１７０によって保持される対応関係に基づいて、コードデータまたは仕様書データの他方を対応するよう変更する。対応変更部１６０はリンク有無判定部１６２と対応ＩＤ抽出部１６４と変更内容反映部１６６とを含む。
【００３６】
リンク有無判定部１６２は、変更部分特定部１５２によって取得された変更対象変数ＩＤがリンク保持部１７０に保持されているか否かを判定する。リンク有無判定部１６２は、リンク保持部１７０に保持されているコードデータ変数ＩＤおよび仕様書データ変数ＩＤを参照し、それらのなかに変更対象変数ＩＤと一致するＩＤ（以下、一致ＩＤと称す）があれば保持されていると判定し、そうでなければ保持されていないと判定する。
【００３７】
対応ＩＤ抽出部１６４は、リンク有無判定部１６２において保持されていると判定された場合、変更対象変数ＩＤに対応するＩＤを反映対象変数ＩＤとしてリンク保持部１７０から抽出する。この際、対応ＩＤ抽出部１６４は、参照種別に基づいて、反映対象変数ＩＤの抽出処理を行うか否かを決める。
【００３８】
対応ＩＤ抽出部１６４は、一致ＩＤに対応する参照種別が相互参照である場合、一致ＩＤがコードデータ変数ＩＤであるか仕様書データ変数ＩＤであるかに依らずに、一致ＩＤに対応するＩＤを反映対象変数ＩＤとして抽出する。対応ＩＤ抽出部１６４は、一致ＩＤに対応する参照種別が片側参照である場合、片側参照の種類および一致ＩＤの種類に依存して以下の表の通りの処理を行う。
【表１】
2013142971.tif 000003
【００３９】
変更内容反映部１６６は、対応ＩＤ抽出部１６４によって抽出された反映対象変数ＩＤが特定する変数に、変更受付部１５０によって受け付けられた変更の内容を反映させる。特に変更内容反映部１６６は、反映対象変数ＩＤが特定する変数の値を、変更内容取得部１５４によって取得された変更値とする。
【００４０】
変更内容反映部１６６は、一致ＩＤおよび反映対象変数ＩＤのそれぞれに対応してリンク保持部１７０に保持されている変数の値を、変更内容取得部１５４によって取得された変更値で更新する。
対応変更部１６０は、反映対象変数ＩＤと、変更値と、反映された時刻と、を対応付けて履歴保持部１８０に登録する。
【００４１】
図２に示される編集画面３００において、ユーザの入力操作により、変数宣言領域３０２に表示される変数「ｆｗｄ＿ｖｅｌｏ」の値が「５００」から「１００」に変更されたとする。変更部分特定部１５２は、変数「ｆｗｄ＿ｖｅｌｏ」を特定するコードデータ変数ＩＤ「ｆｗｄ＿ｖｅｌｏ」を変更対象変数ＩＤとして取得し、変更内容取得部１５４は変更値「１００」を取得する。
【００４２】
リンク有無判定部１６２は、変更対象変数ＩＤ「ｆｗｄ＿ｖｅｌｏ」が図４に示されるリンク保持部１７０に保持されていると判定する。図４に示されるリンク保持部１７０において、一致ＩＤは「ｆｗｄ＿ｖｅｌｏ」である。対応ＩＤ抽出部１６４は、一致ＩＤがコードデータ変数ＩＤであることおよび一致ＩＤに対応する参照種別が「参照ケースＡ」であることから、リンク保持部１７０において一致ＩＤ「ｆｗｄ＿ｖｅｌｏ」に対応する仕様書データ変数ＩＤ「前進量」を反映対象変数ＩＤとして抽出する。
変更内容反映部１６６は、反映対象変数ＩＤ「前進量」が特定する仕様書データの変数の値を「５００」から「１００」に変更する。変更内容反映部１６６は、図４に示されるリンク保持部１７０の一致ＩＤ「ｆｗｄ＿ｖｅｌｏ」に対応する変数の値を「５００」から「１００」に変更し、反映対象変数ＩＤ「前進量」に対応する変数の値を「５００」から「１００」に変更する。
【００４３】
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないＣＰＵや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
【００４４】
以上の構成によるプログラム処理装置１００の動作を説明する。
図６は、プログラム処理装置１００における一連の処理を示すフローチャートである。データ取得部１１０は、統合ファイル１１２を取得する（Ｓ２０２）。表示制御部１２０は、ディスプレイ１０４に編集画面３００を表示させる（Ｓ２０４）。指定受付部１３０は、ユーザ入力に基づき、コードデータの変数と仕様書データの変数との間にリンクを設定する（Ｓ２０６）。変更受付部１５０は、コードデータまたは仕様書データの変数が変更された場合、変更対象の変数および変更値を特定する（Ｓ２０８）。対応変更部１６０は、変更対象の変数にリンクが設定されているか否かを判定する（Ｓ２１０）。リンクが設定されていると判定された場合（Ｓ２１０のＹ）、対応変更部１６０は変更対象の変数がリンクの参照種別に対応しているか否かを判定する（Ｓ２１２）。対応していると判定された場合（Ｓ２１２のＹ）、対応変更部１６０はリンクに基づき、変更対象の変数に対応する変数を特定する（Ｓ２１４）。対応変更部１６０は、特定された変数の値を変更値に基づき変更する（Ｓ２１６）。ステップＳ２１０においてリンクが設定されていないと判定された場合（Ｓ２１０のＮ）またはステップＳ２１２において対応していないと判定された場合（Ｓ２１２のＮ）、対応変更部１６０は変更処理を行わず処理を終了する。
【００４５】
本実施の形態に係るプログラム処理装置１００によると、コードデータの変数と仕様書データの変数との間にリンクが設定される。そしてコードデータの変数の値が変更された場合、変更された変数とリンクで結ばれている仕様書データの変数の値も同様に変更される。仕様書データの変数の値が変更された場合も同様である。したがって、コードデータの更新と仕様書データの更新とを同期させることができ、コードデータの内容と仕様書データの内容との同期性を確保できる。また、更新漏れや更新抜けが発生する可能性を低減できる。その結果、プログラム開発の効率向上、開発されるコンピュータプログラムの品質向上、およびコンピュータプログラムの保守作業の効率向上を実現できる。
【００４６】
例えば設計値等の変更によりプログラム仕様に変更が生じた場合、本実施の形態に係るプログラム処理装置１００を採用すると、コードデータまたは仕様書データのいずれか一方に必要な変更を加えることにより、他方にもその変更が自動的に反映される。したがって、ユーザが手作業で両者に必要な変更を加える場合と比較して、ユーザの手間を省けると共に、より正確な変更の反映が可能となる。
【００４７】
また、本実施の形態に係るプログラム処理装置１００では、参照種別として相互参照または片側参照が設定される。したがって、きめ細かな参照設定が可能となる。
【００４８】
また、本実施の形態の係るプログラム処理装置１００では、変数間のリンクを事前に登録しておき、後ほど、リンクが設定されている一方の変数に変更が加えられるとリンクに基づき他方の変数も同様に変更される。したがって、リンクの設定動作と変数値の変更動作とを別々に行うことができるので、それぞれの作業の正確性を高めることができる。
【００４９】
以上、実施の形態に係るプログラム処理装置１００の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００５０】
実施の形態では、対応変更部１６０は変更受付部１５０によってコードデータまたは仕様書データの一方に対する変更が受け付けられると、リンク保持部１７０によって保持される対応関係に基づいて、コードデータまたは仕様書データの他方を対応するよう変更する場合について説明したが、これに限られない。例えば、対応変更部はリアルタイムに変更を反映させるのではなく、所定の時間間隔でまたはユーザからの反映指示により、変更を反映させてもよい。この場合、対応変更部は、変更を反映させるタイミングが到来するまで、変更対象変数ＩＤと変更値との組を所定の保持部に蓄積してもよい。対応変更部は、そのタイミングが到来すると、蓄積された各組に対してリンク有無判定部１６２、対応ＩＤ抽出部１６４および変更内容反映部１６６の処理を施してもよい。
【００５１】
実施の形態では、変更内容取得部１５４が変更値を取得する場合について説明したが、これに限られない。例えば、変更受付部は、変更対象変数ＩＤがリンク保持部１７０に保持されているか否かを判定し、保持されている場合は対応する変数の値を変更値で更新してもよい。変更内容反映部は、反映対象変数ＩＤが特定する変数の値を、変更対象変数ＩＤに対応してリンク保持部１７０に保持されている変数の値で更新してもよい。すなわち、プログラム処理装置を、リンクが設定された変数についてはリンク保持部１７０に最新の値を保持し、コードデータおよび仕様書データはリンク保持部１７０を参照してその変数の値を更新するよう構成してもよい。
【００５２】
実施の形態では、プログラム処理装置１００は統合ファイル１１２を生成するプログラム開発環境や対応ユニット１１４を生成するプログラム開発環境とは別体である場合について説明したが、これに限られず、それらは一体に構成されていてもよい。
【００５３】
実施の形態では、データ取得部１１０が一体的プログラム開発環境から統合ファイル１１２を取得する場合について説明したが、これに限られず、データ取得部は別体的プログラム開発環境から対応ユニット１１４を取得してもよい。
図７（ａ）〜（ｃ）は、変形例に係る指定受付部における処理を説明するための説明図である。表示制御部は、データ取得部によって取得された対応ユニット１１４のコードデータ１１６を読み込み、読み込まれたコードデータ１１６の内容を表示するソースファイル表示画面３３０を生成してディスプレイ１０４に表示させる。
【００５４】
図７（ａ）はソースファイル表示画面３３０の代表画面図である。ユーザは、マウスなどを操作し、ソースファイル表示画面３３０に表示されている変数のなかからひとつの変数３３２を選択する。第１参照特定部は、選択された変数３３２に対応付けて第４指示受付領域３３４をディスプレイ１０４に表示させる。第４指示受付領域３３４は、選択された変数３３２を、リンク設定におけるコードデータ側の変数として指定すると共に仕様書データを参照するためのドキュメント参照メニュー３３６を有する。ユーザが第４指示受付領域３３４のドキュメント参照メニュー３３６を指定すると、第１参照特定部は、選択された変数３３２を特定するコードデータ変数ＩＤを生成する。第２参照特定部は読み込むべき仕様書データを特定するためのドキュメント選択メニュー３３８をディスプレイ１０４に表示させる。
【００５５】
図７（ｂ）は、ドキュメント選択メニュー３３８の代表画面図である。ドキュメント選択メニュー３３８はデータ取得部１１０によって取得された対応ユニット１１４の仕様書データ１１８のファイル名３４０を表示する。対応ユニット１１４が複数の仕様書データを含む場合はドキュメント選択メニュー３３８は複数のファイル名を表示する。ユーザは、適切な仕様書データのファイル名を選択する。第２参照特定部は選択された仕様書データ１１８を読み込み、読み込まれた仕様書データ１１８の内容を表示するドキュメント表示画面３４２をディスプレイ１０４に表示させる。
【００５６】
図７（ｃ）はドキュメント表示画面３４２の代表画面図である。ドキュメント表示画面３４２は、仕様書データ１１８に含まれる変数のリストを表示してもよい。ユーザは、マウスなどを操作し、ドキュメント表示画面３４２に表示されている変数のなかから、ソースファイル表示画面３３０で選択された変数３３２とリンクさせたい変数３４４を選択する。第２参照特定部は、そのように選択された変数３４４を、リンク設定における仕様書データ側の変数として取得する。第２参照特定部は、選択された変数３４４を特定する仕様書データ変数ＩＤを生成する。このリンク作成時に、片側参照か相互参照か選択されてもよい。リンク登録部は、第１参照特定部によって生成されたコードデータ変数ＩＤと、そのコードデータ変数ＩＤによって特定される変数の値と、第２参照特定部によって生成された仕様書データ変数ＩＤと、その仕様書データ変数ＩＤによって特定される変数の値と、参照種別の情報と、を対応付けてリンク保持部に登録する。
本変形例において、リンク保持部１７０を参照するために仕様書データ１１８にハイパーリンク等を挿入してもよい。
本変形例に係るプログラム処理装置によると、実施の形態に係るプログラム処理装置１００が奏する作用効果と同様の作用効果が奏される。
【００５７】
実施の形態では、メニューによる参照機能を説明したが、これに限られず、例えばＡＰＩ（Application Program Interface）を用意することで、コードデータ、仕様書データ中にコマンドを埋め込むことが可能となる。このコマンドによって変数値を参照してもよい。
【００５８】
一体的プログラム開発環境においては、例えば、ある制御変数値における装置応答などのシミュレーション波形画面を保存することが可能である。このような波形画面について、コードデータ内の変数値を変更すると自動的に波形画面が変更される機能を実現するようプログラム処理装置を構成してもよい。
【００５９】
実施の形態において、リンク保持部１７０と履歴保持部１８０とは一体とされてもよい。
【００６０】
実施の形態では、プログラム処理装置１００は組み込み製品などに使用されるコンピュータプログラムおよびそのコンピュータプログラムのプログラム仕様を処理する場合について説明したが、これに限られず、プログラム処理装置１００は電気・電子回路設計プログラムや機械設計等のためののＣＡＤ（Computer Aided Design）ツールプログラムなどの他のコンピュータプログラムおよび対応するプログラム仕様を処理してもよい。
【００６１】
実施の形態では、プログラム処理装置１００はリンク設定時に参照種別を指定させる場合について説明したが、これに限られず、例えばプログラム処理装置は変更を反映させる際にユーザに参照の態様を選択させてもよい。
【符号の説明】
【００６２】
１００  プログラム処理装置、  １０２  入力装置、  １０４  ディスプレイ、  １１０  データ取得部、  １２０  表示制御部、  １３０  指定受付部、  １６０  対応変更部、  １７０  リンク保持部。
【図１】
2013142971.tif 000004
【図２】
2013142971.tif 000005
【図３】
2013142971.tif 000006
【図４】
2013142971.tif 000007
【図５】
2013142971.tif 000008
【図６】
2013142971.tif 000009
【図７】
2013142971.tif 000010