JP2009223366A - Software generation system, source code communalization method, and program for creating software - Google Patents

Software generation system, source code communalization method, and program for creating software Download PDF

Info

Publication number
JP2009223366A
JP2009223366A JP2008063966A JP2008063966A JP2009223366A JP 2009223366 A JP2009223366 A JP 2009223366A JP 2008063966 A JP2008063966 A JP 2008063966A JP 2008063966 A JP2008063966 A JP 2008063966A JP 2009223366 A JP2009223366 A JP 2009223366A
Authority
JP
Japan
Prior art keywords
client
source code
server
module
communication
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.)
Withdrawn
Application number
JP2008063966A
Other languages
Japanese (ja)
Inventor
Kazuto Ichimura
和人 市村
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008063966A priority Critical patent/JP2009223366A/en
Publication of JP2009223366A publication Critical patent/JP2009223366A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To make common the source code of a client/server. <P>SOLUTION: A server module generation part compiles a server source code, and links the compiled module to a communication server library to generate a server module. Furthermore, a communication interface extraction part extracts the communication interface on the basis of the server source code, and transfers it to a communication generation part. Further, the communication client generation part generates a communication source code on the basis of the transferred communication interface. A client module generation part compiles the client source code and the generated communication client source code, and finally links the compiled modules to generate the client module. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ソフトウェア生成システムに関し、特にクライアント/サーバのソースコードを共通化するソフトウェア生成システムに関する。   The present invention relates to a software generation system, and more particularly to a software generation system for sharing client / server source code.

これまで、クライアント/サーバのソフトウェア開発では、サーバ部分とクライアント部分の通信モジュールは別々に開発され、仕様変更時のインターフェース同期・結合時の動作テスト等、開発が容易ではなかった。   Until now, in the client / server software development, the communication module for the server part and the client part has been developed separately, and it has not been easy to develop such as an operation test for interface synchronization / combination when changing specifications.

近年、「.NET Remoting」、「Windows(登録商標) Communication Foundation(WCF)」等の技術を用いることでクライアント/サーバの通信モジュールを自動生成することができるようになり開発が容易になった。それでもなお、サーバ部分とクライアント部分は分離され別々に開発を行う必要がある。   In recent years, it has become possible to automatically generate a client / server communication module by using technologies such as “.NET Remoting”, “Windows (registered trademark) Communication Foundation (WCF)”, and the development has become easier. Nevertheless, the server and client parts must be separated and developed separately.

ここで、WCFについて具体的に説明する。
図1に示すように、WCFは、サーバソースコード1と、通信インターフェースソースコード2と、サーバモジュール生成部3と、サーバモジュール4と、通信クライアントソースコード生成部5と、通信クライアントソースコード6と、クライアントソースコード7と、クライアントモジュール生成部8と、クライアントモジュール9とを備える。
Here, the WCF will be specifically described.
As shown in FIG. 1, the WCF includes a server source code 1, a communication interface source code 2, a server module generation unit 3, a server module 4, a communication client source code generation unit 5, and a communication client source code 6. The client source code 7, the client module generation unit 8, and the client module 9 are provided.

まず、開発者は、サーバソースコード1と通信インターフェースソースコード2とを作成する。サーバ生成部3は、サーバソースコード1と通信インターフェースソースコード2を入力として、サーバモジュール4を生成する。通信クライアント生成部5は、サーバモジュール4を入力として、通信クライアントソースコード6を生成する。開発者は、通信クライアントソースコード6を呼び出す形でクライアントソースコード7を作成する。クライアントモジュール生成部8は、通信クライアントソースコード6とクライアントソースコード7をコンパイルしてクライアントモジュール9を生成する。   First, the developer creates a server source code 1 and a communication interface source code 2. The server generation unit 3 receives the server source code 1 and the communication interface source code 2 as input and generates a server module 4. The communication client generation unit 5 receives the server module 4 and generates a communication client source code 6. The developer creates the client source code 7 by calling the communication client source code 6. The client module generation unit 8 compiles the communication client source code 6 and the client source code 7 to generate a client module 9.

関連する技術として、特開2000−137600号公報(特許文献1)にクライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体が開示されている。
この関連技術では、入力装置からのソースコードが、データ解析装置の処理関数データ抽出部に入力される。処理関数データ抽出部では、GUI(Graphical User Interface)画面のソースコードを検索し、このソースコード中にGUI画面で発生するイベント処理で呼び出している処理関数を抽出する。ここで、抽出した処理にGUI画面に対する処理以外の処理が含まれているかを判断する。この判断でGUI画面に対する処理以外の処理が含まれていない場合、GUI画面が他の処理と関連していないため、アプリケーションの分割を行わない。したがって、エラーメッセージを出力し、その表示を行って処理終了となる。また、サーバアプリケーション出力部に対して、サーバアプリケーション作成部で作成されたソースコードが付与され、このソースコードがハードディスク装置等に保存される。同様に、クライアントアプリケーション出力部に対して、クライアントアプリケーション作成部で作成されたソースコードが付与され、このソースコードがハードディスク装置などに保存される。
As a related technique, Japanese Patent Laid-Open No. 2000-137600 (Patent Document 1) discloses a client / server application creation method, an apparatus therefor, and an information recording medium.
In this related technique, the source code from the input device is input to the processing function data extraction unit of the data analysis device. The processing function data extraction unit searches the source code of the GUI (Graphical User Interface) screen, and extracts the processing function called in the event processing generated on the GUI screen from the source code. Here, it is determined whether the extracted process includes a process other than the process for the GUI screen. If this determination does not include any process other than the process for the GUI screen, the application screen is not divided because the GUI screen is not related to other processes. Therefore, an error message is output, displayed, and the process ends. Further, the source code created by the server application creation unit is given to the server application output unit, and this source code is stored in a hard disk device or the like. Similarly, the source code created by the client application creation unit is assigned to the client application output unit, and this source code is stored in a hard disk device or the like.

但し、この関連技術では、GUIソースコードからクライアントソースコード及びサーバソースコードを生成し、そこからクライアントアプリケーションおよびサーバアプリケーションを出力する。このため、開発者は、クライアントソースコード、サーバソースコードに触れることができない。例えば、クライアントのみで完結させるべき処理であっても、この関連技術の方式では、必ずクライアント/サーバに分割され、サーバアプリケーションで処理することになる。   However, in this related technology, a client source code and a server source code are generated from the GUI source code, and a client application and a server application are output therefrom. For this reason, the developer cannot touch the client source code and the server source code. For example, even a process that should be completed only by a client is always divided into a client / server and processed by a server application in this related art method.

クライアント/サーバアプリケーションの開発では、一般的に、クライアントソースコードとサーバソースコードの2つに分けられ煩雑となる。上記の関連技術においては、GUIアプリケーションに限定することにより、ソースコードを1つで済ますことでこの課題を解決している。逆に、GUIアプリケーション以外では開発を容易にする手段を提供していない。   In developing a client / server application, it is generally divided into two parts, a client source code and a server source code. In the related technology described above, this problem is solved by limiting the number of GUI applications to one source code. Conversely, no means other than a GUI application is provided to facilitate development.

特開2000−137600号公報JP 2000-137600 A

本発明の目的は、クライアント/サーバのソースコードを共通化するためのソフトウェア生成システム、ソースコード共通化方法、及びソフトウェア生成用プログラムを提供することである。   An object of the present invention is to provide a software generation system, a source code sharing method, and a software generation program for sharing the source code of a client / server.

本発明のソフトウェア生成システムは、クライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力とする。本発明のソフトウェア生成システムは、サーバソースコードを入力として通信に用いられるインタフェースを抽出する通信インターフェース抽出手段と、通信インターフェース抽出手段により抽出されたインタフェースを基に通信クライアントソースコードを生成する通信クライアントコード生成手段と、クライアントソースコード及び通信クライアントソースコードをコンパイルしてクライアントモジュールを生成し出力するクライアントモジュール生成手段と、サーバソースコードをコンパイルして通信サーバライブラリとリンクしてサーバモジュールを生成し出力するサーバモジュール生成手段とを具備する。   The software generation system of the present invention receives a client source code and a server source code as inputs and outputs a client module and a server module as outputs. A software generation system according to the present invention includes a communication interface extraction unit that extracts an interface used for communication by using a server source code as an input, and a communication client code that generates a communication client source code based on the interface extracted by the communication interface extraction unit Generating means; client module generating means for compiling client source code and communication client source code to generate and outputting a client module; and server source code being compiled and linked with a communication server library to generate and output a server module. Server module generation means.

本発明のソースコード共通化方法では、クライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力とする。本発明のソースコード共通化方法は、サーバソースコードをコンパイルして通信サーバライブラリとリンクしてサーバモジュールを生成し出力するステップと、サーバソースコードを基に通信インターフェースを抽出するステップと、抽出された通信インターフェースを基に通信クライアントソースコードを生成するステップと、クライアントソースコード及び通信クライアントソースコードをコンパイルしてクライアントモジュールを生成し出力するステップとを含む。   In the source code sharing method of the present invention, the client source code and the server source code are input, and the client module and the server module are output. The source code sharing method of the present invention is extracted by compiling server source code and linking with a communication server library to generate and outputting a server module, extracting a communication interface based on the server source code, Generating a communication client source code based on the communication interface, and compiling the client source code and the communication client source code to generate and outputting a client module.

本発明のソフトウェア生成用プログラムは、コンピュータにクライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力させるためのプログラムである。本発明のソフトウェア生成用プログラムは、サーバソースコードをコンパイルして通信サーバライブラリとリンクしてサーバモジュールを生成し出力するステップと、サーバソースコードを基に通信インターフェースを抽出するステップと、抽出された通信インターフェースを基に通信クライアントソースコードを生成するステップと、クライアントソースコード及び通信クライアントソースコードをコンパイルしてクライアントモジュールを生成し出力するステップとをコンピュータに実行させる。   The software generation program of the present invention is a program for causing a computer to output a client module and a server module by inputting a client source code and a server source code. The software generation program of the present invention includes a step of compiling server source code and linking with a communication server library to generate and outputting a server module, extracting a communication interface based on the server source code, and extracting A computer is caused to execute a step of generating communication client source code based on the communication interface and a step of compiling the client source code and the communication client source code to generate and output a client module.

クライアント/サーバ間の通信インターフェースの整合性が容易にチェックできる。   The consistency of the communication interface between the client / server can be easily checked.

以下に、本発明の実施形態について添付図面を参照して説明する。
図2を参照すると、本発明のソフトウェア生成システムは、クライアントソースコード11と、サーバソースコード12と、通信インターフェース抽出部13と、通信クライアントコード生成部14と、クライアントモジュール生成部15と、サーバモジュール生成部16と、クライアントモジュール17と、サーバモジュール18とを備える。
Embodiments of the present invention will be described below with reference to the accompanying drawings.
Referring to FIG. 2, the software generation system of the present invention includes a client source code 11, a server source code 12, a communication interface extraction unit 13, a communication client code generation unit 14, a client module generation unit 15, and a server module. A generation unit 16, a client module 17, and a server module 18 are provided.

クライアントソースコード11は、開発者が記述するソースコードである。例えば、クライアントソースコード11は、クライアント環境で処理されるアプリケーションプログラムのソースコードである。但し、実際には、クライアントソースコード11は、クライアント環境で処理されるアプリケーションプログラムの設定ファイルを含んでいても良い。クライアント環境の例としては、クライアントマシンや、シンクライアント端末、或いは、クライアントとして機能する仮想マシン(Virtual Machine(VM))環境が考えられる。但し、実際には、これらの例に限定されない。   The client source code 11 is source code written by a developer. For example, the client source code 11 is a source code of an application program processed in the client environment. However, actually, the client source code 11 may include a setting file for an application program processed in the client environment. As an example of the client environment, a client machine, a thin client terminal, or a virtual machine (Virtual Machine (VM)) environment that functions as a client can be considered. However, actually, it is not limited to these examples.

サーバソースコード12は、開発者が記述するソースコードである。ここでは、サーバソースコード12は、クライアントソースコード11とは異なるものとする。例えば、サーバソースコード12は、サーバ環境で処理されるアプリケーションプログラムのソースコードである。但し、実際には、サーバソースコード11は、サーバ環境で処理されるアプリケーションプログラムの設定ファイルを含んでいても良い。サーバ環境の例としては、サーバマシンや、サーバとして機能する仮想マシン(VM)環境が考えられる。すなわち、「ハードウェアとしてのサーバ」、「ソフトウェアとしてのサーバ」及び、これら両方をあわせた「システムとしてのサーバ」のいずれでも良い。但し、実際には、これらの例に限定されない。   The server source code 12 is source code written by a developer. Here, it is assumed that the server source code 12 is different from the client source code 11. For example, the server source code 12 is a source code of an application program processed in the server environment. However, actually, the server source code 11 may include a setting file of an application program processed in the server environment. Examples of the server environment include a server machine and a virtual machine (VM) environment that functions as a server. That is, any of “server as hardware”, “server as software”, and “server as system” combining both of them may be used. However, actually, it is not limited to these examples.

通信インターフェース抽出部13は、サーバソースコード12を入力として通信に必要なインターフェースを抽出する。例えば、通信インターフェース抽出部13は、入力されたサーバソースコード12を取得した際に、本発明のソフトウェア生成システムが利用可能なインターフェースのリスト情報を参照し、リスト情報から通信に必要なインターフェースを選択する。或いは、通信インターフェース抽出部13は、入力されたサーバソースコード12を取得した際に、通信に必要なインターフェースを検出する。この場合、通信インターフェース抽出部13は、各種インターフェースに関するリスト情報を保有していると好適である。なお、インタフェースの例として、NIC(Network Interface Card)等のネットワークアダプタ、USB(Universal Serial Bus)ケーブル等の接続口(コネクタ)、シリアル通信等の通信ポート、アンテナ等の通信装置等が考えられる。但し、実際には、これらの例に限定されない。   The communication interface extraction unit 13 receives the server source code 12 and extracts an interface necessary for communication. For example, when acquiring the input server source code 12, the communication interface extraction unit 13 refers to the list information of the interfaces that can be used by the software generation system of the present invention, and selects an interface necessary for communication from the list information To do. Alternatively, the communication interface extraction unit 13 detects an interface necessary for communication when the input server source code 12 is acquired. In this case, it is preferable that the communication interface extraction unit 13 holds list information regarding various interfaces. Examples of the interface include a network adapter such as NIC (Network Interface Card), a connection port (connector) such as a USB (Universal Serial Bus) cable, a communication port such as serial communication, and a communication device such as an antenna. However, actually, it is not limited to these examples.

通信クライアントコード生成部14は、通信インターフェース抽出部13で抽出されたインターフェースを基に通信クライアントソースコードを生成する。   The communication client code generation unit 14 generates a communication client source code based on the interface extracted by the communication interface extraction unit 13.

クライアントモジュール生成部15は、クライアントソースコード11と通信クライアント生成部14で生成された通信クライアントソースコードを基にクライアントモジュール生成する。ここでは、クライアントモジュール生成部15は、クライアントソースコード11と通信クライアントソースコードをコンパイルしてクライアントモジュール生成する。   The client module generation unit 15 generates a client module based on the client source code 11 and the communication client source code generated by the communication client generation unit 14. Here, the client module generation unit 15 compiles the client source code 11 and the communication client source code to generate a client module.

サーバモジュール生成部16は、サーバソースコード12を基にサーバモジュールを生成する。ここでは、サーバモジュール生成部16は、サーバソースコード12をコンパイルして通信サーバライブラリとリンクしてサーバモジュールを生成する。ここでは、サーバモジュール生成部16は、通信サーバライブラリを保有する。但し、実際には、通信サーバライブラリの所在場所は問わない。サーバモジュール生成部16は、通信サーバライブラリを利用可能であれば良い。   The server module generation unit 16 generates a server module based on the server source code 12. Here, the server module generation unit 16 compiles the server source code 12 and links it with the communication server library to generate a server module. Here, the server module generation unit 16 has a communication server library. However, actually, the location of the communication server library does not matter. The server module generation unit 16 only needs to be able to use the communication server library.

クライアントモジュール17は、クライアントモジュール生成部15により生成されたクライアントモジュールである。   The client module 17 is a client module generated by the client module generation unit 15.

サーバモジュール18は、サーバモジュール生成部16により生成されたサーバモジュールである。   The server module 18 is a server module generated by the server module generation unit 16.

なお、通信インターフェース抽出部13、通信クライアントコード生成部14、クライアントモジュール生成部15、及びサーバモジュール生成部16の例として、CPU(Central Processing Unit)やマイクロプロセッサ(microprocessor)等の処理装置、又はデータ処理やプログラム制御のための機能を持つ半導体集積回路(Integrated Circuit(IC))等が考えられる。但し、実際には、これらの例に限定されない。   As examples of the communication interface extraction unit 13, the communication client code generation unit 14, the client module generation unit 15, and the server module generation unit 16, a processing device such as a CPU (Central Processing Unit) or a microprocessor (microprocessor), or data A semiconductor integrated circuit (Integrated Circuit (IC)) having functions for processing and program control can be considered. However, actually, it is not limited to these examples.

ここでは、ソフトウェア生成システムは、生成プログラムにより稼動するものとしている。但し、実際には、ソフトウェア生成システムは、ハードウェアの機能により実現することも可能である。   Here, it is assumed that the software generation system is operated by a generation program. However, in practice, the software generation system can also be realized by hardware functions.

次に、図3のフローチャートを参照して、本発明の動作について詳細に説明する。
(1)ステップS1
まず、サーバモジュール生成部16は、サーバソースコード12を取得し、サーバソースコード12をコンパイルしてサーバ中間モジュールを生成する。
(2)ステップS2
次に、サーバモジュール生成部16は、生成されたサーバ中間モジュールと通信サーバライブラリとをリンクすることでサーバモジュール18を生成する。
(3)ステップS3
更に、通信インターフェース抽出部13は、サーバソースコード12を基に通信インターフェースを抽出し通信クライアント生成部1に渡す。
(4)ステップS4
更に、通信クライアント生成部14は、渡された通信インターフェースを基に通信クライアントソースコードを生成する。
(5)ステップS5
クライアントモジュール生成部15は、クライアントソースコード11と生成された通信クライアントソースコードを取得し、クライアントソースコード11と生成された通信クライアントソースコードをそれぞれコンパイルしてクライアント中間モジュール及び通信クライアント中間モジュールを生成する。
(6)ステップS6
最後に、クライアントモジュール生成部15は、生成されたクライアント中間モジュール及び通信クライアント中間モジュールをリンクすることでクライアントモジュール17を生成する。
Next, the operation of the present invention will be described in detail with reference to the flowchart of FIG.
(1) Step S1
First, the server module generation unit 16 acquires the server source code 12, compiles the server source code 12, and generates a server intermediate module.
(2) Step S2
Next, the server module generation unit 16 generates the server module 18 by linking the generated server intermediate module and the communication server library.
(3) Step S3
Further, the communication interface extraction unit 13 extracts a communication interface based on the server source code 12 and passes it to the communication client generation unit 1.
(4) Step S4
Further, the communication client generation unit 14 generates communication client source code based on the passed communication interface.
(5) Step S5
The client module generation unit 15 acquires the client source code 11 and the generated communication client source code, and compiles the client source code 11 and the generated communication client source code to generate a client intermediate module and a communication client intermediate module. To do.
(6) Step S6
Finally, the client module generation unit 15 generates the client module 17 by linking the generated client intermediate module and communication client intermediate module.

本発明では、開発者はクライアントソースコードとサーバソースコードのみを記述するだけでよく、通信に必要なソースコードを記述しないよう構成されているため、開発工数を削減できる。   In the present invention, the developer only needs to describe the client source code and the server source code, and is configured not to describe the source code necessary for communication, so the development man-hours can be reduced.

また、本発明では、クライアントソースコードはサーバソースコードを直接呼び出せるよう構成されているため、クライアント/サーバ間の通信インターフェースの整合性が容易にチェックできる。また、同様の理由により、通信インターフェースの変更が容易できる。また、本発明では、クライアントソースコードとサーバソースコードを生成プログラムが一括してクライアントモジュールとサーバモジュールを生成するように構成されているため、モジュールの作成手順が簡略化される。   In the present invention, since the client source code is configured so that the server source code can be directly called, the consistency of the communication interface between the client and the server can be easily checked. For the same reason, the communication interface can be easily changed. Further, in the present invention, since the generation program for the client source code and the server source code is configured to generate the client module and the server module in a lump, the module creation procedure is simplified.

次に、本発明の効果について説明する。
第1の効果は、クライアント/サーバソフトウェアの開発工数を削減できることにある。その理由は、クライアントソースコードとサーバソースコードのみを記述するだけでよく、通信に必要なソースコードを記述しないためである。
第2の効果は、クライアント/サーバソフトウェアにおけるインターフェースの整合性が容易にチェックできることにある。その理由は、クライアントソースコードはサーバソースコードを直接呼び出す形式で記述できるためである。
第3の効果は、クライアント/サーバソフトウェアにおけるインターフェースの変更が容易にできることにある。その理由は、クライアントソースコードはサーバソースコードを直接呼び出す形式で、クライアントソースコードとサーバソースコードのみを変更すればよく、他に変更すべき記述が必要ないためである。
第4の効果は、モジュールの作成手順が簡略化されることにある。その理由は、クライアントソースコードとサーバソースコードを生成プログラムが一括してクライアントモジュールとサーバモジュールを生成するためである。
Next, the effect of the present invention will be described.
The first effect is that the man-hours for developing client / server software can be reduced. The reason is that only client source code and server source code need be described, and source code necessary for communication is not described.
The second effect is that the consistency of the interface in the client / server software can be easily checked. The reason is that the client source code can be described in a form that directly calls the server source code.
The third effect is that the interface in the client / server software can be easily changed. The reason is that the client source code is a form in which the server source code is directly called, and only the client source code and the server source code need be changed, and no other description to be changed is required.
The fourth effect is that the module creation procedure is simplified. The reason is that the client source code and the server source code are collectively generated by the generation program for the client module and the server module.

以上のように、本発明では、クライアント/サーバのソフトウェア開発において、サーバ部分とクライアント部分のソースコードを共通化することで、開発を容易にし、保守性を高めることができる。   As described above, in the present invention, in the software development of the client / server, the source code of the server part and the client part is made common so that development can be facilitated and maintainability can be improved.

本発明では、クライアントソース及びサーバソースからクライアントモジュール及びサーバモジュールを生成するプログラムを提供する。これにより開発者は通信に必要な処理を意識せずに開発が行えるようになる。   In the present invention, a program for generating a client module and a server module from a client source and a server source is provided. As a result, the developer can perform development without being aware of processing necessary for communication.

また、本発明では、開発者はクライアントソースコードがサーバソースコードを直接呼び出すように実装する。このため呼び出しに必要な引数・戻り値等のチェックは通常の呼び出しとなる。   In the present invention, the developer implements such that the client source code directly calls the server source code. For this reason, checking of arguments and return values necessary for the call is a normal call.

また、本発明では、モジュール作成において、サーバソースコードとクライアントソースコードを生成プログラムに入力する。生成プログラムはサーバソースコードからサーバモジュールを生成する。同時にサーバソースコードとクライアントソースコードからクライアントモジュールを生成する。   In the present invention, the server source code and the client source code are input to the generation program in module creation. The generation program generates a server module from the server source code. At the same time, a client module is generated from the server source code and the client source code.

また、本発明では、クライアントアプリケーションで処理すべき内容をクライアントソースコードに記述することができる。   In the present invention, the contents to be processed by the client application can be described in the client source code.

また、本発明では、サーバソースコードから通信インターフェースを取得することで、クライアント/サーバのソースコードを共通化する。   In the present invention, the client / server source code is shared by acquiring the communication interface from the server source code.

図1は、現状のWCFにおけるシステム構成例を示すブロック図である。FIG. 1 is a block diagram showing an example of a system configuration in the current WCF. 図2は、本発明のソフトウェア生成システムのシステム構成例を示すブロック図である。FIG. 2 is a block diagram showing a system configuration example of the software generation system of the present invention. 図3は、本発明のソフトウェア生成システムの動作を示すフローチャートである。FIG. 3 is a flowchart showing the operation of the software generation system of the present invention.

符号の説明Explanation of symbols

1… サーバソースコード
2… 通信インターフェースソースコード
3… サーバモジュール生成部
4… サーバモジュール
5… 通信クライアントソースコード生成部
6… 通信クライアントソースコード
7… クライアントソースコード
8… クライアントモジュール生成部
9… クライアントモジュール
11… クライアントソースコード
12… サーバソースコード
13… 通信インターフェース抽出部
14… 通信クライアントコード生成部
15… クライアントモジュール生成部
16… サーバモジュール生成部
17… クライアントモジュール
18… サーバモジュール
DESCRIPTION OF SYMBOLS 1 ... Server source code 2 ... Communication interface source code 3 ... Server module generation part 4 ... Server module 5 ... Communication client source code generation part 6 ... Communication client source code 7 ... Client source code 8 ... Client module generation part 9 ... Client module DESCRIPTION OF SYMBOLS 11 ... Client source code 12 ... Server source code 13 ... Communication interface extraction part 14 ... Communication client code generation part 15 ... Client module generation part 16 ... Server module generation part 17 ... Client module 18 ... Server module

Claims (9)

クライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力とするソフトウェア生成システムであって、
前記サーバソースコードを入力として通信に用いられるインタフェースを抽出する通信インターフェース抽出手段と、
前記通信インターフェース抽出手段により抽出されたインタフェースを基に通信クライアントソースコードを生成する通信クライアントコード生成手段と、
前記クライアントソースコード及び前記通信クライアントソースコードをコンパイルして前記クライアントモジュールを生成し出力するクライアントモジュール生成手段と、
前記サーバソースコードをコンパイルして通信サーバライブラリとリンクして前記サーバモジュールを生成し出力するサーバモジュール生成手段と
を具備する
ソフトウェア生成システム。
A software generation system that receives a client source code and a server source code as input and outputs a client module and a server module,
Communication interface extraction means for extracting an interface used for communication by using the server source code as input;
Communication client code generation means for generating communication client source code based on the interface extracted by the communication interface extraction means;
Client module generation means for compiling the client source code and the communication client source code to generate and output the client module;
A software generation system comprising server module generation means for compiling the server source code and linking with a communication server library to generate and output the server module.
請求項1に記載のソフトウェア生成システムであって、
前記サーバモジュール生成手段は、前記サーバソースコードをコンパイルしてサーバ中間モジュールを生成し、前記サーバ中間モジュールと前記通信サーバライブラリとをリンクして前記サーバモジュールを生成し出力する
ソフトウェア生成システム。
The software generation system according to claim 1,
The server module generation unit compiles the server source code to generate a server intermediate module, and links the server intermediate module and the communication server library to generate and output the server module.
請求項1又は2に記載のソフトウェア生成システムであって、
前記クライアントモジュール生成手段は、前記クライアントソースコードをコンパイルしてクライアント中間モジュールを生成し、前記通信クライアントソースコードをコンパイルして通信クライアント中間モジュールを生成し、前記クライアント中間モジュール及び前記通信クライアント中間モジュールをリンクして前記クライアントモジュールを生成し出力する
ソフトウェア生成システム。
The software generation system according to claim 1 or 2,
The client module generation unit compiles the client source code to generate a client intermediate module, compiles the communication client source code to generate a communication client intermediate module, and includes the client intermediate module and the communication client intermediate module. A software generation system that links and generates and outputs the client module.
クライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力とするソースコード共通化方法であって、
前記サーバソースコードをコンパイルして通信サーバライブラリとリンクして前記サーバモジュールを生成し出力するステップと、
前記サーバソースコードを基に通信インターフェースを抽出するステップと、
前記抽出された通信インターフェースを基に通信クライアントソースコードを生成するステップと、
前記クライアントソースコード及び前記通信クライアントソースコードをコンパイルして前記クライアントモジュールを生成し出力するステップと
を含む
ソースコード共通化方法。
A source code commonization method in which a client source code and a server source code are input and a client module and a server module are output,
Compiling the server source code and linking with a communication server library to generate and output the server module;
Extracting a communication interface based on the server source code;
Generating communication client source code based on the extracted communication interface;
Compiling the client source code and the communication client source code, and generating and outputting the client module.
請求項4に記載のソースコード共通化方法であって、
前記サーバモジュールを生成し出力するステップは、
前記サーバソースコードをコンパイルしてサーバ中間モジュールを生成するステップと、
前記サーバ中間モジュールと前記通信サーバライブラリとをリンクして前記サーバモジュールを生成し出力するステップと
を含む
ソースコード共通化方法。
The source code sharing method according to claim 4,
The step of generating and outputting the server module includes:
Compiling the server source code to generate a server intermediate module;
A source code sharing method comprising: linking the server intermediate module and the communication server library to generate and output the server module.
請求項4又は5に記載のソースコード共通化方法であって、
前記クライアントモジュールを生成し出力するステップは、
前記クライアントソースコードをコンパイルしてクライアント中間モジュールを生成するステップと、
前記通信クライアントソースコードをコンパイルして通信クライアント中間モジュールを生成するステップと、
前記クライアント中間モジュール及び前記通信クライアント中間モジュールをリンクして前記クライアントモジュールを生成し出力するステップと
を含む
ソースコード共通化方法。
The source code sharing method according to claim 4 or 5,
Generating and outputting the client module comprises:
Compiling the client source code to generate a client intermediate module;
Compiling the communication client source code to generate a communication client intermediate module;
And linking the client intermediate module and the communication client intermediate module to generate and output the client module.
コンピュータにクライアントソースコード及びサーバソースコードを入力としてクライアントモジュール及びサーバモジュールを出力させるためのソフトウェア生成用プログラムであって、
前記サーバソースコードをコンパイルして通信サーバライブラリとリンクして前記サーバモジュールを生成し出力するステップと、
前記サーバソースコードを基に通信インターフェースを抽出するステップと、
前記抽出された通信インターフェースを基に通信クライアントソースコードを生成するステップと、
前記クライアントソースコード及び前記通信クライアントソースコードをコンパイルして前記クライアントモジュールを生成し出力するステップと
をコンピュータに実行させるための
ソフトウェア生成用プログラム。
A software generation program for causing a computer to output a client module and a server module by inputting a client source code and a server source code,
Compiling the server source code and linking with a communication server library to generate and output the server module;
Extracting a communication interface based on the server source code;
Generating communication client source code based on the extracted communication interface;
A software generation program for causing a computer to execute the steps of compiling the client source code and the communication client source code to generate and output the client module.
請求項7に記載のソフトウェア生成用プログラムであって、
前記サーバモジュールを生成し出力するステップは、
前記サーバソースコードをコンパイルしてサーバ中間モジュールを生成するステップと、
前記サーバ中間モジュールと前記通信サーバライブラリとをリンクして前記サーバモジュールを生成し出力するステップと
をコンピュータに実行させるための
ソフトウェア生成用プログラム。
A software generation program according to claim 7,
The step of generating and outputting the server module includes:
Compiling the server source code to generate a server intermediate module;
A software generation program for causing a computer to execute the step of generating and outputting the server module by linking the server intermediate module and the communication server library.
請求項7又は8に記載のソフトウェア生成用プログラムであって、
前記クライアントモジュールを生成し出力するステップは、
前記クライアントソースコードをコンパイルしてクライアント中間モジュールを生成するステップと、
前記通信クライアントソースコードをコンパイルして通信クライアント中間モジュールを生成するステップと、
前記クライアント中間モジュール及び前記通信クライアント中間モジュールをリンクして前記クライアントモジュールを生成し出力するステップと
をコンピュータに実行させるための
ソフトウェア生成用プログラム。
A software generation program according to claim 7 or 8,
Generating and outputting the client module comprises:
Compiling the client source code to generate a client intermediate module;
Compiling the communication client source code to generate a communication client intermediate module;
A software generation program for causing a computer to execute the step of generating and outputting the client module by linking the client intermediate module and the communication client intermediate module.
JP2008063966A 2008-03-13 2008-03-13 Software generation system, source code communalization method, and program for creating software Withdrawn JP2009223366A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008063966A JP2009223366A (en) 2008-03-13 2008-03-13 Software generation system, source code communalization method, and program for creating software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008063966A JP2009223366A (en) 2008-03-13 2008-03-13 Software generation system, source code communalization method, and program for creating software

Publications (1)

Publication Number Publication Date
JP2009223366A true JP2009223366A (en) 2009-10-01

Family

ID=41240118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008063966A Withdrawn JP2009223366A (en) 2008-03-13 2008-03-13 Software generation system, source code communalization method, and program for creating software

Country Status (1)

Country Link
JP (1) JP2009223366A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017038808A (en) * 2015-08-20 2017-02-23 株式会社アトミテック Online game development system
KR101888792B1 (en) * 2017-04-18 2018-08-14 엘에스산전 주식회사 Method for data communication and system comprising the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017038808A (en) * 2015-08-20 2017-02-23 株式会社アトミテック Online game development system
KR101888792B1 (en) * 2017-04-18 2018-08-14 엘에스산전 주식회사 Method for data communication and system comprising the same

Similar Documents

Publication Publication Date Title
JP5679989B2 (en) Debug pipeline
US8797338B2 (en) Platform agnostic screen capture tool
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
JP2006244195A (en) Program test support device, and its method
CN111026439B (en) Application program compatibility method, device, equipment and computer storage medium
US20050160405A1 (en) System and method for generating code coverage information
WO2019236261A2 (en) Annotating dynamic libraries for multi-os applications
JP6678375B2 (en) Information processing apparatus, information processing method, and information processing system
CN113986270B (en) Distributed application deployment method and device, storage medium and electronic equipment
JP2018169693A (en) Information processing device, information processing method, and information processing program
CN113360379A (en) Program testing method and program testing device
JP2009223366A (en) Software generation system, source code communalization method, and program for creating software
JP2008165342A (en) Source code creating method, device and program
JP2007287025A (en) Method and apparatus for creating screen transition program
CN111949510B (en) Test processing method, device, electronic equipment and readable storage medium
JP2013235508A (en) Object-oriented program generation device, method therefor, and program
CN113032004B (en) Method, apparatus and program product for managing development jobs in a development environment
JP5657183B2 (en) Method and apparatus for enabling a first computer program to execute application logic of a second computer program, for interfacing the first computer program and the second computer program And apparatus for generating computer program code for the same, a computer program, and a software interface for enabling a first computer program to execute application logic of a second computer program For providing information (computer program interface)
JP5545133B2 (en) Static analysis processing system, method, and program
JP5757167B2 (en) Judgment work support system, judgment work support method, and program
CN111782196A (en) MVP architecture-based development method and device
CN110727537A (en) Method and device for uniformly processing response message, computer equipment and storage medium
CN111596906B (en) MVPVM-based Android application development method, device, equipment and medium
JP2012150740A (en) Program generating device and method
CN110709814A (en) Program code generation device and program code generation program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607