JP3913742B2 - Object version check system and method, and program - Google Patents
Object version check system and method, and program Download PDFInfo
- Publication number
- JP3913742B2 JP3913742B2 JP2004048765A JP2004048765A JP3913742B2 JP 3913742 B2 JP3913742 B2 JP 3913742B2 JP 2004048765 A JP2004048765 A JP 2004048765A JP 2004048765 A JP2004048765 A JP 2004048765A JP 3913742 B2 JP3913742 B2 JP 3913742B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- version
- module
- generation time
- include information
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェックシステムおよびその方法、並びにプログラムに係り、例えば、COBOL言語で記述されたソースプログラムおよびマクロやコピー句を用いてコンパイルを行って生成されるプログラムのバージョンチェックを行う場合等に利用できる。 The present invention relates to a source program and an object version check system and method for checking the version of an object module generated by compiling using include information incorporated as a component of the program, and a program, for example, a COBOL language. This can be used to check the version of the source program described in (1) and the program generated by compiling using macros and copy phrases.
一般に、システムを構成する各種のプログラムの開発は、複数の開発担当者により作業分担して行われる。また、各開発担当者により作成されたプログラム(オブジェクトモジュール)は、リリースという行為を経て、他の開発担当者に公開されて幾つかの環境下でのテストに使用され、最終的にシステムを運用するユーザに提供される。 In general, development of various programs constituting a system is performed by a plurality of developers in charge of work. In addition, the program (object module) created by each developer is released to other developers and used for testing in several environments, and finally the system is operated. Provided to users.
この際、各開発担当者により作成されるプログラムには、記述する言語の種類によって、ソースプログラムと、いわゆるインクルードファイルに格納されたインクルード情報(ソースプログラムの一部を外出ししたもの)とを用い、コンパイルを行ってオブジェクトモジュールを生成するものがある。例えば、COBOL言語を用いる場合には、COBOL言語で記述されたソースプログラムと、COBOL言語で記述されたマクロやコピー句とを用い、コンパイルを行ってオブジェクトモジュールを生成する。そして、このようなプログラムの開発においては、ソースプログラムの作成担当者(オブジェクトモジュールの管理担当者)と、インクルードファイルの管理担当者とが、異なっている場合が多い。 At this time, the program created by each developer uses a source program and include information stored in a so-called include file (a part of the source program is taken out) depending on the type of language to be described. There are some which compile and generate an object module. For example, when the COBOL language is used, an object module is generated by compiling using a source program described in the COBOL language and a macro or copy phrase described in the COBOL language. In developing such a program, the person in charge of creating the source program (the person in charge of managing the object module) and the person in charge of managing the include file are often different.
従って、インクルードファイルの内容(インクルード情報)を更新した場合には、各担当者間でのその更新内容についての連絡、およびその更新内容の反映作業が重要となる。すなわち、インクルード情報が更新されたにもかかわらず、更新前のインクルード情報を用いてコンパイルされたオブジェクトモジュールがリリースされてしまったり、あるいは更新前のインクルード情報を用いてコンパイルされて既にリリースされているオブジェクトモジュールがある場合に、このオブジェクトモジュールがコンパイルし直されることなくそのままの状態で残っていたりすると、他のオブジェクトモジュールとの間で不整合を生じる。このため、インクルードファイルの管理担当者は、インクルード情報を更新した旨を、各ソースプログラムの作成担当者(各オブジェクトモジュールの管理担当者)に漏れなく通知することが必要であり、また、各オブジェクトモジュールの管理担当者は、オブジェクトモジュールをリリースする際には、そのオブジェクトモジュールが最新のインクルード情報を用いてコンパイルされたものであるか否かを確認する必要があり、リリース後のオブジェクトモジュールについても、各オブジェクトモジュールの管理担当者は、そのオブジェクトモジュールが最新のインクルード情報を用いてコンパイルされた状態を保っているか否かを監視する必要がある。そして、従来は、このような確認作業や監視作業は、各担当者がインクルード情報の更新日を目視で確認、監視することにより行っていた。 Therefore, when the contents of the include file (include information) are updated, it is important to communicate the updated contents among the persons in charge and to reflect the updated contents. In other words, even though the include information has been updated, the object module compiled using the pre-update include information has been released, or it has already been released after being compiled using the pre-update include information. When there is an object module, if this object module remains as it is without being recompiled, an inconsistency with other object modules occurs. For this reason, the person in charge of the include file must notify the person in charge of creating each source program (the person in charge of managing each object module) that the include information has been updated. When releasing an object module, the module manager must check whether the object module has been compiled using the latest include information. The person in charge of managing each object module needs to monitor whether or not the object module is kept compiled using the latest include information. Conventionally, such confirmation work and monitoring work are performed by each person in charge confirming and monitoring the update date of the include information.
また、プログラムのリリース管理を行うシステムとして、次のようなシステムが提案されている(特許文献1参照)。複数のモジュール(ここでいうモジュールは、幾つかのロードモジュールが含まれるダイナミックリンクライブラリである。)からなるプログラム製品について複数の更新作業(例えば、修正No.0001を付された1まとまりの更新作業と、修正No.0031を付された別の1まとまりの更新作業とがあるものとする。)が並行して行われる状況において、修正No.0001の更新作業の対象となっている幾つかのモジュールがリリース予定(今回のリリース対象)のモジュールであり、一方、修正No.0031の更新作業の対象となっている幾つかのモジュールがリリース予定外(今回のリリース対象ではなく、後からリリースされる対象)のモジュールであるとする。このとき、先にリリースされる修正No.0001の更新作業の対象のモジュール群と、後からリリースされる修正No.0031の更新作業の対象のモジュール群との中に、同じ名称のモジュール(例えば、A.dll、B.dllとする。)があった場合に、それらのモジュールの更新時点を比較し、リリース予定の修正No.0001のモジュールA.dllの更新時点が、そのモジュールに対応するリリース予定外の修正No.0031のモジュールA.dllの更新時点よりも新しいときに、不具合が検出される。つまり、このような状況では、先にコンパイルされて更新されたものの、テストが未完了で、まだリリースされる状態にない修正No.0031の改造(ロードモジュールの修正)を経たモジュールA.dllがあるのに対し、後からコンパイルされて更新されたにもかかわらず、テストが先に完了し、先にリリースされる状態になった修正No.0001の改造を経たモジュールA.dllがある状態なので、修正No.0001のリリース時に、モジュールA.dllには、未テストの改造(テスト未完了の修正ロードモジュール)が含まれる可能性がある。逆に、リリース予定の修正No.0001のモジュールB.dllの更新時点が、そのモジュールに対応するリリース予定外の修正No.0031のモジュールB.dllの更新時点よりも古いときには、先にコンパイルされて更新されたモジュールが、先にテストを完了し、先にリリースされることになるので、不具合は検出されない。また、このシステムでは、リリース予定のモジュール管理テーブル(リリース予定のモジュール群についてモジュール名と更新時点とを対応させて記憶するテーブル)と、リリース予定外のモジュール管理テーブル(リリース予定外のモジュール群についてモジュール名と更新時点とを対応させて記憶するテーブル)とを比較することにより、不具合の検出を行っている。 Further, the following system has been proposed as a system for managing the release of a program (see Patent Document 1). A plurality of update operations (for example, a single update operation to which correction No. 0001 is attached) for a program product composed of a plurality of modules (here, a module is a dynamic link library including some load modules). And another piece of update work to which correction No. 0031 is attached) is performed in parallel. Some modules targeted for the update work of 0001 are modules scheduled to be released (current release target). It is assumed that some modules subject to the update work of 0031 are modules that are not scheduled to be released (not the current release target but the target to be released later). At this time, the revision No. released earlier. The module group to be updated in 0001 and the correction number released later. When there is a module with the same name (for example, A.dll, B.dll) in the module group to be updated, the update point of those modules is compared and the release is scheduled Correction No. 0001 module A. If the update time of dll is the release number corresponding to the module, 0031 Module A. A fault is detected when it is newer than the update time of dll. In other words, in such a situation, the revision No. that has been compiled and updated earlier but the test has not been completed and is not yet released. Module A. after modification of 0031 (modification of load module) Although there is a dll, there is a modification No. that has been compiled and updated later, but the test was completed first and was released first. Module A. after modification of 0001 Since there is a dll, the modification No. Upon release of 0001, module A. dll may include untested modifications (modified load modules that have not been tested). Conversely, the revision No. scheduled to be released. Module 0001 of 0001 If the update time of dll is the release number corresponding to the module, 0031 Module B. When it is older than the update time of dll, the module that has been compiled and updated first completes the test first and is released first, so that no defect is detected. In addition, in this system, a module management table to be released (table that stores the module name and the update time in correspondence with the module group to be released) and a module management table that is not to be released (about the module group that is not to be released) A failure is detected by comparing a module name and a table that stores the module name in association with the update time.
さらに、プログラムのリリース管理を行う別のシステムとして、次のようなシステムも提案されている(特許文献2参照)。このシステムは、ロードモジュールの開発およびリリースの管理、すなわちソースユニット(SL)をコンパイルしてコンパイルユニット(CU)を生成し、さらにコンパイルユニット(CU)をリンクしてロードモジュール(LM)を生成する場合の情報管理を行うシステムであり、リリースされたロードモジュールおよびロードモジュールの構成に関するSL・CU情報(ソースユニット情報とコンパイルユニット情報とを関連付けて作成された情報)を、ロードモジュール単位にリリース情報管理ファイルに格納し、格納の際に格納領域が不足した場合には、格納されている最も古いリリース情報を削除し、削除したリリース情報を構成するコンパイルユニット(CU)およびロードモジュール(LM)を、それぞれコンパイルユニットファイル(コンパイルユニット(CU)を格納するファイル)およびロードモジュールファイル(ロードモジュール(LM)を格納するファイル)から削除するというリリース情報の管理を行う。 Furthermore, the following system has also been proposed as another system for managing program release (see Patent Document 2). This system manages load module development and release, that is, compiles a source unit (SL) to generate a compilation unit (CU), and further links the compilation unit (CU) to generate a load module (LM). Information management system, and SL / CU information (information created by associating source unit information and compile unit information) related to the released load module and the configuration of the load module, and release information for each load module When storing in the management file and the storage area is insufficient at the time of storage, the oldest stored release information is deleted, and the compile unit (CU) and load module (LM) constituting the deleted release information are deleted. Compile each For managing the release information that you want to remove from the file and load module file (the file to store the compiled unit (CU)) (the file that stores the load module (LM)).
また、プログラムバージョンの不整合を検出するシステムとして、次のようなシステムが提案されている(特許文献3参照)。このシステムでは、コンパイルを行って実行プログラムを生成する際に、バージョン情報(バージョン番号、日付等)をコンパイラに取り込み、実行プログラムに自動的にバージョン情報を反映させる(含めさせる)とともに、同じバージョン情報を反映させたバージョンチェックプログラムを生成した後、これらの実行プログラムおよびバージョンチェックプログラムを、システム稼働環境に移す処理を行う。そして、システム稼働環境下で、実行プログラムが起動されると、実行プログラムからバージョンチェックプログラムが呼び出されて起動され、起動されたバージョンチェックプログラムにより、起動元の実行プログラムのバージョン情報と、バージョンチェックプログラム自身が持つバージョン情報との比較処理が行われる。ここで、比較したバージョン情報が一致している場合には、バージョンチェックプログラムの処理は終了し、実行プログラムの処理が続行され、一方、一致していない場合には、システム運用者に対し、処理を続行するか否かの選択を促すメッセージがシステム端末に出力される。 Further, the following system has been proposed as a system for detecting program version mismatch (see Patent Document 3). In this system, when compiling and generating an executable program, the version information (version number, date, etc.) is imported into the compiler, and the version information is automatically reflected (included) in the executable program. After the version check program reflecting the above is generated, the execution program and the version check program are transferred to the system operating environment. When the execution program is started in the system operating environment, the version check program is called and started from the execution program, and the version check program that has been started causes the version information of the start source execution program and the version check program to be started. Comparison processing with the version information held by itself is performed. Here, if the compared version information matches, the version check program processing ends and the execution program processing continues. On the other hand, if they do not match, the processing is performed to the system operator. A message prompting the user to select whether or not to continue is output to the system terminal.
前述したソースプログラムとインクルード情報(例えば、COBOL言語の場合には、マクロやコピー句)とを用い、コンパイルを行ってオブジェクトモジュールを生成する場合において、従来のように、各オブジェクトモジュール間での不整合を防止するために、各ソースプログラムの作成担当者(各オブジェクトモジュールの管理担当者)が、インクルード情報の更新日を目視で確認、監視する作業を行うと、作業に時間がかかるうえ、手間がかかって担当者の作業負担が大きい。このため、インクルード情報の更新に伴って生じる各オブジェクトモジュール間の不整合(インクルード情報の更新が反映されるべき各オブジェクトモジュールについて、それが反映されていないことによる不整合)を防止するとともに、各担当者の作業負担を軽減するため、オブジェクトモジュールのバージョンチェックを自動的に行うことができるシステムが望まれる。 When an object module is generated by compiling using the above-described source program and include information (for example, macro or copy phrase in the case of COBOL language), there is a problem between object modules as in the past. In order to prevent consistency, if the person in charge of creating each source program (the person in charge of managing each object module) visually confirms and monitors the update date of include information, it takes time and labor. The work burden on the person in charge is heavy. For this reason, inconsistencies between the object modules caused by the update of the include information (inconsistencies due to the fact that the update of the include information is not reflected for each object module to be reflected) are prevented, In order to reduce the work burden on the person in charge, a system that can automatically check the version of an object module is desired.
なお、前述した特許文献1に記載されたシステムでは、モジュール(ダイナミックリンクライブラリ)に含まれるロードモジュールの更新時点を比較するのではなく、更新されたロードモジュールを含むモジュール(ダイナミックリンクライブラリ)全体の更新時点を比較する点で、本発明とは異なる処理を行っている。また、本発明の如く、インクルード情報自体にその生成時点を示す情報を埋め込む処理を行うのではなく、比較されるいずれの情報についても、テーブルによる情報管理が行われる点で、本発明とは異なる処理を行っている。
In the system described in
また、前述した特許文献2に記載されたシステムでは、リリースされるロードモジュールの生成に用いられたソースユニット(SL)やコンパイルユニット(CU)の情報を、ロードモジュール単位にリリース情報として管理するだけであり、ロードモジュール単体での各種の不整合は解消できるかもしれないが、そのロードモジュールを用いてさらにモジュール(ダイナミックリンクライブラリ)を生成し、リリースする場合の不具合を解消するものではない。
Further, in the system described in
さらに、前述した特許文献3に記載されたシステムでは、各実行プログラムに対し、バージョンチェック専用のバージョンチェックプログラムをそれぞれ生成しなければならず、また、実行プログラムを起動しなければ、バージョンチェックを行うことができないという点で、本発明とは異なる処理を行っている。
Furthermore, in the system described in
本発明の目的は、オブジェクトモジュールのバージョンチェックを自動的に行うことができ、オブジェクトモジュール間の不整合を防止できるとともに、作業担当者の負担を軽減できるオブジェクトバージョンチェックシステムおよびその方法、並びにプログラムを提供するところにある。なお、本発明において、バージョンチェックを自動的に行うというときは、チェック処理自体が自動化されていることを意味し、チェック処理を行うタイミングについては、作業担当者が与える場合と、タイミング付与も含めて自動化する場合とが含まれる。 An object of the present invention is to provide an object version check system and method, and program capable of automatically performing version check of object modules, preventing inconsistencies between object modules and reducing the burden on a worker. There is to offer. In the present invention, when the version check is automatically performed, it means that the check process itself is automated, and the timing for performing the check process includes the case where the person in charge of the work gives and the timing addition. And automating.
本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェックシステムであって、インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、オブジェクトモジュールのバージョン管理情報として、オブジェクトモジュールを識別するためのモジュール識別情報とこのオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報とを対応させて記憶するバージョン管理データベースと、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報とこのインクルード情報を用いて生成されたオブジェクトモジュールのモジュール識別情報とを対応させてバージョン管理データベースに書き込む処理を行うコンパイル処理手段と、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報をモジュール識別情報に基づきバージョン管理データベースから取得するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段とを備えたことを特徴とするものである。 The present invention is an object version check system for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program. Generation time embedding processing means for embedding information indicating the generation time of the include information in the include information itself, module identification information for identifying the object module as the version management information of the object module, and generation of the object module The version control database that stores information indicating the generation time of the include information used for the correspondence and the source program and include information are compiled and The information indicating the generation time of the include information is extracted from the include information used for generating the object module, and the information indicating the generation time of the extracted include information and the include information are used. Module identification that includes the compilation processing means that performs processing to write the module identification information of the generated object module in correspondence with the version management database, and the information that indicates the generation time of the include information used to generate the object module that is the version check target The information is obtained from the version control database based on the information, and the information indicating the generation time of this include information is extracted from the latest corresponding include information, and the information indicating the generation time is compared with each other. It is characterized in that a version check processing means for performing processing of checking whether they match.
ここで、「バージョンチェック」の対象となる「オブジェクトモジュール」は、ソースプログラムおよびインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールであれば、例えば、COBOL言語、C言語、アセンブリ言語等、いずれの言語で記述されたソースプログラムおよびインクルード情報を用いて生成されたものでもよい。なお、本発明における「コンパイル」には、アセンブルも含まれる。 Here, if the “object module” to be subjected to “version check” is an object module generated by compiling using the source program and include information, for example, COBOL language, C language, assembly language, etc. It may be generated using a source program and include information written in any language. The “compile” in the present invention includes assembly.
また、「インクルード情報」とは、ソースプログラムから外出しされていわゆるインクルードファイルに格納され、コンパイル時にプログラムの構成要素として組み込まれる情報をいい、例えば、COBOL言語の場合には、マクロやコピー句であり、C言語の場合には、定数の名称や関数のプロトタイプの定義など、複数のプログラムで共通して使用されるコードである。以下の発明においても同様である。なお、本願明細書においては、マクロやコピー句が格納されたファイル(インクルードファイル)を、そのファイルに格納されたマクロやコピー句(インクルード情報)と特に区別することなく、単にマクロやコピー句と記述することがある。 “Include information” refers to information that goes out of a source program, is stored in a so-called include file, and is incorporated as a component of the program at the time of compilation. For example, in the case of the COBOL language, a macro or copy phrase is used. Yes, in the case of the C language, it is a code that is commonly used in a plurality of programs, such as constant names and function prototype definitions. The same applies to the following inventions. In the specification of the present application, a file (include file) in which a macro or a copy phrase is stored is not particularly distinguished from a macro or copy phrase (include information) stored in the file, and is simply a macro or a copy phrase. May be described.
さらに、「生成時点」は、日付(生成日)のみでもよく、日付のみならず時刻を含んでいてもよい。以下の発明においても同様である。 Furthermore, the “generation time” may be only the date (generation date), and may include not only the date but also the time. The same applies to the following inventions.
そして、「インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む」という意味は、インクルード情報が格納されたファイルに、そのファイルの生成時点を示す情報が付されるという意味ではなく、ファイルに格納されるインクルード情報自体、つまり中身に生成時点を示す情報を埋め込むという意味である。同様に、「インクルード情報からこのインクルード情報の生成時点を示す情報を抽出」するという意味は、インクルード情報が格納されたファイルの生成時点を示す情報を読み取るという意味ではなく、ファイルに格納されたインクルード情報自体(中身)から生成時点を示す情報を抽出するという意味である。以下の発明においても同様である。なお、後述するソースプログラムへの埋込みやソースプログラムからの抽出も同様な意味である。 And, the meaning of “embedding information indicating the generation time of this include information in the include information itself” does not mean that information indicating the generation time of the file is attached to the file storing the include information. This means that the include information itself, that is, the information indicating the generation time is embedded in the contents. Similarly, the meaning of “extracting the information indicating the generation time of this include information from the include information” does not mean reading the information indicating the generation time of the file in which the include information is stored, but the inclusion stored in the file. This means that information indicating the generation time is extracted from the information itself (contents). The same applies to the following inventions. Note that embedding in a source program and extraction from a source program described later have the same meaning.
また、「モジュール識別情報」とは、例えば、モジュールID、モジュール名等である。以下の発明においても同様である。 The “module identification information” is, for example, a module ID, a module name, or the like. The same applies to the following inventions.
さらに、「対応する最新のインクルード情報」における「対応する」インクルード情報とは、内容が更新されても同じ識別情報(例えば、同じ名称や同じID等)で管理され、取り扱われるインクルード情報がある場合において、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の識別情報(名称やID等)と同じ識別情報を付されたインクルード情報を意味する。また、「最新の」インクルード情報とは、同じ識別情報(例えば、同じ名称や同じID等)で管理され、取り扱われるインクルード情報のうち、最新の生成時点を有するインクルード情報を意味する。以下の発明においても同様である。 Furthermore, “corresponding” include information in “corresponding latest include information” includes include information that is managed and handled with the same identification information (for example, the same name, the same ID, etc.) even if the content is updated. 2 includes the same identification information as the identification information (name, ID, etc.) of the include information used for generating the object module for the version check. The “latest” include information means include information having the latest generation time among the include information managed and handled with the same identification information (for example, the same name and the same ID). The same applies to the following inventions.
このような本発明のオブジェクトバージョンチェックシステムにおいては、生成時点埋込処理手段により、インクルード情報自体にその生成時点を示す情報を埋め込んでおき、コンパイル処理手段により、コンパイル時に、コンパイルに用いたインクルード情報の生成時点を示す情報を、バージョン管理情報としてバージョン管理データベースに書き込んでおく。そして、バージョンチェック処理手段により、コンパイルして生成されたオブジェクトモジュールのバージョンチェックを行う際に、そのオブジェクトモジュールの生成に用いられたインクルード情報(コンパイル時にプログラムの構成要素として組み込まれたインクルード情報)の生成時点を示す情報をバージョン管理データベースから取得するとともに、対応する最新のインクルード情報(ソースプログラムから外出しされた状態で、単体で存在するインクルード情報、つまりインクルードファイルに格納された状態のインクルード情報)からその生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする。ここで、一致している場合には、オブジェクトモジュールは、最新のインクルード情報を用いてコンパイルされたバージョンであり、正常と判断され、一方、一致していない場合には、リリースの不許可や警告出力等の不正常の場合の処理を行うことが可能となる。 In such an object version check system of the present invention, the generation time embedding processing means embeds information indicating the generation time in the include information itself, and the compile processing means uses the include information used for compilation at the time of compilation. Is stored in the version management database as version management information. Then, when the version check processing means performs a version check of the object module generated by compiling, the include information (include information incorporated as a component of the program at the time of compilation) used to generate the object module is included. Acquires the information indicating the generation time from the version control database, and the latest corresponding include information (include information that exists in a single file in the state of being included in the include file when it is out of the source program) The information indicating the generation time is extracted from the information, and the information indicating the generation time is compared with each other to check whether or not they match. Here, if they match, the object module is a version compiled using the latest include information and is judged to be normal. On the other hand, if they do not match, release permission or warning is issued. It is possible to perform processing in the case of abnormal output or the like.
このため、インクルード情報の内容の更新に伴って生じる各オブジェクトモジュール間の不整合を防止することが可能となる。例えば、インクルードファイルの管理担当者がインクルード情報を更新したにもかかわらず、ソースプログラムの作成担当者(オブジェクトモジュールの管理担当者)が、更新前のインクルード情報を用いてコンパイルしたままの状態のオブジェクトモジュールを、コンパイルし直さずに、つまりインクルード情報の更新内容を反映させずにリリースしてしまい、他のオブジェクトモジュールとの間で不整合を生じるという事態が回避される。また、オブジェクトモジュールが既にリリースされている状況で、インクルード情報が更新された場合に、オブジェクトモジュールの管理担当者が、インクルード情報が更新されたことに気づかず、更新前のインクルード情報を用いてコンパイルされているオブジェクトモジュールについて再度のコンパイルを行わない結果、他のオブジェクトモジュールとの間で不整合を生じるという事態が回避される。 For this reason, it is possible to prevent inconsistencies between the object modules that are caused by updating the contents of the include information. For example, an object that has been compiled by the source program creator (object module manager) using the include information before the update even though the include file manager has updated the include information A situation in which a module is released without being recompiled, that is, without reflecting the updated contents of the include information, and inconsistency with other object modules is avoided. In addition, if the include information is updated when the object module has already been released, the person in charge of the object module will not be aware that the include information has been updated and will compile using the pre-update include information. As a result of not recompiling the object module that is being used, a situation in which inconsistency with other object modules occurs is avoided.
さらに、オブジェクトモジュールのバージョンチェックは、バージョンチェック処理手段により行われるので、従来のような黙視によるインクルード情報の更新日の確認作業や監視作業を行う場合に比べ、作業時間が短縮されるうえ、オブジェクトモジュールの管理担当者の作業負担が軽減され、これらにより前記目的が達成される。 Furthermore, since the version check of the object module is performed by the version check processing means, the work time is shortened and the object time is shortened as compared with the case of performing the confirmation and monitoring work of the update date of the include information by the blind eye as in the past. The workload of the person in charge of managing the module is reduced, and the object is achieved by these.
また、前述したオブジェクトバージョンチェックシステムにおいて、バージョンチェック処理手段は、下位の環境から上位の環境へのオブジェクトモジュールのリリース時に、下位の環境に置かれているリリース対象のオブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報をモジュール識別情報に基づきバージョン管理データベースから取得するとともに、先行して上位の環境にリリースされている対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行う構成とされていることが望ましい。 Further, in the object version check system described above, the version check processing means sets the object module to be released as the version check target when the object module is released from the lower environment to the upper environment, Information indicating the generation time of include information used to generate this object module is acquired from the version control database based on the module identification information, and this information is also obtained from the latest corresponding include information released in the upper environment in advance. It is desirable that the information indicating the generation time of the include information is extracted, and the information indicating the generation time is compared with each other to check whether or not they match.
ここで、「先行して上位の環境にリリースされている対応する最新のインクルード情報」における「先行して上位の環境にリリースされている」インクルード情報とは、バージョンチェック対象のオブジェクトモジュールがリリースされる上位の環境に、バージョンチェック対象のオブジェクトモジュールに先行してリリースされているインクルード情報を意味する。また、ここでいう「最新の」インクルード情報とは、更新されたインクルード情報がリリースされると、更新前のインクルード情報が上書き消去される管理を行っている場合には、バージョンチェック対象のオブジェクトモジュールがリリースされる上位の環境にリリースされている唯一のインクルード情報を意味し、一方、更新されたインクルード情報がリリースされても、更新前のインクルード情報が消去されずに残される管理を行っている場合には、バージョンチェック対象のオブジェクトモジュールがリリースされる上位の環境にリリースされているインクルード情報のうち、最新の生成時点を有するインクルード情報を意味する。以下の発明においても同様である。 Here, the "latest latest include information that has been released to the higher environment first" includes information that is "released to the upper environment first" means that the object module subject to version check is released. Include information that has been released prior to the object module whose version is to be checked. In addition, the "latest" include information here refers to the object module that is the version check target, when the updated include information is released and the include information before update is overwritten and deleted. Means the only include information that is released in a higher-level environment where the release is released. On the other hand, even if updated include information is released, the pre-update include information remains unerased. In this case, it means include information having the latest generation time out of include information released in a higher environment where an object module subject to version check is released. The same applies to the following inventions.
また、「リリース時」には、オブジェクトモジュールを上位の環境のリリース先に実際に移す時点の他に、例えば、リリース待機場所に移す時点等も含まれる。以下の発明においても同様である。 Further, “at the time of release” includes, for example, a time point when the object module is moved to a release standby place in addition to a time point when the object module is actually moved to the release destination of the higher environment. The same applies to the following inventions.
このようにオブジェクトモジュールのリリース時にバージョンチェックを行う構成とした場合には、更新前のインクルード情報を用いてコンパイルされたオブジェクトモジュールがリリースされるという事態を未然に防止することが可能となる。 In this way, when the version check is performed when the object module is released, it is possible to prevent a situation in which an object module compiled using include information before update is released.
さらに、上述したオブジェクトモジュールのリリース時にバージョンチェックを行う構成とした場合において、バージョンチェック処理手段は、リリース時のバージョンチェック処理に加え、定期的に、リリース後のオブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報をモジュール識別情報に基づきバージョン管理データベースから取得するとともに、バージョンチェック対象とされたオブジェクトモジュールと同一環境にリリースされている対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされていることが望ましい。 Further, in the case where the version check is performed at the time of release of the object module described above, the version check processing means periodically sets the object module after the release as a version check target in addition to the version check process at the time of release. Information indicating the generation time of include information used to generate the object module is acquired from the version management database based on the module identification information, and the latest corresponding version released in the same environment as the object module subjected to version check The information that indicates the generation time of the include information is extracted from the include information, and the information that indicates the generation time is compared with each other to check whether or not they match. And it is desirable that.
ここで、「定期的」とは、例えば、毎日の夜間の一定時刻や、毎日の就業時間後の一定時刻、あるいは水曜日と土曜日の夜間の一定時刻等のように、バージョンチェック処理の実行タイミングが、作業担当者の行為(操作)によらずに、予め定められていることを意味する。 Here, “regular” means that the execution timing of the version check process is, for example, a fixed time every day at night, a fixed time after working hours every day, or a fixed time at night on Wednesday and Saturday. This means that it is determined in advance without depending on the action (operation) of the person in charge of the work.
このようにオブジェクトモジュールのリリース時に加え、定期的にバージョンチェックを行う構成とした場合には、リリース後のオブジェクトモジュールについても、定期的にバージョンチェックを行うことが可能となり、更新前のインクルード情報を用いてコンパイルされているオブジェクトモジュールが再度のコンパイルを行われることなく放置されるという事態が回避され、また、警告リスト等を出力して再度のコンパイルをオブジェクトモジュールの管理担当者に促したり、他のオブジェクトモジュールの管理担当者や開発システムのテスト実施者に不整合があることを告知したりする等の処理が可能となる。 In this way, when it is configured to periodically check the version of the object module in addition to the release of the object module, it is possible to check the version of the object module after the release periodically, and to include the pre-update include information. The situation is avoided in which the object module compiled using the module is left without being recompiled, and the warning list etc. is output to urge the person in charge of the object module to recompile. It is possible to notify the person in charge of managing the object module and the tester of the development system that there is an inconsistency.
そして、上述したオブジェクトモジュールのリリース時に加え、定期的にバージョンチェックを行う構成とした場合において、バージョンチェック処理手段によるリリース時のバージョンチェック処理でインクルード情報の生成時点を示す情報同士を比較してそれらが一致しているというチェック結果が出たリリース対象のオブジェクトモジュールについて、このオブジェクトモジュールを上位の環境のリリース先に移すとともに、下位の環境に設けられたバージョン管理データベースに記憶されているこのオブジェクトモジュールのバージョン管理情報を、上位の環境に設けられたバージョン管理データベースに書き込む処理を行うリリース実行処理手段を備え、バージョンチェック処理手段は、リリース時のバージョンチェック処理では、リリース対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報を、下位の環境に設けられたバージョン管理データベースから取得し、リリース後に定期的に行うバージョンチェック処理では、リリース後のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報を、リリース実行処理手段による書込処理が行われた後の上位の環境に設けられたバージョン管理データベースから取得する構成とされていることが望ましい。 In addition to the above-described object module release, when the version check is periodically performed, the version check processing by the version check processing means compares the information indicating the generation time of the include information with each other. This object module is stored in the version control database provided in the lower environment, as well as moving the object module to the release destination of the higher environment for the object module to be released for which the check result indicates that they match Release execution processing means for performing processing for writing the version management information in the version management database provided in the higher environment, and the version check processing means is the version check processing at the time of release. In the version check process that obtains information indicating the generation time of include information used to generate the object module to be released from the version management database provided in the lower environment and periodically after the release, the released object Information indicating the generation time of include information used to generate modules is obtained from the version management database provided in the higher environment after the write processing by the release execution processing means is performed. Is desirable.
このようにチェック結果が正常であったオブジェクトモジュールのリリース処理およびそのオブジェクトモジュールのバージョン管理情報の上位の環境のバージョン管理データベースへの書込処理を行うリリース実行処理手段を備えた構成とした場合には、バージョンチェック処理手段によるリリース時のバージョンチェック処理と、リリース後の定期的なバージョンチェック処理とが連携され、システム開発に伴う一連の処理が円滑に行われるようになるうえ、作業担当者の負担軽減が図られる。 In the case of a configuration including release execution processing means for performing release processing of an object module whose check result is normal and writing processing of the version management information of the object module to the version management database of the higher environment. The version check processing at the time of release by the version check processing means and the periodic version check processing after the release are linked so that a series of processing associated with system development can be performed smoothly, and The burden is reduced.
さらに、以上に述べたオブジェクトバージョンチェックシステムにおいて、生成時点埋込処理手段は、インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理に加え、ソースプログラム自体にこのソースプログラムの生成時点を示す情報を埋め込む処理も行う構成とされ、バージョン管理データベースは、インクルード情報の生成時点を示す情報に加え、ソースプログラムの生成時点を示す情報についても、モジュール識別情報と対応させて記憶する構成とされ、コンパイル処理手段は、オブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、オブジェクトモジュールの生成に用いられるソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行う構成とされ、かつ、抽出したインクルード情報の生成時点を示す情報およびソースプログラムの生成時点を示す情報とこれらのインクルード情報およびソースプログラムを用いて生成されたオブジェクトモジュールのモジュール識別情報とを対応させてバージョン管理データベースに書き込む処理を行う構成とされ、バージョンチェック処理手段は、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報に加え、このオブジェクトモジュールの生成に用いられたソースプログラムの生成時点を示す情報についても、バージョン管理データベースから取得する処理を行うとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、対応する最新のソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行い、インクルード情報の生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理に加え、ソースプログラムの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされていることが望ましい。 Furthermore, in the object version check system described above, the generation time embedding processing means adds the generation time of the source program to the source program itself in addition to the process of embedding information indicating the generation time of the include information in the include information itself. The version management database is configured to store information indicating the generation time of the include information as well as information indicating the generation time of the source program in association with the module identification information. In addition to the process of extracting the information indicating the generation time of the include information from the include information used for generating the object module, the compile processing means, the source program from the source program used for generating the object module It is also configured to perform processing for extracting information indicating the generation time, and the information indicating the generation time of the extracted include information and the information indicating the generation time of the source program and the information including the include information and the source program are generated. It is configured to perform a process of writing to the version management database in association with the module identification information of the object module, and the version check processing means includes information indicating the generation time of the include information used for generating the object module subject to version check. In addition, the information indicating the generation time of the source program used to generate this object module is also obtained from the version control database and this include information is obtained from the latest included information. In addition to the process of extracting the information indicating the generation time, the process of extracting the information indicating the generation time of the source program from the corresponding latest source program is also performed, and the information indicating the generation time of the include information is compared with each other. In addition to the process of checking whether or not they match, it is preferable that the process of comparing information indicating the generation time of the source program and checking whether or not they match is also performed.
ここで、「対応する最新のソースプログラム」における「対応する」ソースプログラムとは、内容が更新されても同じ識別情報(例えば、同じ名称や同じID等)で管理され、取り扱われるソースプログラムがある場合において、バージョンチェック対象のオブジェクトモジュールの生成に用いられたソースプログラムの識別情報(名称やID等)と同じ識別情報を付されたソースプログラムを意味する。また、「最新の」ソースプログラムとは、同じ識別情報(例えば、同じ名称や同じID等)で管理され、取り扱われるソースプログラムのうち、最新の生成時点を有するソースプログラムを意味する。以下の発明においても同様である。 Here, the “corresponding” source program in the “corresponding latest source program” is a source program that is managed and handled with the same identification information (for example, the same name, the same ID, etc.) even if the contents are updated. In this case, it means a source program with the same identification information as the identification information (name, ID, etc.) of the source program used to generate the object module to be subjected to version check. Further, the “latest” source program means a source program having the latest generation time among source programs managed and handled with the same identification information (for example, the same name, the same ID, etc.). The same applies to the following inventions.
このようにインクルード情報に加え、ソースプログラムの生成時点を示す情報同士も比較するバージョンチェック処理を行う構成とした場合には、ソースプログラムの内容を更新したにもかかわらず、それがオブジェクトモジュールに反映されないという事態が回避され、また、そのような事態から生じるモジュール間の不整合が防止される。 In this way, in a configuration that performs version check processing that compares information indicating the generation time of the source program in addition to the include information, it is reflected in the object module even though the contents of the source program are updated. The situation of not being performed is avoided, and inconsistencies between modules resulting from such a situation are prevented.
なお、以上に述べた本発明は、オブジェクトモジュールのバージョン管理情報(オブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報)をバージョン管理データベースに記憶させておく構成であるため、以下、バージョン管理データベース利用型の発明という。これに対し、以下に述べる本発明は、オブジェクトモジュールのバージョン管理情報をバージョン管理データベースに記憶させるのではなく、オブジェクトモジュール自体に埋め込む構成であるため、オブジェクトモジュール埋込型の発明という。 The present invention described above is configured to store the version management information of the object module (information indicating the generation time of the include information used for generating the object module) in the version management database. This is a version management database-based invention. On the other hand, the present invention described below is called an object module embedded invention because the version management information of the object module is not stored in the version management database but is embedded in the object module itself.
すなわち、本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェックシステムであって、インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報を、生成するオブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行うコンパイル処理手段と、バージョンチェック対象のオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段とを備えたことを特徴とするものである。 That is, the present invention is an object version check system for performing version check of an object module generated by compiling using a source program and include information incorporated as a component of the program. , Generation time embedding processing means for performing processing for embedding information indicating the generation time of the include information in the include information itself, and generating an object module by compiling using the source program and include information, and this object module The information indicating the generation time of the include information is extracted from the include information used for generating the information, and the information indicating the generation time of the extracted include information is generated. Compile processing means that embeds as version control information in the module itself, and information indicating the generation time of include information embedded in the object module from the version check target object module, and the latest corresponding include information And a version check processing means for extracting information indicating the generation time of this include information, comparing the information indicating the generation time with each other, and checking whether or not they match. It is a feature.
このような本発明のオブジェクトバージョンチェックシステムにおいては、生成時点埋込処理手段により、インクルード情報自体にその生成時点を示す情報を埋め込んでおき、コンパイル処理手段により、コンパイル時に、コンパイルに用いたインクルード情報の生成時点を示す情報を、オブジェクトモジュール自体に埋め込んでおく。そして、バージョンチェック処理手段により、コンパイルして生成されたオブジェクトモジュールのバージョンチェックを行う際に、そのオブジェクトモジュールの生成に用いられたインクルード情報(コンパイル時にプログラムの構成要素として組み込まれたインクルード情報)の生成時点を示す情報をオブジェクトモジュールから抽出するとともに、対応する最新のインクルード情報(ソースプログラムから外出しされた状態で、単体で存在するインクルード情報、つまりインクルードファイルに格納された状態のインクルード情報)からその生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする。ここで、一致している場合には、オブジェクトモジュールは、最新のインクルード情報を用いてコンパイルされたバージョンであり、正常と判断され、一方、一致していない場合には、リリースの不許可や警告出力等の不正常の場合の処理を行うことが可能となる。 In such an object version check system of the present invention, the generation time embedding processing means embeds information indicating the generation time in the include information itself, and the compile processing means uses the include information used for compilation at the time of compilation. Is embedded in the object module itself. Then, when the version check processing means performs a version check of the object module generated by compiling, the include information (include information incorporated as a component of the program at the time of compilation) used to generate the object module is included. Extracts information indicating the generation time from the object module, and also from the latest corresponding include information (include information that exists in a single state when it is out of the source program, that is, it is stored in the include file) Information indicating the generation time is extracted, and the information indicating the generation time is compared with each other to check whether or not they match. Here, if they match, the object module is a version compiled using the latest include information and is judged to be normal. On the other hand, if they do not match, release permission or warning is issued. It is possible to perform processing in the case of abnormal output or the like.
このため、前述したバージョン管理データベース利用型の発明の場合と同様に、インクルード情報の内容の更新に伴って生じる各オブジェクトモジュール間の不整合を防止することが可能となる。 For this reason, as in the case of the above-described invention using the version management database, it is possible to prevent inconsistencies among the object modules that are caused by updating the contents of the include information.
さらに、オブジェクトモジュールのバージョンチェックは、バージョンチェック処理手段により行われるので、従来のような黙視によるインクルード情報の更新日の確認作業や監視作業を行う場合に比べ、作業時間が短縮されるうえ、オブジェクトモジュールの管理担当者の作業負担が軽減され、これらにより前記目的が達成される。 Furthermore, since the version check of the object module is performed by the version check processing means, the work time is shortened and the object time is shortened as compared with the case of performing the confirmation and monitoring work of the update date of the include information by the blind eye as in the past. The workload of the person in charge of managing the module is reduced, and the object is achieved by these.
また、前述したオブジェクトバージョンチェックシステムにおいて、バージョンチェック処理手段は、下位の環境から上位の環境へのオブジェクトモジュールのリリース時に、下位の環境に置かれているリリース対象のオブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールからバージョン管理情報として埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、先行して上位の環境にリリースされている対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行う構成とされていることが望ましい。 Further, in the object version check system described above, the version check processing means sets the object module to be released as the version check target when the object module is released from the lower environment to the upper environment, Information indicating the generation time of include information embedded as version control information is extracted from this object module, and the generation time of this include information is extracted from the latest corresponding include information released in the higher environment in advance. It is desirable that the information to be extracted is extracted, and the information indicating the generation time is compared to check whether or not they match.
このようにオブジェクトモジュールのリリース時にバージョンチェックを行う構成とした場合には、前述したバージョン管理データベース利用型の発明の場合と同様に、更新前のインクルード情報を用いてコンパイルされたオブジェクトモジュールがリリースされるという事態を未然に防止することが可能となる。 In this way, when the version check is performed when the object module is released, the object module compiled using the include information before the update is released as in the case of the above-described invention using the version management database. It is possible to prevent such a situation.
さらに、上述したオブジェクトモジュールのリリース時にバージョンチェックを行う構成とした場合において、バージョンチェック処理手段は、リリース時のバージョンチェック処理に加え、定期的に、リリース後のオブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールからバージョン管理情報として埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、バージョンチェック対象とされたオブジェクトモジュールと同一環境にリリースされている対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされていることが望ましい。 Furthermore, in the case of a configuration in which version check is performed at the time of release of the object module described above, the version check processing means periodically sets the object module after release as a version check target in addition to the version check process at the time of release. Extracts information indicating the generation time of include information embedded as version management information from the object module, and also includes this information from the latest corresponding include information released in the same environment as the object module subject to version check. It is desirable that the information indicating the generation point of time is extracted, and the information indicating the generation point of time is compared with each other to check whether or not they match.
このようにオブジェクトモジュールのリリース時に加え、定期的にバージョンチェックを行う構成とした場合には、前述したバージョン管理データベース利用型の発明の場合と同様に、リリース後のオブジェクトモジュールについても、定期的にバージョンチェックを行うことが可能となり、更新前のインクルード情報を用いてコンパイルされているオブジェクトモジュールが再度のコンパイルを行われことなく放置されるという事態が回避され、また、警告リスト等の出力や関係者への不整合の告知等の処理が可能となる。 In this way, when the version check is periodically performed in addition to the release of the object module, the released object module is also periodically updated as in the case of the above-described version management database utilization type invention. Version checking can be performed, and it is possible to avoid a situation in which an object module compiled using include information before update is left without being recompiled. It is possible to process a notification of inconsistency to a person.
そして、上述したオブジェクトモジュールのリリース時に加え、定期的にバージョンチェックを行う構成とした場合において、生成時点埋込処理手段は、インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理に加え、ソースプログラム自体にこのソースプログラムの生成時点を示す情報を埋め込む処理も行う構成とされ、コンパイル処理手段は、オブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、オブジェクトモジュールの生成に用いられるソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行う構成とされ、かつ、抽出したインクルード情報の生成時点を示す情報およびソースプログラムの生成時点を示す情報を、生成するオブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行う構成とされ、バージョンチェック処理手段は、バージョンチェック対象のオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれているインクルード情報の生成時点を示す情報に加え、ソースプログラムの生成時点を示す情報についても抽出する処理を行うとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、対応する最新のソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行い、インクルード情報の生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理に加え、ソースプログラムの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされていることが望ましい。 In addition, when the version is periodically checked in addition to the above-mentioned release of the object module, the generation time embedding processing means adds to the process of embedding information indicating the generation time of the include information in the include information itself. The source program itself is also configured to embed information indicating the generation time of the source program, and the compile processing means extracts information indicating the generation time of the include information from the include information used for generating the object module. In addition to the processing, the processing for extracting the information indicating the generation time of the source program from the source program used for generating the object module is also performed, and the information indicating the generation time of the extracted include information and the source program It is configured to embed information indicating the creation time as version management information in the object module itself to be generated, and the version check processing means generates include information embedded in this object module from the object module subject to version check. In addition to the process of extracting information indicating the generation time of the source program in addition to the information indicating the generation time of the source program, in addition to the process of extracting the information indicating the generation time of this include information from the latest corresponding include information, In addition to the process of extracting the information indicating the generation time of this source program from the source program, comparing the information indicating the generation time of the include information and checking whether or not they match, the source program of That it is configured to performs processing to check whether they match by comparing the pieces of information indicating the formation time is desirable.
このようにインクルード情報に加え、ソースプログラムの生成時点を示す情報同士も比較するバージョンチェック処理を行う構成とした場合には、前述したバージョン管理データベース利用型の発明の場合と同様に、ソースプログラムの内容を更新したにもかかわらず、それがオブジェクトモジュールに反映されないという事態が回避され、また、そのような事態から生じるモジュール間の不整合が防止される。 In this way, in a configuration in which version check processing for comparing information indicating the generation point of the source program in addition to the include information is performed, as in the case of the above-described version management database utilization type invention, Although the content has been updated, a situation where it is not reflected in the object module is avoided, and inconsistencies between modules resulting from such a situation are prevented.
また、以上に述べた本発明のオブジェクトバージョンチェックシステム(バージョン管理データベース利用型の発明、およびオブジェクトモジュール埋込型の発明)により実現されるオブジェクトバージョンチェック方法として、以下のような本発明のオブジェクトバージョンチェック方法が挙げられる。 Further, as an object version check method realized by the object version check system of the present invention described above (the invention using the version management database and the object module embedded invention), the following object version of the present invention is provided. Check method is mentioned.
すなわち、本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェック方法であって、インクルード情報を生成する際に、生成時点埋込処理手段が、インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行い、コンパイル処理手段が、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報とこのインクルード情報を用いて生成されたオブジェクトモジュールを識別するためのモジュール識別情報とを対応させてバージョン管理データベースにバージョン管理情報として書き込む処理を行い、バージョンチェック処理手段が、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報を、モジュール識別情報に基づきバージョン管理データベースから取得するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うことを特徴とするものである。 That is, the present invention is an object version check method for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program. The generation time embedding processing means performs processing for embedding information indicating the generation time of the include information in the include information itself, and the compile processing means performs compilation using the source program and the include information to generate an object module. In addition, information indicating the generation time of the include information is extracted from the include information used for generating the object module, and information indicating the generation time of the extracted include information and the Corresponding module identification information for identifying the object module generated using the lude information is written as version management information in the version management database, and the version check processing means generates the object module for the version check. The information indicating the generation time of include information used in the process is acquired from the version management database based on the module identification information, and the information indicating the generation time of this include information is extracted from the latest corresponding include information It is characterized by performing processing for comparing information indicating time points and checking whether or not they match.
また、本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェック方法であって、インクルード情報を生成する際に、生成時点埋込処理手段が、インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行い、コンパイル処理手段が、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報を、生成するオブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行い、バージョンチェック処理手段が、バージョンチェック対象のオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うことを特徴とするものである。 Further, the present invention is an object version check method for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program. When generating include information The generation time embedding processing means performs processing for embedding information indicating the generation time of the include information in the include information itself, and the compile processing means compiles using the source program and the include information to generate an object module. At the same time, information indicating the generation time of the include information is extracted from the include information used for generating the object module, and information indicating the generation time of the extracted include information is generated. The version check processing means extracts the information indicating the generation time of the include information embedded in the object module from the version check target object module, and embeds it as version management information in the object module itself. The information indicating the generation time of the include information is extracted from the include information, and the information indicating the generation time is compared with each other to check whether or not they match. is there.
このような本発明のオブジェクトバージョンチェック方法(バージョン管理データベース利用型の発明、およびオブジェクトモジュール埋込型の発明)においては、前述した本発明のオブジェクトバージョンチェックシステムで得られる作用・効果がそのまま得られ、これにより前記目的が達成される。 In such an object version check method of the present invention (a version management database utilization type invention and an object module embedded type invention), the operations and effects obtained by the object version check system of the present invention described above can be obtained as they are. This achieves the object.
そして、以上に述べたバージョン管理データベース利用型の発明、およびオブジェクトモジュール埋込型の発明を実現するためのプログラムとして、以下のような本発明のプログラムが挙げられる。 The following program of the present invention can be cited as a program for implementing the above-described version management database utilization type invention and object module embedded type invention.
すなわち、本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェックシステムとして、コンピュータを機能させるためのプログラムであって、インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、オブジェクトモジュールのバージョン管理情報として、オブジェクトモジュールを識別するためのモジュール識別情報とこのオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報とを対応させて記憶するバージョン管理データベースと、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報とこのインクルード情報を用いて生成されたオブジェクトモジュールのモジュール識別情報とを対応させてバージョン管理データベースに書き込む処理を行うコンパイル処理手段と、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報をモジュール識別情報に基づきバージョン管理データベースから取得するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段とを備えたことを特徴とするオブジェクトバージョンチェックシステムとして、コンピュータを機能させるためのものである。 That is, the present invention is a program for causing a computer to function as an object version check system for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program. When generating the include information, the generation point embedding processing means for embedding information indicating the generation time of the include information in the include information itself, and the object module as the version management information of the object module are identified. A version management database for storing the module identification information for generating and the information indicating the generation time of the include information used for generating the object module in association with each other; Compile using the gram and include information to generate an object module, extract information indicating the generation time of this include information from the include information used to generate this object module, and generate the extracted include information The compile processing means that performs processing to write the information indicating the time point and the module identification information of the object module generated using this include information in correspondence with the version management database, and was used to generate the object module for the version check Information indicating the generation time of include information is acquired from the version control database based on the module identification information, and the generation time of this include information is determined from the latest corresponding include information. As an object version check system comprising: version check processing means for extracting information indicating, comparing the information indicating the generation point of time and checking whether or not they match each other To make the computer function.
また、本発明は、ソースプログラムおよびプログラムの構成要素として組み込まれるインクルード情報を用いてコンパイルを行って生成されるオブジェクトモジュールのバージョンチェックを行うオブジェクトバージョンチェックシステムとして、コンピュータを機能させるためのプログラムであって、インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、ソースプログラムおよびインクルード情報を用いてコンパイルを行ってオブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられるインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出したインクルード情報の生成時点を示す情報を、生成するオブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行うコンパイル処理手段と、バージョンチェック対象のオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段とを備えたことを特徴とするオブジェクトバージョンチェックシステムとして、コンピュータを機能させるためのものである。 Further, the present invention is a program for causing a computer to function as an object version check system that performs version check of an object module generated by compiling using a source program and include information incorporated as a component of the program. When generating include information, the generation point embedding processing means for embedding information indicating the generation time of the include information in the include information itself, and compiling using the source program and the include information, the object is compiled. Generates a module, extracts information indicating the generation time of this include information from the include information used to generate this object module, and Compile processing means for performing processing to embed information indicating the generation time as version management information in the object module itself to be generated, and information indicating the generation time of include information embedded in this object module from the version check target object module In addition to extracting, information indicating the generation time of the include information is extracted from the latest corresponding include information, and the information indicating the generation time is compared to check whether they match. An object version check system including a version check processing unit is provided for causing a computer to function.
なお、以上に述べたプログラムまたはその一部は、例えば、光磁気ディスク(MO)、コンパクトディスク(CD)を利用した読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)、デジタル・バーサタイル・ディスク(DVD)を利用した読出し専用メモリ(DVD−ROM)、DVDを利用したランダム・アクセス・メモリ(DVD−RAM)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去および書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等の記録媒体に記録して保存や流通等させることが可能であるとともに、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等の有線ネットワーク、あるいは無線通信ネットワーク、さらにはこれらの組合せ等の伝送媒体を用いて伝送することが可能であり、また、搬送波に載せて搬送することも可能である。さらに、以上に述べたプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。 Note that the above-described program or a part thereof is, for example, a magneto-optical disk (MO), a read-only memory (CD-ROM) using a compact disk (CD), a CD recordable (CD-R), a CD rewritable. (CD-RW), read-only memory (DVD-ROM) using digital versatile disk (DVD), random access memory (DVD-RAM) using DVD, flexible disk (FD), magnetic tape, Recording, storage, distribution, etc. on a recording medium such as a hard disk, read only memory (ROM), electrically erasable and rewritable read only memory (EEPROM), flash memory, random access memory (RAM), etc. Possible, for example, a local area network LAN, Metropolitan Area Network (MAN), Wide Area Network (WAN), Internet, Intranet, Extranet, and other wired networks, wireless communication networks, and combinations of these transmission media It is also possible to carry it on a carrier wave. Furthermore, the program described above may be a part of another program, or may be recorded on a recording medium together with a separate program.
以上に述べたように本発明によれば、バージョンチェック対象のオブジェクトモジュールの生成に用いられたインクルード情報の生成時点を示す情報をバージョン管理データベースから取得するか、あるいはバージョンチェック対象のオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれているインクルード情報の生成時点を示す情報を抽出するとともに、対応する最新のインクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックするバージョンチェック処理を行うので、オブジェクトモジュールのバージョンチェックを自動的に行うことができ、オブジェクトモジュール間の不整合を防止することができるうえ、作業時間の短縮および作業担当者の負担軽減を図ることができるという効果がある。 As described above, according to the present invention, information indicating the generation time of the include information used for generating the object module subject to version check is acquired from the version management database, or this information is obtained from the object module subject to version check. Extracts the information indicating the generation time of include information embedded in the object module, extracts the information indicating the generation time of this include information from the latest corresponding include information, and compares the information indicating these generation times Version check processing is performed to check whether they match, so that the version check of object modules can be performed automatically, and inconsistencies between object modules can be prevented and work can be done. There is an effect that can be shortened and the work the person in charge of the burden between.
以下に本発明の一実施形態について図面を参照して説明する。図1には、本実施形態のオブジェクトバージョンチェックシステム10を用いて行われるプログラム開発時の作業の流れ、およびオブジェクトモジュールのリリース時のバージョンチェック処理を含む各種処理の概要が示され、図2には、システム10により夜間等に定期的に行われるバージョンチェック処理の概要が示されている。また、図3には、システム10の全体構成が示され、図4には、システム10により行われるバージョンチェック処理を含む各種処理の詳細内容が示されている。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows an outline of various processes including a work flow at the time of program development performed using the object
オブジェクトバージョンチェックシステム10は、複数の開発担当者の関与の下に、複数のプログラムからなるシステムを開発するためのシステムであり、バージョン管理データベース利用型の発明を実現するシステムである。このシステム10の詳細構成を説明する前に、先ず、システム10により行われる処理の概要について、図1および図2を参照して説明する。
The object
図1において、プログラム開発ツールで作成または準備した日本語マクロ1、レコード情報(コピー句)2、および日本語IPO(プログラム)3から、COBOL言語で記述されたマクロ4、コピー句5、およびCOBOLソース(ソースプログラム)6をそれぞれ生成する際に、マクロ4自体、コピー句5自体、およびCOBOLソース6自体に、それぞれの生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を埋め込んでおく(ステップS1,S2,S3)。
In FIG. 1, a
そして、マクロ4、コピー句5、およびCOBOLソース6を用いてコンパイルを行う際に(ステップS4)、マクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれたマクロ生成日、コピー句生成日、およびソース生成日(の情報)をそれぞれ抽出し、抽出したマクロ生成日、コピー句生成日、およびソース生成日、並びにコンパイルして生成されたオブジェクトモジュール(以下、単にモジュールと記載することがある。)7の生成時点を示す情報(モジュール生成日)を、生成されたモジュール7に付与されたモジュールIDと対応させてバージョン管理データベース40に書き込み保存する(ステップS5)。なお、後述する如く、各環境にバージョン管理データベース40A〜40Eが設けられているが、バージョン管理データベース40は、それらの総称として用いている。
When compiling using the
また、モジュール7のリリースに先行させて、マクロ4、コピー句5、およびCOBOLソース6をリリースし、オブジェクト格納ライブラリ50に格納しておく(ステップS6,S7,S8)。なお、後述する如く、各環境にオブジェクト格納ライブラリ50A〜50Dが設けられているが、オブジェクト格納ライブラリ50は、それらの総称として用いている。
Prior to the release of the
続いて、モジュール7をリリースする際に、バージョンチェック処理手段33により、そのモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を、モジュールIDをキーとしてバージョン管理データベース40から取得する。また、先行してリリースされてオブジェクト格納ライブラリ50に格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日(の情報)をそれぞれ抽出する。そして、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(ステップS9)。ここで、各生成日同士が一致し、チェック結果が正常と出た場合には、モジュール7がリリースされ、オブジェクト格納ライブラリ50に格納される(ステップS10)。
Subsequently, when the
一方、各生成日同士が一致せず、チェック結果がエラーになった場合には、モジュール7はリリースされない。各生成日同士の不一致は、次のような場合に生じる。例えば、マクロ4やコピー句5の管理担当者が、マクロ4やコピー句5を更新したにもかかわらず、モジュール7の管理担当者が、更新前のマクロ4やコピー句5を用いてコンパイルしてしまい、それにより生成されたモジュール7をリリースしようとした場合、あるいはコンパイルしてモジュール7を生成した後、これをリリースする前に、マクロ4やコピー句5が更新され、モジュール7の管理担当者が、更新前のマクロ4やコピー句5を用いてコンパイルしたままの状態のモジュール7を、コンパイルし直さずに、そのままリリースしようとした場合等にエラーが出る。そして、仮に、このようなエラーが出たモジュール7がリリースされたとすると、最新のマクロ4やコピー句5を用いてコンパイルされて生成された他のモジュール7との間で不整合を生じることになる。
On the other hand, if the generation dates do not match and the check result is an error, the
図2において、モジュール7のリリース後には、バージョンチェック処理手段33,62により、例えば、毎日、夜間の一定時刻に、既にリリースされてオブジェクト格納ライブラリ50に格納されているバージョンチェック対象のモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を、モジュールIDをキーとしてバージョン管理データベース40から取得する。また、バージョンチェック対象のモジュール7と同一環境のオブジェクト格納ライブラリ50に格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(ステップS21)。
In FIG. 2, after the release of the
ここで、各生成日同士が一致せず、チェック結果がエラーになった場合には、その結果は警告リスト33Aに出力される(ステップS22)。各生成日同士の不一致は、次のような場合に生じる。例えば、モジュール7が既にリリースされてオブジェクト格納ライブラリ50に格納されている状況で、マクロ4やコピー句5が更新されたときに、モジュール7の管理担当者が、マクロ4やコピー句5が更新されたことに気づかず、更新前のマクロ4やコピー句5を用いてコンパイルされているモジュール7について再度のコンパイルを行わず、そのまま放置している場合等にエラーが出る。そして、仮に、このようなエラーが出たモジュール7がオブジェクト格納ライブラリ50に放置されたままになると、最新のマクロ4やコピー句5を用いてコンパイルされて生成された他のモジュール7との間で不整合を生じることになる。
If the generation dates do not match and the check result is an error, the result is output to the
次に、オブジェクトバージョンチェックシステム10の詳細構成について説明する。このシステム10によるシステム開発環境は、本実施形態では、一例として、下位環境から順に、UT環境、ITa環境、ITb環境、およびST環境があるものとする。UTは、個人の環境で行うユニットテストであり、ITaおよびITbは、複数の開発担当者で構成されるチームが公開された状態で全体として行う統合テスト(インテグレーションテスト)であり、STは、実際にシステムを運用するユーザも含めてインターフェース等の確認を行うシステムテストである。そして、これらの各環境でのテストが完了すると、本番環境に移行する。
Next, a detailed configuration of the object
図3において、オブジェクトバージョンチェックシステム10は、各開発担当者が各自の担当する作業を行う際にそれぞれ操作する複数の個人用端末装置20と、この個人用端末装置20とLANやイントラネット等のネットワーク11で接続された開発管理システム30と、この開発管理システム30とネットワーク11で接続された本番システム60とを備えている。
In FIG. 3, an object
各個人用端末装置20は、例えばパーソナルコンピュータ等により構成され、プログラム(本実施形態では、マクロ4、コピー句5、およびCOBOLソース6)の開発を支援するプログラム開発ツール21がそれぞれ搭載されている。プログラム開発ツール21としては、例えば、COBOL言語のプログラム開発の生産性や品質の向上を目的とした開発ツールとして市販されているHLL/WB(エイチエルエル・ワークベンチ)等を採用することができる。このHLL/WBは、マクロ4の管理者がHLL/WB用の言語(主に日本語)で日本語マクロ1をコーディングする作業を支援する処理を行うとともに、日本語マクロ1のコーディング完了後に、マクロ4の管理者による「マクロ生成」機能の実行操作に基づき、HLL/WB用の言語で記述された日本語マクロ1のファイルから、COBOL言語で記述されたマクロ4のファイルへの変換処理(図1のステップS1の処理)を行うものである。この変換処理で生成されるマクロ4のファイルは、いわゆるインクルードファイルに相当し、マクロ4は、コーディングの一部を外出したものであり、本発明におけるインクード情報に相当する。
Each personal
また、HLL/WBは、HLL/WB上へのレコード情報2のファイルの取込完了後に、コピー句5の管理者による「コピー句生成」機能の実行操作に基づき、HLL/WB用の形式で記述されたレコード情報2のファイルから、COBOL言語で記述されたコピー句5のファイルを生成する処理(図1のステップS2の処理)を行うものである。この生成処理で得られるコピー句5のファイルは、いわゆるインクルードファイルに相当し、コピー句5は、COBOLプログラムの中で使用されるファイルのフォーマットやI/Oのエリア等の定義であり、本発明におけるインクード情報に相当する。なお、レコード情報2のファイルは、HLL/WB上に取り込まれたHLL/WB用の形式のファイルであり、HLL/WB上でのコーディングは行わず、設計時に作成するコピー句のレイアウトファイルから別のツールを使用して取り込まれるものである。
In addition, HLL / WB is in the format for HLL / WB based on the execution operation of the “copy phrase generation” function by the administrator of
さらに、HLL/WBは、COBOLソース6の管理者がHLL/WB用の言語(主に日本語)で日本語IPO3をコーディングする作業を支援する処理を行うとともに、日本語IPO3のコーディング完了後に、COBOLソース6の管理者による「ソース生成」機能の実行操作に基づき、HLL/WB用の言語で記述された日本語IPO3のファイルから、COBOL言語で記述されたソースプログラムであるCOBOLソース6のファイルへの変換処理(図1のステップS3の処理)を行うものである。
Furthermore, the HLL / WB performs a process for supporting the work of coding the Japanese IPO3 in the language for the HLL / WB (mainly Japanese) by the administrator of the
また、プログラム開発ツール21には、ソースプログラム自体およびインクルード情報自体にこれらの生成時点を示す情報をそれぞれ埋め込む処理を行う生成時点埋込処理手段22が設けられている。この生成時点埋込処理手段22は、本実施形態では、日本語マクロ1、レコード情報2、および日本語IPO3から、マクロ4、コピー句5、およびCOBOLソース6をそれぞれ生成する処理を行う際に、マクロ4自体、コピー句5自体、およびCOBOLソース6自体に、それらの生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)をそれぞれ埋め込む処理を行う。この生成時点埋込処理手段22の機能は、例えば、システム10の管理者が、HLL/WB自体の持つ「マクロ生成」機能、「コピー句生成」機能、および「ソース生成」機能に、各生成日を埋め込む処理をそれぞれ追加するカスタマイズを行って得ることができる。
Further, the
開発管理システム30は、例えば、ホストコンピュータおよびこれと連携する一つまたは複数のサーバ等により構成され、開発対象のシステムを構成するプログラムの開発に関する各種の処理を行う処理手段31と、この処理手段31に接続された複数のバージョン管理データベース40(40A,40B,40C,40D)、共通作業領域41、個人用作業領域42、および複数のオブジェクト格納ライブラリ50(50A,50B,50C)とを備えている。
The
処理手段31は、コンパイル処理手段32と、バージョンチェック処理手段33と、リリース実行処理手段34とを含んで構成されている。
The
コンパイル処理手段32は、マクロ4、コピー句5、およびCOBOLソース6を用いてコンパイルを行ってオブジェクトモジュール7を生成する処理を行うものである。また、コンパイル処理手段32は、コンパイルの際に、モジュール7の生成に用いられるマクロ4、コピー句5、およびCOBOLソース6からこれらの生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)をそれぞれ抽出し、かつ、抽出したマクロ生成日およびそのマクロ4を識別するためのマクロID、抽出したコピー句生成日およびそのコピー句5を識別するためのコピー句ID、抽出したソース生成日およびそのCOBOLソース6を識別するためのソースID、並びにモジュール生成日と、生成されたモジュール7のモジュールIDとを対応させてバージョン管理データベース40(40A)に書き込む処理を行う。
The compile processing means 32 performs processing for generating an
なお、コンパイルの際に、モジュール7が、複数のマクロ4や複数のコピー句5を用いて生成された場合には、複数のマクロ4の全てについてのマクロ生成日およびマクロIDや、複数のコピー句5の全てについてのコピー句生成日およびコピー句IDが、生成されたモジュール7のモジュールIDと対応させてバージョン管理データベース40(40A)に書き込まれる。
When the
このようなコンパイル処理手段32の機能は、市販されているコンパイラに、生成日の抽出処理やバージョン管理データベース40(40A)への書込処理を行う機能を追加するカスタマイズを行って得ることができる。 Such a function of the compile processing means 32 can be obtained by customizing a commercially available compiler by adding a function for performing generation date extraction processing and writing processing to the version management database 40 (40A). .
バージョンチェック処理手段33は、バージョンチェック対象のオブジェクトモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報並びにそれらのID(マクロ生成日・マクロID、コピー句生成日・コピー句ID、およびソース生成日・ソースID)を、モジュールIDをキーとしてバージョン管理データベース40(40A,40B,40C,40D)から取得するとともに、オブジェクト格納ライブラリ50(50A,50B,50C)にリリースされて格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6(マクロIDが同じマクロ4、コピー句IDが同じコピー句5、およびソースIDが同じCOBOLソース6であって、各環境において最新の生成日を有するもの)から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出し、これらの生成時点を示す情報同士(マクロ生成日同士、コピー句生成日同士、およびソース生成日同士)を比較してそれらが一致しているか否かをチェックする処理を行うものである。
The version check processing means 33 includes information indicating the generation time of the
なお、バージョンチェック対象のモジュール7が、複数のマクロ4や複数のコピー句5を用いて生成されている場合には、複数のマクロ4の全てについてのマクロ生成日同士や、複数のコピー句5の全てについてのコピー句生成日同士の比較処理を行う。
When the
また、バージョンチェック処理手段33により行われるバージョンチェック処理には、下位の環境から上位の環境へのオブジェクトモジュール7のリリース時に行われる処理と、リリース後のオブジェクトモジュール7について夜間等に定期的に行われる処理とがある。前者のリリース時のチェック結果は、モジュール7の管理担当者によるリリース操作時および/またはリリース申請時に表示画面上にエラーメッセージとして出力され、後者の夜間等に定期的に行われるチェック結果は、警告リスト33A(図2参照)としてファイル出力されて開発管理システム30に保存され、それを各担当者が参照しにいく。
In addition, the version check processing performed by the version check processing means 33 includes processing performed at the time of releasing the
前者のリリース時のバージョンチェック処理では、下位の環境に置かれているリリース対象のモジュール7をバージョンチェック対象とし、このモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の各生成日並びにそれらの各IDを、モジュールIDをキーとしてバージョン管理データベース40から取得するとともに、上位の環境に設けられたオブジェクト格納ライブラリ50に先行してリリースされて格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出し、これらの各生成日同士を比較してそれらが一致しているか否かをチェックする処理を行う。
In the version check process at the time of release, the
一方、後者のリリース後のバージョンチェック処理では、既にリリースされてオブジェクト格納ライブラリ50に格納されているモジュール7をバージョンチェック対象とし、このモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の各生成日並びにそれらの各IDを、モジュールIDをキーとしてバージョン管理データベース40から取得するとともに、バージョンチェック対象とされたモジュール7と同一環境のオブジェクト格納ライブラリ50にリリースされて格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出し、これらの各生成日同士を比較してそれらが一致しているか否かをチェックする処理を行う。
On the other hand, in the latter version check process after the release, the
リリース実行処理手段34は、バージョンチェック処理手段33によるリリース時のバージョンチェック処理でエラーが出なかったリリース対象のオブジェクトモジュール7について、モジュール7の管理担当者のリリース申請に基づき、このモジュール7を上位の環境のオブジェクト格納ライブラリ50に移す(リリースする)とともに、下位の環境のバージョン管理データベース50に記憶されているこのモジュール7のバージョン管理情報(各生成日や各ID)を、上位の環境のバージョン管理データベース50に書き込む処理を行うものである。また、リリース実行処理手段34は、各開発担当者のリリース申請に基づき、マクロ4、コピー句5、およびCOBOLソース6を、モジュール7に先行させてリリースする処理も行う。
The release
バージョン管理データベース40は、生成されたオブジェクトモジュール7のバージョン管理情報として、そのモジュール7の生成に用いられたマクロ4のマクロ生成日およびマクロID、そのモジュール7の生成に用いられたコピー句5のコピー句生成日およびコピー句ID、そのモジュール7の生成に用いられたCOBOLソース6のソース生成日およびソースID、並びに生成されたモジュール7のモジュール生成日を、そのモジュール7のモジュールIDと対応させて記憶するものである。
The
バージョン管理データベース40には、コンパイル等のUT環境から上位の環境へのリリース準備作業を行う作業環境、ITa環境、ITb環境、およびST環境の各開発環境に設けられたバージョン管理データベース40A,40B,40C,40Dがある。
The
共通作業領域41は、コンパイル時にバインドされる対象となるマクロ4、コピー句5、およびCOBOLソース6を格納しておく領域である。
The
個人用作業領域42は、各開発担当者が各自の作業を行うための領域であり、リリース対象のマクロ4、コピー句5、COBOLソース6、およびモジュール7を格納しておく領域である。また、コンパイルして生成されたモジュール7は、この個人用作業領域42に出力される。
The
オブジェクト格納ライブラリ50は、リリースされたマクロ4、コピー句5、COBOLソース6、およびモジュール7を格納するものである。このオブジェクト格納ライブラリ50には、ITa環境、ITb環境、およびST環境の各開発環境に設けられたオブジェクト格納ライブラリ50A,50B,50Cがある。
The
本番システム60は、開発されたプログラムを実際に稼働させてユーザ(例えば、各開発担当部署とは異なる運営担当部署等)が運用するシステムであり、例えば、一台または複数台のコンピュータ等により構成され、システム運用に関する各種処理を行う処理手段61と、この処理手段61に接続されたバージョン管理データベース40(40E)およびオブジェクト格納ライブラリ50(50D)とを備えている。
The
処理手段61は、開発管理システム30の処理手段31に設けられたバージョンチェック処理手段33と同様な処理を行うバージョンチェック処理手段62を含んで構成されている。但し、バージョンチェック処理手段62は、夜間等に定期的に行うバージョンチェック処理は行うが、リリース時のバージョンチェック処理は行わない。
The
バージョン管理データベース40Eは、本番環境に設けられたバージョン管理データベース40であり、開発管理システム30の各開発環境に設けられたバージョン管理データベース40A〜40Dと同様な構成を有するものである。
The
オブジェクト格納ライブラリ50Dは、本番環境に設けられたオブジェクト格納ライブラリ50であり、開発管理システム30の各開発環境に設けられたオブジェクト格納ライブラリ50A〜50Cと同様な構成を有するものである。なお、本実施形態では、前述した各開発環境(ITa環境、ITb環境、ST環境)のオブジェクト格納ライブラリ50A,50B,50Cについては、マクロ4、コピー句5、COBOLソース6、およびモジュール7がそこにリリース(公開)されると、元々そこに格納されていた対応する(同じIDを有する)更新前のマクロ4、コピー句5、COBOLソース6、およびモジュール7は、上書き消去される管理を行っているが、本番環境のオブジェクト格納ライブラリ50Dについては、トラブルの際に緊急に元に戻すこともあるので、1世代だけ古いバージョンのものを管理し、公開している。但し、各開発環境でも、公開はされていないものの、バックアップが日々取られる管理を行っているので、実際には一定期間、古いバージョンのものが保存されていることになる。このような管理方法は、一例であり、これに限定されるものではない。
The
そして、以上において、個人用端末装置20のプログラム開発ツール21に含まれる生成時点埋込処理手段22、開発管理システム30の処理手段31に含まれるコンパイル処理手段32、バージョンチェック処理手段33、およびリリース実行処理手段34、本番システム60の処理手段61に含まれるバージョンチェック処理手段62は、個人用端末装置20、開発管理システム30、および本番システム60を構成する各コンピュータ本体(パーソナル・コンピュータ、ホストコンピュータ、サーバ等)の内部に設けられた中央演算処理装置(CPU)、およびこのCPUの動作手順を規定する一つまたは複数のプログラムにより実現される。
In the above, the generation point embedding processing means 22 included in the
また、開発管理システム30に設けられたバージョン管理データベース40A,40B,40C,40D、共通作業領域41、個人用作業領域42、およびオブジェクト格納ライブラリ50A,50B,50C、本番システム60に設けられたバージョン管理データベース40Eおよびオブジェクト格納ライブラリ50Dは、例えばハードディスク等により好適に実現されるが、記憶容量やアクセス速度等に問題が生じない範囲であれば、ROM、EEPROM、フラッシュ・メモリ、RAM、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、FD、磁気テープ、あるいはこれらの組合せ等を採用してもよい。
The
このような本実施形態においては、以下のようにしてオブジェクトバージョンチェックシステム10を用いて、オブジェクトモジュール7のバージョンチェック処理を行いながら、プログラムの開発が行われる。ここでは、主として図4を参照して処理の詳細内容を説明する。
In this embodiment, the program is developed while performing the version check process of the
先ず、図1で概略を説明したように、各開発担当者は、各自の個人用端末装置20を操作し、プログラム開発ツール21を使用して日本語マクロ1、レコード情報2、および日本語IPO3を作成または準備する。そして、プログラム開発ツール21を使用して「マクロ生成」、「コピー句生成」、および「ソース生成」の各機能の実行操作を行い、日本語マクロ1、レコード情報2、および日本語IPO3から、COBOL言語で記述されたマクロ4、コピー句5、およびCOBOLソース6をそれぞれ生成する(図1のステップS1,S2,S3)。このステップS1,S2,S3の処理の際に、生成時点埋込処理手段22により、マクロ4自体、コピー句5自体、およびCOBOLソース6自体に、それぞれの生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を埋め込んでおく。以上の作業は、UT環境で行われる。
First, as outlined in FIG. 1, each person in charge of development operates each
続いて、各開発担当者は、図4に示すように、生成したマクロ4、コピー句5、およびCOBOLソース6を、コンパイルに供される対象として共通作業領域41に移す(コピーする)とともに、リリースに備えて各自の個人用作業領域42にも移す(コピーする)。
Subsequently, each developer in charge moves (copies) the generated
そして、COBOLソース6の作成担当者(モジュール7の管理担当者)は、自分の作成したCOBOLソース6をコンパイルにかける。すると、コンパイル処理手段32により、必要なマクロ4やコピー句5が組み込まれてオブジェクトモジュール7が生成され、生成されたモジュール7が、その担当者の個人用作業領域42に出力される(図1および図4のステップS4)。この際、コンパイル処理手段32は、コンパイルに用いられるマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれたマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出し、かつ、抽出したマクロ生成日およびそのマクロ4のマクロID、抽出したコピー句生成日およびそのコピー句5のコピー句ID、抽出したソース生成日およびそのCOBOLソース6のソースID、並びにモジュール生成日を、生成されたモジュール7のモジュールIDと対応させて作業環境のバージョン管理データベース40Aに書き込む(図1および図4のステップS5)。
Then, the person in charge of creating the COBOL source 6 (the person in charge of managing the module 7) compiles the
また、各開発担当者は、図4に示すように、各自の担当するマクロ4、コピー句5、およびCOBOLソース6について、リリース操作を行ってリリース待機場所(不図示)に移し、リリース申請を行う。すると、例えば、その日の夜間に、リリース実行処理手段34により、リリース申請のあったマクロ4、コピー句5、およびCOBOLソース6がまとめて上位の環境であるITa環境のオブジェクト格納ライブラリ50Aに移されてリリースされる(図4のステップS601,S701,S801:図1のステップS6,S7,S8に相当)。これらのマクロ4、コピー句5、およびCOBOLソース6のリリース時には、モジュール7のリリース時のようなバージョンチェック処理は行われない。
Also, as shown in FIG. 4, each developer in charge performs a release operation on the
なお、これらのマクロ4、コピー句5、およびCOBOLソース6のリリースは、モジュール7のリリースに先行して行われる。また、これらのマクロ4、コピー句5、およびCOBOLソース6は、モジュール7に先行してリリースされればよいので、コンパイル(ステップS4)の前にリリースされてもよい。さらに、各開発担当者は、自分の担当するマクロ4、コピー句5、およびCOBOLソース6をいずれの環境までリリースさせるかを目的に応じて選択することができる。従って、ITa環境のオブジェクト格納ライブラリ50Aへのリリース(図4のステップS601,S701,S801)のみならず、ITb環境のオブジェクト格納ライブラリ50Bへのリリース(図4のステップS602,S702,S802)、ST環境のオブジェクト格納ライブラリ50Cへのリリース(図4のステップS603,S703,S803)、本番環境のオブジェクト格納ライブラリ50Dへのリリース(図4のステップS604,S704,S804)を行ってもよい。例えば、マクロ4の内容を更新した場合において、ST環境では、更新前のマクロ4を用いてコンパイルされたモジュール7を用いて既に全体的なテストが実施されているので、とりあえずその古いモジュール7を用いてテストを進めようというときには、マクロ4の管理担当者は、更新したマクロ4のリリースを、ST環境の下位のITb環境までに留めればよい。このようにした場合には、ST環境では、更新したマクロ4がリリースされていないので、更新前のマクロ4が、ST環境における最新のマクロ4となり、バージョンチェック処理手段33によりST環境において夜間に定期的に行われるバージョンチェック処理では、更新前のマクロ4を用いてコンパイルされた古いモジュール7と、更新前のマクロ4との間で、マクロ生成日同士の比較が行われることから、チェック結果にエラーは出ない。
The release of the
その後、モジュール7の管理担当者は、自分の個人用作業領域42に出力されたモジュール7についてリリース操作を行う。リリース操作が行われると、モジュール7はリリース待機場所(不図示)に移されるが、この際、バージョンチェック処理手段33によるバージョンチェック処理が自動的に行われる。すなわち、バージョンチェック処理手段33は、そのモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報並びにそれらのID(マクロ生成日・マクロID、コピー句生成日・コピー句ID、およびソース生成日・ソースID)を、そのモジュール7に付されているモジュールIDをキーとして、作業環境のバージョン管理データベース40Aから取得する。また、先行してリリースされてITa環境のオブジェクト格納ライブラリ50Aに格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、バージョンチェック処理手段33は、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(図4のステップS901:図1のステップS9に相当)。
Thereafter, the manager in charge of the
ここで、各生成日同士が一致し、チェック結果にエラーが無かった場合には、モジュール7の管理担当者は、ITa環境へのリリース申請を行う。なお、エラーが出た場合には、モジュール7がリリース待機場所(不図示)に移されないようにしてもよく、あるいはリリース待機場所に移されるものの、モジュール7の管理担当者がリリース申請を行わないように警告表示を出すか、またはリリース申請を行うことができないようにしてもよい。そして、モジュール7の管理担当者がリリース申請を行うと、例えば、その日の夜間に、リリース実行処理手段34により、リリース申請のあったモジュール7がまとめてリリース待機場所からITa環境にリリースされ、ITa環境のオブジェクト格納ライブラリ50Aに格納される(図4のステップS101:図1のステップS10に相当)。
Here, when the generation dates coincide with each other and there is no error in the check result, the manager in charge of the
また、リリース実行処理手段34は、モジュール7についてのITa環境へのリリース処理と併せ、そのモジュール7について作業環境のバージョン管理データベース40Aに記憶されているバージョン管理情報(モジュール生成日・モジュールID、マクロ生成日・マクロID、コピー句生成日・コピー句ID、およびソース生成日・ソースID)を、モジュール7がリリースされた上位の環境であるITa環境のバージョン管理データベース40Bに書き込む(図4のステップS11)。
Further, the release execution processing means 34, together with the release processing for the
次に、ITa環境でのテストが完了し、モジュール7を上位の環境であるITb環境にリリースさせる場合には、モジュール7の管理担当者は、そのモジュール7についてリリース操作を行い、モジュール7をリリース待機場所(不図示)へ移す。この際、バージョンチェック処理手段33によるバージョンチェック処理が自動的に行われる。すなわち、バージョンチェック処理手段33は、そのモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の各生成日並びにそれらのIDを、モジュールIDをキーとしてITa環境のバージョン管理データベース40Bから取得する。また、先行してリリースされてITb環境のオブジェクト格納ライブラリ50Bに格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、バージョンチェック処理手段33は、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(図4のステップS902:図1のステップS9に相当)。
Next, when the test in the ITa environment is completed and the
ここで、各生成日同士が一致し、チェック結果にエラーが無かった場合には、モジュール7の管理担当者は、ITb環境へのリリース申請を行う。すると、例えば、その日の夜間に、リリース実行処理手段34により、リリース申請のあったモジュール7がまとめてリリース待機場所からITb環境にリリースされ、ITb環境のオブジェクト格納ライブラリ50Bに格納される(図4のステップS102:図1のステップS10に相当)。
Here, when the generation dates coincide with each other and there is no error in the check result, the manager in charge of the
また、リリース実行処理手段34は、モジュール7についてのITb環境へのリリース処理と併せ、そのモジュール7についてITa環境のバージョン管理データベース40Bに記憶されているバージョン管理情報を、モジュール7がリリースされた上位の環境であるITb環境のバージョン管理データベース40Cに書き込む(図4のステップS12)。
Further, the release execution processing means 34 uses the version management information stored in the
同様にして、ITb環境でのテストが完了し、モジュール7を上位の環境であるST環境にリリースさせる場合には、モジュール7の管理担当者は、そのモジュール7についてリリース操作を行い、モジュール7をリリース待機場所(不図示)へ移す。この際、バージョンチェック処理手段33によるバージョンチェック処理が自動的に行われる。すなわち、バージョンチェック処理手段33は、そのモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の各生成日並びにそれらのIDを、モジュールIDをキーとしてITb環境のバージョン管理データベース40Cから取得する。また、先行してリリースされてST環境のオブジェクト格納ライブラリ50Cに格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、バージョンチェック処理手段33は、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(図4のステップS903:図1のステップS9に相当)。
Similarly, when the test in the ITb environment is completed and the
ここで、各生成日同士が一致し、チェック結果にエラーが無かった場合には、モジュール7の管理担当者は、ST環境へのリリース申請を行う。すると、例えば、その日の夜間に、リリース実行処理手段34により、リリース申請のあったモジュール7がまとめてリリース待機場所からST環境にリリースされ、ST環境のオブジェクト格納ライブラリ50Cに格納される(図4のステップS103:図1のステップS10に相当)。
Here, when the generation dates coincide with each other and there is no error in the check result, the manager in charge of the
また、リリース実行処理手段34は、モジュール7についてのST環境へのリリース処理と併せ、そのモジュール7についてITb環境のバージョン管理データベース40Cに記憶されているバージョン管理情報を、モジュール7がリリースされた上位の環境であるST環境のバージョン管理データベース40Dに書き込む(図4のステップS13)。
Further, the release execution processing means 34 uses the version management information stored in the
さらに、ST環境でのテストが完了し、モジュール7を本番環境にリリースさせる場合には、モジュール7の管理担当者は、そのモジュール7についてリリース操作を行い、モジュール7をリリース待機場所(不図示)へ移す。この際には、開発環境下でのリリースの場合とは異なり、バージョンチェック処理手段33によるバージョンチェック処理は行われない。
Further, when the test in the ST environment is completed and the
そして、モジュール7の管理担当者が、本番環境へのリリース申請を行うと、例えば、その日の夜間に、リリース実行処理手段34により、リリース申請のあったモジュール7がまとめてリリース待機場所から本番環境にリリースされ、本番環境のオブジェクト格納ライブラリ50Dに格納される(図4のステップS104)。
Then, when the person in charge of the
また、リリース実行処理手段34は、モジュール7についての本番環境へのリリース処理と併せ、そのモジュール7についてST環境のバージョン管理データベース40Dに記憶されているバージョン管理情報を、モジュール7がリリースされた本番環境のバージョン管理データベース40Eに書き込む(図4のステップS14)。
Further, the release execution processing means 34 uses the version management information stored in the
以上に述べたリリース時のバージョンチェック処理を含む各処理に加え、オブジェクトバージョンチェックシステム10では、バージョンチェック処理手段33,62により、ITa環境、ITb環境、およびST環境の各開発環境、並びに本番環境において、例えば、毎日、夜間の一定時刻に、前述した図2に記載された同一環境内におけるリリース後のモジュール7についてのバージョンチェック処理を行う。この処理の内容を、図4を参照して説明する。
In addition to the processes including the version check process at the time of release described above, the object
ITa環境においては、バージョンチェック処理手段33は、既にリリースされてITa環境のオブジェクト格納ライブラリ50Aに格納されているバージョンチェック対象のモジュール7の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の各生成日並びにそれらのIDを、モジュールIDをキーとしてITa環境のバージョン管理データベース40Bから取得する。また、バージョンチェック対象のモジュール7がリリースされている環境と同一環境であるITa環境のオブジェクト格納ライブラリ50Aに格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、バージョンチェック処理手段33は、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(図2のステップS21)。ここで、各生成日同士が一致せず、チェック結果がエラーになった場合には、その結果は警告リスト33Aに出力される(図2のステップS22)。
In the ITa environment, the version check processing means 33 uses the
同様にして、ITb環境においては、バージョンチェック処理手段33により、ITb環境のバージョン管理データベース40Cに記憶されたバージョン管理情報(マクロ生成日等)と、ITb環境のオブジェクト格納ライブラリ50Bに格納されているマクロ4等とを用いて、マクロ生成日同士の比較処理等が行われ、ST環境においては、バージョンチェック処理手段33により、ST環境のバージョン管理データベース40Dに記憶されたバージョン管理情報(マクロ生成日等)と、ST環境のオブジェクト格納ライブラリ50Cに格納されているマクロ4等とを用いて、マクロ生成日同士の比較処理等が行われ、本番環境においては、バージョンチェック処理手段62により、本番環境のバージョン管理データベース40Eに記憶されたバージョン管理情報(マクロ生成日等)と、本番環境のオブジェクト格納ライブラリ50Dに格納されているマクロ4等とを用いて、マクロ生成日同士の比較処理等が行われる。
Similarly, in the ITb environment, the version
また、以下には、オブジェクトモジュール7が、ある環境(例えば、ITa環境とする。)に既にリリースされている状況で、マクロ4の内容が更新された場合の処理手順の一例について説明する。コピー句5が更新された場合も同様である。
In the following, an example of a processing procedure when the contents of the
図4において、マクロ4の管理担当者は、マクロ4の内容を更新すると、その旨およびマクロ4のリリース予定日(例えば、2月1日とする。)を、各モジュール7の管理担当者に通知し、更新したマクロ4を、コンパイルに供するために共通作業領域41に格納するとともに、リリース準備のため個人用作業領域42にも格納する。各モジュール7の管理担当者は、マクロ更新の通知を受けると、コンパイル処理手段32により、更新されたマクロ4を用いてコンパイルを行い、新しいモジュール7を生成し、これを個人用作業領域42に格納してリリース準備をする。この際、生成された新しいモジュール7のバージョン管理情報として、コンパイルに用いられたマクロ4のマクロ生成日等がバージョン管理データベース40Aに書き込まれる。
In FIG. 4, the manager in charge of the
続いて、マクロ4の管理担当者が、更新したマクロ4について、リリース操作を行うと、マクロ4は個人用作業領域42からリリース待機場所(不図示)に移される。そして、マクロ4の管理担当者が、リリース申請を行うと、リリース実行処理手段34により、その日(2月1日)の夜間にマクロ4がリリース待機場所からITa環境のオブジェクト格納ライブラリ50Aにリリースされる。
Subsequently, when the person in charge of the
その後、バージョンチェック処理手段33により、ITa環境内における夜間(2月1日)のバージョンチェック処理が行われると、この時点では、ITa環境のオブジェクト格納ライブラリ50Aにリリースされているモジュール7は、まだ更新前のマクロ4を用いてコンパイルされた古いものなので、チェック結果として、一旦、エラー(エラーを示すチェック処理結果)が出る。
Thereafter, when the version
それから、例えば翌日(2月2日)に、モジュール7の管理担当者が、更新されたマクロ4を用いてコンパイルし直したモジュール7について、リリース操作を行うと、このモジュール7は個人用作業領域42からリリース待機場所(不図示)に移されるが、この際、バージョンチェック処理手段33により、リリース時のバージョンチェック処理が行われる。このバージョンチェック処理では、更新されたマクロ4を用いてコンパイルし直したモジュール7についてのバージョン管理情報としてバージョン管理データベース40Aに記憶されているマクロ生成日と、2月1日に先行リリースされてITa環境のオブジェクト格納ライブラリ50Aに格納されているマクロ4のマクロ生成日とが比較されるので、チェック結果でエラー(エラーを示すチェック処理結果)は出ない。
Then, for example, on the next day (February 2), when the person in charge of the
そして、モジュール7の管理担当者が、リリース申請を行うと、リリース実行処理手段34により、その日(2月2日)の夜間にモジュール7がリリース待機場所からITa環境のオブジェクト格納ライブラリ50Aにリリースされるとともに、バージョン管理データベース40Aに記憶されているバージョン管理情報(マクロ生成日等)が、ITa環境のバージョン管理データベース40Bに書き込まれる。
Then, when the person in charge of the
その後、バージョンチェック処理手段33により、ITa環境内における夜間(2月2日)のバージョンチェック処理が行われると、この時点では、ITa環境のオブジェクト格納ライブラリ50Aにリリースされているモジュール7は、更新されたマクロ4を用いてコンパイルされた新しいものなので、そのモジュール7については、チェック結果にエラーは出ない。
After that, when the version
このようにして各環境(ここでは、ITa環境)でのテストに必要な全てのモジュール7について再度のコンパイル処理が行われ、チェック結果にエラーが出なくなると、その環境内でのモジュール7間の不整合は無くなり、その環境内でのテストを正常に行うことができる。
In this way, when all the
このような本実施形態によれば、次のような効果がある。すなわち、オブジェクトバージョンチェックシステム10は、生成時点埋込処理手段22を備えているので、マクロ4やコピー句5の生成時にそれら自体にそれらの各生成日を埋め込むことができ、また、コンパイル処理手段32およびバージョン管理データベース40を備えているので、コンパイル時にモジュール7の生成に用いられたマクロ4やコピー句5の各生成日をバージョン管理データベース40に書き込んでおくことができる。さらに、システム10は、バージョンチェック処理手段33,62を備えているので、バージョンチェック対象のモジュール7の生成に用いられたマクロ4やコピー句5の各生成日をバージョン管理データベース40から取得するとともに、対応する最新のマクロ4やコピー句5からそれらに埋め込まれている各生成日を抽出し、これらの各生成日同士を比較してそれらが一致しているか否かをチェックすることができる。このため、マクロ4やコピー句5の内容の更新に伴って生じる各モジュール7間の不整合を防止することができる。
According to this embodiment, there are the following effects. That is, since the object
また、システム10は、バージョンチェック処理手段33,62を備えているので、モジュール7のバージョンチェックを自動的に行うことができる。このため、従来のような黙視によるマクロ4やコピー句5の更新日の確認作業や監視作業を行う場合に比べ、作業時間を短縮できるうえ、モジュール7の管理担当者の作業負担を軽減することができる。
Further, since the
そして、バージョンチェック処理手段33は、モジュール7のリリース時にバージョンチェックを行うので、更新前のマクロ4やコピー句5を用いてコンパイルされたモジュール7がリリースされるという事態を未然に防止することができる。
Since the version
また、バージョンチェック処理手段33,62は、例えば夜間の一定時刻等に、定期的に、リリース後のモジュール7についてバージョンチェックを行うので、更新前のマクロ4やコピー句5を用いてコンパイルされてリリースされているモジュール7が再度のコンパイルを行われことなく放置されるという事態を回避することができ、また、警告リスト33A等を出力して再度のコンパイルをモジュール7の管理担当者に促したり、他のモジュール7の管理担当者や開発システムのテスト実施者に不整合があることを告知する等の処理を行うことができる。
Also, since the version check processing means 33 and 62 periodically check the version of the
さらに、システム10は、リリース実行処理手段34を備えているので、チェック処理の結果が正常であったモジュール7のリリース処理およびそのモジュール7のバージョン管理情報(マクロ生成日等)の上位の環境のバージョン管理データベース40への書込処理を行うことができる。このため、バージョンチェック処理手段33によるリリース時のバージョンチェック処理と、リリース後の定期的なバージョンチェック処理とを連携させることができ、システム開発に伴う一連の処理を円滑に行うことができるうえ、作業担当者の負担軽減を図ることができる。
Further, since the
そして、バージョンチェック処理手段33,62は、マクロ4やコピー句5に加え、COBOLソース6の生成日同士も比較するバージョンチェック処理を行うので、COBOLソース6の内容を更新したにもかかわらず、それがモジュール7に反映されないという事態を回避でき、また、そのような事態から生じる各モジュール7間の不整合を防止することができる。
The version check processing means 33 and 62 perform version check processing for comparing the generation dates of the
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲内での変形等は本発明に含まれるものである。 Note that the present invention is not limited to the above-described embodiment, and modifications and the like within a scope where the object of the present invention can be achieved are included in the present invention.
すなわち、前記実施形態では、システム10は、マクロ4、コピー句5、およびCOBOLソース6を用いてオブジェクトモジュール7が生成される構成とされていたが、本発明の適用対象言語は、COBOL言語に限定されず、例えば、C言語等であってもよく、要するに、インクルード情報を用いてコンパイルが行われてオブジェクトモジュールが生成されるプログラムの開発に適用することができる。
That is, in the above embodiment, the
また、前記実施形態では、バージョン管理データベース40にマクロ生成日やコピー句生成日等のバージョン管理情報を書き込む構成(バージョン管理データベース利用型の発明)とされていたが、図5および図6に示すオブジェクトバージョンチェックシステム200のように、オブジェクトモジュール8自体にバージョン管理情報を埋め込む構成(オブジェクトモジュール埋込型の発明)としてもよい。
In the embodiment, the
図5には、オブジェクトバージョンチェックシステム200を用いて行われるプログラム開発時の作業の流れ、およびオブジェクトモジュール8のリリース時のバージョンチェック処理を含む各種処理の概要が示され、図6には、システム200により夜間等に定期的に行われるバージョンチェック処理の概要が示されている。
FIG. 5 shows an outline of various processes including a work flow at the time of program development performed using the object
このシステム200と前記実施形態のシステム10との相違点は、前記実施形態のシステム10がバージョン管理データベース40を備えていたのに対し、システム200はバージョン管理データベースを備えていない点、前記実施形態のシステム10でコンパイルして生成されるオブジェクトモジュール7には、そのモジュール7のバージョン管理情報が埋め込まれていなかったのに対し、システム200でコンパイルして生成されるオブジェクトモジュール8には、バージョン管理情報が埋め込まれている点、および前記実施形態のシステム10のバージョンチェック処理手段33,62は、バージョンチェック対象のモジュール7のバージョン管理情報をバージョン管理データベース40から取得していたのに対し、システム200のバージョンチェック処理手段233,262は、モジュール8自体から取得する点である。以下に、システム200により行われる処理の概要について、図5および図6を参照して説明する。
The difference between the
図5において、プログラム開発ツールで作成または準備した日本語マクロ1、レコード情報2、および日本語IPO3から、COBOL言語で記述されたマクロ4、コピー句5、およびCOBOLソース6をそれぞれ生成する際に、マクロ4自体、コピー句5自体、およびCOBOLソース6自体に、それぞれの生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を埋め込んでおく(ステップS201,S202,S203)。この処理は、前記実施形態のステップS1,S2,S3の処理と同様である。
In FIG. 5, when the
そして、マクロ4、コピー句5、およびCOBOLソース6を用いてコンパイルを行う際に(ステップS204)、マクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれたマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出し、抽出したマクロ生成日、コピー句生成日、およびソース生成日、並びにコンパイルして生成されたオブジェクトモジュール8の生成時点を示す情報(モジュール生成日)を、生成されたモジュール8自体に、そのモジュール8のバージョン管理情報として埋め込む。従って、前記実施形態のシステム10のコンパイル処理手段32は、バージョン管理情報をバージョン管理データベース40へ書き込む処理を行っていたが(図1のステップS5)、システム200のコンパイル処理手段は、モジュール8自体への埋込処理を行うため、バージョン管理データベース40への書込処理は行わない。
When compiling using the
また、モジュール8のリリースに先行させて、マクロ4、コピー句5、およびCOBOLソース6をリリースし、オブジェクト格納ライブラリ250に格納しておく(ステップS205,S206,S207)。この処理は、前記実施形態のステップS6,S7,S8の処理と同様である。
Prior to the release of the
続いて、モジュール8をリリースする際に、開発管理システムに設けられたバージョンチェック処理手段233により、そのモジュール8の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を、そのモジュール8から抽出する。また、先行してリリースされてオブジェクト格納ライブラリ250に格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(ステップS208)。ここで、各生成日同士が一致し、チェック結果が正常と出た場合には、モジュール8がリリースされ、オブジェクト格納ライブラリ250に格納される(ステップS209)。一方、各生成日同士が一致せず、チェック結果がエラーになった場合には、モジュール8はリリースされない。
Subsequently, when the
図6において、モジュール8のリリース後には、開発管理システムに設けられたバージョンチェック処理手段233、および本番システムに設けられたバージョンチェック処理手段262により、例えば、毎日、夜間の一定時刻に、既にリリースされてオブジェクト格納ライブラリ250に格納されているバージョンチェック対象のモジュール8の生成に用いられたマクロ4、コピー句5、およびCOBOLソース6の生成時点を示す情報(マクロ生成日、コピー句生成日、およびソース生成日)を、そのモジュール8から抽出する。また、バージョンチェック対象のモジュール8と同一環境のオブジェクト格納ライブラリ250に格納されている対応する最新のマクロ4、コピー句5、およびCOBOLソース6から、これらに埋め込まれているマクロ生成日、コピー句生成日、およびソース生成日をそれぞれ抽出する。そして、これらのマクロ生成日同士、コピー句生成日同士、およびソース生成日同士をそれぞれ比較し、それらが一致しているか否かをチェックすることにより、バージョンチェック処理を行う(ステップS221)。ここで、各生成日同士が一致せず、チェック結果がエラーになった場合には、その結果は警告リスト233Aに出力される(ステップS222)。
In FIG. 6, after the release of the
以上のように、本発明のオブジェクトバージョンチェックシステムおよびその方法、並びにプログラムは、例えば、COBOL言語で記述されたソースプログラムおよびマクロやコピー句を用いてコンパイルを行って生成されるプログラムのバージョンチェックを行う場合等に用いるのに適している。 As described above, the object version check system and the method and the program according to the present invention can check the version of a program generated by compiling using, for example, a source program described in the COBOL language and a macro or copy phrase. It is suitable for use when performing.
4 インクルード情報であるマクロ
5 インクルード情報であるコピー句
6 ソースプログラムであるCOBOLソース
7,8 オブジェクトモジュール
10,200 オブジェクトバージョンチェックシステム
22 生成時点埋込処理手段
32 コンパイル処理手段
33,62,233,262 バージョンチェック処理手段
34 リリース実行処理手段
40(40A,40B,40C,40D,40E) バージョン管理データベース
4 Macro that is include
Claims (10)
前記インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、
前記オブジェクトモジュールのバージョン管理情報として、前記オブジェクトモジュールを識別するためのモジュール識別情報とこのオブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報とを対応させて記憶するバージョン管理データベースと、
前記ソースプログラムおよび前記インクルード情報を用いて前記コンパイルを行って前記オブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出した前記インクルード情報の生成時点を示す情報とこのインクルード情報を用いて生成された前記オブジェクトモジュールの前記モジュール識別情報とを対応させて前記バージョン管理データベースに書き込む処理を行うコンパイル処理手段と、
段階的なプログラム開発を行うために設けられた下位の環境のオブジェクト格納ライブラリまたは個人用作業領域からこれよりも進んだ開発段階で用いられる上位の環境のオブジェクト格納ライブラリへ前記オブジェクトモジュールを移して記憶させるリリースの際に、前記下位の環境のオブジェクト格納ライブラリまたは個人用作業領域に記憶されている前記リリースの対象の前記オブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報を前記モジュール識別情報に基づき前記バージョン管理データベースから取得するとともに、先行して前記上位の環境のオブジェクト格納ライブラリに移されて記憶されている対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段と
を備えたことを特徴とするオブジェクトバージョンチェックシステム。 An object version check system for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program,
Generation time embedding processing means for performing a process of embedding information indicating the generation time of the include information in the include information itself when generating the include information;
A version management database that stores module identification information for identifying the object module in association with information indicating the generation time of the include information used for generating the object module, as the version management information of the object module; ,
Performing the compilation using the source program and the include information to generate the object module, extracting information indicating the generation time of the include information from the include information used for generating the object module; and Compile processing means for performing processing of writing the information indicating the generation time of the extracted include information and the module identification information of the object module generated using the include information in association with each other, and writing to the version management database;
Transfer and store the object module from a lower-level environment object storage library or personal work area provided for performing step-by-step program development to a higher-level environment object storage library used in a more advanced development stage. The release target object module stored in the lower-level environment object storage library or personal work area is subject to version check, and the include information used to generate the object module together with the information indicating the generation time of obtaining from the version management database based on the module identification information, date of the corresponding preceding to be transferred to the object storage library of the host environment stored Include Version check processing means for extracting information indicating the generation time of this include information from the information and comparing the information indicating the generation time to check whether or not they match. An object version check system characterized by
前記バージョンチェック処理手段は、
前記リリースの際のバージョンチェック処理では、前記リリースの対象の前記オブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報を、前記下位の環境の前記バージョン管理データベースから取得し、
前記リリースが行われた後に定期的に行うバージョンチェック処理では、前記リリースが行われた後の前記オブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報を、前記リリース実行処理手段による書込処理が行われた後の前記上位の環境の前記バージョン管理データベースから取得する構成とされている
ことを特徴とする請求項2に記載のオブジェクトバージョンチェックシステム。 For the version check process the included information the release of the target the object module that they compare the pieces of information indicating the generation time point out the check result that is consistent with version check process during the release by means , along with transferring the object module in the object storage library of the host environment, the versioning database the versioning information for this object module stored in the version management database of the subordinate environment, the higher the environment Release execution processing means for performing processing to write to
The version check processing means includes:
The version check process during the release, the information indicating the generation time of the included information used to generate the subject the object module of the release, obtained from the version management database of the subordinate environment,
Version check process regularly carried out after the release has been performed, information indicating the generation time of the included information used to generate the object module after the release has taken place, by the release execution processing unit The object version check system according to claim 2 , wherein the object version check system is configured to acquire from the version management database of the upper environment after the writing process is performed.
前記バージョン管理データベースは、前記インクルード情報の生成時点を示す情報に加え、前記ソースプログラムの生成時点を示す情報についても、前記モジュール識別情報と対応させて記憶する構成とされ、
前記コンパイル処理手段は、前記オブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、前記オブジェクトモジュールの生成に用いられる前記ソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行う構成とされ、かつ、抽出した前記インクルード情報の生成時点を示す情報および前記ソースプログラムの生成時点を示す情報とこれらのインクルード情報およびソースプログラムを用いて生成された前記オブジェクトモジュールの前記モジュール識別情報とを対応させて前記バージョン管理データベースに書き込む処理を行う構成とされ、
前記バージョンチェック処理手段は、前記バージョンチェック対象の前記オブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報に加え、このオブジェクトモジュールの生成に用いられた前記ソースプログラムの生成時点を示す情報についても、前記バージョン管理データベースから取得する処理を行うとともに、対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、対応する最新の前記ソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行い、前記インクルード情報の生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理に加え、前記ソースプログラムの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされている
ことを特徴とする請求項1〜3のいずれかに記載のオブジェクトバージョンチェックシステム。 The generation time embedding processing means performs processing for embedding information indicating the generation time of the source program in the source program itself, in addition to processing for embedding information indicating the generation time of the include information in the include information itself. And
The version management database is configured to store, in addition to information indicating the generation time of the include information, information indicating the generation time of the source program in association with the module identification information,
The compile processing means, in addition to the process of extracting information indicating the generation time of the include information from the include information used for generating the object module, in addition to the process of extracting the source program from the source program used for generating the object module. A process for extracting information indicating the generation time is also performed, and the information indicating the generation time of the extracted include information and the information indicating the generation time of the source program are generated using the include information and the source program. And a process for writing to the version management database in association with the module identification information of the object module,
The version check processing means indicates the generation time of the source program used to generate the object module in addition to information indicating the generation time of the include information used to generate the object module to be the version check target. In addition to processing for obtaining information from the version management database and extracting information indicating the generation time of the include information from the latest corresponding include information, the information is also obtained from the latest corresponding source program. In addition to the process of extracting information indicating the generation time of the program, comparing the information indicating the generation time of the include information and checking whether or not they match, the generation time of the source program is Compare the information shown Object version checking system according to any one of claims 1 to 3, characterized in that they are configured to performs a process of checking whether they match with.
前記インクルード情報を生成する際に、このインクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行う生成時点埋込処理手段と、
前記ソースプログラムおよび前記インクルード情報を用いて前記コンパイルを行って前記オブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出した前記インクルード情報の生成時点を示す情報を、生成する前記オブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行うコンパイル処理手段と、
段階的なプログラム開発を行うために設けられた下位の環境のオブジェクト格納ライブラリまたは個人用作業領域からこれよりも進んだ開発段階で用いられる上位の環境のオブジェクト格納ライブラリへ前記オブジェクトモジュールを移して記憶させるリリースの際に、前記下位の環境のオブジェクト格納ライブラリまたは個人用作業領域に記憶されている前記リリースの対象の前記オブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれている前記インクルード情報の生成時点を示す情報を抽出するとともに、先行して前記上位の環境のオブジェクト格納ライブラリに移されて記憶されている対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行うバージョンチェック処理手段と
を備えたことを特徴とするオブジェクトバージョンチェックシステム。 An object version check system for checking the version of an object module generated by compiling using a source program and include information incorporated as a component of the program,
Generation time embedding processing means for performing a process of embedding information indicating the generation time of the include information in the include information itself when generating the include information;
Performing the compilation using the source program and the include information to generate the object module, extracting information indicating the generation time of the include information from the include information used for generating the object module; and Compile processing means for performing processing for embedding information indicating the generation time of the extracted include information as version management information in the object module itself to be generated;
Transfer and store the object module from a lower-level environment object storage library or personal work area provided for performing step-by-step program development to a higher-level environment object storage library used in a more advanced development stage. At the time of release, the object module of the release target stored in the object storage library of the lower environment or the personal work area is subjected to version check, and the object module is embedded in the object module. extracts the information indicating the generation time of the included information, raw preceding to this include information from the latest of the included information corresponding stored is transferred to the object storage library of the host environment Object version check characterized by comprising version check processing means for extracting information indicating time points and comparing the information indicating the generation time points to check whether they match. system.
前記コンパイル処理手段は、前記オブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、前記オブジェクトモジュールの生成に用いられる前記ソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行う構成とされ、かつ、抽出した前記インクルード情報の生成時点を示す情報および前記ソースプログラムの生成時点を示す情報を、生成する前記オブジェクトモジュール自体に前記バージョン管理情報として埋め込む処理を行う構成とされ、
前記バージョンチェック処理手段は、前記バージョンチェック対象の前記オブジェクトモジュールからこのオブジェクトモジュールに埋め込まれている前記インクルード情報の生成時点を示す情報に加え、前記ソースプログラムの生成時点を示す情報についても抽出する処理を行うとともに、対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出する処理に加え、対応する最新の前記ソースプログラムからこのソースプログラムの生成時点を示す情報を抽出する処理も行い、前記インクルード情報の生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理に加え、前記ソースプログラムの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理も行う構成とされている
ことを特徴とする請求項5または6に記載のオブジェクトバージョンチェックシステム。 The generation time embedding processing means performs processing for embedding information indicating the generation time of the source program in the source program itself, in addition to processing for embedding information indicating the generation time of the include information in the include information itself. And
The compile processing means, in addition to the process of extracting information indicating the generation time of the include information from the include information used for generating the object module, in addition to the process of extracting the source program from the source program used for generating the object module. The process is also performed to extract the information indicating the generation time, and the version management includes the information indicating the generation time of the extracted include information and the information indicating the generation time of the source program in the object module itself to be generated. It is configured to embed as information,
The version check processing means is a process for extracting information indicating the generation time of the source program in addition to the information indicating the generation time of the include information embedded in the object module from the object module of the version check target In addition to the process of extracting the information indicating the generation time of the include information from the latest corresponding include information, the process of extracting the information indicating the generation time of the source program from the corresponding latest source program In addition to the process of comparing the information indicating the generation time of the include information to check whether they match, and comparing the information indicating the generation time of the source program Process to check whether or not Object version checking system according to claim 5 or 6, characterized in that it is configured to perform.
前記インクルード情報を生成する際に、生成時点埋込処理手段が、前記インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行い、
コンパイル処理手段が、前記ソースプログラムおよび前記インクルード情報を用いて前記コンパイルを行って前記オブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出した前記インクルード情報の生成時点を示す情報とこのインクルード情報を用いて生成された前記オブジェクトモジュールを識別するためのモジュール識別情報とを対応させてバージョン管理データベースにバージョン管理情報として書き込む処理を行い、
バージョンチェック処理手段が、段階的なプログラム開発を行うために設けられた下位の環境のオブジェクト格納ライブラリまたは個人用作業領域からこれよりも進んだ開発段階で用いられる上位の環境のオブジェクト格納ライブラリへ前記オブジェクトモジュールを移して記憶させるリリースの際に、前記下位の環境のオブジェクト格納ライブラリまたは個人用作業領域に記憶されている前記リリースの対象の前記オブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールの生成に用いられた前記インクルード情報の生成時点を示す情報を、前記モジュール識別情報に基づき前記バージョン管理データベースから取得するとともに、先行して前記上位の環境のオブジェクト格納ライブラリに移されて記憶されている対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行う
ことを特徴とするオブジェクトバージョンチェック方法。 An object version check method for checking a version of an object module generated by compiling using a source program and include information incorporated as a component of a program,
When generating the include information, the generation time embedding processing means performs a process of embedding information indicating the generation time of the include information in the include information itself,
Compile processing means performs the compilation using the source program and the include information to generate the object module, and information indicating the generation time of the include information from the include information used for generating the object module. Information indicating the generation time of the extracted include information is associated with module identification information for identifying the object module generated using the include information as version management information in the version management database. Write process,
The version check processing means converts the object storage library of the lower environment provided for performing stepwise program development or the object storage library of the higher environment used in the development stage further advanced from the personal work area. When releasing an object module to be transferred and stored, the object module of the release target stored in the object storage library of the lower environment or the personal work area is subjected to version check, and this object module is generated. the information indicating the generation time of the included information used, the obtains from the version management database based on the module identification information, is preceded and stored are transferred to the environment object store libraries of the upper Corresponding extracts information indicating the generation time of this include information from the latest of the included information that, to carry out processing them by comparing the pieces of information indicating these products when it is checked whether the match Feature object version check method.
前記インクルード情報を生成する際に、生成時点埋込処理手段が、前記インクルード情報自体にこのインクルード情報の生成時点を示す情報を埋め込む処理を行い、
コンパイル処理手段が、前記ソースプログラムおよび前記インクルード情報を用いて前記コンパイルを行って前記オブジェクトモジュールを生成するとともに、このオブジェクトモジュールの生成に用いられる前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、かつ、抽出した前記インクルード情報の生成時点を示す情報を、生成する前記オブジェクトモジュール自体にバージョン管理情報として埋め込む処理を行い、
バージョンチェック処理手段が、段階的なプログラム開発を行うために設けられた下位の環境のオブジェクト格納ライブラリまたは個人用作業領域からこれよりも進んだ開発段階で用いられる上位の環境のオブジェクト格納ライブラリへ前記オブジェクトモジュールを移して記憶させるリリースの際に、前記下位の環境のオブジェクト格納ライブラリまたは個人用作業領域に記憶されている前記リリースの対象の前記オブジェクトモジュールをバージョンチェック対象とし、このオブジェクトモジュールからこのオブジェクトモジュールに埋め込まれている前記インクルード情報の生成時点を示す情報を抽出するとともに、先行して前記上位の環境のオブジェクト格納ライブラリに移されて記憶されている対応する最新の前記インクルード情報からこのインクルード情報の生成時点を示す情報を抽出し、これらの生成時点を示す情報同士を比較してそれらが一致しているか否かをチェックする処理を行う
ことを特徴とするオブジェクトバージョンチェック方法。 An object version check method for checking a version of an object module generated by compiling using a source program and include information incorporated as a component of a program,
When generating the include information, the generation time embedding processing means performs a process of embedding information indicating the generation time of the include information in the include information itself,
Compile processing means performs the compilation using the source program and the include information to generate the object module, and information indicating the generation time of the include information from the include information used for generating the object module. Performing extraction and embedding information indicating the generation time of the extracted include information as version management information in the object module itself to be generated;
The version check processing means converts the object storage library of the lower environment provided for performing stepwise program development or the object storage library of the higher environment used in the development stage further advanced from the personal work area. When releasing an object module to be transferred and stored, the object module of the release target stored in the object storage library of the lower environment or the personal work area is set as a version check target, and the object module is deleted from the object module. extracts the information indicating the generation time of the included information embedded in the module, the latest of the included information corresponding prior to being transferred to the object storage library of the host environment is stored From extracts information indicating the generation time of this include information, object version checking method, which comprises carrying out the process to which they compare information together exhibiting these production time to check whether they match.
A program for causing a computer to function as the object version check system according to claim 1 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004048765A JP3913742B2 (en) | 2004-02-24 | 2004-02-24 | Object version check system and method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004048765A JP3913742B2 (en) | 2004-02-24 | 2004-02-24 | Object version check system and method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005242492A JP2005242492A (en) | 2005-09-08 |
JP3913742B2 true JP3913742B2 (en) | 2007-05-09 |
Family
ID=35024198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004048765A Expired - Fee Related JP3913742B2 (en) | 2004-02-24 | 2004-02-24 | Object version check system and method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3913742B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5902971B2 (en) * | 2012-03-14 | 2016-04-13 | 中国電力株式会社 | Copy phrase management apparatus and copy phrase management method |
JP6401657B2 (en) * | 2015-04-28 | 2018-10-10 | 株式会社日立製作所 | Process control system, maintenance support device and controller |
-
2004
- 2004-02-24 JP JP2004048765A patent/JP3913742B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005242492A (en) | 2005-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6161218A (en) | Software patch architecture | |
KR100702424B1 (en) | Integrated management system and method for distributing software | |
US8677348B1 (en) | Method and apparatus for determining least risk install order of software patches | |
CN111352651A (en) | Code branch management method and device | |
US8201148B2 (en) | Guided development and testing for computer code | |
JPH076026A (en) | Method for guarantee of interchangeablity of configuration management and component and method for exclusion of non- interchangeability of resident software and migration software | |
US9971595B1 (en) | Techniques for automated database deployment | |
US20080196008A1 (en) | Method of Operating a Computing Device | |
CN108776643B (en) | Target code merging control method and system based on version control process | |
CN102216905A (en) | Application restore points | |
De Jong et al. | Zero-downtime SQL database schema evolution for continuous deployment | |
JP3913742B2 (en) | Object version check system and method, and program | |
CN115904933A (en) | Code warehouse management method and device, electronic equipment and storage medium | |
US9946534B1 (en) | Techniques for automated database deployment | |
JP2019040400A (en) | Installation control program, installation control method, and information processing device | |
JP4769826B2 (en) | Level down detection program, level down detection method, and management program | |
CN117453189B (en) | Method, system, equipment and medium for layered development of application | |
Glen et al. | Next-Generation Sequencing Informatic Architecture Considerations | |
JP5428050B2 (en) | Computer system and module execution method | |
WO2012066635A1 (en) | Test method, test device, and test execution program | |
JP2003296108A (en) | Management program and method therefor | |
JP4413810B2 (en) | Product configuration management program, product configuration management method, and product configuration management apparatus | |
US8316444B2 (en) | Third-party software product certification | |
JP2015170079A (en) | Program management apparatus and method, and program for controlling program management apparatus | |
CN115309626A (en) | Test method, component updating method and processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3913742 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100209 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100209 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110209 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120209 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130209 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |