[go: up one dir, main page]

JP2008287365A - Program generation device, program generation method, program, and recording medium - Google Patents

Program generation device, program generation method, program, and recording medium Download PDF

Info

Publication number
JP2008287365A
JP2008287365A JP2007129711A JP2007129711A JP2008287365A JP 2008287365 A JP2008287365 A JP 2008287365A JP 2007129711 A JP2007129711 A JP 2007129711A JP 2007129711 A JP2007129711 A JP 2007129711A JP 2008287365 A JP2008287365 A JP 2008287365A
Authority
JP
Japan
Prior art keywords
program
screen
processing
code
program generation
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
JP2007129711A
Other languages
Japanese (ja)
Inventor
Yoshikazu Kobayashi
義和 小林
Isao Ueda
勲 上田
Tomoko Suzuki
智子 鈴木
Takeshi Takatsuka
剛 高塚
Takanobu Tsuruno
貴信 鶴野
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.)
Canon IT Solutions Inc
Original Assignee
Canon Software Inc
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 Canon Software Inc filed Critical Canon Software Inc
Priority to JP2007129711A priority Critical patent/JP2008287365A/en
Publication of JP2008287365A publication Critical patent/JP2008287365A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To automatically generate a program code which is independent of a screen code for constructing an application by easily connecting it to a separately generated screen code. <P>SOLUTION: An Action program generation part 107, an Meta program generation part 108, and a ValueObject program generation part 109 are constituted so that a program code (Action program 112, Meta program 114, ValueObject program 116) corresponding to processing to be executed according to an event which has occurred on a screen, processing to define the design information of components layout-processed on the screen, and processing to transfer data with the components layout-processed on the screen is formed in the form of being separately independent of codes constituting the screen. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、設計情報に基づいてプログラムを生成するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関する。   The present invention relates to a program generation device, a program generation method, a program, and a recording medium that generate a program based on design information.

従来より、設計情報からプログラムを自動生成するプログラム生成装置がある。しかし、自動生成されたアプリケーションの画面は、自動で画面項目のレイアウト位置が決定されたり、用意された画面パターンを使用しなければならなかったりと、ユーザの多様な画面レイアウト要求を十分に満足したものではなかった。   Conventionally, there is a program generation device that automatically generates a program from design information. However, the automatically generated application screen sufficiently satisfies the various screen layout requirements of the user, such as the layout position of the screen items automatically determined and the prepared screen pattern must be used. It was not a thing.

この問題を解決するため、アプリケーションの生成時に画面をユーザが自由にカスタマイズする技術が提案されている(特許文献1)。   In order to solve this problem, a technique in which a user freely customizes a screen when generating an application has been proposed (Patent Document 1).

特許文献1では、アプリケーションの生成時に初期生成画面イメージを専用プログラム上に出力し、その初期生成画面イメージをユーザが専用プログラム上でカスタマイズすることで要求どおりの画面を作成する方法が提案されている。
特開2004−157927号公報
Patent Document 1 proposes a method of generating a screen as requested by outputting an initial generation screen image on a dedicated program at the time of generating an application and customizing the initial generation screen image on the dedicated program. .
JP 2004-157927 A

しかしながら、上記特許文献1では、上記初期生成画面イメージの変更は、必ず専用のプログラムを介して行う必要があり、その専用プログラムの習熟に時間がかかるという問題点を有している。   However, the above-mentioned Patent Document 1 has a problem that the initial generation screen image must be changed via a dedicated program, and it takes time to master the dedicated program.

また、特に(分業化された)Web系のシステムの場合、画面作成専任のデザイナーが画面の変更にあたることが多く、デザイナーにはそれぞれ「使い慣れた」、高機能なエディタがある。上記初期生成画面イメージの変更に、このような「エディタ」を使用できないことは、作業効率だけでなく、作成画面の品質や機能(の高さ、量)に影響を及ぼしてしまう。   In particular, in the case of a Web system (divisionalized), designers dedicated to screen creation often change the screen, and designers have high-function editors that are “familiar”. The fact that such an “editor” cannot be used to change the initial generation screen image affects not only the work efficiency but also the quality and function (height and quantity) of the creation screen.

さらに、上記特許文献1では、アプリケーションを作成した後に、生成された画面を変更するという手順がない。近年、(使用感や見栄えを確かめるため)画面だけを先に(上述エディタで一から)作成したり、(工数削減や統一感の為)既にある画面を再利用したりする開発手順も求められている。しかしながら、上記特許文献1の方法では、自動生成の過程にユーザが作成した画面を組み込むことができないという問題点があった。   Furthermore, in the said patent document 1, after producing an application, there is no procedure of changing the produced | generated screen. In recent years, there has also been a need for a development procedure in which only the screen is created first (from the above editor) to confirm the feeling of use and appearance, or the existing screen is reused (to reduce man-hours and a sense of unity). ing. However, the method disclosed in Patent Document 1 has a problem in that a screen created by a user cannot be incorporated into the automatic generation process.

本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、別途生成された画面コードと容易に結合してアプリケーションを構築することができる前記画面コードとは独立したプログラムコードを自動生成することができる仕組を提供することである。   The present invention has been made to solve the above problems, and the object of the present invention is independent of the screen code that can be easily combined with a separately generated screen code to construct an application. It is to provide a mechanism capable of automatically generating program code.

本発明は、画面上で発生したイベントに応じて実行される処理、画面上にレイアウトされる部品の設計情報を定義する処理、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードを、画面を構成するコードと分離独立した形態で生成する生成手段を有することを特徴とする。   The present invention relates to a program corresponding to a process executed in response to an event occurring on a screen, a process for defining design information of a component laid out on the screen, and a process for transferring data with a component laid out on the screen It has a generation means for generating the code in a form that is separated and independent from the code constituting the screen.

本発明によれば、別途生成された画面コードと容易に結合してアプリケーションを構築することができる前記画面コードとは独立したプログラムコードを自動生成することができる。   According to the present invention, it is possible to automatically generate a program code independent of the screen code that can be easily combined with a separately generated screen code to construct an application.

この結果、画面のデザイナーは、自動生成されるプログラムコードとは関係なく柔軟なレイアウトの画面を作成することができる。そして、仕様変更によりプログラムコード又は画面コードが修正された場合も、互いに影響することがなくなる。   As a result, the screen designer can create a flexible layout screen regardless of the automatically generated program code. Even when the program code or the screen code is modified due to the specification change, it does not affect each other.

本発明は、アプリケーションシステムを構成するプログラムや画面等のソフトウェアを生成するケースツール環境において、プログラムを自動生成する技術分野に関するものである。このため、ケースツール環境の説明は、本発明と直接関係のある部分についてのみ言及する。   The present invention relates to a technical field for automatically generating a program in a case tool environment for generating software such as programs and screens constituting an application system. For this reason, the description of the case tool environment refers only to the portion directly related to the present invention.

以下、図面を用いて詳細に説明する。   Hereinafter, it explains in detail using a drawing.

図1は、本発明の一実施形態を示す情報処理装置(プログラム生成装置)の構成を示すブロック図である。   FIG. 1 is a block diagram showing a configuration of an information processing apparatus (program generation apparatus) showing an embodiment of the present invention.

図1において、100は本発明のプログラム生成装置としてのコンピュータである。103はコンピュータ本体である。101はキーボード,ポインティングデバイス(マウス等)の入力装置である。102はCRTディスプレイや液晶ディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。   In FIG. 1, reference numeral 100 denotes a computer as a program generation apparatus of the present invention. Reference numeral 103 denotes a computer main body. Reference numeral 101 denotes an input device for a keyboard and a pointing device (such as a mouse). Reference numeral 102 denotes a display device such as a CRT display or a liquid crystal display. Reference numeral 104 denotes an external storage device such as a hard disk drive (HDD).

図1に示すように、ユーザは入力装置101より、表示装置102に表示された画面を通じてコンピュータ本体103に対してプログラム自動生成命令を発行すると、コンピュータ103は、全体制御部105で自動生成処理を行う。以下、詳細に説明する。   As shown in FIG. 1, when the user issues an automatic program generation command to the computer main body 103 through the screen displayed on the display device 102 from the input device 101, the computer 103 performs automatic generation processing in the overall control unit 105. Do. Details will be described below.

まず、プログラム自動生成命令を受けた画面制御部106は、Actionプログラム生成部107,Metaプログラム生成部108,ValueObjectプログラム生成部109に処理を委譲する。   First, the screen control unit 106 that has received the program automatic generation command delegates the processing to the Action program generation unit 107, the Meta program generation unit 108, and the ValueObject program generation unit 109.

Actionプログラム生成部107は、予め作成されて外部記憶装置104に格納されるActionテンプレート111(後述する図14)を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110(後述する図12,図13)を適用し、Actionプログラム112(後述する図6,図15)を生成し、外部記憶装置104に格納する。なお、Actionテンプレート111は、Actionプログラム112を生成のためのテンプレート(ひな形)である。また、Actionプログラム112は、画面上で発生したイベントに応じて実行される処理(例えばサーバへのデータ送受信処理等)に対応するプログラムコードである。   The action program generation unit 107 is preliminarily input and stored in the external storage device 104 based on an action template 111 (described later, FIG. 14) created and stored in the external storage device 104. 12 and 13) are applied, an Action program 112 (FIGS. 6 and 15 described later) is generated and stored in the external storage device 104. The Action template 111 is a template (model) for generating the Action program 112. The Action program 112 is a program code corresponding to processing (for example, data transmission / reception processing to the server) executed in response to an event that has occurred on the screen.

Metaプログラム生成部108は、予め作成されて外部記憶装置104に格納されるMetaテンプレート113(後述する図16)を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110を適用し、Metaプログラム114(後述する図8,図17)を生成し、外部記憶装置104に格納する。なお、Metaテンプレート113は、Metaプログラム114を生成のためのテンプレート(ひな形)である。また、Metaプログラム114は、画面上にレイアウトされる部品の設計情報(例えばデータタイプや桁数等)を定義する処理に対応するプログラムコードである。   The Meta program generation unit 108 applies user definition information 110 that is input in advance and stored in the external storage device 104 based on a Meta template 113 (FIG. 16 described later) that is generated in advance and stored in the external storage device 104. Then, the Meta program 114 (FIGS. 8 and 17 described later) is generated and stored in the external storage device 104. The Meta template 113 is a template (model) for generating the Meta program 114. The Meta program 114 is a program code corresponding to a process for defining design information (for example, data type and number of digits) of parts laid out on the screen.

ValueObjectプログラム生成部109は、予め作成されて外部記憶装置104に格納されるValueObjectテンプレート(VOテンプレート)115(後述する図18)を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110を適用し、ValueObjectプログラム(VOプログラム)115(後述する図10,図19)を生成し、外部記憶装置104に格納する。なお、VOテンプレート115は、VOプログラム116を生成のためのテンプレート(ひな形)である。また、VOプログラム116は、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードである。   The ValueObject program generation unit 109 is a user definition that is input in advance and stored in the external storage device 104 based on a ValueObject template (VO template) 115 (FIG. 18 described later) that is created in advance and stored in the external storage device 104. By applying the information 110, a ValueObject program (VO program) 115 (FIGS. 10 and 19 described later) is generated and stored in the external storage device 104. The VO template 115 is a template (model) for generating the VO program 116. The VO program 116 is a program code corresponding to a process of transferring data with a component laid out on the screen.

サーバプログラム生成部117は、予め作成されて外部記憶装置104に格納されるサーバテンプレート118(詳細は不図示)を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110を適用し、サーバプログラム119(詳細は不図示)を生成し、外部記憶装置104に格納する。なお、サーバテンプレート118は、サーバプログラム119を生成のためのテンプレート(ひな形)である。また、サーバプログラム119は、サーバ側で実行される処理に対応するプログラムコードである。   The server program generation unit 117 applies user-defined information 110 that is input in advance and stored in the external storage device 104 based on a server template 118 (not shown in detail) that is created in advance and stored in the external storage device 104. Then, a server program 119 (details not shown) is generated and stored in the external storage device 104. The server template 118 is a template (model) for generating the server program 119. The server program 119 is a program code corresponding to processing executed on the server side.

次に、図2を参照して、図1に示したプログラム生成装置としてのコンピュータ100のハードウェア構成について説明する。   Next, a hardware configuration of the computer 100 as the program generation apparatus shown in FIG. 1 will be described with reference to FIG.

図2は、図1に示したプログラム生成装置としてのコンピュータ100のハードウェア構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。   FIG. 2 is a block diagram showing a hardware configuration of the computer 100 as the program generating apparatus shown in FIG. 1, and the same components as those in FIG. 1 are denoted by the same reference numerals.

図2において、201はCPU(中央演算処理装置)201であり、ROM203或いは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。   In FIG. 2, reference numeral 201 denotes a CPU (Central Processing Unit) 201, which comprehensively accesses various devices connected to the system bus based on a control program stored in the ROM 203 or the external storage device 104. It is the structure to control.

システムバスには、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、コンピュータ103が実行する処理を実現するために必要な各種プログラム等が記憶されている。   Connected to the system bus is a RAM (Random Access Memory) 202 that functions as the main memory, work area, and the like of the CPU 201. The ROM 203 or the external storage device 104 is necessary for realizing a process executed by the computer 103 such as a BIOS (Basic Input / Output System), an operating system (hereinafter referred to as “OS”) program that is a control program of the CPU 201. Various programs are stored.

CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。   The CPU 201 implements the functions and various operations of the overall control unit 105 shown in FIG. 1 by loading various programs necessary for execution of processing into the RAM 202 and executing the programs.

外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。   The external storage device 104 stores a boot program (not shown), various application programs, font data, user files, and the like as the various programs described above.

CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU201は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。   For example, the CPU 201 performs WYSIWYG on the display device 102 by executing outline font rasterization processing on a display information area in the RAM 202. Further, the CPU 201 opens various registered windows based on commands instructed by a mouse cursor (not shown) on the display device 102 and executes various data processing.

以下、図3〜図10を参照して、図1で示したActionプログラム生成部107,Metaプログラム生成部108,ValueObjectプログラム生成部109,サーバプログラム生成部117で行われるプログラム生成処理について説明する。   Hereinafter, with reference to FIGS. 3 to 10, program generation processing performed by the Action program generation unit 107, the Meta program generation unit 108, the ValueObject program generation unit 109, and the server program generation unit 117 illustrated in FIG. 1 will be described.

図3は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図1で示したコンピュータ103のActionプログラム生成部107,Metaプログラム生成部108,ValueObjectプログラム生成部109,サーバプログラム生成部117で行われるプログラム生成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム生成部107により実現される。なお、図中、S301〜S309は各ステップを示す。   FIG. 3 is a flowchart showing an example of a first control processing procedure according to the present invention. The Action program generation unit 107, Meta program generation unit 108, ValueObject program generation unit 109, and server program generation of the computer 103 shown in FIG. This corresponds to the program generation process performed by the unit 117. Note that the processing of this flowchart is realized by the program generation unit 107 in which the CPU 201 illustrated in FIG. 2 reads the program stored in the external storage device 104 into the RAM 202 and executes the program. In the figure, S301 to S309 indicate each step.

まず、入力装置101から入力されるプログラム自動生成命令の指示を受けると、全体制御部105内の画面制御部106は、プログラム生成部107に処理を委譲し、ステップS301に処理を進める。   First, when receiving an instruction of a program automatic generation command input from the input device 101, the screen control unit 106 in the overall control unit 105 delegates the processing to the program generation unit 107, and proceeds to step S301.

ステップS301では、Actionプログラム生成部107は、まず外部記憶装置104からユーザ定義情報110(図4)を読み込み、これをRAM202に保管する。   In step S <b> 301, the Action program generation unit 107 first reads the user definition information 110 (FIG. 4) from the external storage device 104 and stores it in the RAM 202.

次にステップS302において、Actionプログラム生成部107は、生成するプログラムの元となるActionテンプレート111(図5)を読み込み、これをRAM202に保管する。なお、Actionテンプレート111は、プログラムの下敷き(テンプレート)としての役割を持ち、図5の1400,1401に示すように、具体的なデータはまだ変数化されている。   In step S <b> 302, the action program generation unit 107 reads the action template 111 (FIG. 5) that is the basis of the program to be generated and stores it in the RAM 202. The Action template 111 has a role as an underlay (template) of the program, and specific data is still variable as shown by 1400 and 1401 in FIG.

次にステップS303において、Actionプログラム生成部107は、S301で取得されRAM202内に保管されているユーザ定義情報から項目タイプ1206が「Aアクション」である行(図4の1211,1215等)の各項目の値を取得し、項目タイプ1206のデータはRAM202に確保される変数ioItem.itemType、項目コード1200のデータはioItem.code、名前1201のデータはioItem.name、表示1202のデータはioItem.isVisible、必須1203のデータはioItem.isRequire、・・・、桁数1204のデータはioItem.length、小数桁1205のデータはioItem.scale、・・・・・に格納する。さらに、Actionプログラム生成部107は、取得したユーザ定義情報の各項目の値を、S302で取得したActionテンプレート111内の変数化されている場所(図5の1400,1401)に、はめ込み(図6の1500,1501)、Actionプログラム112を生成し、外部記憶装置104に格納する。そして、この処理を、項目タイプ1206が「Aアクション」である全ての行のユーザ定義情報に対して行う。   Next, in step S303, the Action program generation unit 107 obtains each of the lines (1211, 1215, etc. in FIG. 4) in which the item type 1206 is “A action” from the user-defined information acquired in S301 and stored in the RAM 202. The value of the item is acquired, the data of the item type 1206 is a variable ioItem.itemType secured in the RAM 202, the data of the item code 1200 is ioItem.code, the data of the name 1201 is ioItem.name, and the data of the display 1202 is ioItem.isVisible The required 1203 data is stored in ioItem.isRequire,..., The number of digits 1204 is stored in ioItem.length, the decimal number 1205 data is stored in ioItem.scale,. Furthermore, the Action program generation unit 107 inserts the value of each item of the acquired user definition information into the variableized locations (1400 and 1401 in FIG. 5) in the Action template 111 acquired in S302 (FIG. 6). 1500, 1501), the Action program 112 is generated and stored in the external storage device 104. Then, this process is performed on the user definition information of all the rows whose item type 1206 is “A action”.

以下、S303についてより具体的に説明する。   Hereinafter, S303 will be described more specifically.

図5は、Actionテンプレートの一例を示す図である。   FIG. 5 is a diagram illustrating an example of an Action template.

図5において、1400,1400は、テンプレートの変数を表す。1400は、ユーザ定義情報の「項目コード」1200に対応する。1401は、ユーザ定義情報の「項目名」1201に対応する。   In FIG. 5, 1400 and 1400 represent template variables. 1400 corresponds to the “item code” 1200 of the user definition information. 1401 corresponds to the “item name” 1201 of the user definition information.

図6は、Actionプログラム生成結果の一例を示す図である。なお、この図は図4の1215に示すユーザ定義情報に対応する例である。   FIG. 6 is a diagram illustrating an example of an Action program generation result. This figure is an example corresponding to the user definition information indicated by reference numeral 1215 in FIG.

図6において、1500は、テンプレートの変数「${ioItem.name}」1400にユーザ定義情報の「項目コード」1200の値「UPDATE」が代入された結果を表す。1501は、テンプレートの変数「${ioItem.code}」1401にユーザ定義情報の「項目名」1201の値「更新」が代入された結果を表す。以上、図3のステップS303の説明を終了する。   In FIG. 6, 1500 represents the result of assigning the value “UPDATE” of the “item code” 1200 of the user-defined information to the template variable “$ {ioItem.name}” 1400. Reference numeral 1501 denotes a result of substituting the value “update” of the “item name” 1201 of the user-defined information into the template variable “$ {ioItem.code}” 1401. This is the end of the description of step S303 in FIG.

次に図3のステップS304において、Metaプログラム生成部108は、生成するプログラムの元となるMetaテンプレート113を読み込み、これをRAM202に保管する。なお、Metaテンプレート113は、プログラムの下敷き(テンプレート)としての役割を持ち、図7の1600,1601,・・・に示すように、具体的なデータはまだ変数化されている。   Next, in step S <b> 304 of FIG. 3, the Meta program generation unit 108 reads the Meta template 113 that is the source of the program to be generated and stores it in the RAM 202. The Meta template 113 serves as an underlay (template) for the program, and specific data is still variable as shown in 1600, 1601,... In FIG.

次にステップS305において、Metaプログラム生成部108は、S301で取得されRAM202内に保管されているユーザ定義情報から項目タイプ1206が「IO入出力」である行(図4の1212〜1214等)の各項目の値を取得し、項目タイプ1206のデータはRAM202に確保される変数ioItem.itemType、項目コード1200のデータはioItem.code、名前1201のデータはioItem.name、表示1202のデータはioItem.isVisible、必須1203のデータはioItem.isRequire、・・・、桁数1204のデータはioItem.length、小数桁1205のデータはioItem.scale、・・・・・に格納する。さらに、Metaプログラム生成部108は、取得したユーザ定義情報の各項目の値を、S304で取得したMetaテンプレート113内の変数化されている場所(図7の1600,1601,・・・)にはめ込み(図8の1700,1701,・・・)、Metaプログラム114を生成し、外部記憶装置104に格納する。そして、この処理を、項目タイプ1206が「IO入出力」である全ての行のユーザ定義情報に対して行う。   Next, in step S305, the Meta program generation unit 108 reads the lines (1212 to 1214 in FIG. 4) in which the item type 1206 is “IO input / output” from the user definition information acquired in S301 and stored in the RAM 202. The value of each item is acquired, the data of the item type 1206 is a variable ioItem.itemType secured in the RAM 202, the data of the item code 1200 is ioItem.code, the data of the name 1201 is ioItem.name, and the data of the display 1202 is ioItem. isVisible, essential 1203 data is stored in ioItem.isRequire,..., 1204 digit data is stored in ioItem.length, decimal digit 1205 data is stored in ioItem.scale,. Further, the Meta program generation unit 108 inserts the value of each item of the acquired user definition information into the variableized locations (1600, 1601,... In FIG. 7) in the Meta template 113 acquired in S304. (1700, 1701,... In FIG. 8), the Meta program 114 is generated and stored in the external storage device 104. Then, this process is performed on the user definition information of all the rows whose item type 1206 is “IO input / output”.

以下、S305についてより具体的に説明する。   Hereinafter, S305 will be described more specifically.

図7は、Metaテンプレートの一例を示す図である。   FIG. 7 is a diagram illustrating an example of a Meta template.

図7において、1600〜1606は、テンプレートの変数を表す。   In FIG. 7, reference numerals 1600 to 1606 denote template variables.

1601は、ユーザ定義情報の「項目名」1201に対応する。1600は、ユーザ定義情報の「項目コード」1200に対応する。1602は、ユーザ定義情報の「表示」1202に対応する。1606は、ユーザ定義情報の「項目タイプ」1206に対応する。1603は、ユーザ定義情報の「必須」1203に対応する。1604は、ユーザ定義情報の「桁数」1204に対応する。1605は、ユーザ定義情報の「少数桁」1205に対応する。   1601 corresponds to the “item name” 1201 of the user definition information. 1600 corresponds to “item code” 1200 of the user-defined information. 1602 corresponds to the “display” 1202 of the user definition information. Reference numeral 1606 corresponds to the “item type” 1206 of the user-defined information. 1603 corresponds to “required” 1203 of the user definition information. 1604 corresponds to the “digits” 1204 of the user definition information. 1605 corresponds to the “decimal digit” 1205 of the user definition information.

図8は、Metaプログラム生成結果の一例を示す図である。なお、この図は図4の1212に示すユーザ定義情報に対応する例である。   FIG. 8 is a diagram illustrating an example of a Meta program generation result. This figure is an example corresponding to the user definition information indicated by 1212 in FIG.

図8において、1701は、テンプレートの変数「${ioItem.code}」1601にユーザ定義情報の「名前」1201の値「社員ID」が代入された結果を表す。1700は、テンプレートの変数「${ioItem.name}」1600にユーザ定義情報の「項目コード」1200の値「EMP_ID」が代入された結果を表す。   In FIG. 8, 1701 represents the result of substituting the value “employee ID” of the “name” 1201 of the user-defined information into the template variable “$ {ioItem.code}” 1601. 1700 represents the result of substituting the value “EMP_ID” of the “item code” 1200 of the user-defined information into the template variable “$ {ioItem.name}” 1600.

1702は、テンプレートの変数「${ioItem.isVisible}」1602にユーザ定義情報の「表示」1201の値「表示」に対応する「true」が代入された結果を表す。1706は、テンプレートの変数「${ioItem.itemType}」1606にユーザ定義情報の「項目タイプ」1206の値「IO入出力」に対応する「IO」が代入された結果を表す。   1702 represents the result of substituting “true” corresponding to the value “display” of the “display” 1201 of the user-defined information into the template variable “$ {ioItem.isVisible}” 1602. Reference numeral 1706 denotes a result of substituting “IO” corresponding to the value “IO input / output” of the “item type” 1206 of the user-defined information into the variable “$ {ioItem.itemType}” 1606 of the template.

1703は、テンプレートの変数「${ioItem.isRequire}」1603にユーザ定義情報の「必須」1203の値(空白)に対応する「false」が代入された結果を表す。1704は、テンプレートの変数「${ioItem.length}」1604にユーザ定義情報の「桁数」1204の値「4」が代入された結果を表す。1705は、テンプレートの変数「${ioItem.scale}」1605にユーザ定義情報の「小数桁」1205の値「0」が代入された結果を表す。以上、図3のステップS305の説明を終了する。   Reference numeral 1703 denotes the result of substituting “false” corresponding to the value (blank) of the “required” 1203 of the user-defined information into the template variable “$ {ioItem.isRequire}” 1603. Reference numeral 1704 denotes the result of substituting the value “4” of the “digits” 1204 of the user-defined information into the template variable “$ {ioItem.length}” 1604. Reference numeral 1705 represents the result of substituting the value “0” of “decimal digits” 1205 of the user-defined information into the template variable “$ {ioItem.scale}” 1605. This is the end of the description of step S305 in FIG.

次に、図3のステップS306において、ValueObjectプログラム生成部109は、生成するプログラムの元となるVOテンプレート115を読み込み、これをRAM202に保管する。なお、VOテンプレート115は、プログラムの下敷き(テンプレート)としての役割を持ち、図9の1800,1801に示すように、具体的なデータはまだ変数化されている。   Next, in step S <b> 306 in FIG. 3, the ValueObject program generation unit 109 reads the VO template 115 that is the source of the program to be generated and stores it in the RAM 202. The VO template 115 serves as an underlay (template) for the program, and specific data is still variable as shown in 1800 and 1801 in FIG.

次にステップS307において、ValueObjectプログラム生成部109は、S301で取得されRAM202内に保管されているユーザ定義情報から項目タイプ1206が「IO入出力」である行(図4の1212〜1214等)の各項目の値を取得し、項目タイプ1206のデータはRAM202に確保される変数ioItem.itemType、項目コード1200のデータはioItem.code、名前1201のデータはioItem.name、表示1202のデータはioItem.isVisible、必須1203のデータはioItem.isRequire、・・・、桁数1204のデータはioItem.length、小数桁1205のデータはioItem.scale、・・・・・に格納する。さらに、Metaプログラム生成部108は、取得したユーザ定義情報の各項目の値を、S306で取得したVOテンプレート115内の変数化されている場所(図9の1800,1801)にはめ込み(図10の1900,1901)、VOプログラム116を生成し、外部記憶装置104に格納する。そして、この処理を、項目タイプ1206が「IO入出力」である全ての行のユーザ定義情報に対して行う。   Next, in step S307, the ValueObject program generation unit 109 reads the lines (items 1212 to 1214 in FIG. 4) in which the item type 1206 is “IO input / output” from the user-defined information acquired in S301 and stored in the RAM 202. The value of each item is acquired, the data of the item type 1206 is a variable ioItem.itemType secured in the RAM 202, the data of the item code 1200 is ioItem.code, the data of the name 1201 is ioItem.name, and the data of the display 1202 is ioItem. isVisible, essential 1203 data is stored in ioItem.isRequire,..., 1204 digit data is stored in ioItem.length, decimal digit 1205 data is stored in ioItem.scale,. Further, the Meta program generation unit 108 inserts the value of each item of the acquired user definition information into the variableized locations (1800 and 1801 in FIG. 9) in the VO template 115 acquired in S306 (FIG. 10). 1900, 1901), the VO program 116 is generated and stored in the external storage device 104. Then, this process is performed on the user definition information of all the rows whose item type 1206 is “IO input / output”.

以下、S307についてより具体的に説明する。   Hereinafter, S307 will be described more specifically.

図9は、VOテンプレートの一例を示す図である。   FIG. 9 is a diagram illustrating an example of a VO template.

図9において、1800,1801は、テンプレートの変数を表す。1800は、ユーザ定義情報の「項目コード」1200に対応する。1801は、ユーザ定義情報の「項目名」1201に対応する。   In FIG. 9, reference numerals 1800 and 1801 denote template variables. 1800 corresponds to the “item code” 1200 of the user definition information. Reference numeral 1801 corresponds to the “item name” 1201 of the user definition information.

図10は、VOプログラム生成結果の一例を示す図である。なお、この図は図4の1212に示すユーザ定義情報に対応する例である。   FIG. 10 is a diagram illustrating an example of a VO program generation result. This figure is an example corresponding to the user definition information indicated by 1212 in FIG.

図10において、1900は、テンプレートの変数「${ioItem.name}」1800にユーザ定義情報の「項目コード」1200の値「EMP_ID」が代入された結果を表す。1901は、テンプレートの変数「${ioItem.code}」1601にユーザ定義情報の「名前」1201の値「社員ID」が代入された結果を表す。以上、図3のステップS307の説明を終了する。   In FIG. 10, 1900 represents the result of substituting the value “EMP_ID” of the “item code” 1200 of the user definition information into the variable “$ {ioItem.name}” 1800 of the template. Reference numeral 1901 represents the result of substituting the value “employee ID” of the “name” 1201 of the user-defined information into the template variable “$ {ioItem.code}” 1601. This is the end of the description of step S307 in FIG.

次にステップS308において、サーバプログラム生成部117は、生成するプログラムの元となるサーバテンプレート118を読み込み、これをRAM202に保管する。なお、サーバテンプレート118は、プログラムの下敷き(テンプレート)としての役割を持ち、具体的なデータはまだ変数化されている。   In step S <b> 308, the server program generation unit 117 reads the server template 118 that is the source of the generated program and stores it in the RAM 202. The server template 118 serves as an underlay (template) for the program, and specific data is still variable.

次にステップS309において、サーバプログラム生成部117は、S308で取得したサーバテンプレート118内の変数化されている場所に、S301で取得した具体的なデータをはめ込み、サーバプログラム119を生成し、外部記憶装置104に格納する(この処理の詳細は省略する)。そして、本フローチャートの処理を終了する。   In step S309, the server program generation unit 117 inserts the specific data acquired in step S301 into the variable location in the server template 118 acquired in step S308, generates the server program 119, and stores the external program in the external storage. It is stored in the device 104 (details of this process are omitted). And the process of this flowchart is complete | finished.

以上の処理により、Actionプログラム112,Metaプログラム114,VOプログラム116,サーバプログラム119が生成される。   Through the above processing, the Action program 112, the Meta program 114, the VO program 116, and the server program 119 are generated.

次に、図11,図12を参照して、従来のプログラム生成装置で生成されるプログラムと、図1に示した本実施形態のプログラム生成装置で生成されたプログラムとを比較する。   Next, referring to FIG. 11 and FIG. 12, the program generated by the conventional program generation device is compared with the program generated by the program generation device of the present embodiment shown in FIG.

図11は、従来のプログラム生成装置で生成されたプログラムの一例を示す模式図である。太枠の部分は従来のプログラム生成装置で生成される部分であり、画面レイアウト401とサーバ生成部品402が生成される。   FIG. 11 is a schematic diagram showing an example of a program generated by a conventional program generation device. A thick frame part is a part generated by a conventional program generation apparatus, and a screen layout 401 and a server generation part 402 are generated.

図12は、図1に示した本実施形態のプログラム生成装置で生成されたプログラムの一例を示す模式図である。太枠の部分は本実施形態のプログラム生成装置で生成される部分であり、クライアント生成部品404とサーバ生成部品405が生成される。   FIG. 12 is a schematic diagram showing an example of a program generated by the program generation apparatus of the present embodiment shown in FIG. A thick frame part is a part generated by the program generation apparatus of this embodiment, and a client generation part 404 and a server generation part 405 are generated.

なお、従来のプログラム生成装置で生成される画面レイアウト401には、クライアント側の画面にレイアウトされる部品とクライアント側で実行されるアクションとが含まれていた。   Note that the screen layout 401 generated by the conventional program generation apparatus includes components laid out on the client side screen and actions executed on the client side.

これに対して、本実施形態のプログラム生成装置は、図12に示すように、クライアント生成部品404を画面レイアウト403と切り離して(分離独立した形態で)生成する構成を有する。   On the other hand, as shown in FIG. 12, the program generation apparatus according to the present embodiment has a configuration in which the client generation component 404 is generated separately from the screen layout 403 (in a separate and independent form).

例えば、大規模なアプリケーション開発を行う場合、複数人で画面を作成する場合がよくある。そのメンバーは、アプリケーションの業務ロジックを実装する「アプリ開発者」と画面のGUI部品の配置をする「デザイナー」等から構成される。   For example, when developing a large-scale application, a screen is often created by a plurality of people. The members include an “application developer” who implements the business logic of the application and a “designer” who arranges GUI parts on the screen.

本実施形態のプログラム生成装置は、図3に示したように、「アプリ開発者」が定義したユーザ定義110を読み込み、クライアント生成部品404としてプログラム112(例えば図13),114(例えば図15),116(例えば図17)を生成する。   As shown in FIG. 3, the program generation apparatus according to the present embodiment reads the user definition 110 defined by the “application developer”, and programs 112 (for example, FIG. 13) and 114 (for example, FIG. 15) as client generation components 404. , 116 (for example, FIG. 17).

また、「デザイナー」は、図14,図16,図18に示すようなGUI部品を含む画面レイアウト403を作成する。この画面レイアウトの一例を図19に示す。   Further, the “designer” creates a screen layout 403 including GUI parts as shown in FIGS. An example of this screen layout is shown in FIG.

この画面作成の際、「デザイナー」は、画面に配置したGUI部品と、本実施形態のプログラム生成装置が出力したプログラム112,114,116の結びつきを定義する。   At the time of creating the screen, the “designer” defines the connection between the GUI component arranged on the screen and the programs 112, 114, and 116 output from the program generation apparatus according to the present embodiment.

以下、「デザイナー」が画面に配置したGUI部品と、本実施形態のプログラム生成装置が生成したプログラム112,114,116との結びつける方法について、具体的に説明する。   Hereinafter, a method of associating the GUI parts arranged on the screen by the “designer” with the programs 112, 114, and 116 generated by the program generation apparatus of the present embodiment will be described in detail.

例えば、「デザイナー」は、作成した画面定義内のボタン(例えば図19の更新ボタン2001)とプログラム生成装置が生成したActionプログラム112とを結びつけるコードを当該ボタン定義内に記述する。   For example, the “designer” describes, in the button definition, a code that links a button in the created screen definition (for example, the update button 2001 in FIG. 19) and the action program 112 generated by the program generation device.

詳細には、図14の701に示すように、Buttonコンポーネントのclick属性として、Actionプログラム112の中のActionクラスをインスタンス化(srv)しそのメソッド(図13の601に示すUPDATE)を呼び出すコード「click="srv.UPDATE(req)"」を記述する。これにより、図19の2001に示す更新ボタンがクリックされると、図13の601に示すUPDATEが実行されることになる。   Specifically, as indicated by reference numeral 701 in FIG. 14, as a click attribute of the Button component, an “action” class in the Action program 112 is instantiated (srv), and a method “UPDATE (indicated by 601 in FIG. 13)” is called. Click = "srv.UPDATE (req)" "is described. Thus, when the update button indicated by 2001 in FIG. 19 is clicked, UPDATE indicated by 601 in FIG. 13 is executed.

また、「デザイナー」は、作成した画面定義内のLabelコンポーネントのtext属性として、図16の901に示すように、Metaプログラム114の中のMetaクラス(WSEMPMeta)のstaticのプロパティ(EMP_ID.name)の値を使用するコード「text="{WsEMPMeta.EMP_ID.name}"」を記述する。これにより、図19の2002に示すように、画面上に図15の801に示すEMP_ID.nameの値"社員ID"が表示されることになる。   Further, the “designer” uses the static property (EMP_ID.name) of the Meta class (WSEMPMeta) in the Meta program 114 as the text attribute of the Label component in the created screen definition, as indicated by 901 in FIG. Code "text =" {WsEMPMeta.EMP_ID.name} "" that uses the value. As a result, as indicated by 2002 in FIG. 19, the value “employee ID” of EMP_ID.name indicated by 801 in FIG. 15 is displayed on the screen.

さらに、「デザイナー」は、作成した画面定義内のTextInputコンポーネントのtext属性として、プログラム生成装置が生成したVOプログラム116の中のVOクラス(vo)をインスタンス化したプロパティ(EMP_ID)の値を使用するコード(text="{vo.EMP_ID}")を記述する。これにより、図19の2001に示すテキストボックスの値が、図17の1001に示すVOプログラム116の中のVOクラス(vo)をインスタンス化したvo.EMP_IDに保持されることになる。   Further, the “designer” uses the value of the property (EMP_ID) that instantiates the VO class (vo) in the VO program 116 generated by the program generation device as the text attribute of the TextInput component in the created screen definition. Write the code (text = "{vo.EMP_ID}"). Accordingly, the value of the text box indicated by 2001 in FIG. 19 is held in vo.EMP_ID that instantiates the VO class (vo) in the VO program 116 indicated by 1001 in FIG.

以上、例示したように、プログラム生成装置から出力したActionプログラム112,Metaプログラム114,VOプログラム116と「デザイナー」が別途作成した画面定義(画面を構築するコード)とを容易に結びつけることができる。このように結び付けられて構築されたアプリケーションの実行画面は図19に示すように表示されることになる。   As described above, the Action program 112, the Meta program 114, and the VO program 116 output from the program generation apparatus can be easily associated with the screen definition (code for constructing the screen) created separately by the “designer”. The execution screen of the application constructed in such a manner is displayed as shown in FIG.

なお、大規模なアプリケーション開発を行う場合、仕様変更(画面の配置変更、ラベル名の変更、ボタンの動作の変更)がよくある。このような仕様変更が発生しても、本実施形態のプログラム生成装置を用いた上記方法によれば、各担当者(「開発者」,「デザイナー」)の仕様変更が、お互いに影響しないように開発を行うことができる。   When developing large-scale applications, there are often changes in specifications (changes in screen layout, label names, button operations). Even if such a specification change occurs, according to the above method using the program generation apparatus of the present embodiment, the specification change of each person in charge (“developer”, “designer”) does not affect each other. Can be developed.

例えば、図4に示したユーザ定義情報の項目「EMP_ID」の名前「社員ID」が仕様変更で「社員番号」となった場合、「開発者」は図4のユーザ定義情報の定義「EMP_ID」を「社員ID」に変更し、再度、プログラム生成装置によりプログラムコードを生成するだけでよい。即ち、「デザイナー」が作成したコード(図18の1101)は一切変更する必要がなく、仕様変更(「EMP_ID」を「社員ID」に変更)を行うことができる。   For example, when the name “employee ID” of the item “EMP_ID” of the user definition information shown in FIG. 4 becomes “employee number” due to the specification change, the “developer” defines the definition “EMP_ID” of the user definition information of FIG. Is changed to “employee ID”, and the program generation device only needs to generate the program code again. That is, the code (1101 in FIG. 18) created by the “designer” does not need to be changed at all, and the specification can be changed (“EMP_ID” is changed to “employee ID”).

また、画面部品の位置や種類が仕様変更になった場合、例えばボタンの位置が仕様変更になった場合、「デザイナー」は、図14の701に示す画面座標「x="293" y="127"」の部分を変更するだけでよい。即ち、プログラム生成装置でプログラムコードを再生成したり、プログラムと画面定義との結びつきの部分を変更する必要は全くない。   When the position or type of the screen component is changed in specification, for example, when the position of the button is changed in specification, the “designer” displays the screen coordinates “x =“ 293 ”y =” shown at 701 in FIG. Just change the 127 "" part. That is, there is no need to regenerate the program code with the program generation device or change the connection between the program and the screen definition.

また、更新処理(UPDATE)の処理内容が仕様変更になった場合、「開発者」は、図4の定義「UPDATE」の処理内容を変更し、再度、プログラム生成装置によりプログラムコードを生成するだけでよい。即ち、「デザイナー」が作成した図18のコードは一切変更することなく、仕様の変更を行うことができる。   Also, when the processing content of the update processing (UPDATE) is changed in specification, the “developer” only changes the processing content of the definition “UPDATE” in FIG. 4 and generates the program code again by the program generation device. It's okay. That is, the specification can be changed without changing the code of FIG. 18 created by the “designer”.

以上のように、本実施形態のプログラム生成装置を用いてプログラムを生成し、「デザイナー」が生成した画面定義と結び付けることにより、仕様変更に対して柔軟なプログラム開発を行うことができる。   As described above, a program can be generated flexibly with respect to specification changes by generating a program using the program generation apparatus of the present embodiment and linking it with the screen definition generated by the “designer”.

一方、図11に示したような従来のプログラム生成装置で生成されるプログラムでは、上述のように、図4に示したユーザ定義情報の項目「EMP_ID」の名前「社員ID」が仕様変更で「社員番号」となった場合、画面レイアウト401,サーバ生成部品402の双方を再度生成する必要があった。   On the other hand, in the program generated by the conventional program generating apparatus as shown in FIG. 11, the name “employee ID” of the item “EMP_ID” of the user-defined information shown in FIG. In the case of “employee number”, it is necessary to generate both the screen layout 401 and the server generation component 402 again.

また、画面部品の位置や種類が仕様変更になった場合、例えばボタンの位置が仕様変更になった場合でも、従来のプログラム生成装置で生成されるプログラムでは、画面レイアウト401,サーバ生成部品402の双方を再度生成する必要があった。   In addition, when the position or type of the screen component is changed in specification, for example, even when the button position is changed in specification, the program generated by the conventional program generation device uses the screen layout 401 and the server generation component 402. Both had to be generated again.

また、更新処理(UPDATE)の処理内容が仕様変更になった場合も、従来のプログラム生成装置で生成されるプログラムでは、画面レイアウト401,サーバ生成部品402の双方を再度生成する必要があった。   Even when the processing content of the update process (UPDATE) is changed in specification, it is necessary to generate both the screen layout 401 and the server generation component 402 again in the program generated by the conventional program generation apparatus.

図11に示した従来の方法では、プログラム生成装置を用いて画面レイアウトを生成していたため、画面に仕様できる部品に制限がある場合が多かった。例えば、数値を入力する部品に、スライダーバーを用いたい、プルダウンメニューを用いたい等、その仕様はユーザの数だけ存在するといっても過言ではなく、それら全てをプログラム生成装置でカバーすることは困難であった。   In the conventional method shown in FIG. 11, since the screen layout is generated using the program generation device, there are many cases where there are restrictions on the parts that can be specified on the screen. For example, it is not an exaggeration to say that there are as many specifications as the number of users, such as wanting to use a slider bar or pull-down menu for parts that input numerical values, and it is difficult to cover them all with a program generation device Met.

しかし、本発明では、プログラム生成装置によりプログラムを生成し、「デザイナー」が画面を生成し、双方を結びつける方法を用いるので、柔軟な画面デザインを行うことができる。   However, in the present invention, since a program is generated by a program generation device and a “designer” generates a screen and connects both, a flexible screen design can be performed.

なお、本実施形態のプログラム生成装置は、単に画面と分離されたプログラムを生成するというものではなく、別途作成された画面定義と容易に結びつけられるような形態でプログラムを生成する構成を有する。   Note that the program generation apparatus of the present embodiment does not simply generate a program separated from a screen, but has a configuration for generating a program in a form that can be easily associated with a separately created screen definition.

まず、機能毎に分けてプログラムを生成している。例えば、サーバ側のロジック全般とサーバのアクションに対応するクライアント側のリクエスト処理プログラム(即ち、画面上で発生したイベントに応じて実行される処理に対応するプログラム)としてActionプログラム112を生成する。また、画面のGUI部品の設計定義情報(名前、型、項目の桁数等を含む)を有するプログラム(即ち、画面上にレイアウトされる部品の設計情報を定義する処理に対応するプログラム)としてMetaプログラム114を生成している。また、GUI部品の値を受け渡しするデータ処理プログラム(即ち、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラム)としてVOプログラム116を生成している。   First, a program is generated for each function. For example, the Action program 112 is generated as a client-side request processing program (that is, a program corresponding to a process executed in response to an event generated on the screen) corresponding to the server-side logic in general and the server action. Also, as a program having design definition information (including name, type, number of digits of items, etc.) of GUI parts on the screen (that is, a program corresponding to a process for defining design information of parts laid out on the screen) A program 114 is generated. Further, the VO program 116 is generated as a data processing program for transferring GUI component values (that is, a program corresponding to processing for transferring data with components laid out on the screen).

そして、Actionプログラム112には、図13の602に示すように、どのオペレーションに対応するプログラムであるのかを示すコメント情報が埋め込まれている。よって、デザイナーは図13の602を参照して該当するActionプログラムを決定して図14の701に示す記載を容易に画面定義内に埋め込むことができる。   In the Action program 112, as shown at 602 in FIG. 13, comment information indicating which operation corresponds to the program is embedded. Therefore, the designer can easily embed the description shown in 701 in FIG. 14 in the screen definition by determining the corresponding Action program with reference to 602 in FIG.

また、Metaプログラム114には、図15の802に示すように、どの部品の設計定義情報に該当するのかを示すコメント情報が埋め込まれている。よって、デザイナーは図15の802を参照して該当するMetaプログラムを決定して図16の901に示す記載を容易に画面定義内に埋め込むことができる。   In the Meta program 114, as shown by 802 in FIG. 15, comment information indicating which part corresponds to the design definition information is embedded. Therefore, the designer can easily embed the description shown in 901 of FIG. 16 in the screen definition by determining the corresponding Meta program with reference to 802 of FIG.

また、VOプログラム116には、図17の1001に示すように、どの部品の値を取り扱うかを示すコメント情報が埋め込まれている。よって、デザイナーは図17の1001を参照して該当するVOプログラムを決定して図18の1101に示す記載を容易に画面定義内に埋め込むことができる。   In the VO program 116, as shown by 1001 in FIG. 17, comment information indicating which component value is handled is embedded. Therefore, the designer can easily embed the description shown in 1101 of FIG. 18 in the screen definition by determining the corresponding VO program with reference to 1001 of FIG.

このように、本実施形態のプログラム生成装置により生成された各プログラムコード内には、該プログラムコードにより実現される処理を示すコメント情報が埋め込まれている。よって、デザイナーは別途生成した画面コードと、本実施形態のプログラム生成装置により生成された各プログラムコードとを容易に結びつけることができる。   Thus, in each program code generated by the program generation apparatus of the present embodiment, comment information indicating processing realized by the program code is embedded. Therefore, the designer can easily associate the screen code generated separately and each program code generated by the program generation apparatus of the present embodiment.

なお、従来のプログラム生成装置で作成されたプログラムを、画面と切り離し、この切り離したプログラムを、デザイナーが別途作成した画面に組み込んで使用するといったことは非常に困難であり、現実的でなかった。   It has been extremely difficult and unrealistic to separate a program created by a conventional program generation device from a screen and use the separated program by incorporating it into a screen created separately by a designer.

以上説明したように、別途生成された画面と容易に結びつけ可能なプログラムを生成することにより、プログラム生成装置に依存しない画面のGUI部品を使用して、自由にレイアウトや設計をすることができる。   As described above, by generating a program that can be easily combined with a separately generated screen, it is possible to freely perform layout and design using a GUI component of a screen that does not depend on the program generation device.

このため、新規に作成されたGUI部品を導入する際にも、プログラム生成装置自体を変更することなく、新規に導入されたGUI部品を使用できる。   For this reason, when a newly created GUI component is introduced, the newly introduced GUI component can be used without changing the program generation device itself.

また、サーバ部品と自由につながるので、新規に導入されたGUI部品をレイアウトできるだけではなく、適切な動作も可能である。   In addition, since the server component is freely connected, not only the newly introduced GUI component can be laid out but also an appropriate operation is possible.

さらに、デザイナーは、プログラム生成装置の生成とは関係なく、より柔軟なレイアウトで画面を作成できる。そして、開発者はユーザ定義情報(例えば、名前や桁数)を変更してアプリケーションを容易に修正できる。   Furthermore, the designer can create a screen with a more flexible layout regardless of the generation of the program generation device. The developer can easily modify the application by changing user-defined information (for example, name and number of digits).

つまり、デザイナーと開発者は、仕様変更してもお互いの修正に影響することなく並行に開発をすることが容易になる。   In other words, it becomes easy for designers and developers to develop in parallel without affecting each other's modification even if the specification changes.

さらに、本発明のプログラム生成装置は、使用感や見栄えを確かめるため、デザイナーが画面だけを先に作成したり、工数削減や統一感の為に、既にある画面を再利用したりするといった開発手順も用意に実行することができる仕組を提供できる。   Furthermore, the program generation device of the present invention is a development procedure in which a designer creates only a screen first, or reuses an existing screen for man-hour reduction or a sense of unity, in order to check the feeling of use and appearance. It is possible to provide a mechanism that can be executed easily.

従って、デザイナーが作成した見栄えの良い画面と、プログラム生成装置により自動生成された動作ロジックの両方を容易に享受することができる。   Therefore, it is possible to easily enjoy both the good-looking screen created by the designer and the operation logic automatically generated by the program generation device.

なお、本実施形態のプログラム生成装置は、画面を構成するコードを生成しない構成となっているが、デフォルトの画面を構成するコードを生成するように構成してもよい。これにより、デザイナーによる画面作成に遅れが生じた場合などでも、自動生成したデフォルトの画面を用いてアプリケーションを実行することが可能となる。なお、デザイナーによる画面が作成されたあかつきには、該作成された画面によりデフォルトの画面を差し替え可能である。   In addition, although the program generation apparatus of this embodiment is a structure which does not generate | occur | produce the code which comprises a screen, you may comprise so that the code which comprises a default screen may be produced | generated. This makes it possible to execute an application using the automatically generated default screen even when the designer creates a delay in screen creation. It should be noted that when a designer creates a screen, the default screen can be replaced by the created screen.

なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。   It should be noted that the configuration and contents of the various data described above are not limited to this, and it goes without saying that the various data and configurations are configured according to the application and purpose.

以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。   Although one embodiment has been described above, the present invention can take an embodiment as, for example, a system, apparatus, method, program, or recording medium, and specifically includes a plurality of devices. The present invention may be applied to a system including a single device.

以下、図20に示すメモリマップを参照して本発明に係るプログラム生成装置で読み取り可能なデータ処理プログラムの構成について説明する。   The configuration of a data processing program that can be read by the program generation device according to the present invention will be described below with reference to the memory map shown in FIG.

図20は、本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。   FIG. 20 is a diagram for explaining a memory map of a recording medium (storage medium) that stores various data processing programs readable by the program generation apparatus according to the present invention.

なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。   Although not specifically shown, information for managing a program group stored in the recording medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.

さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。   Further, data depending on various programs is also managed in the directory. In addition, when a program or data to be installed is compressed, a program to be decompressed may be stored.

本実施形態における図3に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。   The functions shown in FIG. 3 in this embodiment may be performed by the host computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to the output device from a recording medium such as a CD-ROM, a flash memory, or an FD, or from an external recording medium via a network. Is.

以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, a recording medium recording software program codes for realizing the functions of the above-described embodiments is supplied to a system or apparatus, and a computer (or CPU or MPU) of the system or apparatus stores the recording medium in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the programmed program code.

この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。   In this case, the program code itself read from the recording medium realizes the novel function of the present invention, and the recording medium storing the program code constitutes the present invention.

プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。   As a recording medium for supplying the program code, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, DVD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, A silicon disk or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.

さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Furthermore, after the program code read from the recording medium is written in a memory provided in a function expansion board inserted in the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Further, the present invention may be applied to a system composed of a plurality of devices or an apparatus composed of a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or apparatus. In this case, by reading a recording medium storing a program represented by software for achieving the present invention into the system or apparatus, the system or apparatus can enjoy the effects of the present invention. .

さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。   Furthermore, by downloading and reading out a program represented by software for achieving the present invention from a server, database, etc. on a network using a communication program, the system or apparatus can enjoy the effects of the present invention. It becomes.

なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。   In addition, all the structures which combined each embodiment mentioned above and its modification are also included in this invention.

本発明の一実施形態を示す情報処理装置(プログラム生成装置)の構成を示すブロック図である。It is a block diagram which shows the structure of the information processing apparatus (program production | generation apparatus) which shows one Embodiment of this invention. 図1に示したプログラム生成装置としてのコンピュータのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the computer as a program production | generation apparatus shown in FIG. 本発明における第1の制御処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 1st control processing procedure in this invention. 図1に示したユーザ定義情報の一例を示す図である。It is a figure which shows an example of the user definition information shown in FIG. 図1に示したActionテンプレートの一例を示す図である。It is a figure which shows an example of the Action template shown in FIG. 図1に示したActionプログラムの一例を示す図である。It is a figure which shows an example of the Action program shown in FIG. 図1に示したMetaテンプレートの一例を示す図である。It is a figure which shows an example of the Meta template shown in FIG. 図1に示したMetaプログラムの一例を示す図である。It is a figure which shows an example of the Meta program shown in FIG. 図1に示したVOテンプレートの一例を示す図である。It is a figure which shows an example of the VO template shown in FIG. 図1に示したVOプログラムの一例を示す図である。It is a figure which shows an example of the VO program shown in FIG. 従来のプログラム生成装置で生成されたプログラムの一例を示す模式図である。It is a schematic diagram which shows an example of the program produced | generated with the conventional program production | generation apparatus. 図1に示した本実施形態のプログラム生成装置で生成されたプログラムの一例を示す模式図である。It is a schematic diagram which shows an example of the program produced | generated by the program production | generation apparatus of this embodiment shown in FIG. Actionプログラムの一例を示す図である。It is a figure which shows an example of an Action program. 図13に示したActionプログラムを画面上にレイアウトされる部品の属性として使用した例を示す図である。It is a figure which shows the example which used the Action program shown in FIG. 13 as an attribute of the components laid out on a screen. Metaプログラムの一例を示す図である。It is a figure which shows an example of a Meta program. 図15に示したMetaプログラムを画面上にレイアウトされる部品の属性として使用した例を示す図である。It is a figure which shows the example which used the Meta program shown in FIG. 15 as an attribute of the components laid out on a screen. VOプログラムの一例を示す図である。It is a figure which shows an example of VO program. 図17に示したVOプログラムを画面上にレイアウトされる部品の属性として使用した例を示す図である。It is a figure which shows the example which used the VO program shown in FIG. 17 as an attribute of the components laid out on a screen. 実行されたアプリケーションの画面の一例を示す図である。It is a figure which shows an example of the screen of the executed application. 本発明に係るプログラム生成装置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。It is a figure explaining the memory map of the recording medium (storage medium) which stores the various data processing program which can be read with the program generator which concerns on this invention.

符号の説明Explanation of symbols

100 コンピュータ
101 入力装置
102 表示装置
103 コンピュータ本体
104 外部記憶装置
105 全体制御部
106 画面制御部
107 Actionプログラム生成部
108 Metaプログラム生成部
109 ValueObjectプログラム生成部
110 ユーザ定義情報
111 Actionテンプレート
112 Actionプログラム
113 Metaテンプレート
114 Metaプログラム
115 ValueObjectテンプレート
116 ValueObjectプログラム
DESCRIPTION OF SYMBOLS 100 Computer 101 Input device 102 Display apparatus 103 Computer main body 104 External storage device 105 Overall control part 106 Screen control part 107 Action program generation part 108 Meta program generation part 109 ValueObject program generation part 110 User definition information 111 Action template 112 Action program 113 Meta Template 114 Meta program 115 ValueObject template 116 ValueObject program

Claims (7)

画面上で発生したイベントに応じて実行される処理、画面上にレイアウトされる部品の設計情報を定義する処理、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードを、画面を構成するコードと分離独立した形態で生成する生成手段を有することを特徴とするプログラム生成装置。   Program code corresponding to the processing executed in response to the event that occurred on the screen, the processing to define the design information of the components laid out on the screen, and the processing to transfer data to the components laid out on the screen A program generation apparatus comprising generation means for generating the code in a form that is separated and independent from the code constituting the program. 前記生成手段は、前記画面を構成するコードを生成しないことを特徴とする請求項1に記載のプログラム生成装置。   The program generation apparatus according to claim 1, wherein the generation unit does not generate a code constituting the screen. 前記生成手段は、前記各処理に対応するプログラムコードを、互いに分離した形態で生成することを特徴とする請求項1又は2に記載のプログラム生成装置。   The program generation apparatus according to claim 1, wherein the generation unit generates program codes corresponding to the processes in a form separated from each other. 前記生成手段は、前記各プログラムコード内に、該プログラムコードにより実現される処理を示すコメント情報を含めることを特徴とする請求項3に記載のプログラム生成装置。   The program generation apparatus according to claim 3, wherein the generation unit includes comment information indicating processing realized by the program code in each program code. 生成手段が、画面上で発生したイベントに応じて実行される処理、画面上にレイアウトされる部品の設計情報を定義する処理、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードを、画面を構成するコードと分離独立した形態で生成する生成手段を有することを特徴とするプログラム生成方法。   A program corresponding to the processing executed by the generation unit in response to an event that has occurred on the screen, the processing for defining the design information of a component laid out on the screen, and the processing for transferring data with a component laid out on the screen What is claimed is: 1. A program generating method comprising: generating means for generating code in a form that is separated and independent from code constituting a screen. コンピュータを、画面上で発生したイベントに応じて実行される処理、画面上にレイアウトされる部品の設計情報を定義する処理、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードを、画面を構成するコードと分離独立した形態で生成する生成手段として機能させるためのプログラム。   Program code corresponding to the processing that is executed by the computer in response to an event that occurs on the screen, the processing that defines the design information for the components that are laid out on the screen, and the processing that passes data to the components that are laid out on the screen For functioning as a generation means for generating the program in a form that is separated and independent from the code constituting the screen. コンピュータを、画面上で発生したイベントに応じて実行される処理、画面上にレイアウトされる部品の設計情報を定義する処理、画面上にレイアウトされる部品とのデータ受け渡しする処理に対応するプログラムコードを、画面を構成するコードと分離独立した形態で生成する生成手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。   Program code corresponding to the processing that is executed by the computer in response to an event that occurs on the screen, the processing that defines the design information for the components that are laid out on the screen, and the processing that passes data to the components that are laid out on the screen Is a computer-readable recording medium on which is recorded a program for functioning as a generating means for generating the image in a form that is separated and independent from the code constituting the screen.
JP2007129711A 2007-05-15 2007-05-15 Program generation device, program generation method, program, and recording medium Withdrawn JP2008287365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007129711A JP2008287365A (en) 2007-05-15 2007-05-15 Program generation device, program generation method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007129711A JP2008287365A (en) 2007-05-15 2007-05-15 Program generation device, program generation method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2008287365A true JP2008287365A (en) 2008-11-27

Family

ID=40147045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007129711A Withdrawn JP2008287365A (en) 2007-05-15 2007-05-15 Program generation device, program generation method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2008287365A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059751A (en) * 2009-09-07 2011-03-24 Canon Software Inc Program generation system, program generation device, program generation method, program, and recording medium
JP2011113542A (en) * 2009-11-30 2011-06-09 Fujitsu Frontech Ltd Program and method for generating simulation program
JP2012014633A (en) * 2010-07-05 2012-01-19 Mitsubishi Electric Corp Application creating device, application creating method, application execution device and application execution method
WO2016117025A1 (en) * 2015-01-20 2016-07-28 三菱電機株式会社 Software generation device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011059751A (en) * 2009-09-07 2011-03-24 Canon Software Inc Program generation system, program generation device, program generation method, program, and recording medium
JP2011113542A (en) * 2009-11-30 2011-06-09 Fujitsu Frontech Ltd Program and method for generating simulation program
JP2012014633A (en) * 2010-07-05 2012-01-19 Mitsubishi Electric Corp Application creating device, application creating method, application execution device and application execution method
WO2016117025A1 (en) * 2015-01-20 2016-07-28 三菱電機株式会社 Software generation device
JPWO2016117025A1 (en) * 2015-01-20 2017-07-20 三菱電機株式会社 Software generator
CN107207023A (en) * 2015-01-20 2017-09-26 三菱电机株式会社 Apparatus for producing software
US10647337B2 (en) 2015-01-20 2020-05-12 Mitsubishi Electric Corporation Software generating device

Similar Documents

Publication Publication Date Title
US7424485B2 (en) Method and apparatus for generating user interfaces based upon automation with full flexibility
JP4812337B2 (en) Method and apparatus for generating a form using a form type
US20140053063A1 (en) User interface control framework for stamping out controls using a declarative template
US20110258534A1 (en) Declarative definition of complex user interface state changes
US8136043B2 (en) GUI generation apparatus and method for generating GUI
US20140047409A1 (en) Enterprise application development tool
KR20130086138A (en) Cross-platform application framework
JP2012221380A (en) Automatic program generation device, method and computer program
JP2013518321A (en) Pattern-based user interface
CN112955865B (en) Static coordination of the application view hierarchy
CN112494940A (en) User interface manufacturing method and device, storage medium and computer equipment
US20110126171A1 (en) Dynamic native editor code view facade
TWI413933B (en) Application programming interfaces for graphical user interfaces
Allan Learning iOS Programming: From Xcode to App Store
CN107391118A (en) A kind of Web applications Consumer&#39;s Experience plateform system
JP2008287365A (en) Program generation device, program generation method, program, and recording medium
Moore Mastering GUI programming with Python: Develop impressive cross-platform GUI applications with Pyqt
KR102228241B1 (en) Method and system for virtual input on the web
US20100269089A1 (en) Method and system for generation of reusable design patterns
Ruiz Mastering Android Application Development
JPH064280A (en) Graphical user interface having function of user control for object with wysiwyg type editor
JP4889338B2 (en) Screen program layout changing method, information processing apparatus, program, and recording medium
US8566734B1 (en) System and method for providing visual component layout input in alternate forms
Yosifovich Windows Presentation Foundation 4.5 Cookbook
JP2008310605A (en) Information processor, information processing method, program, and recording medium

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: 20100803