JP4988226B2 - PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM - Google Patents
PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM Download PDFInfo
- Publication number
- JP4988226B2 JP4988226B2 JP2006059020A JP2006059020A JP4988226B2 JP 4988226 B2 JP4988226 B2 JP 4988226B2 JP 2006059020 A JP2006059020 A JP 2006059020A JP 2006059020 A JP2006059020 A JP 2006059020A JP 4988226 B2 JP4988226 B2 JP 4988226B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- source program
- divided
- division
- generating
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 87
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 3
- 238000012545 processing Methods 0.000 description 64
- 230000015572 biosynthetic process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 5
- 244000046052 Phaseolus vulgaris Species 0.000 description 5
- 230000006854 communication Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Description
本発明は、コンピュータで実行するプログラムを生成するプログラム生成制御に関する。 The present invention relates to program generation control for generating a program to be executed by a computer.
一般に、システム開発作業は、CASE(Computer Aided Software Engineering)ツール等のプログラム自動生成ツールを用いてソースプログラムを自動生成することによって、効率化されてきている。 In general, system development work has been made more efficient by automatically generating a source program using an automatic program generation tool such as a CASE (Computer Aided Software Engineering) tool.
その例として、特許文献1は、データ項目(定義情報)や業務ルールを指定することにより、画面プログラムを含む基本的業務ロジック(ソースプログラム)を自動生成することを開示している。特許文献1では、利用者がプログラミングの知識が無くても、業務アプリケーションに関するソースプログラムを作成することができることが記載されている。
しかしながら、従来のプログラム自動生成ツールを用いることによって生成されたソースプログラムは、一般に冗長であり、指定された定義情報に応じてソースプログラムのサイズが大きくなってしまう。 However, a source program generated by using a conventional program automatic generation tool is generally redundant, and the size of the source program increases according to the specified definition information.
このように作成されたサイズが大きいソースプログラムは、以下の(1)〜(3)に示すような問題を生じる可能性があった。 The large source program created in this way may cause the following problems (1) to (3).
(1)ソースプログラムをコンパイルする際、コンパイラ毎にコンパイル可能なサイズ(以下、コンパイル制限値)がある。そのため、コンパイル制限値を越えるソースプログラムをコンパイルすると、コンパイルに失敗する恐れがある。 (1) When compiling a source program, there is a size that can be compiled for each compiler (hereinafter referred to as a compilation limit value). Therefore, if a source program exceeding the compilation limit value is compiled, compilation may fail.
例えば、特許文献1のように、特に生成されるプログラムがJSPの場合、(使用しているWebアプリケーションサーバによって)一旦Java(登録商標)ソースファイルに変換される。この場合、プログラム処理の多くの部分が1つのメソッド内に集中して変換されるため、Java(登録商標)コンパイラの「1メソッド64kB以内」という制限を越え易くなってしまう。即ち、コンパイルに失敗し易くなってしまう。
For example, as in
そこで、このようなコンパイラの制限を越えてしまったソールファイルを、正常にコンパイルするために、利用者は、自動生成されたソースプログラムがコンパイル制限値内になるように、手動でソースプログラムを編集すること等が考えられる。 Therefore, in order to successfully compile a source file that exceeds the compiler limit, the user manually edits the source program so that the automatically generated source program is within the compilation limit value. It may be possible to do so.
(2)しかしながら、手動で編集することは非常に煩雑である。さらに、CASEツール等のプログラム自動生成ツールは、一般的にプログラミングの知識に乏しい利用者であってもプログラムを作成できるように供されたものであり、そのような利用者が手動で編集することは困難である。また、該利用者が手動で編集することによって、プログラムの品質を劣化させてしまう可能性もある。 (2) However, manual editing is very complicated. Furthermore, automatic program generation tools such as the CASE tool are provided so that even a user who is generally poor in programming knowledge can create a program, and such a user can edit it manually. It is difficult. In addition, manual editing by the user may degrade the quality of the program.
(3)利用者がソースプログラムを手動で変更することによって、CASEツールが維持するリソース間の関連付け情報の整合性を乱し、更には、動作しなくなる恐れがある。よって、動作保証の観点から、利用者が手動でソースプログラムを変更することを禁止しているシステムも多い。 (3) When the user manually changes the source program, the consistency of the association information between resources maintained by the CASE tool may be disturbed, and further, the user may not operate. Therefore, from the viewpoint of operation guarantee, there are many systems in which the user is prohibited from changing the source program manually.
このため、利用者は、例えば、本来1画面に収まっていた画面入出力項目を複数画面に分けて設計し直し、正常にコンパイル出来るようにしなければならない。このような制限を加えられることにより、プログラムやシステムを自由な発想で設計することが困難となる。 For this reason, for example, the user must redesign the screen input / output items originally contained in one screen into a plurality of screens so that they can be normally compiled. By adding such restrictions, it becomes difficult to design programs and systems with free ideas.
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、ソースプログラムサイズに起因するソースプログラムから機械語への翻訳の失敗の発生を防ぐようなソースプログラムを自動作成する仕組を提供することである。 The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to automatically execute a source program that prevents the occurrence of a translation failure from the source program to the machine language due to the size of the source program. It is to provide a mechanism to create.
本発明は、ソースプログラムを生成するプログラム生成装置であって、ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段と、画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段と、前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段と、前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段と、前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段とを有することを特徴とする。 The present invention is a program generation apparatus that generates a source program, and stores a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program. A first source program including the divided area start mark and the divided area end mark is generated from the means, user definition information input in advance for defining a screen, and a program template stored in the storage means. A source program generation unit and a specification for identifying a compilable area identified by the division area start mark and the division area end mark included in the first source program generated by the first source program generation unit as a division unit program It means, by the specifying means By using a plurality of divided unit program to be constant, and a second source program generating means for generating a second source program data size that does not exceed a predetermined limit value, the generated by the second source program generation means 2 A program for taking in a source program has a third source program generating means for generating a third source program replaced as a substitute for the divided portion of the first source program corresponding to the second source program. And
本発明によれば、コンパイル制限値の制約を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、ソースプログラムから機械語への翻訳の失敗を防ぐようなソースプログラムを容易に作成することができる。 According to the present invention, it is possible to design a system under the free idea of the designer without being aware of the restrictions on the compilation limit value, and to prevent the failure of translation from the source program into the machine language. Programs can be created easily.
また、生成されるプログラム構造を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、効率的にソースプログラムから機械語への翻訳が可能なソースプログラムを容易に作成できる効果を奏する。 In addition, it is possible to design a system based on the designer's free idea without being conscious of the generated program structure, and to easily create a source program that can be efficiently translated from a source program to a machine language. There is an effect that can be created.
〔第1実施形態〕
以下、図面を用いて本発明のプログラム生成装置の実施形態について説明する。
[First Embodiment]
Hereinafter, embodiments of the program generation device of the present invention will be described with reference to the drawings.
本実施形態では、アプリケーションシステムを構成するプログラムや画面等のソフトウェアを自動生成するCASEツール環境において、特にJSPプログラムの自動生成について説明する。なお、本実施形態では、「プログラム」とはソースプログラムを示すものとする。 In the present embodiment, automatic generation of a JSP program will be described particularly in a CASE tool environment that automatically generates software such as programs and screens constituting an application system. In the present embodiment, the “program” indicates a source program.
また、CASEツール環境の説明は、本発明と直接関係のある部分についてのみ言及する。 In addition, the description of the CASE tool environment refers only to the portion directly related to the present invention.
図1は、本発明の一実施形態を示すプログラム生成装置のシステム全体を示す構成図である。 FIG. 1 is a block diagram showing the entire system of a program generation apparatus showing an embodiment of the present invention.
図1において、103はプログラム生成装置であり、パーソナルコンピュータ等の情報処理装置で構成される。102はキーボード,ポインティングデバイス(マウス等)の入力装置である。101はディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。
In FIG. 1, reference numeral 103 denotes a program generation device, which is composed of an information processing device such as a personal computer.
図1に示すように、ユーザは表示装置101を閲覧し、入力装置102を操作することによってプログラム自動生成命令を指示する。そして、プログラム自動生成命令の指示を受けたプログラム生成装置103は、全体制御部105でJSPプログラムの自動生成を行う。以下、詳細に説明する。
As shown in FIG. 1, the user browses the
まず、プログラム自動生成命令を受けた画面制御部106は、プログラム生成部107に処理を委譲する。プログラム生成部107は、外部記憶装置(HDD)104に格納されるJSPプログラムテンプレート110(後述する図6)を元に、予め入力設定されたユーザ定義情報109(後述する図5)を適用し、JSPプログラムを生成し、JSPプログラム111(後述する図7)として外部記憶装置104に格納する。
First, the
JSPプログラム111の作成後、プログラム生成部107は、プログラム分割部108に処理を委譲する。そして、プログラム分割部108は、JSPプログラム111を分割し、複数の分割プログラムを作成し、分割後JSPプログラム112(後述する図9,図10)として外部記憶装置104に格納する。
After creating the
なお、図1の構成は一例であり、用途や目的に応じて様々な構成例があることは云うまでもない。その他の構成例として、プログラム生成装置が、ネットワークと接続され、通信可能な不図示のパーソナルコンピュータ等の情報処理装置からプログラム自動生成命令を受けることによって、プログラムの自動生成を行うことも可能である。 Note that the configuration in FIG. 1 is an example, and it is needless to say that there are various configuration examples depending on applications and purposes. As another configuration example, the program generation apparatus can be automatically generated by receiving a program automatic generation instruction from an information processing apparatus such as a personal computer (not shown) that is connected to a network and can communicate. .
すなわち、本発明の機能が実現されるものであれば、単体の機器であっても、複数の機器からなるシステムであっても、ネットワークを介して処理が行われるシステムであっても本発明を適用することができる。 That is, as long as the functions of the present invention are realized, the present invention can be applied to a single device, a system composed of a plurality of devices, or a system that performs processing via a network. Can be applied.
また、ここで、ハードディスクドライブ(HDD)等の外部記憶装置104に記憶されたユーザ定義情報109やJSPプログラムテンプレート110、JSPプログラム111、分割後JSPプログラム112は、それぞれデータベース(DB)等に格納されているものとする。
Here, the
次に、図2を参照して、図1に示したプログラム生成装置103のハードウェア構成について説明する。 Next, the hardware configuration of the program generation device 103 shown in FIG. 1 will be described with reference to FIG.
図2は、図1のプログラム生成装置103のハードウェア構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。 FIG. 2 is a block diagram showing a hardware configuration of the program generation apparatus 103 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に記憶されている制御プログラムに基づいて、システムバス211に接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
In FIG. 2, 201 is a CPU (Central Processing Unit) 201 that summarizes access to various devices connected to the
システムバス211には、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、プログラム生成装置103が実行する処理を実現するために必要な各種プログラム等が記憶されている。
Connected to the
CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。
The
入力装置コントローラ206は、ポインティングデバイス(不図示)やキーボード(不図示)等の入力装置102からの入力を制御する。表示装置コントローラ205は、CRTディスプレイや液晶ディスプレイ等の表示装置101の表示を制御する。メモリコントローラ207は、外部記憶装置104とのアクセスを制御する。
The
外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
The
通信I/F(通信インターフェース)204は、通信回線212を介してパーソナルコンピュータ等の情報処理装置に接続することができ、双方向通信が可能である。
A communication I / F (communication interface) 204 can be connected to an information processing apparatus such as a personal computer via a
CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置101上でWYSIWYGを可能としている。また、CPU201は、表示装置101上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
For example, the
以下、図3〜図10を参照して、図1で示したプログラム生成装置103の全体制御部105で行われる処理全体について説明する。 Hereinafter, with reference to FIGS. 3 to 10, the entire processing performed by the overall control unit 105 of the program generation apparatus 103 illustrated in FIG. 1 will be described.
図3は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図1で示したプログラム生成装置103の全体制御部105で行われる処理全体に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する全体制御部105により実現される。なお、図中、S301〜S303は各ステップを示す。
FIG. 3 is a flowchart showing an example of a first control processing procedure according to the present invention, and corresponds to the entire processing performed by the overall control unit 105 of the program generating apparatus 103 shown in FIG. Note that the processing in this flowchart is realized by the overall control unit 105 in which the
ステップS301において、入力装置102から入力されるプログラム自動生成命令の指示を受けると、全体制御部105内の画面制御部106は、プログラム生成部107に処理を委譲し、ステップS302に処理を進める。
In step S301, upon receiving an instruction of an automatic program generation command input from the
次に、ステップS302において、プログラム生成部107は、プログラム生成処理(詳細は図4に示す)を実行する。ステップ302の処理が終了すると、プログラム生成部107は、プログラム分割部108に処理を委譲し、ステップS303に処理を進める。
Next, in step S302, the
ステップS303において、プログラム分割部108は、ステップ302で生成されたプログラムを分割する処理(詳細は図8に示す)を実行し、分割プログラムを生成し、処理を終了する。
In step S303, the
図4は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図3のステップS302に示したプログラム生成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム生成部107により実現される。なお、図中、S401〜S403は各ステップを示す。
FIG. 4 is a flowchart showing an example of the second control processing procedure in the present invention, and corresponds to the program generation processing shown in step S302 of FIG. Note that the processing of this flowchart is realized by the
プログラム生成部107は、まずステップS401において、外部記憶装置104に記憶されたユーザ定義情報109(図5)を抽出(取得)し、これをRAM202内に記憶する。
First, in step S <b> 401, the
ここで、ユーザ定義情報109の一例を図5に示す。
An example of the
図5は、図1に示したユーザ定義情報109の一例を示す図である。なお、ここでは一例としてアドレス帳の画面を定義したユーザ定義情報を示してある。
FIG. 5 is a diagram showing an example of the
図5に示すように、ユーザ定義情報109は、「IO」701、「IOITEM_ID」702、「IOITEM_NAME」703で構成される。
As illustrated in FIG. 5, the
「IO」701には「画面コード」が格納されている。また、「IOITEM_ID」702には「画面内の項目のコード」が格納されている。さらに、「IOITEM_NAME」703には「画面内の項目の表示名」が格納されている。 “IO” 701 stores “screen code”. In addition, “IOITEM_ID” 702 stores “codes of items in the screen”. Further, “IOITEM_NAME” 703 stores “display names of items in the screen”.
以下、図4のフローチャートの説明に戻る。 Hereinafter, the description returns to the flowchart of FIG.
次に、ステップS402において、プログラム生成部107は、外部記憶装置104に記憶されたJSPプログラムテンプレート110を抽出(取得)し、RAM202内に記憶する。
Next, in step S <b> 402, the
図4のステップS403において、プログラム生成部107は、ステップS401で取得したユーザ定義情報を、ステップS402で取得したJSPプログラムテンプレート110の所定の変数部分に、組み込むことによって、JSPプログラム(図7)を生成する。そして、生成されたJSPプログラムをJSPプログラム111として外部記憶装置104に格納し、処理を終了する。
In step S403 of FIG. 4, the
ここで、JSPプログラムテンプレート110の一例を図6に示す。
An example of the
図6は、図1に示したJSPプログラムテンプレート110の一例を示す図である。
FIG. 6 is a diagram showing an example of the
JSPプログラムテンプレート110には予め所定の変数部分810,811があり、上述したユーザ定義情報109の「IOITEM_NAME」703,「IOITEM_ID」702を、該変数部分810,811に組み込むことによって、後述する図4のステップS403で、JSPプログラム111が生成される。
The
具体的に説明すると、図6の810に示す「<th>${ioitem.name}</th>」の変数部分(「${ioitem.name}」)には、図5の項目「IOITEM_NAME」703の列に格納されている「名前」や「電話番号」が組み込まれ、「<th>名前</th>」や「<th>電話番号</th>」になる。
More specifically, the variable portion (“$ {ioitem.name}”) of “<th> $ {ioitem.name} </ th>” indicated by 810 in FIG. 6 includes the item “IOITEM_NAME” in FIG. “Name” and “telephone number” stored in the
また、図6の811,812に示す「<logic:iterate id="${io}" name="bean" property="ioitems" >」,「<td><bean:write name="${io}" property="${ioitem.id}"/></td>」の変数部分(「${io}」)には、図5の項目「IO」701の列に格納されている「address」が組み込まれる。また、811の変数部分(「${ioitem.id}」)には、図5の項目「IOITEM_ID」702の列に格納されている「name」や「tel」が組み込まれる。即ち、811は「<logic:iterate id="address" name="bean" property="ioitems" >」になる。また、812は「<td><bean:write name="address" property="name"/></td>」や「<td><bean:write name="address" property="tel"/></td>」になる。この結果、後述するJSPプログラムが生成されていく。 Also, "<logic: iterate id =" $ {io} "name =" bean "property =" ioitems ">", "<td> <bean: write name =" $ {io "shown in 811 and 812 of FIG. } "property =" $ {ioitem.id} "/> </ td>" variable part ("$ {io}") "address" stored in the column of the item "IO" 701 in FIG. Is incorporated. In addition, “name” and “tel” stored in the column of the item “IOITEM_ID” 702 in FIG. 5 are incorporated in the variable portion 811 (“$ {ioitem.id}”). That is, 811 becomes "<logic: iterate id =" address "name =" bean "property =" ioitems ">". 812 is “<td> <bean: write name =“ address ”property =“ name ”/> </ td>” or “<td> <bean: write name =“ address ”property =“ tel ”/> </ Td> ". As a result, a JSP program to be described later is generated.
図7は、図1に示したJSPプログラム111の一例を示す図である。
FIG. 7 is a diagram showing an example of the
また、図6に示すJSPプログラムテンプレート110には、「プログラム分割」処理303で用いる分割識別情報が予め組み込まれている。
In addition, in the
ここで分割識別情報とは、図6に示すように、JSPプログラムテンプレート110に予め組み込まれている「分割エリア開始マーク804」、「分割エリア終了マーク805」、「グローバルエリア開始マーク801」、「グローバルエリア終了マーク802」等である。 Here, as shown in FIG. 6, the division identification information includes “division area start mark 804”, “division area end mark 805”, “global area start mark 801”, “ Global area end mark 802 "or the like.
これらの分割識別情報801,802,804,805は、プログラムを分割しても矛盾が生じない箇所を識別するための情報である。すなわち、この分割識別情報のところで分割することが可能である。また、分割識別情報801,802,804,805は、コメント行として情報であり、プログラムそのものの機能に何ら影響を与えない情報である。 These pieces of division identification information 801, 802, 804, and 805 are information for identifying portions where no contradiction occurs even when the program is divided. That is, it is possible to divide at this division identification information. The division identification information 801, 802, 804, 805 is information as a comment line, and is information that does not affect the function of the program itself.
ここで、「分割エリア開始マーク804」及び「分割エリア終了マーク805」で挟まれたエリアを「分割単位エリア806」と呼び、この「分割単位エリア806」に含まれる情報(プログラム)を「分割単位プログラム」と呼ぶことにする。
Here, an area sandwiched between “division area start mark 804” and “division area end mark 805” is referred to as “
また、「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で挟まれたエリアを「グローバルエリア803」と呼び、「グローバルエリア803」に含まれる情報を「グローバル情報」と呼ぶことにする。グローバル情報は、後で説明する分割プログラムに共通して必要な情報である。
Further, an area sandwiched between “global area start mark 801” and “global area end mark 802” is called “
図8は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図3のステップS303に示したプログラム分割処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S501〜S512は各ステップを示す。
FIG. 8 is a flowchart showing an example of a third control processing procedure according to the present invention, and corresponds to the program division processing shown in step S303 of FIG. Note that the processing of this flowchart is realized by the
プログラム分割部108は、まずステップS501において、ステップ302で生成されて外部記憶装置104等に記憶されたJSPプログラム111からプログラムコードを1エリア読み込む。具体的には、例えば、JSPプログラム111の先頭からプログラムコードを読み込む。その際に、分割識別情報である「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」、又は、「分割エリア開始マーク804」及び「分割エリア終了マーク805」を検知し、検知された分割識別情報で識別(特定)されたエリアのプログラムコードを読み込む。このようにして、「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で特定される範囲(挟まれたエリア)の情報、又は、「分割エリア開始マーク804」及び「分割エリア終了マーク805」で特定される範囲(挟まれたエリア)の情報を読み込む。
First, in step S501, the
ステップS502では、プログラム分割部108は、ステップS501で読み込んだJSPプログラム111内の1エリアの情報が、「グローバル情報」か「分割単位プログラム」かを、分割識別情報に基づいて特定する。例えば、読み込んだ情報が「グローバルエリア開始マーク801」及び「グローバルエリア終了マーク802」で特定される範囲(挟まれたエリア)の情報であれば「グローバル情報」と特定する。また、読み込んだ情報が「分割エリア開始マーク804」及び「分割エリア終了マーク805」で特定される範囲(挟まれたエリア)の情報であれば「分割単位プログラム」と特定する。
In step S502, the
そして、ステップS503では、プログラム分割部108は、ステップ501で読み込まれた情報が「グローバル情報」であると判断した場合には、ステップ504に処理を進める。ステップS504では、プログラム分割部108は、ステップS501で読み込んだ情報を「グローバル情報」としてRAM202内に記憶し、ステップS512に処理を進める。
In step S <b> 503, if the
一方、ステップS503で、プログラム分割部108が、ステップ501で読み込んだ情報が「グローバル情報」でないと判断した場合には、ステップ505に処理を進める。ステップS505では、プログラム分割部108は、ステップS501で読み込んだ情報が「分割単位プログラム」でないと判断した場合には、そのままステップS512に処理を進める。
On the other hand, if the
一方、ステップS505で、プログラム分割部108が、ステップS501で読み込んだ情報が「分割単位プログラム」であると判断した場合には、ステップS506に処理を進める。
On the other hand, if the
ステップS506では、プログラム分割部108は、空の分割プログラム(ファイル)を外部記憶装置104内に新規に生成する。
In step S506, the
そして、ステップS507では、プログラム分割部108は、ステップ506で作成した分割プログラム内に、RAM202内に記憶される「グローバル情報」を挿入する(図10の1101に示す)。
In step S507, the
次に、ステップ508では、プログラム分割部108は、ステップS501で読み込んだ情報を「分割単位プログラム」として、ステップ507で「グローバル情報」が挿入された分割プログラム内に挿入する(図10の1102に示す)。
Next, in step 508, the
そして、ステップS509では、プログラム分割部108は、分割プログラムのファイルをクローズする。このように、図10に示すような分割プログラムが生成される。このように生成された分割プログラムを、以下、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。
In step S509, the
次に、ステップS510では、プログラム分割部108は、ステップS508で分割プログラム内に挿入した情報(分割単位プログラム)を、JSPプログラム111から削除する。
Next, in step S510, the
次に、ステップS511では、プログラム分割部108は、JSPプログラム111内のステップ510で削除された分割単位プログラムの部分に、ステップS506〜S509で生成された分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002に示す)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。
Next, in step S511, the
次に、ステップ512において、プログラム分割部108は、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS501に処理を戻す。上記の処理を、JSPプログラム111の読み込み終了まで繰り返すことにより、図10に示すような各分割単位プログラムに対応する分割プログラム(子)のファイルがそれぞれ生成され、且つ、図7に示したJSPプログラム111は図9に示すように編集される。このように編集されたJSPプログラム111を、以下、分割プログラム(親)と称する。
Next, in step 512, the
一方、ステップ512で、プログラム分割部108が、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したと判断した場合には、図示しないステップにおいて、上記ステップS510,S511の処理により編集生成された分割プログラム(親)も分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。
On the other hand, if it is determined in step 512 that the
以上の「プログラム分割」処理の結果、図9,図10に示す分割後JSPプログラム112が作成される。なお、図9,図10に示す例には、「グローバルエリア開始マーク801」,「グローバルエリア終了マーク802」,「分割エリア開始マーク804」,「分割エリア終了マーク805」は示していないが、これらはコメント行であるので、分割プログラムに含まれていても問題はない。
As a result of the above “program division” process, the
図9は、図8に示したプログラム分割処理により生成される分割プログラム(親)の一例を示す図である。 FIG. 9 is a diagram showing an example of a divided program (parent) generated by the program dividing process shown in FIG.
図9に示す分割プログラム(親)は、どの分割プログラムでも必要となるグローバル情報1001を含む。さらに、分割プログラム(親)は、各分割プログラム(子)へのパス情報を含むインクルード文1002を分割したプログラムの数だけ含む。
The division program (parent) shown in FIG. 9 includes
なお、図8に示したフローチャートでは、元のJSPプログラム111から、分割単位プログラムを削除し、分割プログラム(子)のインクルード文を挿入する方法で、図9の分割プログラム(親)を生成する方法について示した。しかし、図9に示した分割プログラム(親)も、新たにプログラムファイルを生成し、該生成したプログラムファイルに、グローバル情報と、各分割プログラム(子)のインクルード文を挿入する方法で生成するように構成してもよい。
In the flowchart shown in FIG. 8, a method of generating the split program (parent) of FIG. 9 by deleting the split unit program from the
図10は、図8に示したプログラム分割処理のステップS506〜S509で生成された分割プログラム(子)の一例を示す図である。 FIG. 10 is a diagram showing an example of the divided program (child) generated in steps S506 to S509 of the program dividing process shown in FIG.
図10に示す分割プログラム(子)には、グローバル情報1101、及び、分割単位プログラム1102が含まれる。
The division program (child) shown in FIG. 10 includes
以上示したように、本実施形態では、プログラム生成部107が、生成するファイル(JSPプログラム111)の分割可能な位置にマーク情報(グローバルエリア開始マーク801,グローバルエリア終了マーク802,分割エリア開始マーク804,分割エリア終了マーク805)を埋め込み、プログラム分割部108が、上記マークを利用してプログラムを分割する構成を有する。これにより、これまで困難であった自動生成されたプログラムの分割をユーザによる手作業による編集無しで容易に行うことができる。
As described above, in the present embodiment, the
従って、コンパイル制限値の制約,プログラム構造を意識しなくても、設計者の自由な発想の下でシステム設計を行うことができ、ソースプログラムから機械語への翻訳の失敗を防ぎ、また、手作業の編集によるシステム性能の劣化を防ぐようなソースプログラムを作成することができる等の効果を奏する。 Therefore, system design can be performed under the free idea of the designer without being aware of the restrictions on the compilation limit values and the program structure, preventing failure of translation from the source program to machine language. It is possible to create a source program that prevents deterioration of system performance due to work editing.
〔第2実施形態〕
上記第1実施形態では、分割プログラム単位でプログラムを分割する構成について説明した。なお、上記第1実施形態の構成の場合、プログラムの分割単位が小さくなってしまい、効率的にコンパイルすることができない場合が発生する恐れもある。本実施形態では、ユーザが指定する数の分割単位プログラム毎にプログラム分割を行うように構成する。以下、図11,図12を参照して詳細に説明する。
[Second Embodiment]
In the first embodiment, the configuration in which a program is divided in divided program units has been described. In the case of the configuration of the first embodiment, there is a possibility that the division unit of the program becomes small and there is a possibility that the program cannot be efficiently compiled. In the present embodiment, the program is divided for each number of division unit programs designated by the user. Hereinafter, a detailed description will be given with reference to FIGS.
図11は、本発明の第2実施形態におけるプログラム生成命令画面の一例を示す図である。このプログラム生成画面は、図1に示した表示装置101に表示されるものとする。
FIG. 11 is a diagram showing an example of a program generation instruction screen in the second embodiment of the present invention. This program generation screen is displayed on the
図11において、ダウンメニュー1501は、生成するプログラムを設定することができる。チェックボックス1502,1503は、「プログラム生成」処理(ステップ302)で生成されたプログラムを分割するか否かを設定することができる。なお、チェックボックス1502,1503は、排他的にチェック可能なチェックボックスであり、プログラムを分割する場合はチェックボックス1502にチェックを入れ、分割しない場合はチェックボックス1503にチェックを入れる。
In FIG. 11, a
また、プルダウンメニュー1504は、分割単位プログラムをいくつまで分割プログラムに挿入することができるかを設定することができる。例えば、分割単位を「5」に設定すれば、分割単位プログラムが5つ挿入された分割プログラムを生成することができる。以上1501〜1504で設定された情報を設定情報という。
The pull-
ユーザが入力装置102を用いて設定情報を設定し、「生成」ボタン601を押下すると、入力装置102は、プログラム生成装置103に対して設定された設定情報及びプログラム自動生成命令を送くる。これにより、プログラム生成装置103による処理(図3)が開始される。
When the user sets setting information using the
以下、図12を参照して、本発明の第2実施形態におけるプログラム分割処理(図3のS303)について説明する。 Hereinafter, with reference to FIG. 12, the program division processing (S303 in FIG. 3) in the second embodiment of the present invention will be described.
図12は、本発明における第4の制御処理手順の一例を示すフローチャートであり、本発明の第2実施形態におけるプログラム分割処理(図3のS303)に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1201〜S1215は各ステップを示す。
FIG. 12 is a flowchart showing an example of a fourth control processing procedure in the present invention, and corresponds to the program division processing (S303 in FIG. 3) in the second embodiment of the present invention. Note that the processing of this flowchart is realized by the
プログラム分割部108は、まずステップS1201において、図3のステップS302で生成されたプログラムを分割するか否かを設定情報(特に図11の1502,1503)に基づいて判断する。そして、プログラム分割部108が分割しないと判断した場合には、そのまま処理を終了する。
First, in step S1201, the
一方、ステップS1201で、プログラム分割部108が、図3のステップS302で生成されたプログラムを分割すると判断した場合には、ステップS1202に処理を進める。
On the other hand, if the
なお、ステップS1202〜S1206の処理は、図8のステップS501〜S505の処理と同一であるので説明は省略する。 Note that the processing in steps S1202 to S1206 is the same as the processing in steps S501 to S505 in FIG.
ステップS1206で、プログラム分割部108が、ステップS1202で読み込んだ情報が「分割単位プログラム」であると判断した場合には、ステップS1207に処理を進める。
If the
ステップS1207では、プログラム分割部108は、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが、設定情報(特に図11の1504)で設定された分割単位数未満であるか否かを判断する。そして、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが分割単位数未満であると判断した場合には、ステップ1210に処理を進める。
In step S1207, the
ステップS1210では、プログラム分割部108は、処理中の分割プログラム(ファイル)があるか否かを判断する。そして、処理中の分割プログラム(ファイル)がないと判断した場合には、ステップ1211に処理を進める。
In step S1210, the
ステップS1211では、プログラム分割部108は、空の分割プログラム(ファイル)を外部記憶装置104内に新規に生成する。
In step S1211, the
そして、ステップS1212では、プログラム分割部108は、ステップ1211で作成した分割プログラム内に、RAM202内に記憶される「グローバル情報」を挿入する(図10の1101)。
In step S1212, the
次に、ステップ1213では、プログラム分割部108は、ステップS1202で読み込んだ情報を「分割単位プログラム」として、ステップ1212で「グローバル情報」が挿入された分割プログラム内に挿入する(図10の1102)。
Next, in
次に、ステップS1214では、プログラム分割部108は、ステップS1212で分割プログラム内に挿入した情報(分割単位プログラム)を、JSPプログラム111から削除し、ステップS1215に処理を進める。
Next, in step S1214, the
また、ステップS1210で、プログラム分割部108が、処理中の分割プログラム(ファイル)があると判断した場合には、そのままステップS1213,S1214の処理を実行し、ステップS1215に処理を進める。
If the
次に、ステップ1215において、プログラム分割部108は、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS1202に処理を戻す。
Next, in
また、ステップS1207で、プログラム分割部108が、既に分割プログラム(ファイル)に挿入済みの分割単位プログラムが、設定情報(特に図11の1504)で設定された分割単位数未満であると判断した場合には、ステップ1208に処理を進める。
If the
ステップS1208では、プログラム分割部108は、処理中の分割プログラムのファイルをクローズする。これにより、分割プログラムが作成される。この分割プログラムを、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。
In step S1208, the
次に、ステップS1209では、プログラム分割部108は、JSPプログラム111内に(ステップ1214で削除された分割単位プログラムの部分に)、ステップS1208でクローズした分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。ステップS1209の処理が終了すると、ステップS1210〜S1214の処理を実行し、ステップS1215へ処理を進める。
Next, in step S1209, the
上記ステップS1202〜S1214の処理を、JSPプログラム111の読み込み終了まで繰り返すことにより、図10に示したような各分割単位プログラムに対応する分割プログラム(子)のファイルがそれぞれ生成され、且つ、図7に示したJSPプログラム111は図9に示したように編集される。このように編集されたJSPプログラム111を、分割プログラム(親)と称する。
By repeating the processes in steps S1202 to S1214 until the reading of the
そして、ステップ1215で、プログラム分割部108が、JSPプログラム111の全ての分割単位プログラム及びグローバル情報の読み込みを終了したと判断した場合には、図示しないステップにおいて、上記ステップS510,S511の処理により編集生成された分割プログラム(親)も分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。
If the
以上示したように、本実施形態で、プログラム分割部108が、ユーザが指定した数の分割プログラムを含むように、プログラム生成部107が生成したプログラムを分割する構成を有する。これにより、ユーザにより指定された分割単位数の分割単位プログラムを含んだ分割プログラムを、ユーザによる手作業の編集無しで容易に生成することができる。
As described above, the present embodiment has a configuration in which the
従って、より少ない分割プログラムを生成して、コンパイル処理を効率的に行うことができるようにしたり、コンパイルエラーを起こりにくくしたりすることが可能な分割プログラムを生成することができる。 Therefore, it is possible to generate a divided program that can generate fewer divided programs so that the compile process can be performed efficiently or that compile errors are less likely to occur.
即ち、細かく分割するとより多くの情報を処理できる代わりに、初期コンパイルが遅くなるというトレードオフがあるが、ユーザがケースに応じてこれを選択することが出来るようになる。 That is, there is a trade-off that the initial compilation is slowed down instead of being able to process more information when finely divided, but the user can select this according to the case.
なお、図12のステップ1201で、ステップ302で生成されたJSPプログラム111のサイズと、コンパイラのコンパイル制限値とを取得し、該JSPプログラム111のサイズと該コンパイル制限値とを比較し、該JSPプログラム111のサイズが該コンパイル制限値を越える場合、ステップ1202の処理を実行し(分割プログラムを生成する処理を実行し)、一方、越えない場合、分割プログラムを生成する処理を実行せず、終了するように構成してもよい。
In
なお、コンパイル制限値は、コンパイラがコンパイル可能なサイズを示すものであり、コンパイラから動的に取得可能である。なお、このコンパイル制限値を設定ファイル等として、予め外部記憶装置104に格納しておいてもよい。
The compile limit value indicates a size that can be compiled by the compiler, and can be dynamically acquired from the compiler. The compile limit value may be stored in advance in the
〔第3実施形態〕
上記第2実施形態では、ユーザが指定した数の分割単位プログラムを含むように、分割プログラムを生成する構成について説明した。本実施形態では、分割プログラムを、ユーザが指定した数以内の分割単位プログラムを含ませ、且つ、分割プログラムのサイズがコンパイル制限値を越えないように生成するように構成する。以下、図13,図14を参照して詳細に説明する。
[Third Embodiment]
In the second embodiment, the configuration in which the division program is generated so as to include the number of division unit programs specified by the user has been described. In this embodiment, the division program is configured to include division unit programs within the number specified by the user and to generate the division program so that the size of the division program does not exceed the compilation limit value. Hereinafter, a detailed description will be given with reference to FIGS. 13 and 14.
図13は、本発明における第5の制御処理手順の一例を示すフローチャートであり、本発明の第3実施形態におけるプログラム分割処理(図3のS303)に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1201〜S1215,S1300は各ステップを示す。また、図12と同一のステップには同一のステップ番号を付してあり、説明は省略する。
FIG. 13 is a flowchart showing an example of a fifth control processing procedure according to the present invention, and corresponds to the program division processing (S303 in FIG. 3) according to the third embodiment of the present invention. Note that the processing of this flowchart is realized by the
プログラム分割部108は、ステップS1210で、処理中の分割プログラム(ファイル)があると判断した場合には、ステップS1300に処理を進める。
If the
ステップS1300では、プログラム分割部108は、コンパイル制限サイズ処理を実行し、ステップS1213に処理を進める。なお、ステップS1300のコンパイル制限サイズ処理の詳細は図14に示す。
In step S1300, the
図14は、本発明における第6の制御処理手順の一例を示すフローチャートであり、図13のステップS1300のコンパイル制限サイズ処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1301〜S1303は各ステップを示す。
FIG. 14 is a flowchart showing an example of the sixth control processing procedure in the present invention, and corresponds to the compile limit size processing in step S1300 in FIG. Note that the processing of this flowchart is realized by the
ステップS1301において、プログラム分割部108は、処理中の分割プログラム(ファイル)のサイズ、処理中の分割単位プログラムのサイズ,コンパイラのコンパイル制限値を取得する。そして、プログラム分割部108は、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値が、コンパイル制限値を超えるか否かを判断する。
In step S1301, the
そして、プログラム分割部108が、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値がコンパイル制限値を超えないと判断した場合には、図13のステップS1213に処理を進める。
When the
一方、プログラム分割部108が、処理中の分割プログラムのサイズと処理中の分割単位プログラムのサイズの合計値がコンパイル制限値を超えると判断した場合には、ステップS1302に処理を進める。
On the other hand, if the
ステップS1302では、プログラム分割部108は、処理中の分割プログラムのファイルをクローズする。これにより、分割プログラムが作成される。この分割プログラムを、分割プログラム(子)と称する。なお、分割プログラム(子)は分割後JSPプログラム112の1つとして外部記憶装置104等に記憶される。
In step S1302, the
次に、ステップS1303では、プログラム分割部108は、JSPプログラム111内に(図13のステップ1214で削除された分割単位プログラムの部分に)、ステップS1301でクローズした分割プログラム(子)のファイルへのインクルード文を挿入する(図9の1002)。ここで、インクルード文には、分割プログラム(子)のファイルを特定する相対パス又は絶対パス等のパス情報を含む。ステップS1303の処理が終了すると、図13のステップS1213に処理を進める。
Next, in step S1303, the
以上の処理を実行することにより、コンパイル処理を効率的に行うことができ、コンパイルエラーを防ぐことができる分割プログラムを生成することができる。 By executing the above process, a compile process can be performed efficiently, and a divided program that can prevent a compile error can be generated.
〔第4実施形態〕
上記第1実施形態では、自動生成したプログラムを分割する構成について説明した。本実施形態では、第1の実施形態で示したプログラム分割処理で分割されたプログラムを、効率良くコンパイルできるサイズに合成する「プログラム合成」処理を行うように構成する。以下、図15,図16を参照して詳細に説明する。
[Fourth Embodiment]
In the first embodiment, the configuration for dividing the automatically generated program has been described. In the present embodiment, a “program synthesis” process for synthesizing a program divided by the program division process shown in the first embodiment into a size that can be efficiently compiled is configured. Hereinafter, a detailed description will be given with reference to FIGS. 15 and 16.
図15は、本発明における第7の制御処理手順の一例を示すフローチャートであり、本発明の第4実施形態における全体制御部105で行われる処理全体に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する全体制御部105により実現される。なお、図中、S301〜S303,S1400は各ステップを示す。また、図12と同一のステップには同一のステップ番号を付してあり、説明は省略する。
FIG. 15 is a flowchart showing an example of the seventh control processing procedure according to the present invention, and corresponds to the entire processing performed by the overall control unit 105 according to the fourth embodiment of the present invention. Note that the processing in this flowchart is realized by the overall control unit 105 in which the
プログラム分割部108は、ステップS303のプログラム分割処理を終了すると、ステップS1400に処理を進め、プログラム合成処理を実行する。なお、ステップS1400のプログラム合成処理の詳細は図16に示す。
When the
図16は、本発明における第8の制御処理手順の一例を示すフローチャートであり、図15のステップS1400のプログラム合成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム分割部108により実現される。なお、図中、S1401〜S1410は各ステップを示す。
FIG. 16 is a flowchart showing an example of the eighth control processing procedure in the present invention, and corresponds to the program synthesis processing in step S1400 of FIG. Note that the processing of this flowchart is realized by the
ステップS1401において、プログラム分割部108は、新規に空の合成プログラムファイルを外部記憶装置104内に作成する。
In step S1401, the
次に、ステップS1402において、プログラム分割部108は、図3のステップS303で分割された複数の分割プログラム(子)から1つ分割プログラム(子)を取得する。以下、この分割プログラム(子)を「今回の分割プログラム」と呼ぶ。
Next, in step S1402, the
次に、ステップS1403において、プログラム分割部108は、処理中の合成プログラムのサイズ、今回の分割プログラムのサイズ,コンパイラのコンパイル制限値を取得する。そして、プログラム分割部108は、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値が、コンパイル制限値を超えるか否かを判断する。
In step S1403, the
そして、プログラム分割部108が、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値がコンパイル制限値を超えないと判断した場合には、ステップS1404に処理を進める。
If the
ステップS1404では、プログラム分割部108は、今回の分割プログラムの内容(「グローバル情報」,「分割単位プログラム」)を処理中の合成プログラムにコピーする。ここで、空の合成プログラムに初めてコピーする場合は、今回の分割プログラムの「グローバル情報」及び「分割単位プログラム」を処理中の合成プログラムにコピーする。しかし、既に合成プログラムに「グローバル情報」が含まれている場合(即ち、2回目以降のコピー処理)の場合は、今回の分割プログラム内の「分割単位プログラム」のみを処理中の合成プログラムにコピーする。
In step S1404, the
次にステップS1405において、プログラム分割部108は、ステップ1404でコピーされた分割プログラムを削除する。
In step S1405, the
さらにステップS1406において、プログラム分割部108は、元のJSPプログラム(分割プログラム(親))に挿入されている今回の分割プログラムを特定するためのインクルード文を削除する。そして、ステップS1410に処理を進める。
In step S1406, the
次に、ステップ1410において、プログラム分割部108は、分割プログラム(子)の全てについてS1402〜S1406の処理を終了したか否かを判定し、未だ終了していないと判断した場合には、ステップS1402に処理を戻す。
Next, in step 1410, the
また、ステップS1403で、プログラム分割部108が、処理中の合成プログラムのサイズと今回の分割プログラムのサイズの合計値が、コンパイル制限値を超えると判断した場合には、ステップS1407に処理を進める。
If the
ステップS1407では、プログラム分割部108は、処理中の合成プログラムをクローズする。
In step S1407, the
次に、ステップS1408において、プログラム分割部108は、元のJSPプログラム(分割プログラム(親))に、ステップ1406でクローズした合成プログラムを特定するためのインクルード文を挿入する。
Next, in step S1408, the
次に、ステップS1409において、プログラム分割部108は、新たな空の合成プログラムファイルを作成し、ステップ1404〜S1406の処理を実行し、ステップS1410に処理を進める。
Next, in step S1409, the
そしてステップ1410で、プログラム分割部108が、分割プログラム(子)の全てについてS1402〜S1406の処理を終了したと判断した場合には、図示しないステップにおいて、上記の処理により編集生成された合成プログラムを分割後JSPプログラム112として外部記憶装置104に保存し、処理を終了する。
In step 1410, when the
以上の処理により、第2実施形態で示したようなユーザ指定による試行錯誤の分割でなく、第1実施形態に示した分割方法により一旦分割した後、コンパイル可能なサイズまでファイルを自動的に再合成することができる。これにより、コンパイル処理を効率的に行うことができ、コンパイルエラーを防ぐことができる分割プログラム(合成プログラム)を生成することができる。 Through the above processing, instead of the trial and error division specified by the user as shown in the second embodiment, after the division by the division method shown in the first embodiment, the file is automatically resized to a compilable size. Can be synthesized. As a result, it is possible to generate a divided program (synthetic program) that can efficiently perform the compile process and prevent a compile error.
なお、本実施形態の分割方法は、第2,3,4実施形態で示したように、最初から分割をしたものを生成するのではなく、有意なマーク情報(分割識別情報)を使用して分割した後に、プログラム合成処理を実行して、再合成する構成を有するが、さらに、このプログラム合成処理の後に、更なる処理(例えば、コンパイル処理)を追加するように構成してもよい。 Note that the division method according to this embodiment uses significant mark information (division identification information) instead of generating a division from the beginning as shown in the second, third, and fourth embodiments. After the division, the program synthesis process is executed and re-synthesized. However, a further process (for example, a compile process) may be added after the program synthesis process.
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。 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.
以下、図17に示すメモリマップを参照して本発明に係るプログラム生成装置(コンピュータ)で読み取り可能なデータ処理プログラムの構成について説明する。 The configuration of a data processing program that can be read by the program generation device (computer) according to the present invention will be described below with reference to the memory map shown in FIG.
図17は、本発明に係るプログラム生成装置(コンピュータ)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。 FIG. 17 is a diagram illustrating a memory map of a recording medium (storage medium) that stores various data processing programs readable by the program generation apparatus (computer) 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,図4,図8,図12,図13,図14,図15,図16に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。 3, 4, 8, 12, 13, 14, 15, and 16 in this embodiment may be performed by a 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 in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus is stored in the recording medium. It goes without saying that the object of the present invention can also be achieved by reading and executing the 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.
101 入力装置
102 表示装置
103 プログラム生成装置
104 外部記憶装置
105 全体制御部
106 画面制御部
107 プログラム生成部
108 プログラム分割部
109 ユーザ定義情報
110 JSPプログラムテンプレート
111 JSPプログラム
112 分割後JSPプログラム
DESCRIPTION OF
Claims (6)
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段と、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段と、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段と、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段と、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段と、
を有することを特徴とするプログラム生成装置。 A program generation device for generating a source program,
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit Means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program Third source program generating means for performing,
A program generation apparatus comprising:
前記特定手段は、前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる第1分割エリア開始マーク及び第1分割エリア終了マークに基づいて分割後も共通に必要な共通プログラムを特定し、前記第1ソースプログラムに含まれる第2分割エリア開始マーク及び第2分割エリア終了マークに基づいて分割単位となる分割単位プログラムを特定するものであり、
前記第2ソースプログラム生成手段は、前記特定手段により特定される共通プログラムと分割単位プログラムにより、前記第2ソースプログラムを生成することを特徴とする請求項1に記載のプログラム生成装置。 The division area start mark and the division area end mark identify the first division area start mark and the first division area end mark for identifying areas that are necessary even after division, and the area where the source program can be divided. Including a second divided area start mark and a second divided area end mark,
The specifying unit specifies a common program that is necessary even after the division based on the first divided area start mark and the first divided area end mark included in the first source program generated by the first source program generating unit. And specifying a division unit program to be a division unit based on a second division area start mark and a second division area end mark included in the first source program,
2. The program generation apparatus according to claim 1, wherein the second source program generation unit generates the second source program by a common program and a division unit program specified by the specification unit.
第1ソースプログラム生成手段が、画面を定義するために予め入力されたユーザ定義情報と、記憶手段に記憶される、ソースプログラム内の分割してコンパイル可能なエリアを識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成ステップと、
特定手段が、前記第1ソースプログラム生成ステップで生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定ステップと、
第2ソースプログラム生成手段が、前記特定ステップで特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成ステップと、
第3ソースプログラム生成手段が、前記第2ソースプログラム生成ステップで生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成ステップと、を有することを特徴とするプログラム生成方法。 A program generation method for generating a source program,
The first source program generation means, user-defined information input in advance for defining the screen, and a divided area start mark for identifying the divided and compilable area in the source program stored in the storage means A first source program generating step for generating a first source program including the divided area start mark and the divided area end mark by a program template including the divided area end mark;
A specifying step for specifying a compilable area identified by the divided area start mark and the divided area end mark included in the first source program generated in the first source program generating step as a divided unit program; ,
A second source program generating step for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified in the specifying step;
The third source program generating means replaces the program for taking in the second source program generated in the second source program generating step, instead of the divided portion of the first source program corresponding to the second source program. And a third source program generating step for generating the third source program thus generated.
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段、として機能させるためのプログラム。 Computer
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program A program for functioning as third source program generating means.
ソースプログラム内の分割してコンパイル可能なエリア、を識別するための分割エリア開始マークと分割エリア終了マークを含むプログラムテンプレートを記憶する記憶手段、
画面を定義するために予め入力されたユーザ定義情報と、前記記憶手段に記憶されたプログラムテンプレートにより、前記分割エリア開始マークと分割エリア終了マークを含む第1ソースプログラムを生成する第1ソースプログラム生成手段、
前記第1ソースプログラム生成手段により生成された第1ソースプログラムに含まれる前記分割エリア開始マークと分割エリア終了マークで識別されるコンパイル可能なエリアを分割単位プログラムとして特定する特定手段、
前記特定手段により特定される複数の分割単位プログラム用いることにより、所定の制限値を超えないデータサイズの第2ソースプログラムを生成する第2ソースプログラム生成手段、
前記第2ソースプログラム生成手段により生成された第2ソースプログラムを取り込むためのプログラムが、前記第2ソースプログラムに対応する前記第1ソースプログラムの分割部分の代わりとして置き換えられた第3ソースプログラムを生成する第3ソースプログラム生成手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 Computer
Storage means for storing a program template including a divided area start mark and a divided area end mark for identifying an area that can be divided and compiled in the source program;
First source program generation for generating a first source program including the divided area start mark and the divided area end mark based on user definition information input in advance for defining a screen and a program template stored in the storage unit means,
Specifying means for specifying a compilable area identified by the divided area start mark and divided area end mark included in the first source program generated by the first source program generating means as a divided unit program;
Second source program generating means for generating a second source program having a data size not exceeding a predetermined limit value by using a plurality of division unit programs specified by the specifying means;
Generate a third source program in which the program for taking in the second source program generated by the second source program generating means is replaced as a substitute for the divided portion of the first source program corresponding to the second source program A computer-readable recording medium having recorded thereon a program for functioning as third source program generating means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006059020A JP4988226B2 (en) | 2006-03-06 | 2006-03-06 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006059020A JP4988226B2 (en) | 2006-03-06 | 2006-03-06 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007241364A JP2007241364A (en) | 2007-09-20 |
JP2007241364A5 JP2007241364A5 (en) | 2009-05-14 |
JP4988226B2 true JP4988226B2 (en) | 2012-08-01 |
Family
ID=38586884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006059020A Active JP4988226B2 (en) | 2006-03-06 | 2006-03-06 | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4988226B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5197061B2 (en) * | 2008-02-19 | 2013-05-15 | 三洋電機株式会社 | Program dividing apparatus and method |
JP5309736B2 (en) * | 2008-07-04 | 2013-10-09 | 富士通株式会社 | Information providing system development method, development device, development program, processing method, processing program, processing device |
JP5882623B2 (en) * | 2011-08-03 | 2016-03-09 | キヤノン株式会社 | Information processing apparatus, control method, and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297579A (en) * | 1995-04-25 | 1996-11-12 | Fujitsu Ltd | Punctuation word processing system for text data |
JP2002229787A (en) * | 2001-02-01 | 2002-08-16 | Nri & Ncc Co Ltd | Program generating device |
JP4493269B2 (en) * | 2002-12-27 | 2010-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Program editing apparatus and program |
JP2004265278A (en) * | 2003-03-04 | 2004-09-24 | Jasminsoft:Kk | Automatic program generation device |
JP2005266931A (en) * | 2004-03-16 | 2005-09-29 | Mitsubishi Electric Corp | Program generation device |
-
2006
- 2006-03-06 JP JP2006059020A patent/JP4988226B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007241364A (en) | 2007-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8387014B2 (en) | Synchronization of concurrently modified interdependent semi-derived artifacts | |
US7140028B2 (en) | System and method for building a target operating system from a source operating system | |
US20040133854A1 (en) | Persistent document object model | |
US6889373B2 (en) | Program generating support system, program generating method, storage medium and program | |
US20080178122A1 (en) | System and method for website configuration and management | |
US20090303519A1 (en) | Printing controller, gui display method, printer driver, and recording medium | |
US20070143680A1 (en) | Multi-contextual delta navigation in a compare view | |
AU2005203708A1 (en) | Method, system, and computer-readable medium for creating and laying out a graphic within an application program | |
KR101567455B1 (en) | Defining an interactive user interface | |
CN102866884A (en) | Projecting native application programming interfaces of operating system into other programming languages | |
JP2013518321A (en) | Pattern-based user interface | |
JP2010160578A (en) | Document editing apparatus and control method thereof | |
JP4988226B2 (en) | PROGRAM GENERATION DEVICE, PROGRAM GENERATION METHOD, PROGRAM, AND RECORDING MEDIUM | |
US7203925B1 (en) | Graphical compiler | |
JP4889338B2 (en) | Screen program layout changing method, information processing apparatus, program, and recording medium | |
JP4439864B2 (en) | Document processing apparatus, document processing method, and program | |
JP2008287365A (en) | Program generation device, program generation method, program, and recording medium | |
JP2015210769A (en) | Information processing device, information processing method, and program | |
JP2011076561A (en) | Parts catalog creation support device, program, and parts catalog creation support method | |
Ransen et al. | AutoCAD programming in C/C++ | |
JP7121313B2 (en) | Information processing device and its processing method and program | |
JP6652724B2 (en) | Information processing apparatus, information processing apparatus control method, and program | |
JP2006302141A (en) | Display system and control method thereof | |
JPH04140834A (en) | Program generating method and specifications input method therefor | |
JP2008186311A (en) | File conversion system for source file with comment described by plurality of kinds of natural languages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080403 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090326 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110811 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120319 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120410 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120426 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4988226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |