Nothing Special   »   [go: up one dir, main page]

JP2009098963A - Automatic module generation system - Google Patents

Automatic module generation system Download PDF

Info

Publication number
JP2009098963A
JP2009098963A JP2007270418A JP2007270418A JP2009098963A JP 2009098963 A JP2009098963 A JP 2009098963A JP 2007270418 A JP2007270418 A JP 2007270418A JP 2007270418 A JP2007270418 A JP 2007270418A JP 2009098963 A JP2009098963 A JP 2009098963A
Authority
JP
Japan
Prior art keywords
option
execution module
program
source code
platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007270418A
Other languages
Japanese (ja)
Inventor
Masaaki Arimoto
雅昭 有本
Atsufumi Fujita
淳文 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007270418A priority Critical patent/JP2009098963A/en
Publication of JP2009098963A publication Critical patent/JP2009098963A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an automatic module generation system which integrates execution module generation methods in the kinds of programs and different computer platforms and can generate an execution module common to the programs and computer platforms. <P>SOLUTION: A common execution module generation tool 2 is composed of: a program kind determination means 21 for determining the kind of the program, based on a source code 4; an option list table reading means 22 for reading an option list table 61 stored with options for each kind of the programs from a storage device 6; and a means for designating a compile option 7 used when compiling the source code 4 in accordance with the kind of the program, and the link option 9 of the compiled program, based on the option list table 61. The tool is used in common in the whole source codes on one computer platform. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、1つまたは複数の計算機プラットホーム(OSバージョン)で、ソースコードからそれらの計算機プラットホーム(OSバージョン)に対応した実行モジュール(オブジェクトコード)を自動生成するモジュール自動生成システムに関するものである。   The present invention relates to an automatic module generation system that automatically generates an execution module (object code) corresponding to a computer platform (OS version) from source code on one or a plurality of computer platforms (OS version).

昨今の計算機プラットホーム(ハードウェア、OS)技術の進歩は著しく、短期間でバージョンアップが行われる。このため、ある時期に1つの計算機プラットホーム(OSバージョン)上で開発したソフトウェア(ソースコード)は、当該プラットホームだけでなく、その後継プラットホーム(次バージョンのOS)上にも移植する場合が多くなっている。また、OSとのI/F(インターフェイス)仕様は標準化が進んでいるため、プラットホーム間でのソースコードの互換性は極めて高くなっている。
このような状況において、従来は、ソースコードを各プラットホーム(OS)用に個別に整備し、ぞれぞれのプラットホーム毎に個別に対応した手順・設定で実行モジュール(オブジェクトコード)を生成していた。
また、複数の計算機から構成される計算機システムでは、システム内で1台の実行モジュール生成計算機を設置し、この計算機で生成した実行モジュールを他の全計算機に配信(コピー)することが一般的である。
特許文献1には、プロセッサ構成に依存しないオブジェクトコードを自動生成するものが記載されている。
Recent advances in computer platform (hardware, OS) technology are remarkable, and version upgrades are performed in a short period of time. For this reason, software (source code) developed on one computer platform (OS version) at a certain time is often ported not only to the platform but also to the successor platform (next version OS). Yes. In addition, since the standardization of the I / F (interface) specification with the OS is progressing, the compatibility of the source code between the platforms is extremely high.
In such a situation, conventionally, source code is individually prepared for each platform (OS), and an execution module (object code) is generated with a procedure and setting individually corresponding to each platform. It was.
In a computer system composed of a plurality of computers, it is common to install one execution module generation computer in the system and distribute (copy) the execution module generated by this computer to all other computers. is there.
Japanese Patent Application Laid-Open No. 2004-151561 describes one that automatically generates object code that does not depend on the processor configuration.

特開平8−255086号公報(第5〜8頁、図1)JP-A-8-255086 (pages 5-8, FIG. 1)

従来は、同一プラットホーム(OS)内でもプログラムの種類により、また、プラットホーム(OS)が異なる場合は、ソースコードを各プラットホーム(OS)用に個別に整備し、ぞれぞれのプログラムおよびプラットホームに対応した手順・設定で実行モジュール(オブジェクトコード)を生成していた。
このため、ソースコードおよび実行モジュール生成手順・設定が各プログラムおよびプラットホーム毎に存在し、あるプラットホーム上のソースコードを変更した際は、他の全プラットホーム上のソースコードに同内容を反映する必要があった。
また、プログラムおよびプラットホーム毎に生成手順・設定が異なるため、当該プログラムおよびプラットホームに関する知識(ノウハウ)を有する者しか作業が出来ない、あるいはヒューマンエラー(人為的ミス)の入り込む余地を無くすることが出来ない、という問題があった。
特許文献1では、プロセッサ構成に依存しないオブジェクトコードを自動生成するものの、OSバージョンやプラットホーム毎の手順・設定を共通化するものではなく、上述の問題を解決するものではなかった。
Conventionally, the source code is individually prepared for each platform (OS) depending on the type of program within the same platform (OS), and when the platform (OS) is different, and each program and platform are individually provided. An execution module (object code) was generated with the corresponding procedure and settings.
For this reason, source code and execution module generation procedures / settings exist for each program and platform, and when the source code on one platform is changed, the same contents must be reflected in the source code on all other platforms. there were.
In addition, because the generation procedure and settings differ for each program and platform, only those who have knowledge (knowhow) about the program and platform can work, or there is no room for human error (human error). There was no problem.
In Patent Document 1, although object code that does not depend on a processor configuration is automatically generated, procedures and settings for each OS version and each platform are not shared, and the above-described problems are not solved.

この発明は、上記のような課題を解決するためになされたものであり、プログラムの種類または異なる計算機プラットホーム(OSバージョン)で、実行モジュール(オブジェクトコード)生成方法を統一し、共通的に実行モジュールを生成するようにしたモジュール自動生成システムを得ることを目的にしている。   The present invention has been made in order to solve the above-described problems, and unifies an execution module (object code) generation method for a program type or a different computer platform (OS version) and commonly executes the execution module. The purpose is to obtain a module automatic generation system that generates the.

この発明に係わるモジュール自動生成システムにおいては、ソースコードからプログラムの種類を判定するプログラム種類判定手段と、記憶装置からプログラムの種類ごとのオプションを格納したオプション一覧表を読み出すオプション一覧表読み出し手段と、このオプション一覧表読み出し手段によって読み出されたオプション一覧表を元にして、プログラムの種類に応じてソースコードをコンパイルするときのコンパイルオプションを指定するコンパイルオプション指定手段と、オプション一覧表を元にして、プログラムの種類に応じてコンパイル済みのプログラムのリンクオプションを指定するリンクオプション指定手段とを有する共通実行モジュール生成ツールを備え、
共通実行モジュール生成ツールは、一つの計算機プラットホーム上の全ソースコードで共通的に利用されるものである。
In the module automatic generation system according to the present invention, a program type determining means for determining the type of program from the source code, an option list reading means for reading an option list storing options for each type of program from the storage device, Based on the option list read by the option list reading means, the compile option specifying means for specifying the compile option when compiling the source code according to the program type, and the option list A common execution module generation tool having link option specifying means for specifying a link option of a compiled program according to the type of program,
The common execution module generation tool is commonly used by all source codes on one computer platform.

この発明は、以上説明したように、ソースコードからプログラムの種類を判定するプログラム種類判定手段と、記憶装置からプログラムの種類ごとのオプションを格納したオプション一覧表を読み出すオプション一覧表読み出し手段と、このオプション一覧表読み出し手段によって読み出されたオプション一覧表を元にして、プログラムの種類に応じてソースコードをコンパイルするときのコンパイルオプションを指定するコンパイルオプション指定手段と、オプション一覧表を元にして、プログラムの種類に応じてコンパイル済みのプログラムのリンクオプションを指定するリンクオプション指定手段とを有する共通実行モジュール生成ツールを備え、
共通実行モジュール生成ツールは、一つの計算機プラットホーム上の全ソースコードで共通的に利用されるので、プログラムの種類によらず、共通実行モジュール生成ツールを用いて実行モジュールを生成することができる。
As described above, the present invention includes a program type determination unit that determines a program type from source code, an option list reading unit that reads an option list storing options for each type of program from a storage device, Based on the option list read by the option list reading means, based on the compile option specifying means for specifying the compile option when compiling the source code according to the type of program, and the option list, A common execution module generation tool having a link option specifying means for specifying a link option of a compiled program according to the type of the program;
Since the common execution module generation tool is commonly used in all source codes on one computer platform, an execution module can be generated using the common execution module generation tool regardless of the type of program.

実施の形態1.
以下、この発明の実施の形態1を図1、図2に基づいて説明する。
図1は、この発明の実施の形態1によるモジュール自動生成システムを説明する説明図である。
図1において、Aプラットホーム(OSバージョンA)1で実行される共通実行モジュール生成ツール2は、Aプラットホーム用コンパイラ・リンカ3を用いて、ソースコード4から実行モジュール(オブジェクトコード)5を生成する。
Embodiment 1 FIG.
A first embodiment of the present invention will be described below with reference to FIGS.
FIG. 1 is an explanatory diagram for explaining an automatic module generation system according to Embodiment 1 of the present invention.
In FIG. 1, a common execution module generation tool 2 executed on the A platform (OS version A) 1 generates an execution module (object code) 5 from source code 4 using a compiler / linker 3 for A platform.

図2は、この発明の実施の形態1によるモジュール自動生成システムの共通実行モジュール生成ツールを示す構成図である。
図2において、2、4、5は図1におけるものと同一のものである。記憶装置6は、共通実行モジュール生成ツール2によってアクセスされるとともに、プログラム種類ごとのコンパイルオプション及びリンクオプションを予め定義したオプション一覧表61を格納している。
共通実行モジュール生成ツール2は、ソースコード4のプログラム種類を判定するプログラム種類判定手段21と、記憶装置6からオプション一覧表61を読み出すオプション一覧表読み出し手段22と、オプション一覧表61を元にしてコンパイルオプション7を指定するコンパイルオプション指定手段23と、コンパイル済みのオブジェクトコード8へのリンクオプション9を指定するリンクオプション指定手段24とにより構成されている。
コンパイラ31は、コンパイルオプション7を用いて、ソースコード4をコンパイルしてオブジェクトコード8を形成する。リンカ32は、リンクオプション9を用いて、オブジェクトコード8をリンクして実行モジュール5を形成する。
FIG. 2 is a block diagram showing a common execution module generation tool of the automatic module generation system according to Embodiment 1 of the present invention.
2, 2, 4, and 5 are the same as those in FIG. The storage device 6 is accessed by the common execution module generation tool 2 and stores an option list 61 in which compile options and link options for each program type are defined in advance.
The common execution module generation tool 2 is based on the program type determination unit 21 that determines the program type of the source code 4, the option list reading unit 22 that reads the option list 61 from the storage device 6, and the option list 61. Compile option specifying means 23 for specifying the compile option 7 and link option specifying means 24 for specifying the link option 9 to the compiled object code 8 are configured.
The compiler 31 compiles the source code 4 using the compile option 7 to form the object code 8. The linker 32 uses the link option 9 to link the object code 8 to form the execution module 5.

次に、動作について説明する。
図1は、1プラットホーム内で、各プログラムについて実行モジュール生成手順を共通化するものである。すなわち、Aプロットホーム1で、共通実行モジュール生成ツール2及びAプラットホーム用コンパイラ・リンカ3により、ソースコードXから実行モジュールXを、ソースコードYから実行モジュールYを、ソースコードZから実行モジュールZをそれぞれ形成する。共通実行モジュール生成ツール2は、Aプラットホーム1で特有の生成手順・設定内容(例:コンパイル時のオプション指定)を考慮し、全ソースコード(実行モジュール)に対して共通的に利用できるようにしている。
Next, the operation will be described.
FIG. 1 shows a common execution module generation procedure for each program in one platform. That is, in the A plot home 1, the common execution module generation tool 2 and the compiler / linker 3 for the A platform execute the execution module X from the source code X, the execution module Y from the source code Y, and the execution module Z from the source code Z. Form each one. The common execution module generation tool 2 can be used in common for all source codes (execution modules) in consideration of the generation procedure and setting contents specific to the A platform 1 (eg, option specification at compile time). Yes.

そして、図2に示すような処理手順により、実行モジュールX、Y、Zの生成者は、ソースコードX、Y、Zに対して共通的に共通実行モジュール生成ツール2を使用することで実行モジュールを生成できる。
ソースコード4には、プログラムの種類を書き込んでおく。図2のように、共通実行モジュール生成ツール2のプログラム種類判定手段21は、ソースコード4のプログラムの種類を読み取る。次いで、オプション一覧表読み出し手段22により、記憶装置6からオプション一覧表61を読み出す。次いで、コンパイルオプション指定手段23により、プログラムの種類にしたがって、コンパイルオプション7を指定する。
このコンパイルオプション7は、コンパイラ31によるソースコード4のコンパイルに用いられる。こうして、ソースコード4がコンパイルされてオブジェクトコード8が形成される。
次いで、リンクオプション指定手段24により、プログラムの種類にしたがって、リンクオプション9を指定する。このリンクオプション9は、リンカ32で用いられて、オブジェクトコード8にリンク付けが行われて、実行モジュール5が形成される。
Then, according to the processing procedure as shown in FIG. 2, the creator of the execution modules X, Y, and Z uses the common execution module generation tool 2 in common for the source codes X, Y, and Z, thereby executing the execution modules. Can be generated.
In the source code 4, the type of program is written. As shown in FIG. 2, the program type determination means 21 of the common execution module generation tool 2 reads the program type of the source code 4. Next, the option list reading means 22 reads the option list 61 from the storage device 6. Next, the compile option specifying means 23 specifies the compile option 7 according to the type of program.
This compile option 7 is used for compiling the source code 4 by the compiler 31. Thus, the source code 4 is compiled and the object code 8 is formed.
Next, the link option designation means 24 designates the link option 9 according to the type of program. This link option 9 is used by the linker 32 and linked to the object code 8 to form the execution module 5.

実施の形態1によれば、このようにして、オプション一覧表61を用いて、プログラムの種類ごとにオプションを指定して、コンパイル及びリンクを行うことにより、1プラットホーム内で実行モジュール生成手順を共通化することができる。   According to the first embodiment, in this way, by using the option list 61 and specifying an option for each type of program, and compiling and linking, the execution module generation procedure is shared within one platform. Can be

実施の形態2.
以下、この発明の実施の形態2を図3、図4に基づいて説明する。
図3は、この発明の実施の形態2によるモジュール自動生成システムを説明する説明図である。
図3において、プラットホームは、Aプラットホーム(OSバージョンA)1a、Bプラットホーム(OSバージョンB)1b、Cプラットホーム(OSバージョンC)1cがあり、全プラットホームに共通する全プラットホーム共通実行モジュール生成ツール10の処理により、オプションをコンパイラ・リンカに渡すことによって、ソースコードS4を、それぞれのプラットホーム用コンパイラ・リンカ3a〜3cにより、それぞれのプラットホーム上で動作する実行モジュールX5a、実行モジュールY5b、実行モジュールZ5cを形成する。
Embodiment 2. FIG.
The second embodiment of the present invention will be described below with reference to FIGS.
FIG. 3 is an explanatory diagram for explaining an automatic module generation system according to Embodiment 2 of the present invention.
In FIG. 3, the platform includes an A platform (OS version A) 1a, a B platform (OS version B) 1b, and a C platform (OS version C) 1c. The platform common execution module generation tool 10 common to all platforms is shown in FIG. By passing the options to the compiler / linker by processing, the source code S4 is formed by the platform compiler / linkers 3a to 3c to form an execution module X5a, an execution module Y5b, and an execution module Z5c that operate on each platform. To do.

図4は、この発明の実施の形態2によるモジュール自動生成システムの共通実行モジュール生成ツールを示す構成図である。
図4において、4〜9、21〜24、31、32は図2におけるものと同一のものである。図4では、全プラットホーム共通実行モジュール生成ツール10は、全プラットホームで動作するように構成されるとともに、図2の21〜24に加えて、ソースコード4が使用されるプラットホームを特定するプラットホーム判定手段20を有する。また、オプション一覧表62には、プラットホームごと及びプログラムの種類ごとにコンパイルオプションとリンクオプションとが規定されている。
FIG. 4 is a block diagram showing a common execution module generation tool of the automatic module generation system according to Embodiment 2 of the present invention.
4, 4-9, 21-24, 31, 32 are the same as those in FIG. In FIG. 4, the common execution module generation tool 10 for all platforms is configured to operate on all platforms, and in addition to 21 to 24 in FIG. 2, platform determination means for specifying the platform in which the source code 4 is used. 20 The option list 62 defines compile options and link options for each platform and each program type.

次に、動作について説明する。
図3は、複数プラットホームのソースコード・実行モジュール生成手順を共通化するようにしたものである。すなわち、全プラットホームで共通に用いられる全プラットホーム共通実行モジュール生成ツール10と、各プラットホーム用のAプラットホーム用コンパイラ・リンカ3a、Bプラットホーム用コンパイラ・リンカ3b、Cプラットホーム用コンパイラ・リンカ3cとにより、ソースコードSからAプラットホーム1a用の実行モジュールX5a、Bプラットホーム1b用の実行モジュールY5b、Cプラットホーム1c用の実行モジュールZ5cをそれぞれ形成する。
全プラットホーム共通実行モジュール生成ツール10は、各プラットホーム特有の生成手順・設定内容(例:コンパイル時のオプション指定)を考慮し、全プラットホームの全ソースコード(実行モジュール)に対して共通的に利用できるようにしている。
Next, the operation will be described.
FIG. 3 shows a common source code / execution module generation procedure for a plurality of platforms. That is, the source is generated by the common execution module generation tool 10 commonly used in all platforms, the compiler / linker 3a for the A platform, the compiler / linker 3b for the B platform, and the compiler / linker 3c for the C platform. An execution module X5a for the A platform 1a, an execution module Y5b for the B platform 1b, and an execution module Z5c for the C platform 1c are formed from the code S, respectively.
The common execution module generation tool 10 for all platforms can be used in common for all source codes (execution modules) of all platforms in consideration of generation procedures and setting contents specific to each platform (eg, option specification at compile time). I am doing so.

そして、図4に示すような処理手順により、実行モジュールX、Y、Z生成者は、ソースコードSに対して共通的に全プラットホーム共通実行モジュール生成ツール10を使用することで、各プラットホーム対応の実行モジュールを各プラットホーム毎の特別な知識を必要とすることなく生成できる。
図4に示すように、全プラットホーム共通実行モジュール生成ツール10は、プラットホーム判定手段20により、ソースコード4が使用されるプラットホームに問い合わせを行い、使用されるプラットホームを特定する。その判定結果のプラットホーム用のコンパイラ31及びリンカ32によって実行モジュール5を作成する。また、オプション一覧表62にはプラットホームごと及びプログラムの種類ごとにコンパイルオプションとリンクオプションとが規定されているので、プラットホーム判定手段20により特定されたプラットホームで、かつプログラム種類判定手段21で判定されたプログラムの種類に応じたオプションの指定を行う。
なお、プラグラム種類判定手段21からリンクオプション指定手段24までの処理は、実施の形態1と同様であるので、その説明を省略する。
Then, according to the processing procedure shown in FIG. 4, the execution module X, Y, Z generator uses the common execution module generation tool 10 for all platforms in common for the source code S. Execution modules can be generated without requiring special knowledge for each platform.
As shown in FIG. 4, the common execution module generation tool 10 for all platforms makes an inquiry to the platform in which the source code 4 is used by the platform determination means 20 and specifies the platform to be used. The execution module 5 is created by the compiler 31 and the linker 32 for the platform of the determination result. In addition, since the option list 62 defines the compile option and the link option for each platform and each program type, the option list 62 is determined by the program type determination unit 21 using the platform specified by the platform determination unit 20. Specify options according to the type of program.
Note that the processing from the program type determination unit 21 to the link option designation unit 24 is the same as that in the first embodiment, and thus the description thereof is omitted.

実施の形態2によれば、全プラットホーム共通実行モジュール生成ツール10を使用することで、各プラットホーム対応の実行モジュールを各プラットホーム毎の特別な知識を必要とすることなく生成できる。 According to the second embodiment, by using the common execution module generation tool 10 for all platforms, an execution module corresponding to each platform can be generated without requiring special knowledge for each platform.

実施の形態3.
以下、この発明の実施の形態3を図5に基づいて説明する。
図5は、この発明の実施の形態3によるモジュール自動生成システムを説明する説明図である。
図5において、3a、3b、3c、5a、5b、5c、10は図3におけるものと同一のものである。図5では、全プラットホーム共通実行モジュール生成ツール10が配置された実行モジュール生成計算機11(管理用の計算機)が、ネットワークを介して、Aプラットホーム用コンパイラ・リンカ3aが配置されたAプラットホーム用モジュール生成計算機12aと、Bプラットホーム用コンパイラ・リンカ3bが配置されたBプラットホーム用モジュール生成計算機12bと、Cプラットホーム用コンパイラ・リンカ3cが配置されたCプラットホーム用モジュール生成計算機12cとに接続されている。
Embodiment 3 FIG.
The third embodiment of the present invention will be described below with reference to FIG.
FIG. 5 is an explanatory diagram for explaining an automatic module generation system according to Embodiment 3 of the present invention.
In FIG. 5, 3a, 3b, 3c, 5a, 5b, 5c, and 10 are the same as those in FIG. In FIG. 5, the execution module generation computer 11 (management computer) in which the common execution module generation tool 10 for all platforms is arranged generates the A platform module in which the A platform compiler / linker 3a is arranged via the network. It is connected to a computer 12a, a B platform module generation computer 12b in which a B platform compiler / linker 3b is arranged, and a C platform module generation computer 12c in which a C platform compiler / linker 3c is arranged.

次に、動作について説明する。
全プラットホーム共通実行モジュール生成ツール10は、各プラットホーム用の実行モジュール(オブジェクトコード)を生成するためのものであり、各プラットホーム特有の生成手順・設定内容(例:コンパイル時のオプション指定)を考慮し、全プラットホームの全実行モジュール(ソースコード)に対して共通的に利用できるようにしている。
実施の形態3では、ソースコードおよび当該ソースコードから全プラットホーム共通実行モジュール生成ツール10を介して生成された各プラットホーム対応の実行モジュールを、実行モジュール生成計算機11で共通的に保管・管理される。
Next, the operation will be described.
The common execution module generation tool 10 for all platforms is for generating an execution module (object code) for each platform, and takes into consideration the generation procedure and setting contents specific to each platform (example: option specification at compile time). , It can be commonly used for all execution modules (source code) of all platforms.
In the third embodiment, the execution module generation computer 11 commonly stores and manages the source code and the execution module corresponding to each platform generated from the source code via the all-platform common execution module generation tool 10.

実行モジュール生成計算機11上に配置された全プラットホーム共通実行モジュール生成ツール10は、各プラットホーム(例えばAプラットホーム用モジュール生成計算機12a)上でのモジュール生成作業時に当該プラットホーム上に一時的にコピー(もしくはマウント)される。このコピー(もしくはマウント)に際しては、実行モジュールを生成するためにコンパイルされるソースコードと、生成手順・設定(例:コンパイル時のオプション指定)も同時にコピーされる。
全プラットホーム共通実行モジュール生成ツール10がコピーされたプラットホームに搭載されたコンパイラ・リンカを利用して、コピーされたソースコードから、そのプラットホーム用の実行モジュールを生成する。
実行モジュールの生成後、そのプラットホームから全プラットホーム共通実行モジュール生成ツール10が削除される。すなわち、全プラットホーム共通実行モジュール生成ツール10は、各プラットホーム用モジュール生成計算機12a〜12cには実行時に一時的に配置されるのみである。
なお、各プラットホーム用モジュール生成計算機12a〜12cで生成された実行モジュールは、実行モジュール生成計算機上に配置(移動)され、一元的に管理される。
The common execution module generation tool 10 arranged on the execution module generation computer 11 is temporarily copied (or mounted) on the platform during module generation work on each platform (for example, the module generation computer 12a for the A platform). ) At the time of copying (or mounting), the source code compiled to generate the execution module and the generation procedure / setting (for example, option specification at the time of compilation) are also copied at the same time.
An execution module for the platform is generated from the copied source code by using a compiler / linker mounted on the copied platform on which the common execution module generation tool 10 for all platforms is copied.
After the execution module is generated, the common execution module generation tool 10 common to all platforms is deleted from the platform. In other words, the common execution module generation tool 10 for all platforms is only temporarily placed in each of the platform module generation computers 12a to 12c at the time of execution.
Note that the execution modules generated by each of the platform module generation computers 12a to 12c are arranged (moved) on the execution module generation computer and managed centrally.

実施の形態3によれば、全プラットホーム共通実行モジュール生成ツール10をコピーして、各プラットホーム用モジュール生成計算機で実行モジュールを生成することができるので、運用しやすいとともに、実行モジュール生成計算機でソースコード及び実行モジュールが一元管理されるという効果がある。   According to the third embodiment, it is possible to copy the common execution module generation tool 10 for all platforms and generate an execution module on each platform module generation computer, so that it is easy to operate and the source code is generated on the execution module generation computer. In addition, there is an effect that the execution modules are centrally managed.

実施の形態4.
以下、この発明の実施の形態4を図1〜図5に基づいて説明する。
図1〜図5において、共通実行モジュール生成ツール2および全プラットホーム共通実行モジュール生成ツール10は、実行モジュール(オブジェクトコード)生成時にソースコード上に当該プラットホーム固有情報(OSバージョンや計算機固有名称など)を示す情報を自動的に埋め込み、元ソースコードと合わせて実行モジュール(オブジェクトコード)を生成する。
このOSバージョンや計算機固有名称は、当該OSが提供するI/Fを利用して共通実行モジュール生成ツール2及び全プラットホーム共通実行モジュール生成ツール10が取り出す。
これにより、生成された実行モジュール(オブジェクトコード)には、ソースコード製作者が意識することなく、実行モジュール生成環境を示す情報が自動的に付加されることになる。
Embodiment 4 FIG.
The fourth embodiment of the present invention will be described below with reference to FIGS.
1 to 5, the common execution module generation tool 2 and the common execution module generation tool 10 for all platforms are provided with platform-specific information (such as OS version and computer-specific name) on the source code when an execution module (object code) is generated. The information shown is automatically embedded and an execution module (object code) is generated together with the original source code.
The OS version and the computer specific name are extracted by the common execution module generation tool 2 and the common execution module generation tool 10 for all platforms using an I / F provided by the OS.
As a result, information indicating the execution module generation environment is automatically added to the generated execution module (object code) without the source code producer being aware of it.

実施の形態4によれば、生成された実行モジュールに、ソースコード製作者が意識せずに、実行モジュール生成環境を示す情報が自動的に付加されるので、後からその実行モジュールがどのプラットホームで生成されたかを確認することができる。 According to the fourth embodiment, information indicating the execution module generation environment is automatically added to the generated execution module without the source code producer being aware of it. It can be confirmed whether it was generated.

実施の形態5.
以下、この発明の実施の形態5を図1〜図5に基づいて説明する。
図1〜図5において、共通実行モジュール生成ツール2および全プラットホーム共通実行モジュール生成ツール10は、実行モジュール(オブジェクトコード)生成時にソースコードのバージョン管理機構[例:RCS(Revision Control System:各ファイルのバージョン管理機構)やCVS(Concurrent Versions System:複数ユーザでの同時利用を可能としたバージョン管理機構で、RCSの進化版)などの汎用バージョン管理機構]と連携し、自動的に当該ソースコードのバージョン情報を更新する。
これにより、実行モジュール生成時にソースコード製作者が意識することなく、バージョン情報が自動的に更新される。
Embodiment 5 FIG.
A fifth embodiment of the present invention will be described below with reference to FIGS.
1 to 5, the common execution module generation tool 2 and the common execution module generation tool 10 for all platforms are the source code version management mechanism [Example: RCS (Revision Control System: each file) at the time of execution module (object code) generation Version of the source code automatically in conjunction with a general-purpose version management mechanism such as a version management mechanism) or CVS (Concurrent Versions System: an evolutionary version of RCS) that can be used simultaneously by multiple users. Update information.
As a result, the version information is automatically updated without the source code producer being aware of the execution module generation.

実施の形態5によれば、実行モジュール生成時にソースコード製作者が意識せずに、バージョン情報が自動的に更新されるので、バージョン情報の更新漏れ(チェックイン漏れ)というヒューマンエラーを防止することができる。 According to the fifth embodiment, since the version information is automatically updated without the source code producer being aware of the execution module when it is generated, it is possible to prevent a human error such as omission of update of version information (check-in omission). Can do.

この発明の実施の形態1によるモジュール自動生成システムを説明する説明図である。It is explanatory drawing explaining the module automatic generation system by Embodiment 1 of this invention. この発明の実施の形態1によるモジュール自動生成システムの共通実行モジュール生成ツールを示す構成図である。It is a block diagram which shows the common execution module production | generation tool of the module automatic generation system by Embodiment 1 of this invention. この発明の実施の形態2によるモジュール自動生成システムを説明する説明図である。It is explanatory drawing explaining the module automatic generation system by Embodiment 2 of this invention. この発明の実施の形態2によるモジュール自動生成システムの共通実行モジュール生成ツールを示す構成図である。It is a block diagram which shows the common execution module production | generation tool of the module automatic generation system by Embodiment 2 of this invention. この発明の実施の形態3によるモジュール自動生成システムを説明する説明図である。It is explanatory drawing explaining the module automatic generation system by Embodiment 3 of this invention.

符号の説明Explanation of symbols

1 プラットホーム(OSバージョン)
2 共通実行モジュール生成ツール
3 プラットホーム用コンパイラ・リンカ
4 ソースコード
5 実行モジュール
6 記憶装置
7 コンパイルオプション
8 オブジェクトコード
9 リンクオプション
10 全プラットホーム共通実行モジュール生成ツール
11 実行モジュール生成計算機
12 プラットホーム用モジュール生成計算機
20 プラットホーム判定手段
21 プラグラム種類判定手段
22 オプション一覧表読み出し手段
23 コンパイルオプション指定手段
24 リンクオプション指定手段
31 コンパイラ
32 リンカ
61,62 オプション一覧表
1 Platform (OS version)
2 Common execution module generation tool 3 Platform compiler / linker 4 Source code 5 Execution module 6 Storage device 7 Compile option 8 Object code 9 Link option 10 Common execution module generation tool 11 for all platforms Execution module generation computer 12 Module generation computer 20 for platform Platform determining means 21 Program type determining means 22 Option list reading means 23 Compile option specifying means 24 Link option specifying means 31 Compiler 32 Linker 61, 62 Option list

Claims (5)

ソースコードからプログラムの種類を判定するプログラム種類判定手段と、記憶装置からプログラムの種類ごとのオプションを格納したオプション一覧表を読み出すオプション一覧表読み出し手段と、このオプション一覧表読み出し手段によって読み出された上記オプション一覧表を元にして、上記プログラムの種類に応じて上記ソースコードをコンパイルするときのコンパイルオプションを指定するコンパイルオプション指定手段と、上記オプション一覧表を元にして、上記プログラムの種類に応じて上記コンパイル済みのプログラムのリンクオプションを指定するリンクオプション指定手段とを有する共通実行モジュール生成ツールを備え、
上記共通実行モジュール生成ツールは、一つの計算機プラットホーム上の全ソースコードで共通的に利用されることを特徴とするモジュール自動生成システム。
Program type determining means for determining the type of program from the source code, option list reading means for reading an option list storing options for each program type from the storage device, and read by the option list reading means Based on the above option list, a compile option specifying means for specifying a compile option when compiling the source code according to the type of the program, and on the basis of the option list, depending on the type of the program. A common execution module generation tool having link option specifying means for specifying a link option of the compiled program.
The automatic module generation system is characterized in that the common execution module generation tool is commonly used in all source codes on a single computer platform.
ソースコードが使用される計算機プラットホームを判定するプラットホーム判定手段と、上記ソースコードからプログラムの種類を判定するプログラム種類判定手段と、記憶装置から計算機プラットホームごと及びプログラムの種類ごとのオプションを格納したオプション一覧表を読み出すオプション一覧表読み出し手段と、このオプション一覧表読み出し手段によって読み出された上記オプション一覧表を元にして、上記計算機プラットホーム及びプログラムの種類に応じて上記ソースコードをコンパイルするときのコンパイルオプションを指定するコンパイルオプション指定手段と、上記オプション一覧表を元にして、上記計算機プラットホーム及びプログラムの種類に応じて上記コンパイル済みのプログラムのリンクオプションを指定するリンクオプション指定手段とを有する共通実行モジュール生成ツールを備え、
上記コンパイルオプション及びリンクオプションは、上記プラットホーム判定手段によって判定された計算機プラットホームに対応するコンパイラ及びリンカで使用されることを特徴とするモジュール自動生成システム。
A list of options for storing the platform determination means for determining the computer platform in which the source code is used, the program type determination means for determining the type of program from the source code, and the options for each computer platform and each program type from the storage device Option list reading means for reading a table, and compile options for compiling the source code according to the computer platform and the type of program based on the option list read by the option list reading means Based on the above compile option specification means and the above option list, specify the link options for the compiled program according to the computer platform and program type. A common execution module generation tool and a link option designation means that,
The automatic module generation system according to claim 1, wherein the compile option and the link option are used by a compiler and a linker corresponding to the computer platform determined by the platform determination means.
上記ソースコード及びこのソースコードから生成された上記実行モジュールは、管理用の計算機で一元管理されることを特徴とする請求項1または請求項2記載のモジュール自動生成システム。   3. The module automatic generation system according to claim 1, wherein the source code and the execution module generated from the source code are centrally managed by a management computer. 上記実行モジュール生成時に、上記ソースコード上に上記計算機プラットホームの固有情報を埋め込むことを特徴とする請求項1〜請求項3のいずれかに記載のモジュール自動生成システム。   The automatic module generation system according to any one of claims 1 to 3, wherein unique information of the computer platform is embedded in the source code when the execution module is generated. 上記実行モジュール生成時に、上記ソースコードのバージョン情報を更新することを特徴とする請求項1〜請求項4のいずれかに記載のモジュール自動生成システム。   5. The module automatic generation system according to claim 1, wherein version information of the source code is updated when the execution module is generated.
JP2007270418A 2007-10-17 2007-10-17 Automatic module generation system Pending JP2009098963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007270418A JP2009098963A (en) 2007-10-17 2007-10-17 Automatic module generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007270418A JP2009098963A (en) 2007-10-17 2007-10-17 Automatic module generation system

Publications (1)

Publication Number Publication Date
JP2009098963A true JP2009098963A (en) 2009-05-07

Family

ID=40701900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007270418A Pending JP2009098963A (en) 2007-10-17 2007-10-17 Automatic module generation system

Country Status (1)

Country Link
JP (1) JP2009098963A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063352A (en) * 2012-09-21 2014-04-10 Nomura Research Institute Ltd Program development integrated management system
JP2021512391A (en) * 2018-01-26 2021-05-13 バルブ コーポレーション Distributing shaders across client machines for pre-caching

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62211733A (en) * 1986-03-12 1987-09-17 Fujitsu Ltd Control system for translation and combined editing option of program
JPH01230132A (en) * 1988-03-10 1989-09-13 Oki Electric Ind Co Ltd Generator
JPH03282825A (en) * 1990-03-30 1991-12-13 Nec Corp System for dynamically registering and referring to option information for translation
JPH04205422A (en) * 1990-11-30 1992-07-27 Hitachi Ltd Automatic program translation connecting and selecting method
JPH04245325A (en) * 1991-01-30 1992-09-01 Nec Software Ltd File control system
JPH04328641A (en) * 1991-04-30 1992-11-17 Nec Corp Translation option mode acquring system
JPH05134883A (en) * 1991-11-08 1993-06-01 Fujitsu Ltd Distributed compilation processing system
JPH07152577A (en) * 1993-11-29 1995-06-16 Nec Corp Sharing system for compiling and linking method
JPH07319711A (en) * 1994-05-24 1995-12-08 Canon Inc Information processing system
JP2000122871A (en) * 1998-10-14 2000-04-28 Hitachi Ltd Application distributing method
JP2000259397A (en) * 1999-03-04 2000-09-22 Hitachi Ltd Primitive source file management device
JP2001022810A (en) * 1999-07-08 2001-01-26 Fujitsu Ltd Product information managing device and recording medium

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62211733A (en) * 1986-03-12 1987-09-17 Fujitsu Ltd Control system for translation and combined editing option of program
JPH01230132A (en) * 1988-03-10 1989-09-13 Oki Electric Ind Co Ltd Generator
JPH03282825A (en) * 1990-03-30 1991-12-13 Nec Corp System for dynamically registering and referring to option information for translation
JPH04205422A (en) * 1990-11-30 1992-07-27 Hitachi Ltd Automatic program translation connecting and selecting method
JPH04245325A (en) * 1991-01-30 1992-09-01 Nec Software Ltd File control system
JPH04328641A (en) * 1991-04-30 1992-11-17 Nec Corp Translation option mode acquring system
JPH05134883A (en) * 1991-11-08 1993-06-01 Fujitsu Ltd Distributed compilation processing system
JPH07152577A (en) * 1993-11-29 1995-06-16 Nec Corp Sharing system for compiling and linking method
JPH07319711A (en) * 1994-05-24 1995-12-08 Canon Inc Information processing system
JP2000122871A (en) * 1998-10-14 2000-04-28 Hitachi Ltd Application distributing method
JP2000259397A (en) * 1999-03-04 2000-09-22 Hitachi Ltd Primitive source file management device
JP2001022810A (en) * 1999-07-08 2001-01-26 Fujitsu Ltd Product information managing device and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063352A (en) * 2012-09-21 2014-04-10 Nomura Research Institute Ltd Program development integrated management system
JP2021512391A (en) * 2018-01-26 2021-05-13 バルブ コーポレーション Distributing shaders across client machines for pre-caching
JP7297769B2 (en) 2018-01-26 2023-06-26 バルブ コーポレーション Shader distribution among client machines for pre-caching

Similar Documents

Publication Publication Date Title
JP4828271B2 (en) Software generation apparatus for multiple OS versions and software generation support program for multiple OS versions
US11256523B2 (en) Modular co-versioning in a dynamically linked runtime environment
US8266588B2 (en) Creating projects in a rational application developer workspace
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
JP2010521726A (en) Method, system, and computer program for distributing customized software products
US20120246618A1 (en) Method and a system for generating a software product
CN113342323A (en) Method and device for software online development
US20140157226A1 (en) Multi-context remote development
CN103645888A (en) System and method for automatically building operation system
CN108304184B (en) Compiling method and device
JP2009098963A (en) Automatic module generation system
CN110647349B (en) Method for realizing continuous delivery of iOS APP
US11221828B2 (en) Support device and support program
JP6541902B1 (en) Program management system, programming support apparatus, program management method, and programming support program
JP7067273B2 (en) Support equipment, control systems, and development support programs
JP2016224559A (en) Program creation support device, control method and program
JP6455096B2 (en) Control system, its support device, programmable control device
US20050262486A1 (en) System and method for version control for software development
KR101527578B1 (en) Software development apparatus and method
Mu et al. Specification of modelling languages in a flexible meta-model architecture
Berglund Gradle Beyond the Basics: Customizing Next-Generation Builds
JP2008003841A (en) Build processing method, device and program
JP2006302066A (en) Maintenance system with remote execution function and method therefor
TW201316255A (en) Automatic compilation method and system
Miller et al. Simple, Secure, Internet Delivery of MOOSE-based Applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121127