(57)【要約】  プログラムの変更を変更毎に管理する。  変更前コード読出手段（１ａ）は、変更前コード記憶手段（１ｅ）に記憶されている変更前コードを読み出す。変更後コード読出手段（１ｂ）は、変更後コード記憶手段（１ｆ）に記憶されている変更後コードを読み出す。変更管理情報生成手段（１ｃ）は、変更前コード読出手段（１ａ）によって読み出された変更前コードと変更後コード読出手段（１ｂ）によって読み出された変更後コードとに基づいて変更管理情報を生成し、生成した変更管理情報を変更管理情報記憶手段（１ｇ）に記憶させる。変更管理情報出力手段（１ｄ）は、変更管理情報記憶手段（１ｇ）に記憶されている変更管理情報を出力する。
2010044150.tif 000002
【特許請求の範囲】
【請求項１】
変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、
前記変更が施された後のプログラムコードである変更後コードを記憶する変更後コード記憶手段と、
前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、
前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、
前記変更後コード記憶手段に記憶されている前記変更後コードを読み出す変更後コード読出手段と、
前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更管理情報を生成し、生成した前記変更管理情報を前記変更管理情報記憶手段に記憶させる変更管理情報生成手段と、
前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段と、
を有することを特徴とするプログラム変更管理装置。
【請求項２】
前記変更前コードに対して前記変更管理情報に基づいて前記変更が施されることにより生成された生成変更後コードを記憶する生成変更後コード記憶手段と、
前記変更管理情報記憶手段に記憶されている前記変更管理情報を読み出す変更管理情報読出手段と、
前記変更前コード読出手段によって読み出された前記変更前コードと前記変更管理情報読出手段によって読み出された前記変更管理情報とに基づいて、前記変更後コードを生成し、生成した前記変更後コードを前記生成変更後コード記憶手段に記憶させる変更後コード生成手段と、
前記生成変更後コード記憶手段に記憶されている前記生成変更後コードを出力する変更後コード出力手段と、
を有することを特徴とする請求の範囲第１項記載のプログラム変更管理装置。
【請求項３】
前記変更管理情報は、
前記変更前コードにおいて前記変更によりコードが変更される場所である変更場所を示す変更場所情報と、
前記変更前コードの前記変更場所において前記変更により変更されるコードである変更コードを示す変更コード情報と、
を有することを特徴とする請求の範囲第１項記載のプログラム変更管理装置。
【請求項４】
前記変更管理情報は、前記変更前コードの前記変更場所における前記変更の操作である変更操作を示す変更操作情報を有することを特徴とする請求の範囲第３項記載のプログラム変更管理装置。
【請求項５】
前記変更管理情報は、前記変更前コードの前記変更場所における前記変更の操作である変更操作を示す変更操作情報を有することを特徴とする請求の範囲第３項記載のプログラム変更管理装置。
【請求項６】
前記変更管理情報は、前記変更前コードについて同一の前記変更場所に対する前記変更が複数存在する場合に、前記変更の優先順位を示す優先順位情報を有することを特徴とする請求の範囲第３項記載のプログラム変更管理装置。
【請求項７】
前記プログラムコードは、ソースコードであることを特徴とする請求の範囲第１項記載のプログラム変更管理装置。
【請求項８】
変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、
前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、
前記変更前コードに対して前記変更管理情報に基づいて前記変更が施されることにより生成された生成変更後コードを記憶する生成変更後コード記憶手段と、
前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、
前記変更管理情報記憶手段に記憶されている前記変更管理情報を読み出す変更管理情報読出手段と、
前記変更前コード読出手段によって読み出された前記変更前コードと前記変更管理情報読出手段によって読み出された前記変更管理情報とに基づいて、前記生成変更後コードを生成し、生成した前記生成変更後コードを前記生成変更後コード記憶手段に記憶させる変更後コード生成手段と、
前記生成変更後コード記憶手段に記憶されている前記生成変更後コードを出力する変更後コード出力手段と、
を有することを特徴とするプログラム変更管理装置。
【請求項９】
コンピュータを、
変更前コード記憶手段に記憶されている変更が施される前のプログラムコードである変更前コードを読み出す変更前コード読出手段、
変更後コード記憶手段に記憶されている前記変更が施された後のプログラムコードである変更後コードを読み出す変更後コード読出手段、
前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更前コードに施された前記変更の内容を示す変更管理情報を生成し、生成した前記変更管理情報を変更管理情報記憶手段に記憶させる変更管理情報生成手段、
前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段、
として機能させることを特徴とするプログラム変更管理プログラム。
【請求項１０】
変更前コード読出手段が、変更前コード記憶手段に記憶されている変更が施される前のプログラムコードである変更前コードを読み出し、
変更後コード読出手段が、変更後コード記憶手段に記憶されている前記変更が施された後のプログラムコードである変更後コードを読み出し、
変更管理情報生成手段が、前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更前コードに施された前記変更の内容を示す変更管理情報を生成し、生成した前記変更管理情報を変更管理情報記憶手段に記憶させ、
変更管理情報出力手段が、前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する、
ことを特徴とするプログラム変更管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法に関し、特に、プログラムコードの変更を管理するプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法に関する。
【背景技術】
【０００２】
従来、コンピュータプログラムのソースコードの変更管理には、ＲＣＳ（Revision Control System）やＶＳＳ(Visual SourceSafe)等のバージョン（version）を管理する技術が利用されている。これらのシステムを利用することで、ソフトウェア製品を構成する一群のソースコードにおける特定の時点や状態の区切り毎に、一意に付与したリビジョン（revision）によって管理することができる。また、これらを用いてプログラムのソースコードの２つのリビジョンの間の差分を抽出することができる。【０００３】
また、ソースコードの差分管理に関して、以下の特許文献１から特許文献３に示す技術が知られている。
【特許文献１】特開平５−８０９９９号公報
【特許文献２】特開平５−９１５５０号公報
【特許文献３】特開平５−１５８７６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記のプログラムのソースコードのバージョンを管理する技術は、管理の対象がソースコードのテキストのみである。すなわち、この技術により抽出できるリビジョン間の差分は、２つのリビジョンのソースコードを単にテキストファイルとして機械的に比較した結果であるため、使用しているコンピュータ言語のモジュール構造や文法は全く考慮されていない。また、この技術による２つのリビジョンにおける変更箇所は、単に先頭からの行番号で示されるのみであり、また、変更内容は、行番号を基準として、削除されるテキストや追加されるテキストが示されるのみである。【０００５】
これらにより、例えば、ファイル構成の再編成が行われて行番号およびその他の変更が行われた場合等には、その再編成による変更と異なる変更が行われたソースコードから抽出された他の差分を利用して、再編成後のファイルにその変更を適用するといったプログラムのソースコードの差分の再利用ができない場合があるという問題点がある。【０００６】
本件はこのような点に鑑みてなされたものであり、プログラムの変更の内容を変更毎に管理するプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示のプログラム変更管理装置は、変更が施される前のプログラムコードである変更前コードを記憶する変更前コード記憶手段と、前記変更が施された後のプログラムコードである変更後コードを記憶する変更後コード記憶手段と、前記変更前コードに施された前記変更の内容を示す変更管理情報を記憶する変更管理情報記憶手段と、前記変更前コード記憶手段に記憶されている前記変更前コードを読み出す変更前コード読出手段と、前記変更後コード記憶手段に記憶されている前記変更後コードを読み出す変更後コード読出手段と、前記変更前コード読出手段によって読み出された前記変更前コードと前記変更後コード読出手段によって読み出された前記変更後コードとに基づいて前記変更管理情報を生成し、生成した前記変更管理情報を前記変更管理情報記憶手段に記憶させる変更管理情報生成手段と、前記変更管理情報記憶手段に記憶されている前記変更管理情報を出力する変更管理情報出力手段と、を有する。【０００８】
開示のプログラム変更管理装置によれば、変更前コード読出手段により、変更前コード記憶手段に記憶されている変更前コードが読み出される。変更後コード読出手段により、変更後コード記憶手段に記憶されている変更後コードが読み出される。変更管理情報生成手段により、変更前コードと変更後コードとに基づいて変更管理情報が生成され、生成された変更管理情報が変更管理情報記憶手段に記憶される。変更管理情報出力手段により、変更管理情報記憶手段に記憶されている変更管理情報が出力される。
【発明の効果】
【０００９】
開示のプログラム変更管理装置およびプログラム変更管理プログラムによれば、プログラムの変更を変更毎に管理することが可能になる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態の概要を示す図である。
【図２】ソースコード管理装置のハードウェア構成を示す図である。
【図３】ソースコード管理装置の構成を示すブロック図である。
【図４】変更前ソースコードの例を示す図である。
【図５】変更後ソースコードの例を示す図である。
【図６】変更管理テーブルの構成例を示す図である。
【図７】差分ファイルの例を示す図である。
【図８】差分ファイルの生成時の入出力を示す図である。
【図９】変更管理情報生成処理の手順を示すフローチャートである。
【図１０】変更後ソースコードの生成時の入出力を示す図である。
【図１１】変更後コード生成処理の手順を示すフローチャートである。
【図１２】変更後コード生成処理の手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００１１】
以下、実施の形態について、図面を参照して説明する。
図１は、本実施の形態の概要を示す図である。図１に示すプログラム変更管理装置１は、変更管理情報を生成する変更管理情報生成機能を有する。プログラム変更管理装置１は、変更前コード読出手段１ａ、変更後コード読出手段１ｂ、変更管理情報生成手段１ｃ、変更管理情報出力手段１ｄ、変更前コード記憶手段１ｅ、変更後コード記憶手段１ｆおよび変更管理情報記憶手段１ｇを有する。【００１２】
変更前コード読出手段１ａは、変更前コード記憶手段１ｅに記憶されている変更前コードを読み出す。ここで、変更とは、例えば、デバッグ（debug）やプログラムのバージョンアップ（version-up）による改訂等によって、プログラムコードの一部が修正されることをいうものとする。【００１３】
変更後コード読出手段１ｂは、変更後コード記憶手段１ｆに記憶されている変更後コードを読み出す。
変更管理情報生成手段１ｃは、変更前コード読出手段１ａによって読み出された変更前コードと、変更後コード読出手段１ｂによって読み出された変更後コードとに基づいて変更管理情報を生成する。次に、変更管理情報生成手段１ｃは、生成した変更管理情報を変更管理情報記憶手段１ｇに記憶させる。これにより、生成された変更管理情報を用いて変更前コードまたは他のプログラムコードを変更することができる。【００１４】
変更管理情報出力手段１ｄは、変更管理情報記憶手段１ｇに記憶されている変更管理情報を出力する。これにより、他のコンピュータにおいて、出力された変更管理情報を用いて変更前コードまたは他のプログラムコードを変更することができる。【００１５】
変更前コード記憶手段１ｅは、変更が施される前のプログラムコードである変更前コードを記憶する。この変更前コードは、例えば、ＢＩＯＳ（Basic Input/Output System）、アプリケーション、ＯＳ（Operating System）等のプログラムのソースコードである。【００１６】
このとき、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、プログラム言語の種類は問わない。このため、本実施の形態では、ＦＯＲＴＲＡＮ（登録商標）、ＣＯＢＯＬ（登録商標）、Ｃ言語、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｌｉｓｐ等の高級言語やアセンブリ言語（assembly language）で作成されたソースコードを管理することができる。【００１７】
また、同様に、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、ソースコードに限らず実行形式のプログラムコードを用いることができる。【００１８】
変更前コードは、他のコンピュータで作成され、プログラム変更管理装置１のユーザの指示に基づきまたはプログラム変更管理装置１の処理に基づき、プログラム変更管理装置１によって外部から取得され、変更前コード記憶手段１ｅに記憶される。なお、これに限らず、変更前コード記憶手段１ｅに記憶されている変更前コードは、プログラム変更管理装置１を用いて作成されたものであってもよい。【００１９】
変更後コード記憶手段１ｆは、変更が施された後のプログラムコードである変更後コードを記憶する。この変更後コードは、例えば、変更前コードと同一のプログラムであって、変更前コードのデバッグやバージョンアップ等による改訂版のプログラムコードである。また、変更後コードは、変更前コードと同一のプログラムでない場合にも、同一の変更を施すことが可能であれば足りる。変更後コードは変更前コードと同一の言語で作成されているものとする。【００２０】
変更後コードは、変更前コードと同様、他のコンピュータで作成され、プログラム変更管理装置１のユーザの指示に基づきまたはプログラム変更管理装置１の処理に基づき、プログラム変更管理装置１によって外部から取得され、変更後コード記憶手段１ｆに記憶される。なお、これに限らず、変更後コード記憶手段１ｆに記憶されている変更後コードは、プログラム変更管理装置１を用いて作成されたものであってもよい。【００２１】
変更管理情報記憶手段１ｇは、変更前コードに施された変更の内容を示す変更管理情報を記憶する。ここでは、変更管理情報は、変更前コードおよび変更後コードの差分を抽出して得られた、変更前コードに施された変更の内容を示す情報である。【００２２】
このようなプログラム変更管理装置１によれば、変更前コード読出手段１ａにより、変更前コード記憶手段１ｅに記憶されている変更前コードが読み出される。変更後コード読出手段１ｂにより、変更後コード記憶手段１ｆに記憶されている変更後コードが読み出される。変更管理情報生成手段１ｃにより、変更前コードと変更後コードとに基づいて変更管理情報が生成され、生成された変更管理情報が変更管理情報記憶手段１ｇに記憶される。変更管理情報出力手段１ｄにより、変更管理情報記憶手段１ｇに記憶されている変更管理情報が出力される。【００２３】
これによって、変更管理情報生成手段１ｃによって変更前コードおよび変更後コードに基づいて変更管理情報が生成されるので、プログラムコードに対する変更の管理が容易になる。【００２４】
また、生成された変更管理情報を用いて他のプログラムコードに変更前コードおよび変更後コードの間の変更と同一の変更を施すことができる。
以下、本実施の形態について図面を参照して詳細に説明する。【００２５】
図２は、ソースコード管理装置のハードウェア構成を示す図である。図２に示すソースコード管理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。【００２６】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。【００２７】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。【００２８】
通信インタフェース１０６は、図示しないネットワークに接続可能である。通信インタフェース１０６は、ネットワークを介して、他のコンピュータとの間でデータの送受信を行うことができる。【００２９】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図３は、ソースコード管理装置の構成を示すブロック図である。図３に示すソースコード管理装置１００は、変更管理情報を生成する変更管理情報生成機能および変更後コードを生成する変更後コード生成機能を有する。ソースコード管理装置１００は、変更前コード読出部１１１、変更後コード読出部１１２、変更管理情報生成部１１３、差分ファイル出力部１２２、変更前コード記憶部１３０、変更後コード記憶部１４０、変更管理情報記憶部１５０を有する。【００３０】
変更前コード読出部１１１は、変更前コード記憶部１３０に記憶されている変更前コードを読み出す。
変更後コード読出部１１２は、変更後コード記憶部１４０に記憶されている変更後コードを読み出す。【００３１】
変更管理情報生成部１１３は、変更前コード読出部１１１によって読み出された変更前コードと、変更後コード読出部１１２によって読み出された変更後コードとに基づいて変更管理情報を生成する。次に、変更管理情報生成部１１３は、生成した変更管理情報を変更管理情報記憶部１５０に記憶させる。これにより、生成された変更管理情報を用いて変更前コードまたは他のプログラムのソースコードを変更することができる。【００３２】
差分ファイル書込部１２１は、変更管理情報記憶部１５０に記憶されている変更管理情報を読み出す。次に、差分ファイル書込部１２１は、読み出した変更管理情報に基づいて、変更管理情報を有する差分ファイルを生成する。次に、差分ファイル書込部１２１は、生成した差分ファイルを差分ファイル記憶部１６０に記憶させる。【００３３】
差分ファイル出力部１２２は、差分ファイル記憶部１６０に記憶されている差分ファイルを出力する。この差分ファイルは、変更管理情報記憶部１５０に記憶されている変更管理情報の全部または一部を有する。これにより、差分ファイル出力部１２２により、変更管理情報が出力されるので、他のコンピュータにおいて、出力された変更管理情報を用いて変更前コードまたは他のプログラムのソースコードを変更することができる。この差分ファイル出力部１２２は、変更管理情報出力手段として機能する。【００３４】
差分ファイル読出部１２３は、差分ファイル記憶部１６０に記憶されている変更管理情報を有する差分ファイルを読み出す。この差分ファイル読出部１２３は、変更管理情報読出手段として機能する。【００３５】
なお、本実施の形態では、変更管理情報は、差分ファイル読出部１２３によって差分ファイル記憶部１６０から読み出されるが、これに限らず、変更管理情報記憶部１５０から読み出されてもよい。この場合変更管理情報は、変更管理情報記憶部１５０から直接読み出され、または変更管理テーブル（図６において後述）から読み出される。【００３６】
変更後コード生成部１２４は、変更前コード読出部１１１によって読み出された変更前コードと差分ファイル読出部１２３によって読み出された変更管理情報とに基づいて、生成変更後コードを生成し、生成した生成変更後コードを生成変更後コード記憶部１７０に記憶させる。【００３７】
変更後コード出力部１２５は、生成変更後コード記憶部１７０に記憶されている生成変更後コードを出力する。
変更前コード記憶部１３０は、変更が施される前のプログラムのソースコードである変更前コードを記憶する。この変更前コードは、例えば、ＢＩＯＳ、アプリケーション、ＯＳ等のプログラムのソースコードである。【００３８】
このとき、変更の対象となっているソースコードにおいて、変更前コードおよび変更後コードの両者についてその変更の場所を自動的に特定可能であることを条件として、プログラム言語の種類は問わない。このため、本実施の形態のソースコード管理装置１００は、ＦＯＲＴＲＡＮ、ＣＯＢＯＬ、Ｃ言語、Ｃ＋＋、Ｊａｖａ、Ｌｉｓｐ等の高級言語やアセンブリ言語で作成されたソースコードを管理することができる。【００３９】
また、同様に、プログラムコードにおいて対応する変更の場所を自動的に特定可能であることを条件として、ソースコードに限らず実行形式のプログラムコードを用いることができる。【００４０】
変更前コードは、他のコンピュータで作成され、ソースコード管理装置１００のユーザの指示に基づきまたはソースコード管理装置１００の処理に基づき、ソースコード管理装置１００によって外部から取得され、変更前コード記憶部１３０に記憶される。なお、これに限らず、変更前コード記憶部１３０に記憶されている変更前コードは、ソースコード管理装置１００を用いて作成されたものであってもよい。【００４１】
変更後コード記憶部１４０は、変更が施された後のプログラムコードである変更後コードを記憶する。この変更後コードは、変更前コードと同様、プログラムのソースコードである。変更後コードは、例えば、変更前コードと同一のプログラムであって、変更前コードのバージョンアップによる改訂版のプログラムのソースコードである。また、変更後コードは、変更前コードと同一のプログラムでない場合にも、両者のソースコードについてその変更を施すことが可能であれば足りる。変更後コードは変更前コードと同一の言語で作成されているものとする。【００４２】
変更後コードは、変更前コードと同様、他のコンピュータで作成され、ソースコード管理装置１００のユーザの指示に基づきまたはソースコード管理装置１００の処理に基づき、ソースコード管理装置１００によって外部から取得され、変更後コード記憶部１４０に記憶される。なお、これに限らず、変更後コード記憶部１４０に記憶されている変更後コードは、ソースコード管理装置１００を用いて作成されたものであってもよい。【００４３】
変更管理情報記憶部１５０は、変更前コードに施された変更の内容を示す変更管理情報を記憶する。ここでは、変更管理情報は、変更前コードおよび変更後コードの差分を抽出して得られた、変更前コードに施された変更の内容を示す情報である。【００４４】
変更管理情報は、詳しくは図６において後述するが、変更前コードにおいて変更によりコードが変更される場所である変更場所を示す変更場所情報、変更前コードの変更場所において変更により変更されるコードである変更コードを示す変更コード情報、変更前コードの変更場所における変更の操作である変更操作を示す変更操作情報、変更前コードの変更場所における変更の操作である変更操作を示す変更操作情報および変更前コードについて同一の変更場所に対する変更が複数存在する場合に変更の優先順位を示す優先順位情報等を有する。ここで、変更操作は、その変更により変更場所に対して施される操作の種類を示す。変更操作には、例えば、コードの追加、コードの削除、コードの修正（上書き）等である。【００４５】
差分ファイル記憶部１６０は、変更管理情報に基づいて差分ファイル書込部１２１によって生成された差分ファイルを記憶する。この差分ファイルは、変更管理情報の全部または一部を有する。差分ファイル記憶部１６０は、変更管理情報記憶部１５０と共に変更管理情報記憶手段として機能する。【００４６】
生成変更後コード記憶部１７０は、変更前コードに対して変更管理情報に基づいて変更が施されることにより生成された生成変更後コードを記憶する。
次に、本実施の形態で使用されるソースコードの例について説明する。【００４７】
本実施の形態では、コンピュータのプログラム言語の例として、Ｉｎｔｅｌ（登録商標）製８６系プロセッサのアセンブラで作成されたプログラムコードを使用するが、これに限らず、他のプログラム言語で作成されたプログラムコードに対しても適用することができる。【００４８】
図４は、変更前ソースコードの例を示す図である。図４に示す変更前ソースコード（デフォルトソースコード）１３１は、変更の対象となっているコードを含む任意のソースコードである。また、変更前ソースコード１３１の内容を示す変更前ソースファイルが変更前コード記憶部１３０として機能するＨＤＤ１０３に記憶されている。【００４９】
なお、本実施の形態の変更前ソースコード１３１は、ＨＤＤ１０３に記憶されているが、これに限らず、ＲＡＭ１０２やその他の記憶装置に記憶されてもよい。
図５は、変更後ソースコードの例を示す図である。図５に示す変更後ソースコード１４１は、対象となっている変更が施されたソースコードである。図５の例では、図４において前述した変更前ソースコード１３１と比較して「ａｂｃＰｒｏｃ  ＰＲＯＣ」の行と「ｃａｌｌ    ｘｙｚＰｒｏｃ」の行との間に、太字の斜体文字で示したように「ｘｏｒ    ａｘ，ａｘ」が追加されている。また、変更後ソースコード１４１の内容を示す変更後ソースファイルが変更後コード記憶部１４０として機能するＨＤＤ１０３に記憶されている。【００５０】
なお、本実施の形態の変更後ソースコード１４１は、ＨＤＤ１０３に記憶されているが、これに限らず、ＲＡＭ１０２やその他の記憶装置に記憶されてもよい。
次に、本実施の形態で使用されるデータのデータ構造例について説明する。【００５１】
図６は、変更管理テーブルの構成例を示す図である。図６に示す変更管理テーブル１５１は、ソースコード管理装置１００（図２において前述）によって作成および管理され、ＨＤＤ１０３（図２において前述）に格納されている。本実施の形態のＨＤＤ１０３は、変更管理情報記憶部１５０として機能する。変更管理テーブル１５１は、変更前ソースコード１３１および変更後ソースコード１４１の間の変更を定義する変更管理情報を記憶するテーブルである。【００５２】
変更管理テーブル１５１には、変更前ソースコード１３１および変更後ソースコード１４１の間の変更を一意に特定するための符号を示す項目である“変更ＩＤ”、変更の対象であるプロシージャを一意に特定するために割り当てられたプロシージャ（procedure）の名称を示す項目である“対象プロシージャ”、変更の対象であるプロシージャが属するセグメントの名称を示す項目である“セグメント”、変更の対象であるプロシージャにおいて変更する場所を特定する情報を示す項目である“変更場所”、変更の種類を示す項目である“変更操作”、変更されるコードを示す項目である“コード”、変更前ソースコード１３１のデータファイル名およびその位置を示す項目である“デフォルトファイル”および複数の変更が存在する場合の優先順位を示す項目である“優先順位”が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、変更管理情報を構成する。【００５３】
変更ＩＤは、ソースコード管理装置１００で実行される処理においてソースコードの各変更を識別するために各変更に設定された符号である。この変更ＩＤは、任意の文字列を用いることができるが、各変更に対し、その変更を一意に特定できるように定められる。【００５４】
対象プロシージャは、変更前ソースコード１３１および変更後ソースコード１４１における変更の対象となるプロシージャの名称である。セグメントは、変更の対象となっているプロシージャが属しているセグメントの名称である。【００５５】
変更場所は、変更の対象となっているプロシージャにおいて変更される場所を示す情報である。本実施の形態の変更場所は、変更の対象の付近のコードと、そのコードと変更の対象との位置関係を示す値とを有する。この値は、例えば、“０”は「そのコードの前が変更対象となっている」ことを示し、“１”は「そのコードの後ろが変更対象となっている」ことを示す。図６の例では、図５に示す“ｃａｌｌ  ｘｙｚＰｒｏｃ”の“前”が変更の対象であることを示している。なお、変更場所は、これに限らず必要に応じて任意の形式により、変更される場所を特定するように設定することができる。【００５６】
変更操作は、変更の種類を示す情報である。変更操作には、追加を表す“０”、削除を表す“１”、上書きを表す“２”等を設定することができる。なお、変更操作には、これに限らず必要に応じて変更操作を設定し、設定した変更操作を任意の値に割り当てることができる。【００５７】
コードは、対象となっているプロシージャに対して変更が施されるコードである。そのプロシージャの変更場所に対して、変更操作が示す変更が、このコードを用いて施される。【００５８】
デフォルトファイルは、変更前ソースコード１３１のデータファイル名およびそのデータファイルの位置を示す。ここでは、変更前ソースコード１３１のデータファイルのパス（path）が設定される。【００５９】
優先順位は、同一の変更場所について複数の変更が存在する場合に変更の優劣を示す。この優先順位は、例えば、数値が大きい方が重要であり、同一の変更場所に対して変更が施されるものとする。この場合、通常の変更については、通常の設定値である“−１”が設定され、より重要な変更については、重要の度合いに応じてより大きな値（例えば、“０”，“１”，“２”等）が設定される。【００６０】
本実施の形態のソースコード管理装置１００では、変更管理情報は、変更管理情報生成処理（図９において後述）によって作成され、ＨＤＤ１０３に記憶される。また、変更管理情報は、変更後コード生成処理（図１１および図１２において後述）によって、ＨＤＤ１０３から読み出され、変更後ソースコード１７１（図１０において後述）の生成に用いられる。【００６１】
なお、本実施の形態の変更管理テーブル１５１は、ＨＤＤ１０３に記憶されているが、これに限らず、ＲＡＭ１０２やその他の記憶装置に記憶されてもよい。
次に、本実施の形態で使用されるファイルの例について説明する。【００６２】
図７は、差分ファイルの例を示す図である。図７に示す差分ファイル１６１は、変更前ソースコード１３１（図４において前述）と、変更後ソースコード１４１（図５において前述）とから生成される変更管理情報（図６において前述）に基づいて作成されると共にその変更管理情報を含むファイルである。差分ファイル１６１は、差分ファイル記憶部１６０として機能するＨＤＤ１０３に記憶されている。【００６３】
差分ファイル１６１は、図４において前述した変更前ソースコード１３１が有する“ｉｊｋＳｅｇｍｅｎｔ”というセグメントに定義される“ａｂｃＰｒｏｃ”というプロシージャに対する変更を示す。ソースコード管理装置１００がこの差分ファイル１６１を変更前ソースコード１３１に施すことによって、変更後ソースコード１７１（図１０において後述）が生成される。【００６４】
差分ファイル１６１では、１行目のキーワード“Ｃｈａｎｇｅ”により、１つの変更の定義の開始が示されると共に、この変更に対して一意となる名称が付される。また、９行目のキーワード“ＥｎｄＯｆＣｈａｎｇｅ”により、１つの変更の定義の終了が示される。ここでは、“Ｃｈａｎｇｅ”と９行目の“ＥｎｄＯｆＣｈａｎｇｅ”とに挟まれたブロックにより、変更の名称を“ａＰａｔｃｈＴｏＡｂｃＰｒｏｃ”とする１つの変更が定義されている。【００６５】
２行目のキーワード“Ｐｒｏｃｅｄｕｒｅ”により、変更の対象となっているプロシージャが指定される。ここでは、“ａｂｃＰｒｏｃ”という名称のプロシージャに変更を行うことが指示されている。【００６６】
３行目のキーワード“Ｓｅｇｍｅｎｔ”により、変更の対象となっているプロシージャが定義されているセグメントが指定される。ここでは、変更の対象となっているプロシージャが“ｉｊｋＳｅｇｍｅｎｔ”という名称のセグメントに定義されていることが示されている。【００６７】
４行目のキーワード“Ａｔ  Ｂｅｆｏｒｅ”により、変更箇所が指定される。ここでは、この変更の変更箇所が“ｃａｌｌ  ｘｙｚＰｒｏｃ”というコードの前であることが示されている。【００６８】
５行目から７行目は、キーワード“Ｉｎｓｅｒｔ”と“ＥｎｄＯｆＩｎｓｅｒｔ”とに挟まれたブロックにより、変更箇所に対する操作と共に変更後のコードが示される。ここでは、“Ｉｎｓｅｒｔ”により変更が追加であることが示されている。また、“ｘｏｒ    ａｘ，  ａｘ”が追加されるコードとして示されている。【００６９】
８行目のキーワード“Ｆｉｌｅ”により、変更箇所、すなわち“ａｂｃＰｒｏｃ”が含まれた変更前ソースコード１３１のデータファイル名およびデータファイルの位置が示される。ここでは、変更前ソースコード１３１のデータファイルのパスが示されている。【００７０】
また、図７に示す差分ファイル１６１の右上には、優先順位が示される。ここでは、優先順位は“−１”に設定されている。例えば、優先順位は、通常の設定値として“−１”を設定するものとし、より優先すべき度合が高い変更についてはより大きな値（例えば、０，１，２，・・・等）を設定するものとする。これにより、変更対象、変更箇所が同じ複数の変更が定義されていた場合に、ソースコード管理装置１００によって施される複数の変更の優先順位を指定することができる。【００７１】
なお、本実施の形態の差分ファイル１６１は、ＨＤＤ１０３に記憶されているが、これに限らず、ＲＡＭ１０２やその他の記憶装置に記憶されてもよい。
次に、本実施の形態で実行される処理について説明する。【００７２】
図８は、差分ファイルの生成時の入出力を示す図である。図８に示すように、本実施の形態のソースコード管理装置１００は、図９において後述する変更管理情報生成処理を実行することにより、変更前ソースコード１３１（図４において前述）のデータファイルおよび変更後ソースコード１４１（図５において前述）のデータファイルを入力として変更管理情報生成部１１３が生成した差分ファイル１６１（図７において前述）を出力する。【００７３】
図９は、変更管理情報生成処理の手順を示すフローチャートである。図９に示す変更管理情報生成処理は、変更前ソースコード１３１（図４において前述）のデータファイルおよび変更後ソースコード１４１（図５において前述）のデータファイルを入力として差分ファイル１６１（図７において前述）を出力する処理である。変更管理情報生成処理は、例えば、ユーザがキーボード１２、マウス１３等を操作して変更管理情報生成処理を呼び出すことによって実行される。【００７４】
［ステップＳ１１］変更前コード読出部１１１は、変更前コード記憶部１３０（図３において前述）に記憶されている変更前ソースコード１３１のデータファイルを読み出す。
［ステップＳ１２］変更後コード読出部１１２は、変更後コード記憶部１４０（図３において前述）に記憶されている変更後ソースコード１４１のデータファイルを読み出す。【００７５】
［ステップＳ１３］変更管理情報生成部１１３は、ステップＳ１１において読み出された変更前ソースコード１３１およびステップＳ１２で読み出された変更後ソースコード１４１から差分コードを抽出する。【００７６】
この差分コードの抽出では、変更管理情報生成部１１３は、変更前ソースコード１３１および変更後ソースコード１４１のテキスト同士を比較することによって、変更されたコードを抽出する。【００７７】
［ステップＳ１４］変更管理情報生成部１１３は、ステップＳ１３において抽出した差分コードに基づいて差分解析を行い、変更管理情報を生成する。
この差分解析について、変更前ソースコード１３１および変更後ソースコード１４１の例を用いて説明する。図４および図５の例にしたがって説明すると、変更管理情報生成部１１３は、ステップＳ１４においてテキスト同士の比較によって抽出された差分コードから、プロシージャ“ａｂｃＰｒｏｃ”におけるコード“ｃａｌｌ  ｘｙｚＰｒｏｃ”の前に“ｘｏｒ  ａｘ,  ａｘ”というコードが追加されているという結果を得ることができる。また、プロシージャ“ａｂｃＰｒｏｃ”の属するセグメントが“ｉｊｋＳｅｇｍｅｎｔ”であることを特定することができる。【００７８】
次に、変更管理情報生成部１１３は、１つの変更毎に一意となる任意の文字列を割り当て、これを「変更ＩＤ」として変更管理情報を作成する。
また、変更管理情報生成部１１３は、「対象プロシージャ」、「セグメント」、「変更場所」、「変更操作」および「コード」については、上記のように、変更前ソースコード１３１および変更後ソースコード１４１のテキスト同士を比較して特定することにより作成する。【００７９】
また、変更管理情報生成部１１３は、「デフォルトファイル」については、変更前ソースコード１３１のデータファイルのファイル情報に基づいて作成する。
変更管理情報生成部１１３は、「優先順位」については、通常の変更の場合には、“−１”とする。なお、優先順位は、変更情報生成処理の実行時にユーザが指定してもよい。なお、本実施の形態では、説明の便宜上１つの変更について説明するが、これに限らず、変更は複数存在してもよい。変更が複数存在する場合には、変更管理情報も変更の数だけ生成される。【００８０】
［ステップＳ１５］変更管理情報生成部１１３は、変更管理情報記憶部１５０（図３において前述）に記憶されている変更管理テーブル１５１（図６において前述）に、ステップＳ１４における差分解析の結果得られた変更管理情報を書き込む。【００８１】
［ステップＳ１６］変更管理情報生成部１１３は、ステップＳ１３において抽出した差分コードについてステップＳ１４の差分解析が終了したか否かを判定する。すべての差分コードについて差分解析が終了しており、未解析の差分コードがなければ、処理がステップＳ１７に進められる。一方、差分解析が終了していない差分コードがあれば、処理がステップＳ１４に進められる。【００８２】
［ステップＳ１７］差分ファイル書込部１２１は、ステップＳ１５において変更管理情報記憶部１５０に記憶されている変更管理テーブル１５１に記憶された変更管理情報を読み出す。次に、差分ファイル書込部１２１は、読み出した変更管理情報に基づいて変更管理情報を有する差分ファイルを生成する。この差分ファイル１６１は、変更前ソースコード１３１および変更後ソースコード１４１の間で変更された各変更箇所から抽出された差分コードのそれぞれについて作成される。次に、差分ファイル書込部１２１は、生成した差分ファイル１６１を差分ファイル記憶部１６０（図３において前述）に書き込む。【００８３】
差分ファイル１６１は、変更前ソースコード１３１および変更後ソースコード１４１の間の１つの変更箇所毎に１つ作成される。なお、これに限らず、差分ファイル１６１は、変更前ソースコードおよび変更後ソースコードの間の変更箇所をまとめて、すべての変更に対してまとめて１つ作成されてもよく、複数の変更箇所毎にまとめて１つ作成されてもよい。【００８４】
［ステップＳ１８］差分ファイル出力部１２２は、変更管理情報を有する差分ファイル１６１を差分ファイル記憶部１６０から読み出す。次に差分ファイル出力部１２２は、読み出した差分ファイルを出力する。その後、処理が終了する。【００８５】
図１０は、変更後ソースコードの生成時の入出力を示す図である。図１０に示すように、本実施の形態のソースコード管理装置１００は、図１０および図１１において後述する変更後コード生成処理を実行することにより、変更前ソースコード１３２のデータファイルおよび変更管理情報の全部または一部を有しており変更操作の内容を示すデータファイルである差分ファイル１６２を入力として変更後コード生成部１２４が生成した変更後ソースコード１７１のデータファイルを出力する。【００８６】
ここで、変更前ソースコード１３２は、図４において前述した変更前ソースコード１３１と同様、変更の対象となっているコードを含む任意のソースコードである。
差分ファイル１６２は、図７において前述した差分ファイル１６１と同一の形式であり、ソースコード管理装置１００が変更管理情報生成処理を実行することによって生成したものであってもよいが、他のソースコード管理装置１００等によって生成されることにより予め用意されたものであってもよい。これにより、ユーザは、他のユーザやプログラムの供給者が作成した差分ファイルを用いて、同一のプログラムのソースコードであってバージョンが異なるものまたは部分的に同一のコードを有する他のプログラムのソースコード等に変更を施すことができる。【００８７】
変更後ソースコード１７１は、図５において前述した変更後ソースコード１４１と同様に、変更前ソースコード１３２に、ある変更が施されたソースコードであるが、上記のように、変更前ソースコード１３２に差分ファイル１６２を施すことによって生成されるソースコードである。【００８８】
図１１および図１２は、変更後コード生成処理の手順を示すフローチャートである。図１１および図１２に示す変更後コード生成処理は、変更前ソースコード１３２（図１０において前述）のデータファイルおよび差分ファイル１６２（図１０において前述）を入力として変更後ソースコード（図１０において前述）のデータファイルを出力する処理である。変更後コード生成処理は、例えば、ユーザがキーボード１２、マウス１３等を操作して変更後コード生成処理を呼び出すことによって実行される。【００８９】
［ステップＳ２１］差分ファイル読出部１２３は、差分ファイル記憶部１６０（図３において前述）に記憶されている差分ファイル１６２を読み出す。
［ステップＳ２２］変更後コード生成部１２４は、ステップＳ２１において読み出された差分ファイル１６２から差分コードを抽出する。次に、変更後コード生成部１２４は、差分コードについて字句解析を行う。これにより、差分ファイル１６２に記述された差分コードが抽出され、抽出された差分コードに含まれる各コードの字句解析が行われる。【００９０】
字句解析では、変更後コード生成部１２４は、差分ファイル１６２に記述された差分コードが、各キーワードや名称等について、例えば図６で示した形式にしたがって、定められた字句で正しく記述されていることを確認する。【００９１】
［ステップＳ２３］変更後コード生成部１２４は、ステップＳ２２において行った字句解析の結果に基づいて差分コードの構文解析を行う。これにより、差分ファイルの記述（図７において前述）から変更管理情報（図６において前述）が有する変更ＩＤ、対象プロシージャ等が抽出される。【００９２】
構文解析では、変更後コード生成部１２４は、字句解析で抽出された字句に基づいて差分ファイル１６２に記述された差分コードが、例えば図６で示した形式にしたがって、定められた文法で正しく記述されていることを確認する。【００９３】
変更後コード生成部１２４は、構文解析によって差分ファイル１６２に記述された差分コードの正しさが確認できた場合、上記の文法に従って解釈した変更内容を示す変更管理情報を生成する。なお、本実施の形態では、説明の便宜上１つの変更について説明するが、これに限らず、変更は複数存在してもよい。変更が複数存在する場合には、変更管理情報も変更の数だけ生成される。【００９４】
このようにして、ステップＳ２１において読み出された差分ファイルに示された内容から変更管理情報が生成される。
［ステップＳ２４］変更後コード生成部１２４は、変更管理情報記憶部１５０（図３において前述）に記憶されている変更管理テーブル１５１（図６において前述）に、ステップＳ２３における構文解析の結果得られた変更管理情報を書き込む。【００９５】
［ステップＳ２５］変更前コード読出部１１１は、変更前コード記憶部１３０（図３において前述）に記憶されている変更前ソースコード１３２のデータファイルを読み出す。
ここでは、変更前コード読出部１１１は、変更管理情報の「デフォルトファイル」に基づいて、変更前ソースコード１３２を読み出すことができる。【００９６】
［ステップＳ３１］変更後コード生成部１２４は、変更管理テーブル１５１（図６において前述）に書き込まれている変更管理情報に基づいて、ステップＳ２５（図１１において前述）において読み出された変更前ソースコード１３２について変更の対象となっているコードを検索し、検索により抽出されたコードから１つ選択する。この選択は変更前ソースコード１３２の先頭から順に行われるが、変更が複数存在する場合、これに限らず任意の方法により定めた順序で選択することができる。【００９７】
［ステップＳ３２］変更後コード生成部１２４は、ステップＳ２５において読み出された変更前ソースコード１３２のステップＳ３１で検索されたコードについて、変更管理テーブル１５１に書き込まれている変更管理情報が示す変更操作を施す。【００９８】
変更操作では、変更後コード生成部１２４は、変更管理情報の「デフォルトファイル」に基づいて変更前コード読出部１１１によって読み出された変更前ソースコード１３２を取得し、「対象プロシージャ」、「セグメント」に基づいて変更前ソースコード１３２において変更の対象となっているコードを検索する。【００９９】
次に、検索により変更対象コードが発見できた場合、変更後コード生成部１２４は、変更が施される「変更場所」に対して変更コードにより変更操作を施す。本実施の形態に示す例では、“ｃａｌｌ  ｘｙｚＰｒｏｃ”の前に“ｘｏｒ  ａｘ，ａｘ”が追加される。【０１００】
なお、変更後コード生成部１２４が変更操作を施す際、変更の対象となっているソースコードの同一箇所について複数の変更操作が存在する場合、優先順位が高い変更操作が既に施されているときには、変更操作を施さない。これにより、変更操作の間の競合を防止することができる。【０１０１】
［ステップＳ３３］変更後コード生成部１２４は、変更管理テーブル１５１に書き込まれている変更管理情報が有するすべての変更が終了したか否かを判定する。すべての変更が終了していれば、処理がステップＳ３４に進められる。一方、終了していない変更があれば、処理がステップＳ３１に進められる。【０１０２】
［ステップＳ３４］変更後コード生成部１２４は、生成変更後コード記憶部１７０（図３において前述）に、ステップＳ３２において変更操作が施された結果得られた変更後ソースコード１７１を書き込む。これにより、この変更後ソースコード１７１には、差分ファイル１６１によって示されたすべての変更操作が施される。【０１０３】
［ステップＳ３５］変更後コード出力部１２５は、ステップＳ３４において生成された変更後ソースコード１７１を生成変更後コード記憶部１７０から読み出す。次に変更後コード出力部１２５は、読み出した変更後ソースコード１７１を出力する。その後、処理が終了する。【０１０４】
なお、本実施の形態のソースコード管理装置１００は、上記の変更管理情報生成機能および変更後コード生成機能を有するが、これに限らず、変更管理情報生成機能または変更後コード生成機能のいずれか一方のみを有してもよい。【０１０５】
これにより、例えばソフトウェアメーカ等が変更管理情報生成機能を有するコンピュータを用いて変更前コードおよび変更後コードから、変更の対象毎に変更管理情報を生成してユーザ等に配布することもできる。【０１０６】
以上のように、本実施の形態によれば、変更管理情報生成部１１３によって変更前コードおよび変更後コードに基づいて変更管理情報が生成される。この変更管理情報を用いて変更を、他の変更による影響を排除して変更毎に独立に管理することができるので、プログラムのソースコードに対する変更の管理が容易になる。【０１０７】
また、変更管理情報は、変更毎に独立に生成されるので、同一のプログラムについて異なる箇所について互いに独立して施された変更について、それぞれの変更に対応する変更管理情報を用いて変更前コードに変更を施すことができる。【０１０８】
また、生成された変更管理情報を用いて他のプログラムのソースコードに対しても、同一のセグメントを有する場合には、変更前コードおよび変更後コードの間の変更と同一の変更を容易に施すことができる。さらに他のプログラムのソースコードに変更を施す場合にも、変更場所情報によりセグメントおよびセグメント内の変更場所が特定されるので、自動的に処理することができる。【０１０９】
また、変更管理情報は、その変更の優先順位を示す優先順位情報を有するので、優先順位を予め適切に設定することにより、ソースコードの同一箇所について複数の変更が存在する場合にも、施される変更の間の調整を事前に行うことができる。【０１１０】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ソースコード管理装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。【０１１１】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）等がある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。光磁気記録媒体には、ＭＯ（Magneto - Optical disk）等がある。【０１１２】
上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータに格納しておき、ネットワークを通じて、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。【０１１３】
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。【０１１４】
以上、開示のプログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の２以上の構成を組み合わせたものであってもよい。【０１１５】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、開示の技術は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１１６】
１  プログラム変更管理装置
１ａ  変更前コード読出手段
１ｂ  変更後コード読出手段
１ｃ  変更管理情報生成手段
１ｄ  変更管理情報出力手段
１ｅ  変更前コード記憶手段
１ｆ  変更後コード記憶手段
１ｇ  変更管理情報記憶手段
【図１】
2010044150.tif 000003
【図２】
2010044150.tif 000004
【図３】
2010044150.tif 000005
【図４】
2010044150.tif 000006
【図５】
2010044150.tif 000007
【図６】
2010044150.tif 000008
【図７】
2010044150.tif 000009
【図８】
2010044150.tif 000010
【図９】
2010044150.tif 000011
【図１０】
2010044150.tif 000012
【図１１】
2010044150.tif 000013
【図１２】
2010044150.tif 000014
【国際調査報告】
2010044150.tif 000015
2010044150.tif 000016
2010044150.tif 000017