JP2013142971A - プログラム処理装置およびプログラム処理方法 - Google Patents
プログラム処理装置およびプログラム処理方法 Download PDFInfo
- Publication number
- JP2013142971A JP2013142971A JP2012002263A JP2012002263A JP2013142971A JP 2013142971 A JP2013142971 A JP 2013142971A JP 2012002263 A JP2012002263 A JP 2012002263A JP 2012002263 A JP2012002263 A JP 2012002263A JP 2013142971 A JP2013142971 A JP 2013142971A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- code data
- variable
- specification data
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制する。
【解決手段】プログラム処理装置100は、コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部110と、取得されたコードデータおよび仕様書データの内容をディスプレイ104に表示させる表示制御部120と、ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部130と、指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部170と、コードデータまたは仕様書データの一方が変更される場合、保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部160と、を備える。
【選択図】図1
【解決手段】プログラム処理装置100は、コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部110と、取得されたコードデータおよび仕様書データの内容をディスプレイ104に表示させる表示制御部120と、ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部130と、指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部170と、コードデータまたは仕様書データの一方が変更される場合、保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部160と、を備える。
【選択図】図1
Description
本発明は、コンピュータプログラムおよびそのプログラム仕様を処理するプログラム処理技術に関する。
近年、組み込み製品の高機能化等により組み込み製品に組み込まれるコンピュータプログラムの数や規模や複雑さが増大している。そこで、そのようなコンピュータプログラムの開発の現場では、開発だけでなくコンピュータプログラム自体の管理にも手間がかかるようになってきている。
従来では、コンピュータプログラムの管理手法のひとつとして、いわゆるバージョン管理による手法が知られている(例えば、特許文献1参照)。一般にバージョン管理では、コンピュータプログラムおよび対応するプログラム仕様書を変更するたびに新たなバージョン番号を採番し、修正後の両者に付加する。このバージョン番号を参照することで変更の管理が可能となる。
しかしながら、バージョン管理による手法では、実際の修正作業はユーザにより手作業で行われることが多い。この場合、ユーザがコンピュータプログラムおよびプログラム仕様書のそれぞれに必要な変更を施すので、その過程で漏れや抜けや間違いなどが生じる可能性がある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制できるプログラム処理技術の提供にある。
本発明のある態様はプログラム処理装置に関する。このプログラム処理装置は、コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部と、データ取得部によって取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる表示制御部と、ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部と、指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部と、コードデータまたは仕様書データの一方が変更される場合、リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部と、を備える。
この態様によると、コードデータの部分と仕様書データの部分との対応関係の登録およびその対応関係を使用した変更管理が可能となる。
本発明の別の態様は、プログラム処理方法である。この方法では、コンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方が変更される場合、リンクに基づいて他方も対応するよう変更される。
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、コンピュータプログラムの内容と、そのコンピュータプログラムに対応するプログラム仕様の内容と、の不整合を抑制できる。
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
実施の形態に係るプログラム処理装置では、組み込み製品などに使用されるコンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方の部分が変更される場合、リンクに基づいて他方の部分も対応するよう変更される。これにより、コンピュータプログラム更新時の漏れ、抜けや間違いの発生を抑制し、ソースコードと仕様書との間に内容の不整合が生じる可能性を低減できる。
コンピュータプログラムを記述するコードデータは所定のプログラミング言語に基づいて生成される。コードデータは、それぞれ異なるプログラミング言語に基づいて生成された複数の部分を含んでもよい。また、仕様書データは動画、静止画、音声、テキスト、波形図などの種々のフォーマットのデータを含みうる。
図1は、実施の形態に係るプログラム処理装置100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
プログラム処理装置100は、マウスやキーボードなどの入力装置102および表示手段すなわちLCD(Liquid Crystal Display)などのディスプレイ104と接続される。なお、プログラム処理装置100はインターネットなどのネットワーク(不図示)を介して入力装置やディスプレイと接続されてもよい。
プログラム処理装置100は、データ取得部110と、表示制御部120と、指定受付部130と、変更受付部150と、対応変更部160と、リンク保持部170と、履歴保持部180と、を備える。
プログラム処理装置100は、データ取得部110と、表示制御部120と、指定受付部130と、変更受付部150と、対応変更部160と、リンク保持部170と、履歴保持部180と、を備える。
データ取得部110は、コードデータと仕様書データとを取得する。データ取得部110は少なくとも以下の2つのプログラム開発環境からデータを取得可能に構成される。
(1)コードデータ内に仕様書データを内包することで、それらを一体的に管理可能な一体的プログラム開発環境。
この一体的プログラム開発環境では、コードデータと仕様書データとはひとつの統合ファイル112として一体化され、その統合ファイル112をひとつの処理単位として保持や表示の処理が行われる。データ取得部110はそのような統合ファイル112を取得する。
(2)コードデータと仕様書データとが別々のファイルとして存在する別体的プログラム開発環境。
この別体的プログラム開発環境では、コードデータ116は例えば既知のプログラム開発環境を使用して編集され、仕様書データ118は例えば既知のドキュメント編集ツールを使用して編集される。データ取得部110は、対応するコードデータ116と仕様書データ118とが含まれるフォルダなどの対応ユニット114を取得する。
(1)コードデータ内に仕様書データを内包することで、それらを一体的に管理可能な一体的プログラム開発環境。
この一体的プログラム開発環境では、コードデータと仕様書データとはひとつの統合ファイル112として一体化され、その統合ファイル112をひとつの処理単位として保持や表示の処理が行われる。データ取得部110はそのような統合ファイル112を取得する。
(2)コードデータと仕様書データとが別々のファイルとして存在する別体的プログラム開発環境。
この別体的プログラム開発環境では、コードデータ116は例えば既知のプログラム開発環境を使用して編集され、仕様書データ118は例えば既知のドキュメント編集ツールを使用して編集される。データ取得部110は、対応するコードデータ116と仕様書データ118とが含まれるフォルダなどの対応ユニット114を取得する。
以下、データ取得部110が一体的プログラム開発環境から統合ファイル112を取得する場合を説明する。
表示制御部120は、データ取得部110によって取得された統合ファイル112の内容を表示する編集画面300をディスプレイ104に表示させる。
図2は、編集画面300の代表画面図である。編集画面300は、統合ファイル112のコードデータに含まれる変数のリストを表示する変数宣言領域302と、統合ファイル112のコードデータが記述するコンピュータプログラムの内容をグラフィカルに表示するプログラム内容表示領域304と、統合ファイル112の仕様書データが記述するプログラム仕様を表示する仕様書内容表示領域306と、を有する。
表示制御部120は、データ取得部110によって取得された統合ファイル112の内容を表示する編集画面300をディスプレイ104に表示させる。
図2は、編集画面300の代表画面図である。編集画面300は、統合ファイル112のコードデータに含まれる変数のリストを表示する変数宣言領域302と、統合ファイル112のコードデータが記述するコンピュータプログラムの内容をグラフィカルに表示するプログラム内容表示領域304と、統合ファイル112の仕様書データが記述するプログラム仕様を表示する仕様書内容表示領域306と、を有する。
表示制御部120は、データ取得部110によって取得された統合ファイル112を処理し、プログラム内容表示領域304にコンピュータプログラムの内容を表示させる。この際、表示制御部120はコンピュータプログラムのソースコードの構成をグラフィカルに表示させる公知の表示技術を使用してもよい。また、表示制御部120は統合ファイル112のコードデータから変数を抽出し、抽出された変数をリストにして変数宣言領域302に表示させる。
図1に戻り、指定受付部130は、編集画面300に対するユーザの一連の入力動作から、コードデータの部分すなわちコードデータに含まれる変数の指定および仕様書データの部分すなわち仕様書データに含まれる変数の指定を受け付ける。指定受付部130は、第1参照特定部132と、第2参照特定部134と、参照種別特定部136と、リンク登録部140と、参照削除部142と、を含む。
図3(a)、(b)は、指定受付部130における処理を説明するための説明図である。図3(a)は変数宣言領域302を示す。ユーザは、マウスなどを操作し、変数宣言領域302に表示されているリストのなかからひとつの変数308を選択する。第1参照特定部132は、選択された変数308に対応付けて第1指示受付領域310をディスプレイ104に表示させる。第1指示受付領域310は、選択された変数308を、リンク設定におけるコードデータ側の変数として指定すると共に仕様書データを参照するためのドキュメント参照メニュー312を有する。ユーザが第1指示受付領域310のドキュメント参照メニュー312を指定すると、第1参照特定部132は、選択された変数308を特定するコードデータ変数IDを生成する。コードデータ変数IDはプログラム処理装置100内でコードデータの変数を特定するIDであり、例えば統合ファイル112のファイル名とコードデータ内で変数を表すために使用されている文字列とを含む。図3(a)の例では、選択された変数308を特定するコードデータ変数IDは「統合ファイル112のファイル名」と文字列「fwd_velo」とを対応付けた情報である。
図3(b)は仕様書内容表示領域306を示す。ユーザは、第1指示受付領域310のドキュメント参照メニュー312を指定した後、マウスなどを操作し、仕様書内容表示領域306に表示されている仕様書データの変数のなかから、変数宣言領域302で選択された変数308とリンクさせたい変数314を選択する。第2参照特定部134は、そのように選択された変数314を、リンク設定における仕様書データ側の変数として取得する。第2参照特定部134は、選択された変数314を特定する仕様書データ変数IDを生成する。仕様書データ変数IDはプログラム処理装置100内で仕様書データの変数を特定するIDであり、例えば統合ファイル112のファイル名と仕様書データ内で変数を表すために使用されている文字列とを含む。図3(b)の例では、選択された変数314を特定する仕様書データ変数IDは「統合ファイル112のファイル名」と文字列「前進量」とを対応付けた情報である。
参照種別特定部136は、仕様書内容表示領域306で選択された変数314に対応付けて第2指示受付領域316をディスプレイ104に表示させる。第2指示受付領域316は参照の種別を指定するための複数の種別メニューを含み、特に相互参照を指定するための相互参照メニュー318と片側参照を指定するための片側参照メニュー320とを含む。ユーザが第2指示受付領域316のいずれかのメニューを指定すると、参照種別特定部136は指定されたメニューに対応する参照種別を特定する。
相互参照は、コードデータの変数と仕様書データの変数とがリンクで結ばれているとき、一方の変数が変更されると他方の変数も対応するよう変更され、かつ、他方の変数が変更されると一方の変数も対応するよう変更される参照態様である。
片側参照は、コードデータの変数と仕様書データの変数とがリンクで結ばれているとき、一方の変数が変更されると他方の変数も対応するよう変更されるが、他方の変数が変更されても一方の変数はその影響を受けないすなわち変更されない参照態様である。以下、片側参照のうち、コードデータの変数が変更されると仕様書データのリンクされた変数も対応するよう変更される参照態様を参照ケースAと称し、仕様書データの変数が変更されるとコードデータのリンクされた変数も対応するよう変更される参照態様を参照ケースBと称す。
図3(a)、(b)の場合、片側参照320は、参照ケースA、すなわちコードデータの変数308が変更されるとその変更が仕様書データのリンクされた変数314に反映されるが、仕様書データの変数314の変更はコードデータの変数308に反映されない参照態様である。
片側参照は、コードデータの変数と仕様書データの変数とがリンクで結ばれているとき、一方の変数が変更されると他方の変数も対応するよう変更されるが、他方の変数が変更されても一方の変数はその影響を受けないすなわち変更されない参照態様である。以下、片側参照のうち、コードデータの変数が変更されると仕様書データのリンクされた変数も対応するよう変更される参照態様を参照ケースAと称し、仕様書データの変数が変更されるとコードデータのリンクされた変数も対応するよう変更される参照態様を参照ケースBと称す。
図3(a)、(b)の場合、片側参照320は、参照ケースA、すなわちコードデータの変数308が変更されるとその変更が仕様書データのリンクされた変数314に反映されるが、仕様書データの変数314の変更はコードデータの変数308に反映されない参照態様である。
図1に戻り、リンク登録部140は、第1参照特定部132によって生成されたコードデータ変数IDと、そのコードデータ変数IDによって特定される変数の値と、第2参照特定部134によって生成された仕様書データ変数IDと、その仕様書データ変数IDによって特定される変数の値と、参照種別特定部136によって特定された参照種別の情報と、を対応付けてリンク保持部170に登録する。
図4は、リンク保持部170の一例を示すデータ構造図である。リンク保持部170は、ユーザによって指定されたコードデータの部分とユーザによって指定された仕様書データの部分との対応関係を保持する。特にリンク保持部170は、コードデータ変数IDと、コードデータ変数IDによって特定される変数の値と、仕様書データ変数IDと、仕様書データ変数IDによって特定される変数の値と、参照種別と、を対応付けて保持する。リンク保持部170に保持される各エントリは、プログラム処理装置100における変数間のリンクに相当する。
なお、ユーザがまず仕様書内容表示領域306に表示されている仕様書データの変数のなかからひとつの変数を選択した場合は、第1参照特定部132は、第1指示受付領域310に対応する指示受付領域を、選択された仕様書データの変数に対応付けてディスプレイ104に表示させる。この指示受付領域は、ドキュメント参照メニュー312の代わりに、選択された変数をリンク設定における仕様書データ側の変数として指定すると共にコードデータを参照するためのソースコード参照メニューを有する。以降のリンク設定のための処理の流れは、図3(a)、図3(b)および図4を参照して説明した流れと同様である。
図5は、参照削除部142における処理を説明するための説明図である。図5は変数宣言領域302を示す。ユーザは、マウスなどを操作し、変数宣言領域302に表示されているリストのなかからひとつの変数322を選択する。参照削除部142は、選択された変数322に対応付けて第3指示受付領域324をディスプレイ104に表示させる。
参照削除部142は、選択された変数322を特定するコードデータ変数IDがリンク保持部170に保持されている場合、第3指示受付領域324に参照削除メニュー326を含める。参照削除メニュー326は、選択された変数322について設定されているリンクの削除を指示するためのメニューである。ユーザが第3指示受付領域324の参照削除メニュー326を指定すると、参照削除部142は、選択された変数322について設定されているリンクを削除する。言い換えると、参照削除部142は、選択された変数322とそれと対応する仕様書データの変数との対応関係を解除する。より具体的には参照削除部142は、リンク保持部170から、選択された変数322を特定するコードデータ変数IDを含むエントリを削除する。
なお、ユーザが仕様書内容表示領域306に表示されている仕様書データに含まれる変数のなかからひとつの変数を選択した場合、参照削除部142は、第3指示受付領域324に対応する指示受付領域を、選択された変数に対応付けてディスプレイ104に表示させる。以降のリンク削除のための処理の流れは、図5を参照して説明した流れと同様である。
図1に戻り、変更受付部150は、編集画面300に対するユーザの入力動作から、統合ファイル112のコードデータまたは仕様書データの一方に対する変更を受け付ける。変更受付部150は変更部分特定部152と変更内容取得部154とを含む。
例えばユーザはディスプレイ104に表示される編集画面300を見ながら、変更したい項目を入力装置102を介して指定する。指定される項目は、変数宣言領域302にリストされている変数や、仕様書内容表示領域306に表示されている変数であってもよい。変更受付部150は指定された変数の値の入力を待ち受ける。ユーザは変更値を入力する。
なお、以下ではユーザが変数の値を変更する場合について説明するが、コンピュータプログラムの要素や仕様書の記載などの他の部分を変更する場合にも本実施の形態の技術的思想を適用できることは、本明細書に触れた当業者には明らかである。
なお、以下ではユーザが変数の値を変更する場合について説明するが、コンピュータプログラムの要素や仕様書の記載などの他の部分を変更する場合にも本実施の形態の技術的思想を適用できることは、本明細書に触れた当業者には明らかである。
変更部分特定部152は、そのような変更値の入力が受け付けられると、変更値が入力された変数を特定する変更対象変数IDを取得する。変更値が入力された変数がコードデータの変数であれば変更対象変数IDはコードデータ変数IDであり、変更値が入力された変数が仕様書データの変数であれば変更対象変数IDは仕様書データ変数IDである。
変更内容取得部154は、入力された変更値を取得する。
変更受付部150は、受け付けた変更の履歴を履歴保持部180に登録する。特に変更受付部150は、変更対象変数IDと、変更値と、変更された時刻と、を対応付けて履歴保持部180に登録する。
変更内容取得部154は、入力された変更値を取得する。
変更受付部150は、受け付けた変更の履歴を履歴保持部180に登録する。特に変更受付部150は、変更対象変数IDと、変更値と、変更された時刻と、を対応付けて履歴保持部180に登録する。
対応変更部160は、変更受付部150によってコードデータまたは仕様書データの一方に対する変更が受け付けられると、リンク保持部170によって保持される対応関係に基づいて、コードデータまたは仕様書データの他方を対応するよう変更する。対応変更部160はリンク有無判定部162と対応ID抽出部164と変更内容反映部166とを含む。
リンク有無判定部162は、変更部分特定部152によって取得された変更対象変数IDがリンク保持部170に保持されているか否かを判定する。リンク有無判定部162は、リンク保持部170に保持されているコードデータ変数IDおよび仕様書データ変数IDを参照し、それらのなかに変更対象変数IDと一致するID(以下、一致IDと称す)があれば保持されていると判定し、そうでなければ保持されていないと判定する。
対応ID抽出部164は、リンク有無判定部162において保持されていると判定された場合、変更対象変数IDに対応するIDを反映対象変数IDとしてリンク保持部170から抽出する。この際、対応ID抽出部164は、参照種別に基づいて、反映対象変数IDの抽出処理を行うか否かを決める。
対応ID抽出部164は、一致IDに対応する参照種別が相互参照である場合、一致IDがコードデータ変数IDであるか仕様書データ変数IDであるかに依らずに、一致IDに対応するIDを反映対象変数IDとして抽出する。対応ID抽出部164は、一致IDに対応する参照種別が片側参照である場合、片側参照の種類および一致IDの種類に依存して以下の表の通りの処理を行う。
変更内容反映部166は、対応ID抽出部164によって抽出された反映対象変数IDが特定する変数に、変更受付部150によって受け付けられた変更の内容を反映させる。特に変更内容反映部166は、反映対象変数IDが特定する変数の値を、変更内容取得部154によって取得された変更値とする。
変更内容反映部166は、一致IDおよび反映対象変数IDのそれぞれに対応してリンク保持部170に保持されている変数の値を、変更内容取得部154によって取得された変更値で更新する。
対応変更部160は、反映対象変数IDと、変更値と、反映された時刻と、を対応付けて履歴保持部180に登録する。
対応変更部160は、反映対象変数IDと、変更値と、反映された時刻と、を対応付けて履歴保持部180に登録する。
図2に示される編集画面300において、ユーザの入力操作により、変数宣言領域302に表示される変数「fwd_velo」の値が「500」から「100」に変更されたとする。変更部分特定部152は、変数「fwd_velo」を特定するコードデータ変数ID「fwd_velo」を変更対象変数IDとして取得し、変更内容取得部154は変更値「100」を取得する。
リンク有無判定部162は、変更対象変数ID「fwd_velo」が図4に示されるリンク保持部170に保持されていると判定する。図4に示されるリンク保持部170において、一致IDは「fwd_velo」である。対応ID抽出部164は、一致IDがコードデータ変数IDであることおよび一致IDに対応する参照種別が「参照ケースA」であることから、リンク保持部170において一致ID「fwd_velo」に対応する仕様書データ変数ID「前進量」を反映対象変数IDとして抽出する。
変更内容反映部166は、反映対象変数ID「前進量」が特定する仕様書データの変数の値を「500」から「100」に変更する。変更内容反映部166は、図4に示されるリンク保持部170の一致ID「fwd_velo」に対応する変数の値を「500」から「100」に変更し、反映対象変数ID「前進量」に対応する変数の値を「500」から「100」に変更する。
変更内容反映部166は、反映対象変数ID「前進量」が特定する仕様書データの変数の値を「500」から「100」に変更する。変更内容反映部166は、図4に示されるリンク保持部170の一致ID「fwd_velo」に対応する変数の値を「500」から「100」に変更し、反映対象変数ID「前進量」に対応する変数の値を「500」から「100」に変更する。
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解されるところである。
以上の構成によるプログラム処理装置100の動作を説明する。
図6は、プログラム処理装置100における一連の処理を示すフローチャートである。データ取得部110は、統合ファイル112を取得する(S202)。表示制御部120は、ディスプレイ104に編集画面300を表示させる(S204)。指定受付部130は、ユーザ入力に基づき、コードデータの変数と仕様書データの変数との間にリンクを設定する(S206)。変更受付部150は、コードデータまたは仕様書データの変数が変更された場合、変更対象の変数および変更値を特定する(S208)。対応変更部160は、変更対象の変数にリンクが設定されているか否かを判定する(S210)。リンクが設定されていると判定された場合(S210のY)、対応変更部160は変更対象の変数がリンクの参照種別に対応しているか否かを判定する(S212)。対応していると判定された場合(S212のY)、対応変更部160はリンクに基づき、変更対象の変数に対応する変数を特定する(S214)。対応変更部160は、特定された変数の値を変更値に基づき変更する(S216)。ステップS210においてリンクが設定されていないと判定された場合(S210のN)またはステップS212において対応していないと判定された場合(S212のN)、対応変更部160は変更処理を行わず処理を終了する。
図6は、プログラム処理装置100における一連の処理を示すフローチャートである。データ取得部110は、統合ファイル112を取得する(S202)。表示制御部120は、ディスプレイ104に編集画面300を表示させる(S204)。指定受付部130は、ユーザ入力に基づき、コードデータの変数と仕様書データの変数との間にリンクを設定する(S206)。変更受付部150は、コードデータまたは仕様書データの変数が変更された場合、変更対象の変数および変更値を特定する(S208)。対応変更部160は、変更対象の変数にリンクが設定されているか否かを判定する(S210)。リンクが設定されていると判定された場合(S210のY)、対応変更部160は変更対象の変数がリンクの参照種別に対応しているか否かを判定する(S212)。対応していると判定された場合(S212のY)、対応変更部160はリンクに基づき、変更対象の変数に対応する変数を特定する(S214)。対応変更部160は、特定された変数の値を変更値に基づき変更する(S216)。ステップS210においてリンクが設定されていないと判定された場合(S210のN)またはステップS212において対応していないと判定された場合(S212のN)、対応変更部160は変更処理を行わず処理を終了する。
本実施の形態に係るプログラム処理装置100によると、コードデータの変数と仕様書データの変数との間にリンクが設定される。そしてコードデータの変数の値が変更された場合、変更された変数とリンクで結ばれている仕様書データの変数の値も同様に変更される。仕様書データの変数の値が変更された場合も同様である。したがって、コードデータの更新と仕様書データの更新とを同期させることができ、コードデータの内容と仕様書データの内容との同期性を確保できる。また、更新漏れや更新抜けが発生する可能性を低減できる。その結果、プログラム開発の効率向上、開発されるコンピュータプログラムの品質向上、およびコンピュータプログラムの保守作業の効率向上を実現できる。
例えば設計値等の変更によりプログラム仕様に変更が生じた場合、本実施の形態に係るプログラム処理装置100を採用すると、コードデータまたは仕様書データのいずれか一方に必要な変更を加えることにより、他方にもその変更が自動的に反映される。したがって、ユーザが手作業で両者に必要な変更を加える場合と比較して、ユーザの手間を省けると共に、より正確な変更の反映が可能となる。
また、本実施の形態に係るプログラム処理装置100では、参照種別として相互参照または片側参照が設定される。したがって、きめ細かな参照設定が可能となる。
また、本実施の形態の係るプログラム処理装置100では、変数間のリンクを事前に登録しておき、後ほど、リンクが設定されている一方の変数に変更が加えられるとリンクに基づき他方の変数も同様に変更される。したがって、リンクの設定動作と変数値の変更動作とを別々に行うことができるので、それぞれの作業の正確性を高めることができる。
以上、実施の形態に係るプログラム処理装置100の構成と動作について説明した。これらの実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、対応変更部160は変更受付部150によってコードデータまたは仕様書データの一方に対する変更が受け付けられると、リンク保持部170によって保持される対応関係に基づいて、コードデータまたは仕様書データの他方を対応するよう変更する場合について説明したが、これに限られない。例えば、対応変更部はリアルタイムに変更を反映させるのではなく、所定の時間間隔でまたはユーザからの反映指示により、変更を反映させてもよい。この場合、対応変更部は、変更を反映させるタイミングが到来するまで、変更対象変数IDと変更値との組を所定の保持部に蓄積してもよい。対応変更部は、そのタイミングが到来すると、蓄積された各組に対してリンク有無判定部162、対応ID抽出部164および変更内容反映部166の処理を施してもよい。
実施の形態では、変更内容取得部154が変更値を取得する場合について説明したが、これに限られない。例えば、変更受付部は、変更対象変数IDがリンク保持部170に保持されているか否かを判定し、保持されている場合は対応する変数の値を変更値で更新してもよい。変更内容反映部は、反映対象変数IDが特定する変数の値を、変更対象変数IDに対応してリンク保持部170に保持されている変数の値で更新してもよい。すなわち、プログラム処理装置を、リンクが設定された変数についてはリンク保持部170に最新の値を保持し、コードデータおよび仕様書データはリンク保持部170を参照してその変数の値を更新するよう構成してもよい。
実施の形態では、プログラム処理装置100は統合ファイル112を生成するプログラム開発環境や対応ユニット114を生成するプログラム開発環境とは別体である場合について説明したが、これに限られず、それらは一体に構成されていてもよい。
実施の形態では、データ取得部110が一体的プログラム開発環境から統合ファイル112を取得する場合について説明したが、これに限られず、データ取得部は別体的プログラム開発環境から対応ユニット114を取得してもよい。
図7(a)〜(c)は、変形例に係る指定受付部における処理を説明するための説明図である。表示制御部は、データ取得部によって取得された対応ユニット114のコードデータ116を読み込み、読み込まれたコードデータ116の内容を表示するソースファイル表示画面330を生成してディスプレイ104に表示させる。
図7(a)〜(c)は、変形例に係る指定受付部における処理を説明するための説明図である。表示制御部は、データ取得部によって取得された対応ユニット114のコードデータ116を読み込み、読み込まれたコードデータ116の内容を表示するソースファイル表示画面330を生成してディスプレイ104に表示させる。
図7(a)はソースファイル表示画面330の代表画面図である。ユーザは、マウスなどを操作し、ソースファイル表示画面330に表示されている変数のなかからひとつの変数332を選択する。第1参照特定部は、選択された変数332に対応付けて第4指示受付領域334をディスプレイ104に表示させる。第4指示受付領域334は、選択された変数332を、リンク設定におけるコードデータ側の変数として指定すると共に仕様書データを参照するためのドキュメント参照メニュー336を有する。ユーザが第4指示受付領域334のドキュメント参照メニュー336を指定すると、第1参照特定部は、選択された変数332を特定するコードデータ変数IDを生成する。第2参照特定部は読み込むべき仕様書データを特定するためのドキュメント選択メニュー338をディスプレイ104に表示させる。
図7(b)は、ドキュメント選択メニュー338の代表画面図である。ドキュメント選択メニュー338はデータ取得部110によって取得された対応ユニット114の仕様書データ118のファイル名340を表示する。対応ユニット114が複数の仕様書データを含む場合はドキュメント選択メニュー338は複数のファイル名を表示する。ユーザは、適切な仕様書データのファイル名を選択する。第2参照特定部は選択された仕様書データ118を読み込み、読み込まれた仕様書データ118の内容を表示するドキュメント表示画面342をディスプレイ104に表示させる。
図7(c)はドキュメント表示画面342の代表画面図である。ドキュメント表示画面342は、仕様書データ118に含まれる変数のリストを表示してもよい。ユーザは、マウスなどを操作し、ドキュメント表示画面342に表示されている変数のなかから、ソースファイル表示画面330で選択された変数332とリンクさせたい変数344を選択する。第2参照特定部は、そのように選択された変数344を、リンク設定における仕様書データ側の変数として取得する。第2参照特定部は、選択された変数344を特定する仕様書データ変数IDを生成する。このリンク作成時に、片側参照か相互参照か選択されてもよい。リンク登録部は、第1参照特定部によって生成されたコードデータ変数IDと、そのコードデータ変数IDによって特定される変数の値と、第2参照特定部によって生成された仕様書データ変数IDと、その仕様書データ変数IDによって特定される変数の値と、参照種別の情報と、を対応付けてリンク保持部に登録する。
本変形例において、リンク保持部170を参照するために仕様書データ118にハイパーリンク等を挿入してもよい。
本変形例に係るプログラム処理装置によると、実施の形態に係るプログラム処理装置100が奏する作用効果と同様の作用効果が奏される。
本変形例において、リンク保持部170を参照するために仕様書データ118にハイパーリンク等を挿入してもよい。
本変形例に係るプログラム処理装置によると、実施の形態に係るプログラム処理装置100が奏する作用効果と同様の作用効果が奏される。
実施の形態では、メニューによる参照機能を説明したが、これに限られず、例えばAPI(Application Program Interface)を用意することで、コードデータ、仕様書データ中にコマンドを埋め込むことが可能となる。このコマンドによって変数値を参照してもよい。
一体的プログラム開発環境においては、例えば、ある制御変数値における装置応答などのシミュレーション波形画面を保存することが可能である。このような波形画面について、コードデータ内の変数値を変更すると自動的に波形画面が変更される機能を実現するようプログラム処理装置を構成してもよい。
実施の形態において、リンク保持部170と履歴保持部180とは一体とされてもよい。
実施の形態では、プログラム処理装置100は組み込み製品などに使用されるコンピュータプログラムおよびそのコンピュータプログラムのプログラム仕様を処理する場合について説明したが、これに限られず、プログラム処理装置100は電気・電子回路設計プログラムや機械設計等のためののCAD(Computer Aided Design)ツールプログラムなどの他のコンピュータプログラムおよび対応するプログラム仕様を処理してもよい。
実施の形態では、プログラム処理装置100はリンク設定時に参照種別を指定させる場合について説明したが、これに限られず、例えばプログラム処理装置は変更を反映させる際にユーザに参照の態様を選択させてもよい。
100 プログラム処理装置、 102 入力装置、 104 ディスプレイ、 110 データ取得部、 120 表示制御部、 130 指定受付部、 160 対応変更部、 170 リンク保持部。
Claims (5)
- コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得するデータ取得部と、
前記データ取得部によって取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる表示制御部と、
ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける指定受付部と、
指定されたコードデータの部分と指定された仕様書データの部分との対応関係を保持するリンク保持部と、
コードデータまたは仕様書データの一方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する対応変更部と、を備えることを特徴とするプログラム処理装置。 - 前記リンク保持部は、指定されたコードデータの部分を特定するIDと指定された仕様書データの部分を特定するIDとを対応付けて保持し、
前記対応変更部は、
コードデータまたは仕様書データの一方のうち変更に係る部分を特定するIDが前記リンク保持部に保持されているか否かを判定する判定部と、
前記判定部において保持されていると判定された場合、コードデータまたは仕様書データの一方のうち変更に係る部分を特定するIDに対応する、コードデータまたは仕様書データの他方の部分のIDを前記リンク保持部から抽出するID抽出部と、
前記ID抽出部によって抽出されたIDが特定する部分に、コードデータまたは仕様書データの一方の変更内容を反映させる変更反映部と、を含むことを特徴とする請求項1に記載のプログラム処理装置。 - 前記対応変更部は、コードデータまたは仕様書データの他方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの一方を変更することを特徴とする請求項1または2に記載のプログラム処理装置。
- コンピュータプログラムを記述するコードデータの部分とそのコンピュータプログラムのプログラム仕様を記述する仕様書データの部分とが互いにリンクされており、その一方が変更される場合、リンクに基づいて他方も対応するよう変更されることを特徴とするプログラム処理方法。
- コンピュータプログラムを記述するコードデータとそのコンピュータプログラムのプログラム仕様を記述する仕様書データとを取得する機能と、
取得されたコードデータおよび仕様書データの内容を所定の表示手段に表示させる機能と、
ユーザの一連の入力動作から、コードデータの部分の指定および仕様書データの部分の指定を受け付ける機能と、
指定されたコードデータの部分と指定された仕様書データの部分との対応関係をリンク保持部に登録する機能と、
コードデータまたは仕様書データの一方が変更される場合、前記リンク保持部によって保持される対応関係に基づいてコードデータまたは仕様書データの他方を変更する機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012002263A JP2013142971A (ja) | 2012-01-10 | 2012-01-10 | プログラム処理装置およびプログラム処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012002263A JP2013142971A (ja) | 2012-01-10 | 2012-01-10 | プログラム処理装置およびプログラム処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013142971A true JP2013142971A (ja) | 2013-07-22 |
Family
ID=49039515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012002263A Pending JP2013142971A (ja) | 2012-01-10 | 2012-01-10 | プログラム処理装置およびプログラム処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013142971A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015019422A1 (ja) * | 2013-08-06 | 2015-02-12 | 株式会社アイ・エル・シー | 組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置 |
JP2018181073A (ja) * | 2017-04-17 | 2018-11-15 | キヤノンマーケティングジャパン株式会社 | 情報処理装置と、その処理方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03137727A (ja) * | 1989-10-24 | 1991-06-12 | Fuji Electric Co Ltd | プログラム解説ファイル作成機能付エディタ |
JPH1125126A (ja) * | 1997-07-08 | 1999-01-29 | N T T Data:Kk | システム設計ツール及びデータウエアハウス設計システム及び方法 |
JP2006215872A (ja) * | 2005-02-04 | 2006-08-17 | Mitsubishi Electric Corp | 家電機器アダプタの制御ソフトウェア開発方法及び開発装置 |
JP2008004029A (ja) * | 2006-06-26 | 2008-01-10 | Fuji Electric Holdings Co Ltd | ソフトウェア修正漏れ確認システムおよび方法 |
US20080250392A1 (en) * | 2007-04-06 | 2008-10-09 | John Edward Petri | Content management system for computer software with dynamic traceability between code and design documents |
-
2012
- 2012-01-10 JP JP2012002263A patent/JP2013142971A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03137727A (ja) * | 1989-10-24 | 1991-06-12 | Fuji Electric Co Ltd | プログラム解説ファイル作成機能付エディタ |
JPH1125126A (ja) * | 1997-07-08 | 1999-01-29 | N T T Data:Kk | システム設計ツール及びデータウエアハウス設計システム及び方法 |
JP2006215872A (ja) * | 2005-02-04 | 2006-08-17 | Mitsubishi Electric Corp | 家電機器アダプタの制御ソフトウェア開発方法及び開発装置 |
JP2008004029A (ja) * | 2006-06-26 | 2008-01-10 | Fuji Electric Holdings Co Ltd | ソフトウェア修正漏れ確認システムおよび方法 |
US20080250392A1 (en) * | 2007-04-06 | 2008-10-09 | John Edward Petri | Content management system for computer software with dynamic traceability between code and design documents |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015019422A1 (ja) * | 2013-08-06 | 2015-02-12 | 株式会社アイ・エル・シー | 組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置 |
JP2018181073A (ja) * | 2017-04-17 | 2018-11-15 | キヤノンマーケティングジャパン株式会社 | 情報処理装置と、その処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762743B (zh) | 一种数据表操作代码生成方法及装置 | |
JP2020501208A (ja) | コンテンツ管理システムにおけるプロジェクトの管理 | |
EP2835727A1 (en) | Method for performing batch management on desktop icon and digital mobile device | |
CN105528418B (zh) | 一种设计文档生成方法及装置 | |
CN105183760B (zh) | 一种网页组件加载方法和装置 | |
JP6636097B2 (ja) | 空間のビジュアルモデルレイアウトを作成する方法、装置およびデバイス | |
JP2008547112A (ja) | メタデータの閲覧および編集用のカスタマイズされたユーザ・インターフェースを提供する方法およびシステム | |
JP2017521758A (ja) | 図面注記からの関連する3d製品ドキュメンテーションの生成 | |
CN105718468A (zh) | 一种数据仓库ods层的建立方法和装置 | |
JP2008009861A (ja) | システム構成管理方式 | |
JPWO2014102935A1 (ja) | 電子マニュアル閲覧装置およびシステム | |
JP2013142971A (ja) | プログラム処理装置およびプログラム処理方法 | |
US20210124720A1 (en) | Managing file revisions from multiple reviewers | |
JP6552162B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6097231B2 (ja) | プログラム生成装置および方法 | |
JP2008059010A (ja) | 業務処理フロー図作成編集支援システムおよび支援プログラム | |
JP2013105435A (ja) | データ移行方法およびプログラム | |
CN107491466A (zh) | 客户端设备、信息处理***、以及信息处理方法 | |
JP5861545B2 (ja) | 情報処理装置、履歴制御方法および履歴制御プログラム | |
JP2010061200A (ja) | 文書管理システム及び操作履歴表示方法 | |
CN111523294A (zh) | 基于pdf文件的批注分离的处理方法及装置 | |
JPWO2015033393A1 (ja) | 設計変更管理支援方法、及びそのシステム | |
JP2013257624A (ja) | データ入力支援装置、方法、およびプログラム | |
JP2009064347A (ja) | 作業支援情報表示装置および作業支援情報表示方法 | |
JP4507609B2 (ja) | ファイル管理プログラム及びファイル管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140414 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141211 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141216 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150512 |