JP2007133820A - Program development support device and method - Google Patents
Program development support device and method Download PDFInfo
- Publication number
- JP2007133820A JP2007133820A JP2005328706A JP2005328706A JP2007133820A JP 2007133820 A JP2007133820 A JP 2007133820A JP 2005328706 A JP2005328706 A JP 2005328706A JP 2005328706 A JP2005328706 A JP 2005328706A JP 2007133820 A JP2007133820 A JP 2007133820A
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution instruction
- software
- unit
- development support
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
本発明は、プログラム開発支援装置およびプログラム開発支援方法に関し、特には、プログラム作成者の負担を軽減することが可能なプログラム開発支援装置およびプログラム開発支援方法に関する。 The present invention relates to a program development support apparatus and a program development support method, and more particularly to a program development support apparatus and a program development support method that can reduce the burden on a program creator.
コンピュータ分野では、複数種類のプラットフォーム(例えば、OS)が存在する。 In the computer field, there are multiple types of platforms (for example, OS).
プログラムは、自己に対応するプラットフォーム上でしか動作しない。このため、従来、プログラム作成者は、複数のプラットフォームに対応したソフトウェアまたはソフトウェア部品を作成する場合、プラットフォーム別に、ソフトウェアまたはソフトウェア部品を作成していた。 The program only runs on a platform that supports it. Therefore, conventionally, when a program creator creates software or software components corresponding to a plurality of platforms, the program creator creates software or software components for each platform.
また、複数種類のライブラリおよびミドルウェアも存在する。プログラムは、自己に対応するライブラリおよびミドルウェア上でしか動作しない。よって、従来、プログラム作成者は、プラットフォームが同じでも、ライブラリまたはミドルウェアが異なる場合、ライブラリとミドルウェアとの組合せごとに、ソフトウェアまたはソフトウェア部品を作成していた。 There are also multiple types of libraries and middleware. The program runs only on its own library and middleware. Therefore, conventionally, a program creator creates software or software components for each combination of library and middleware when the platform is the same, but the library or middleware is different.
なお、特許文献1(特開平2−272627号公報)には、いろいろな言語で記載されたプログラムで、共通のライブラリを呼び出すことが可能なコンピュータシステムが記載されている。
プログラム作成者は、複数種類のプラットフォーム、複数種類のライブラリ、および、複数種類のミドルウェアのそれぞれに対応するソフトウェアを、別々に作成しなければならない。 The program creator must separately create software corresponding to each of a plurality of types of platforms, a plurality of types of libraries, and a plurality of types of middleware.
このため、プログラム作成者は、複数種類のプラットフォーム、複数種類のライブラリ、および、複数種類のミドルウェアの使い方(ルール)を習得しなければならない。 For this reason, the program creator must learn how to use (rules) multiple types of platforms, multiple types of libraries, and multiple types of middleware.
また、特許文献1に記載のコンピュータシステムでは、共通のライブラリ、換言すると、特定のライブラリしか使用できない。このため、プログラム作成者は、その特定のライブラリと異なる所定のライブラリに対応するプログラムを作成する場合、その所定のライブラリの使い方(ルール)を習得しなければならない。 In the computer system described in Patent Document 1, only a common library, in other words, a specific library can be used. Therefore, when creating a program corresponding to a predetermined library different from the specific library, the program creator must learn how to use the predetermined library (rule).
プログラムを開発するために多数のルールを学ぶことは、プログラム作成者にとって大きな負担である。 Learning a large number of rules to develop a program is a heavy burden on the program creator.
本発明の目的は、プログラム作成者が多数のルールを学ぶ負担を少なくすることが可能なプログラム開発支援装置およびプログラム開発支援方法を提供することである。 An object of the present invention is to provide a program development support apparatus and a program development support method that can reduce the burden of a program creator learning a large number of rules.
上記目的を達成するために、本発明のプログラム開発支援装置は、特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置であって、特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納する格納部と、前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報と、所定形式の前記実行指示を含むプログラムと、を受け付ける入力部と、前記指定情報にて指定された特定のソフトウェアを実行する処理部と、前記入力部が受け付けたプログラムを実行するプログラム実行部と、前記プログラム実行部が実行するプログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理部に、該変換された実行指示に基づく前記特定の処理を実行させ、該処理部の処理結果を所定形式に変換して前記プログラム実行部に戻す統合インタフェース部とを含む。 In order to achieve the above object, a program development support apparatus according to the present invention is a program development support apparatus that supports development of a program corresponding to specific software, and is based on an execution instruction to execute specific processing. A storage unit that executes the specific process and stores a plurality of pieces of software having different execution instruction formats, designation information that designates one of the plurality of pieces of software as the specific software, and a predetermined format An input unit that receives the program including the execution instruction; a processing unit that executes the specific software specified by the specification information; a program execution unit that executes the program received by the input unit; and the program execution The execution instruction of the predetermined format included in the program executed by the unit is a specific instruction designated by the designation information. The program execution unit converts the processing result of the processing unit into a predetermined format by converting the processing unit into an execution instruction in a format corresponding to software, causing the processing unit to execute the specific processing based on the converted execution instruction And an integrated interface unit that returns to
また、本発明のプログラム開発支援方法は、特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納し、特定のソフトウェアに対応するプログラムの開発を支援するプログラム開発支援装置が行うプログラム開発支援方法であって、前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報を受け付ける指定情報受付ステップと、所定形式の前記実行指示を含むプログラムを受け付けるプログラム受付ステップと、前記指定情報にて指定された特定のソフトウェアを実行する処理ステップと、前記入力部が受け付けたプログラムを実行するプログラム実行ステップと、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理ステップで、該変換された実行指示に基づく前記特定の処理を実行させ、その処理結果を所定形式に変換する制御ステップとを含む。 In addition, the program development support method of the present invention executes a specific process based on an execution instruction for executing the specific process, and stores a plurality of pieces of software having different execution instruction formats. A program development support method performed by a program development support apparatus that supports development of a program corresponding to the software of the specified information receiving step of receiving designation information for designating any one of the plurality of software as the specific software; A program receiving step for receiving a program including the execution instruction in a predetermined format, a processing step for executing the specific software designated by the designation information, a program execution step for executing the program accepted by the input unit, The execution instruction in the predetermined format included in the program is It is converted into an execution instruction in a format corresponding to the specific software designated by the fixed information, and the specific processing based on the converted execution instruction is executed in the processing step, and the processing result is converted into a predetermined format. Control step.
上記発明によれば、受け付けられたプログラム内の所定形式の実行指示が、指定情報にて指定された特定のソフトウェアに対応する形式に変換され、その特定のソフトウェアを実行する処理部が、その変換された実行指示に基づいて特定の処理を実行し、その実行結果が、所定形式に変換されてプログラム実行部に返される。 According to the above invention, an execution instruction in a predetermined format in the received program is converted into a format corresponding to the specific software designated by the designation information, and the processing unit that executes the specific software A specific process is executed based on the executed instruction, and the execution result is converted into a predetermined format and returned to the program execution unit.
このため、実行指示が所定形式で作成されていれば、その実行指示は、複数のソフトウェアのいずれでも実行可能となり、また、プログラム作成者は、その処理結果によって、プログラムの動作確認を行える。 For this reason, if the execution instruction is created in a predetermined format, the execution instruction can be executed by any of a plurality of software, and the program creator can check the operation of the program based on the processing result.
したがって、プログラム作成者は、所定形式の実行指示を含むプログラムを作成すれば、そのプログラムを、実行指示の形式が互いに異なる複数のソフトウェアに実行させることが可能になる。 Therefore, if a program creator creates a program including an execution instruction in a predetermined format, the program can be executed by a plurality of software programs having different execution instruction formats.
よって、プログラム作成者は、ソフトウェアごとに、別々にプログラムを作成する必要がなくなり、プログラム作成者が各ソフトウェアの使い方(ルール)を学ぶ負担を少なくすることが可能になる。その結果、プログラム作成者は、インタフェースの違いを意識せずにソフトウェア開発を行うことが可能になる。 Therefore, it is not necessary for the program creator to create a program separately for each software, and the burden of the program creator learning how to use each software (rule) can be reduced. As a result, the program creator can develop software without being aware of the difference in interface.
なお、前記プログラム開発支援装置は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成することが望ましい。 The program development support device converts the execution instruction in the predetermined format included in the program into a format corresponding to the specific software designated by the designation information, and the program development support apparatus is based on the converted execution instruction. It is desirable to store an integrated interface program that causes a computer to execute a conversion process that causes the specific software to execute a specific process, and to generate an integrated program that includes the program and the integrated interface program.
上記の発明によれば、プログラム作成者は、インタフェースの違いを意識せずにプログラムを生成できる。 According to the above invention, the program creator can generate a program without being aware of the difference in interface.
また、前記処理部は、前記特定の処理を関数で実行し、前記実行指示は、引数であることが望ましい。 The processing unit may execute the specific process as a function, and the execution instruction may be an argument.
また、前記処理部は、プラットフォーム、ライブラリまたはミドルウェアであることが望ましい。 The processing unit is preferably a platform, a library, or middleware.
本発明によれば、プログラム作成者が多数のルールを学ぶ負担を少なくすることが可能になる。 According to the present invention, it is possible to reduce the burden of a program creator learning a large number of rules.
以下、本発明の実施例を、図面を参照して説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の一実施例のプログラム開発支援装置100を示したブロック図である。
FIG. 1 is a block diagram showing a program
図1において、本プログラム開発支援装置は、例えば、プログラム開発および操作確認用PC(パーソナルコンピュータ)である。 In FIG. 1, the program development support apparatus is, for example, a program development and operation confirmation PC (personal computer).
本プログラム開発支援装置は、メモリ1と、CPU2と、入力部3とを含む。
The program development support apparatus includes a memory 1, a CPU 2, and an
メモリ1は、コンピュータにて読み取り可能な記録媒体であり、システムプログラム1a1および1a2と、統合I/F(インタフェース)プログラム1bと、開発中プログラム1cとを格納する。なお、開発中プログラム1cは、プログラム作成者にて作成され、入力部3で受け付けられる。
The memory 1 is a computer-readable recording medium, and stores system programs 1a1 and 1a2, an integrated I / F (interface)
システムプログラム1a1は、ライブラリA10aと、ミドルウェアA10bと、プラットフォームA10cとを含む。プラットフォームA10cは、例えば、OSである。 The system program 1a1 includes a library A10a, middleware A10b, and a platform A10c. The platform A10c is, for example, an OS.
システムプログラム1a2は、ライブラリA10aと、ミドルウェアB20bと、プラットフォームB20cとを含む。 The system program 1a2 includes a library A10a, middleware B20b, and platform B20c.
ライブラリA10aと、ミドルウェアA10bと、プラットフォームA10cと、ライブラリA10aと、ミドルウェアB20bと、プラットフォームB20cは、ソフトウェアである。 The library A10a, middleware A10b, platform A10c, library A10a, middleware B20b, and platform B20c are software.
なお、ミドルウェアB20bは、ミドルウェアA10bと異なる。また、プラットフォームB20cは、例えば、プラットフォームA10cと異なるOSである。
The middleware B20b is different from the middleware A10b. The
ミドルウェアA10bとミドルウェアB20bとは、CPU2にて実行されると、処理Aを実行させる旨の実行指示に基づいて、処理Aを実行する。しかしながら、ミドルウェアA10bとミドルウェアB20bでは、実行指示の形式が異なる。なお、処理Aは、例えば、関数を使用した処理である。 When the middleware A10b and the middleware B20b are executed by the CPU 2, the middleware A10b and the middleware B20b execute the process A based on an execution instruction to execute the process A. However, the middleware A10b and the middleware B20b have different execution instruction formats. The process A is a process using a function, for example.
プラットフォームA10cとプラットフォームB20cとは、CPU2にて実行されると、処理Bを実行させる旨の実行指示に基づいて、処理Bを実行する。しかしながら、プラットフォームA10cとプラットフォームB20cでは、実行指示の形式が異なる。なお、処理Bは、例えば、関数を使用した処理である。 When the platform A10c and the platform B20c are executed by the CPU 2, the platform A10c and the platform B20c execute the process B based on an execution instruction to execute the process B. However, the platform A10c and the platform B20c have different execution instruction formats. Note that the process B is a process using a function, for example.
CPU2は、処理部2aおよび2bと、統合I/F部2cと、開発中プログラム実行部2dと、プログラム生成部2eとを含む。
The CPU 2 includes processing units 2a and 2b, an integrated I /
CPU2は、コンピュータの一例であり、メモリ1に格納された種々のプログラムを読み取り、その読み取られたプログラムを実行することによって、処理部2aおよび2bと、統合I/F部2cと、開発中プログラム実行部2dとを実現する。
The CPU 2 is an example of a computer, and reads various programs stored in the memory 1 and executes the read programs, whereby the processing units 2a and 2b, the integrated I /
具体的には、CPU2は、システムプログラム1a1を実行して処理部2aを生成し、システムプログラム1a2を実行して処理部2bを生成し、統合I/Fプログラム1bを実行して統合I/F部2cを生成し、開発中プログラム1cを実行して開発中プログラム実行部2dを生成する。
Specifically, the CPU 2 executes the system program 1a1 to generate the processing unit 2a, executes the system program 1a2 to generate the processing unit 2b, executes the integrated I /
処理部2aは、プラットフォームA実行部2a1と、ライブラリA/ミドルウェアA実行部2a2とを含み、また、処理部2bは、プラットフォームB実行部2b1と、ライブラリA/ミドルウェアB実行部2b2とを含む。 The processing unit 2a includes a platform A execution unit 2a1 and a library A / middleware A execution unit 2a2, and the processing unit 2b includes a platform B execution unit 2b1 and a library A / middleware B execution unit 2b2.
さらに言えば、CPU2は、システムプログラム1a1内のプラットフォームA10cを実行してプラットフォームA実行部2a1を生成し、システムプログラム1a1内のライブラリA10aおよびミドルウェアA10bを実行してライブラリA/ミドルウェアA実行部2a2を生成する。 More specifically, the CPU 2 executes the platform A10c in the system program 1a1 to generate the platform A execution unit 2a1, and executes the library A10a and middleware A10b in the system program 1a1 to execute the library A / middleware A execution unit 2a2. Generate.
また、CPU2は、システムプログラム1a2内のプラットフォームB20cを実行してプラットフォームB実行部2b1を生成し、システムプログラム1a2内のライブラリA10aおよびミドルウェアB20bを実行してライブラリA/ミドルウェアB実行部2b2を生成する。 The CPU 2 executes the platform B20c in the system program 1a2 to generate the platform B execution unit 2b1, and executes the library A10a and the middleware B20b in the system program 1a2 to generate the library A / middleware B execution unit 2b2. .
入力部3は、プログラム作成者から、開発中プログラム1cを受け付ける。開発中プログラム1cは、所定形式の実行指示を含む。
The
また、入力部3は、複数のソフトウェアのいずれかを特定のソフトウェアとして指定する指定情報を受け付ける。なお、本実施例では、特定のソフトウェアとして、システムプログラム1a1または1a2が指定される。
Further, the
CPU2は、入力部3が開発中プログラム1cを受け付けると、開発中プログラム1cをメモリ1に格納する。
When the
また、CPU2は、入力部3が指定情報を受け付けると、その指定情報にて指定されたソフトウェア(システムプログラム1a1または1a2)を実行し、また、その指定情報を統合I/F部2cに提供する。
Further, when the
なお、CPU2は、入力部3が指定情報を受け付けると、システムプログラム1a1および1a2を実行してもよい。
Note that the CPU 2 may execute the system programs 1a1 and 1a2 when the
また、CPU2のプログラム生成部2eは、入力部3が指定情報を受け付けると、開発中プログラム1cと、統合I/Fプログラム1bとを含む統合プログラムを生成する。なお、統合I/Fプログラム1bは、開発中プログラム1cに含まれる所定形式の実行指示を、その指定情報にて指定された特定のソフトウェアに対応する形式に変換し、その変換された実行指示に基づく特定の処理を、その特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる。
Further, when the
開発中プログラム実行部2dは、開発中プログラム1cに示された所定形式の実行指示を実行する際、その所定形式の実行指示を統合I/F部2cに提供する。
When executing the execution instruction of the predetermined format shown in the
統合I/F部2cは、所定形式の実行指示を、指定情報にて指定されたソフトウェアに対応する形式に変換する。なお、この変換処理は、例えば、演算で行われる。
The integrated I /
統合I/F部2cは、その変換された実行指示を、指定情報にて指定されたソフトウェアを実行している処理部に提供する。その処理部は、その提供された実行指示に基づいて特定の処理を実行し、その処理結果を統合I/F部2cに提供する。統合I/F部2cは、その処理結果を所定の形式に変換して開発中プログラム実行部2dに提供する。
The integrated I /
プログラム作成者は、その処理結果を見て、開発中のプログラムが、予定されていた機能を有しているかを判定する。 The program creator looks at the processing result and determines whether the program under development has a planned function.
次に、動作を説明する。 Next, the operation will be described.
以下では、プログラム作成者がC言語プログラムで開発中プログラムを作成した例を説明する。 In the following, an example in which a program creator creates a program under development using a C language program will be described.
また、以下では、開発中プログラム実行部2d、統合I/F部2cおよび各処理部(プラットフォーム実行部とライブラリ/ミドルウェア実行部)は、特定の処理を関数で実行し、また、実行指示として、引数が用いられる。また、統合I/F部2cは、すでに指定情報を受け付けているとする。
In the following, the
ステップS1では、開発中プログラム実行部2dは、開発プログラム1c中の任意の関数にしたがって、その任意の関数にて指定された統合I/F部2c内の統一I/F関数に、その任意の関数にて指定された引数を設定する。なお、この引数は、所定形式である。統合I/F部2cは、統一I/F関数に引数が設定されると、ステップS2を実行する。
In step S1, the under-development
ステップS2では、統合I/F部2cは、引数が設定された統一I/F関数を実行し、指定情報にて指定されたソフトウェア内の関数の中から、引数が設定された統一I/F関数にあらかじめ対応づけられた関数を選定し、開発中プログラム実行部2dにて設定された引数を、その選定された関数に応じた形式に変換する。統合I/F部2cは、引数の変換が修了すると、ステップS3を実行する。
In step S2, the integrated I /
ステップS3では、統合I/F部2cは、引数が設定された統一I/F関数にしたがって、その選定された関数に、その変換された引数を設定する。その選定された関数を有する処理部は、引数が設定されると、ステップS4を実行する。
In step S3, the integrated I /
ステップS4では、その処理部は、その引数が設定された関数を実行する。その処理部は、その関数の実行が修了すると、ステップS5を実行する。 In step S4, the processing unit executes a function in which the argument is set. When the execution of the function is completed, the processing unit executes step S5.
ステップS5では、その処理部は、その実行結果を、戻り値として統合I/F部2cに返す。統合I/F部2cは、戻り値を受け付けると、ステップS6を実行する。
In step S5, the processing unit returns the execution result to the integrated I /
ステップS6では、統合I/F部2cは、その戻り値を、所定の形式、具体的には、統合I/F部2cの戻り値として予め設定された形式に変換する。統合I/F部2cは、戻り値の形式を変換すると、ステップS7を実行する。
In step S6, the integrated I /
ステップS7では、統合I/F部2cは、その変換された戻り値を、統合I/F部2cの戻り値として、開発中プログラム実行部2dに返す。
In step S7, the integrated I /
プログラム作成者は、その戻り値を見て、開発中のプログラムが、予定されていた機能を有しているかを判定する。 The program creator looks at the return value and determines whether the program under development has the planned function.
図2は、開発中プログラム1cの一例を示した説明図である。
FIG. 2 is an explanatory diagram showing an example of the program under
図2において、ret=alti_sin(*in_a,*out_r)が、任意の関数1c1の一例であり、「int alti_sin」が統一I/F関数を示し、「float *in_a, float *out_r」が所定形式の引数を示す。 In FIG. 2, ret = alti_sin ( * in_a, * out_r) is an example of an arbitrary function 1c1, “int alti_sin” indicates a unified I / F function, and “float * in_a, float * out_r” is a predetermined format. Indicates an argument.
この場合、開発中プログラム実行部2dは、統合I/F部2c内の統一I/F関数「int alti_sin」に、引数「float *in_a, float *out_r」を設定する。
In this case, the developing
図3は、統合I/Fプログラム1bの一例、具体的には、統一I/F関数「int alti_sin」を示した説明図である。
FIG. 3 is an explanatory diagram showing an example of the integrated I /
このとき、指定情報がプラットフォームAを示していると、統合I/F部2cは、統一I/F関数「int alti_sin」にしたがって、所定形式の引数「*in_a,*out_r」(表現上はinput_data,output_data)を、統一I/F関数「int alti_sin」に対応するプラットフォームAの関数「void vsip_vcos_f」に応じた形式の「const vsip_vview_f *a, const vsip_vview_f *r」に変換する。
At this time, if the designation information indicates the platform A, the integrated I /
統合I/F部2cは、プラットフォームAの関数「void vsip_vcos_f」に、引数「const vsip_vview_f *a, const vsip_vview_f *r」を設定する。
The integrated I /
プラットフォームA実行部2a1は、引数「const vsip_vview_f *a, const vsip_vview_f *r」が設定された関数「void vsip_vcos_f」を実行する。 The platform A execution unit 2a1 executes the function “void vsip_vcos_f” in which the arguments “const vsip_vview_f * a, const vsip_vview_f * r” are set.
プラットフォームA実行部2a1は、その実行結果を、戻り値として、統合I/F部2cに提供する。
The platform A execution unit 2a1 provides the execution result as a return value to the integrated I /
統合I/F部2cは、その戻り値を、統合I/F部2cの戻り値として予め設定された形式に変換する。統合I/F部2cは、その変換された戻り値を、統合I/F部2cの戻り値として、開発中プログラム実行部2dに返す。
The integrated I /
図4は、図2および3に示した関数、引数および戻り値を示した説明図である。 FIG. 4 is an explanatory diagram showing the functions, arguments, and return values shown in FIGS.
なお、指定情報がプラットフォームBを示していると、統合I/F部2cは、統一I/F関数「int alti_sin」にしたがって、所定形式の引数「*in_a,*out_r」(input_data,output_data)を、統一I/F関数「int alti_sin」に対応するプラットフォームBの関数に応じた形式に変換する。例えば、統合I/F部2cは、所定形式の引数に、プラットフォームBの関数が必要とするパラメータを追加する。
Note that if the designation information indicates the platform B, the integrated I /
統合I/F部2cは、そのプラットフォームBの関数に、変換された引数を設定する。
The integrated I /
プラットフォームB実行部2b1は、引数が設定された関数を実行する。 The platform B execution unit 2b1 executes a function for which an argument is set.
プラットフォームA実行部2b1は、その実行結果を、戻り値として、統合I/F部2cに提供する。
The platform A execution unit 2b1 provides the execution result as a return value to the integrated I /
統合I/F部2cは、その戻り値を、統合I/F部2cの戻り値として予め設定された形式に変換する。統合I/F部2cは、その変換された戻り値を、統合I/F部2cの戻り値として、開発中プログラム実行部2dに返す。
The integrated I /
図5は、本プログラム開発支援装置を用いたプログラム開発システムを示したブロック図である。なお、図5において、図1に示したものと同一のものには同一符号を附してある。 FIG. 5 is a block diagram showing a program development system using this program development support apparatus. In FIG. 5, the same components as those shown in FIG.
図5において、本プログラム開発システムは、プログラム開発支援装置100と、構成管理用サーバ200と、構成管理用サーバ操作用PC300とを含む。
In FIG. 5, the program development system includes a program
構成管理用サーバ200は、ソフトウェアのバージョン管理を行い、また、ソースプログラムの一括管理を行う。
The
構成管理用サーバ操作用PC300は、構成管理用サーバ200に保存されているソースプログラムを取り出し、また、ソースプログラムを構成管理用サーバ200に登録する。
The configuration management
プログラム開発支援装置100は、ソフトウェア(プログラム)を作成し、また、構成管理用サーバ操作用PC300にて取り出されたソースプログラムの修正を行い、また、作成または修正したプログラムの実行および試験を行う。
The program
図6は、本プログラム開発システムの動作を説明するためのフローチャートである。 FIG. 6 is a flowchart for explaining the operation of the program development system.
以下、図6を参照して、本プログラム開発システムの動作を説明する。 The operation of the program development system will be described below with reference to FIG.
ステップS101では、構成管理用サーバ200が立ち上げられ、ステップS102では、構成管理用サーバ操作用PC300が立ち上げられる。
In step S101, the
その後、ステップS103で、構成管理用サーバ200は、構成管理用サーバ操作用PC300と接続し、ステップS104で、構成管理用サーバ操作用PC300は、構成管理用サーバ200への接続を確認する。
Thereafter, in step S103, the
一方、ステップS105では、プログラム開発支援装置100は、プログラム作成者からの入力に基づいて、モジュールごとに機能構成を作成する。
On the other hand, in step S105, the program
その後、ステップS106では、プログラム開発支援装置100は、プログラム作成者からの入力に基づいて、モジュールを構成する細部機能に対する関数の詳細を作成する。
After that, in step S106, the program
その後、ステップS107では、プログラム開発支援装置100は、プログラム作成者からの入力に基づいて、関数の詳細をもとにプログラムを作成する。なお、ステップS107は、構成に関するすべての関数が作成されるまで行われる(ステップS108)。
Thereafter, in step S107, the program
構成に関するすべての関数が作成されると、プログラム開発支援装置100は、ステップS109を実行する。
When all the functions related to the configuration are created, the program
ステップS109では、プログラム開発支援装置100は、作成したモジュールごとに、そのモジュールに記載された関数を実行するソフトウェアを示す指示情報を受け付け、各モジュールが、その指示情報に示されたソフトウェアに応じてコンパイルされるように設定する。このコンパイルは、プログラム生成部2eにて実行される。
In step S109, for each created module, the program
その後、ステップS110では、プログラム開発支援装置100は、モジュール別に、機能動作を確認する。なお、この動作は、上述したように、統合I/F部2cを用いて実行される。
Thereafter, in step S110, the program
ステップS110での確認の結果、各モジュールが、求められる機能を満たしていないと、ステップS107が実行され、一方、各モジュールが、求められる機能を満たしていると、ステップS112が実行される。 As a result of the confirmation in step S110, if each module does not satisfy the required function, step S107 is executed. On the other hand, if each module satisfies the required function, step S112 is executed.
ステップS112では、プログラム開発支援装置100は、作成したモジュールを構成管理用サーバ200へ登録する手続きを行う。具体的には、プログラム開発支援装置100は、構成管理用サーバ操作用PC300に、登録するモジュール(関数、プログラム等)を提供する。構成管理用サーバ操作用PC300は、モジュールを受け付けると、ステップS113を実行する。
In step S112, the program
ステップS113では、構成管理用サーバ操作用PC300は、構成管理サーバ200にログインする。
In step S <b> 113, the configuration management
その後、ステップS114で、構成管理用サーバ操作用PC300は、モジュールの登録手続きを行う。具体的には、構成管理用サーバ操作用PC300は、機能確認が完了したモジュール群を、構成管理用サーバ200に提供する。
After that, in step S114, the configuration management
その後、ステップS115で、構成管理用サーバ200は、そのモジュール群を登録する。
Thereafter, in step S115, the
その後、ステップS116で、構成管理用サーバ操作用PC300は、登録完了を通知する。具体的には、構成管理用サーバ操作用PC300は、登録完了をプログラム開発支援装置100に通知する。
Thereafter, in step S116, the configuration management
その後、ステップS117で、プログラム開発支援装置100は、モジュール登録完了を確認する。
Thereafter, in step S117, the program
本実施例によれば、統合I/F部2cは、受け付けられたプログラム内の所定形式の実行指示を、指定情報にて指定された特定のソフトウェアに対応する形式に変換し、その特定のソフトウェアを実行する処理部に、その変換された実行指示に基づく特定の処理を実行させ、その処理結果を所定形式に変換して開発中プログラム実行部2dに戻す。
According to the present embodiment, the integrated I /
このため、実行指示が所定形式で作成されていれば、その実行指示は、複数のソフトウェアのいずれでも実行可能となり、また、プログラム作成者は、その処理結果によって、プログラムの動作確認を行える。 Therefore, if the execution instruction is generated in a predetermined format, the execution instruction can be executed by any of a plurality of software, and the program creator can check the operation of the program based on the processing result.
したがって、プログラム作成者は、所定形式の実行指示を含むプログラムを作成すれば、そのプログラムを、実行指示の形式が互いに異なる複数のソフトウェアに実行させることが可能になる。 Therefore, if a program creator creates a program including an execution instruction in a predetermined format, the program can be executed by a plurality of software programs having different execution instruction formats.
よって、プログラム作成者は、ソフトウェアごとに、別々にプログラムを作成する必要がなくなり、プログラム作成者が各処理部の使い方(ルール)を学ぶ負担を少なくすることが可能になる。その結果、プログラム作成者は、インタフェースの違いを意識せずにソフトウェア開発を行うことが可能になる。 Therefore, the program creator does not need to create a program separately for each software, and the burden of the program creator learning how to use each processing unit (rule) can be reduced. As a result, the program creator can develop software without being aware of the difference in interface.
また、システムとしてオーバーヘッドが大きくならないようにすることが可能になる。 Further, it is possible to prevent the overhead from increasing as a system.
また、プログラム生成部2eは、開発中プログラム1cと、統合I/Fプログラム1bとを含むプログラムを生成する。プログラム生成部2eにて生成されたプログラムは、様々なシステムで利用できるようなプログラム(モジュール)になる。よって、プログラム作成者は、インタフェースの違いを意識せずにプログラムを生成できる。
The program generation unit 2e generates a program including the program under
また、開発ごとに使用するライブラリの使い方/手順の違いによる習熟時間による遅延を軽減することが可能となる。 It is also possible to reduce delays due to learning time due to differences in the usage / procedure of the library used for each development.
また、同じ機能を有するプログラムの他システムでの流用または再利用が可能となる。 In addition, the program having the same function can be used or reused in another system.
よって、システムごとに作成していた同じ機能のプログラムを重複して作成するためにかかる工数を抑えられる。統一したインタフェースを用いることで、プログラム開発手順を共通化することが可能となる。同じ機能のプログラムを再利用することができ、部品化および再利用の比率を増やすことが可能となる。 Therefore, it is possible to reduce the man-hours required to create the same function program created for each system in duplicate. By using a unified interface, it is possible to share the program development procedure. Programs with the same function can be reused, and the ratio of componentization and reuse can be increased.
なお、ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアであってもよく、適宜変更可能である。 The software may be a platform, a library, or middleware, and can be changed as appropriate.
本実施例は、ソフトウェア開発分野、特には、通信I/Fを有するソフトウェア開発分野、組込み用信号処理モジュールを用いたソフトウェア開発分野、GUIを用いたソフトウェア開発分野での利用が考えられる。 The present embodiment can be used in the software development field, particularly the software development field having a communication I / F, the software development field using an embedded signal processing module, and the software development field using a GUI.
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。 In the embodiment described above, the illustrated configuration is merely an example, and the present invention is not limited to the configuration.
1 メモリ
1a1 システムプログラム
1a2 システムプログラム
1b 統合I/Fプログラム
1c 開発中プログラム
10a ライブラリA
10b ミドルウェアA
10c プラットフォームA
20b ミドルウェア20b
20c プラットフォームB
2 CPU
2a 処理部
2a1 プラットフォームA実行部
2a2 ライブラリA/ミドルウェアA実行部
2b 処理部
2b1 プラットフォームB実行部
2b2 ライブラリA/ミドルウェアB実行部
2c 統合I/F部
2d 開発中プログラム実行部
3 入力部
100 プログラム開発支援装置
200 構成管理用サーバ
300 構成管理用サーバ操作用PC
1 Memory 1a1 System program 1a2
10b Middleware A
10c Platform A
20b middleware 20b
20c Platform B
2 CPU
2a processing unit 2a1 platform A execution unit 2a2 library A / middleware A execution unit 2b processing unit 2b1 platform B execution unit 2b2 library A / middleware
Claims (8)
特定の処理を実行させる旨の実行指示に基づいて該特定の処理を実行し、かつ、該実行指示の形式が互いに異なる複数のソフトウェアを格納する格納部と、
前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報と、所定形式の前記実行指示を含むプログラムと、を受け付ける入力部と、
前記指定情報にて指定された特定のソフトウェアを実行する処理部と、
前記入力部が受け付けたプログラムを実行するプログラム実行部と、
前記プログラム実行部が実行するプログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理部に、該変換された実行指示に基づく前記特定の処理を実行させ、該処理部の処理結果を所定形式に変換して前記プログラム実行部に戻す統合インタフェース部と、を含むプログラム開発支援装置。 A program development support device that supports development of a program corresponding to specific software,
A storage unit that executes the specific process based on an execution instruction to execute the specific process, and stores a plurality of pieces of software having different formats of the execution instruction;
An input unit for receiving designation information for designating any one of the plurality of software as the specific software and a program including the execution instruction in a predetermined format;
A processing unit for executing the specific software designated by the designation information;
A program execution unit for executing a program received by the input unit;
The execution instruction in the predetermined format included in the program executed by the program execution unit is converted into an execution instruction in a format corresponding to the specific software designated by the designation information, and the converted instruction is sent to the processing unit. An integrated interface unit that executes the specific processing based on an execution instruction, converts a processing result of the processing unit into a predetermined format, and returns the processing result to the program execution unit.
前記格納部は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、
前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成するプログラム生成部を、さらに含むプログラム開発支援装置。 The program development support apparatus according to claim 1,
The storage unit converts the execution instruction of the predetermined format included in the program into an execution instruction of a format corresponding to the specific software specified by the specification information, and the specification based on the converted execution instruction An integrated interface program for causing the computer to execute a conversion process for causing the specific software to execute the process of:
A program development support apparatus further including a program generation unit that generates an integrated program including the program and the integrated interface program.
前記ソフトウェアは、前記特定の処理を関数で実行し、
前記実行指示は、引数である、プログラム開発支援装置。 In the program development support device according to claim 1 or 2,
The software executes the specific process as a function,
The program development support apparatus, wherein the execution instruction is an argument.
前記ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアである、プログラム開発支援装置。 The program development support device according to any one of claims 1 to 3,
The software is a program development support apparatus that is a platform, a library, or middleware.
前記複数のソフトウェアのいずれかを前記特定のソフトウェアとして指定する指定情報を受け付ける指定情報受付ステップと、
所定形式の前記実行指示を含むプログラムを受け付けるプログラム受付ステップと、
前記指定情報にて指定された特定のソフトウェアを実行する処理ステップと、
前記入力部が受け付けたプログラムを実行するプログラム実行ステップと、
前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式の実行指示に変換し、前記処理ステップで、該変換された実行指示に基づく前記特定の処理を実行させ、その処理結果を所定形式に変換する制御ステップと、を含むプログラム開発支援方法。 Based on an execution instruction for executing the specific process, the specific process is executed, and a plurality of pieces of software having different execution instruction formats are stored to support development of a program corresponding to the specific software. A program development support method performed by a program development support device,
A designation information receiving step for accepting designation information for designating any one of the plurality of software as the specific software;
A program receiving step for receiving a program including the execution instruction in a predetermined format;
A processing step of executing the specific software designated by the designation information;
A program execution step for executing the program received by the input unit;
The execution instruction in the predetermined format included in the program is converted into an execution instruction in a format corresponding to the specific software specified by the specification information, and the specification based on the converted execution instruction in the processing step And a control step for converting the processing result into a predetermined format.
前記プログラム開発支援装置は、前記プログラムに含まれる前記所定形式の実行指示を、前記指定情報にて指定された特定のソフトウェアに対応する形式に変換し、該変換された実行指示に基づく前記特定の処理を前記特定のソフトウェアに実行させる変換処理を、コンピュータに実行させる統合インタフェースプログラムを格納し、
前記プログラムと、前記統合インタフェースプログラムと、を含む統合プログラムを生成するプログラム生成ステップを、さらに含むプログラム開発支援方法。 The program development support method according to claim 5,
The program development support device converts the execution instruction in the predetermined format included in the program into a format corresponding to the specific software specified by the specification information, and the specific execution based on the converted execution instruction Storing an integrated interface program for causing a computer to execute conversion processing for causing the specific software to execute processing;
A program development support method further comprising a program generation step of generating an integrated program including the program and the integrated interface program.
前記ソフトウェアは、前記特定の処理を関数で実行し、
前記実行指示は、引数である、プログラム開発支援方法。 The program development support method according to claim 5 or 6,
The software executes the specific process as a function,
The program development support method, wherein the execution instruction is an argument.
前記ソフトウェアは、プラットフォーム、ライブラリまたはミドルウェアである、プログラム開発支援方法。 The program development support method according to any one of claims 5 to 7,
The program development support method, wherein the software is a platform, a library, or middleware.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005328706A JP2007133820A (en) | 2005-11-14 | 2005-11-14 | Program development support device and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005328706A JP2007133820A (en) | 2005-11-14 | 2005-11-14 | Program development support device and method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007133820A true JP2007133820A (en) | 2007-05-31 |
Family
ID=38155401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005328706A Pending JP2007133820A (en) | 2005-11-14 | 2005-11-14 | Program development support device and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007133820A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140060299A (en) * | 2011-09-07 | 2014-05-19 | 마이크로소프트 코포레이션 | Transformational context-aware data source management |
KR101607704B1 (en) | 2008-04-17 | 2016-04-11 | 주식회사 알티캐스트 | Method and System for producing application |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01116829A (en) * | 1987-10-30 | 1989-05-09 | Fujitsu Ltd | Program translating system |
JPH0667867A (en) * | 1992-06-15 | 1994-03-11 | Fuji Xerox Co Ltd | Data base accessing system for application program |
JP2001331310A (en) * | 2000-05-18 | 2001-11-30 | Ntt Data Creation Kk | Method and device for converting interface and recording medium with recorded interface conversion program |
-
2005
- 2005-11-14 JP JP2005328706A patent/JP2007133820A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01116829A (en) * | 1987-10-30 | 1989-05-09 | Fujitsu Ltd | Program translating system |
JPH0667867A (en) * | 1992-06-15 | 1994-03-11 | Fuji Xerox Co Ltd | Data base accessing system for application program |
JP2001331310A (en) * | 2000-05-18 | 2001-11-30 | Ntt Data Creation Kk | Method and device for converting interface and recording medium with recorded interface conversion program |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101607704B1 (en) | 2008-04-17 | 2016-04-11 | 주식회사 알티캐스트 | Method and System for producing application |
KR20140060299A (en) * | 2011-09-07 | 2014-05-19 | 마이크로소프트 코포레이션 | Transformational context-aware data source management |
JP2014529832A (en) * | 2011-09-07 | 2014-11-13 | マイクロソフト コーポレーション | Conversion content-aware data source management |
JP2017215999A (en) * | 2011-09-07 | 2017-12-07 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Transformational context-aware data source management |
KR101944570B1 (en) | 2011-09-07 | 2019-01-31 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Transformational context-aware data source management |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220222170A1 (en) | Software development framework for a cloud computing platform | |
US8826224B2 (en) | Apparatus and method for supporting model-driven development | |
US8307379B2 (en) | Determining an extension to use to process an input object to a call in a program | |
CN111399853B (en) | Templated deployment method for machine learning model and custom operator | |
US8201143B2 (en) | Dynamic mating of a modified user interface with pre-modified user interface code library | |
JP2011060277A (en) | Integration environment generator | |
US20080244562A1 (en) | Method of Identifying and Checking Software Installation Requirements | |
JP2005182775A (en) | Driver-specific context for kernel mode shimming | |
US20060243787A1 (en) | Providing diagnostic information on the processing of variables in source code | |
US20090144711A1 (en) | System and method for common compiler services based on an open services gateway initiative architecture | |
CN111427583A (en) | Component compiling method and device, electronic equipment and computer readable storage medium | |
US20220027139A1 (en) | Application program updating method, apparatus, system, medium and device | |
US7861236B2 (en) | System and method for version control for software development | |
US20030074656A1 (en) | Program execution apparatus and method, computer program for performing the program execution method, image forming system, and address solution method | |
EP1990715A1 (en) | System, apparatus and method for programming a computing device | |
JP2007133820A (en) | Program development support device and method | |
Blanchard et al. | Logic against ghosts: comparison of two proof approaches for a list module | |
CN117112060A (en) | Component library construction method and device, electronic equipment and storage medium | |
JP2008165342A (en) | Source code creating method, device and program | |
Kano | Kachako: A Hybrid-Cloud Unstructured Information Platform for Full Automation of Service Composition, Scalable Deployment and Evaluation: Natural Language Processing as an Example | |
US20070050706A1 (en) | Method of xml transformation and presentation utilizing an application-specific parser | |
JP2009098872A (en) | Source program analysis device, source program analysis method and computer program | |
CN113032004A (en) | Method, apparatus and program product for managing development jobs in a development environment | |
JP5845788B2 (en) | Execution control program, execution control apparatus, and execution control method | |
US20120239985A1 (en) | Computer-readable medium storing wrapper program and integrated circuit apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110615 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |