JPH11327889A - Program development supporting device and its method and recording medium recording program development supporting software - Google Patents

Program development supporting device and its method and recording medium recording program development supporting software

Info

Publication number
JPH11327889A
JPH11327889A JP13496898A JP13496898A JPH11327889A JP H11327889 A JPH11327889 A JP H11327889A JP 13496898 A JP13496898 A JP 13496898A JP 13496898 A JP13496898 A JP 13496898A JP H11327889 A JPH11327889 A JP H11327889A
Authority
JP
Japan
Prior art keywords
program
state transition
transition information
name
program code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP13496898A
Other languages
Japanese (ja)
Inventor
Atsushi Ueno
篤 上野
Tetsuji Fukaya
哲司 深谷
Noboru Fujimaki
昇 藤巻
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP13496898A priority Critical patent/JPH11327889A/en
Publication of JPH11327889A publication Critical patent/JPH11327889A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain the efficient conversion of program development by reflecting only the change point of state transition information on a program. SOLUTION: Since only the change point of state transition information 100 is reflected on an existing program code 104, a change which is directly added to a program code 104 by user and the change which is added to state transition information 100 can commonly exist on the same program code 104 and program development is made to be efficient. The change which is directly added to the generated program code 104 is reflected on original state transition information 100 so that a work for re-writing state transition information 100 by the user in accordance with the program is unnecessitated and program development is made to be efficient.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、状態遷移情報を
使ってソフトウェアの開発を支援する技術の改良に関す
るもので、より具体的には、状態遷移情報の変更点だけ
をプログラムに反映させることで、プログラム開発を効
率化したものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an improvement in technology for supporting software development using state transition information, and more specifically, by reflecting only a change in state transition information to a program. , Making program development more efficient.

【0002】[0002]

【従来の技術】プログラムの開発を支援する技術の1つ
として、状態遷移図を使ってプログラムを自動生成する
技術が知られている。この状態遷移図は、プログラムの
動作を、複数の状態の間での遷移(移り変わり)として
表わしたものであり、このような状態遷移図の内容を表
わす情報を状態遷移情報と呼ぶ。
2. Description of the Related Art A technique for automatically generating a program using a state transition diagram has been known as one of the techniques for supporting the development of a program. This state transition diagram represents the operation of a program as a transition (change) between a plurality of states, and information representing the contents of such a state transition diagram is referred to as state transition information.

【0003】なお、「状態遷移図」は状態遷移情報を表
わす形式の1つに過ぎず、状態遷移情報は遷移表など他
の形式で表すこともできる。このため、状態遷移図から
プログラムを自動生成するというのは、実質的には状態
遷移情報からプログラムを自動生成することを意味し、
本出願で「状態遷移図」というときは、「状態遷移情
報」に読み替えることができるものとする。
[0003] The "state transition diagram" is merely one of the formats representing the state transition information, and the state transition information can be represented in another format such as a transition table. For this reason, automatically generating a program from a state transition diagram means, in effect, automatically generating a program from state transition information.
In the present application, a “state transition diagram” can be read as “state transition information”.

【0004】上に述べた状態遷移図はいくつもの状態を
含み、ある状態から別の状態への遷移は、何らかのイベ
ントによって起きる。このような状態遷移図からプログ
ラムを自動生成する場合、状態やイベントに付けること
ができる名前、例えば状態名やイベント名などと、プロ
グラム中で使うことができる識別子、例えば画面名、G
UI部品名、変数名などとは互いに異なっている。
The above state transition diagram includes a number of states, and a transition from one state to another state is caused by some event. When a program is automatically generated from such a state transition diagram, names that can be assigned to states and events, for example, state names and event names, and identifiers that can be used in the program, for example, screen names, G
These are different from the UI part names, variable names, and the like.

【0005】このような状態遷移図からプログラムを作
成する場合、状態遷移情報を状態遷移表という表の形式
で表現しておいて、それをプログラム中の配列変数とし
て生成することと、状態遷移情報から、プログラミング
言語の条件分岐などの制御文を使ったプログラムを作成
することが考えられる。
When a program is created from such a state transition diagram, state transition information is expressed in the form of a table called a state transition table, and is generated as an array variable in the program. Therefore, it is conceivable to create a program using a control statement such as a conditional branch of a programming language.

【0006】[0006]

【発明が解決しようとする課題】ところで、上に述べた
ように制御文を使って自動生成されたプログラムをエデ
ィタなど別のツールを使ってユーザが直接修正した後、
状態遷移図から新しいプログラムを再び自動生成する場
合、従来では、すでにあるプログラムの全体を、新しく
生成されるプログラムで置き換えていた。
As described above, after a user directly modifies a program automatically generated using control statements using another tool such as an editor,
Conventionally, when a new program is automatically generated from a state transition diagram, the existing program is entirely replaced with a newly generated program.

【0007】このため、ユーザによる修正点は新しいプ
ログラムによって上書きされ、新しいプログラムの中で
は保持されなかった。この結果、ユーザがプログラムに
直接加えた修正と、ユーザが状態遷移図に加えた修正と
を、新しく生成するプログラムの上で並存させることは
できなかった。
[0007] For this reason, the modification made by the user is overwritten by the new program and is not retained in the new program. As a result, the modification directly added to the program by the user and the modification added to the state transition diagram by the user cannot coexist on the newly generated program.

【0008】また、従来では、状態遷移図からプログラ
ムを生成することはできても、逆にプログラムから状態
遷移図を生成することはできなかった。このため、例え
ばユーザが直接変更を加えたプログラムから状態遷移図
を生成することで、変更の内容を状態遷移図に反映させ
ることはできなかった。
Conventionally, although a program can be generated from a state transition diagram, a state transition diagram cannot be generated from a program. For this reason, for example, it is not possible to reflect the contents of the change in the state transition diagram by generating the state transition diagram from the program directly changed by the user.

【0009】このように、従来では、状態遷移図とプロ
グラムとの間で、一方に加えた変更を他方に反映させよ
うとしても制約が多く、プログラム開発を効果的に支援
できないという問題点があった。
As described above, conventionally, there is a lot of restriction between the state transition diagram and the program, even if the change made to one is reflected in the other, and there is a problem that the program development cannot be effectively supported. Was.

【0010】本発明は、上に述べたような従来技術の問
題点を解決するために提案されたもので、その目的は、
状態遷移情報の変更点だけをプログラムに反映させるこ
とで、プログラム開発を効率化することである。また、
本発明の他の目的は、同様にプログラムから状態遷移図
を生成することで、プログラム開発を効率化することで
ある。
[0010] The present invention has been proposed to solve the above-mentioned problems of the prior art.
It is to improve the program development efficiency by reflecting only the change of the state transition information in the program. Also,
Another object of the present invention is to increase the efficiency of program development by similarly generating a state transition diagram from a program.

【0011】[0011]

【課題を解決するための手段】上に述べた目的を達成す
るため、請求項1の発明は、状態遷移情報を使ってプロ
グラムの開発を支援するプログラム開発支援装置におい
て、状態遷移情報のどこがどのように変更されたかを解
析する情報解析手段と、状態遷移情報の各部分とプログ
ラムの各部分との対応関係に基づいて、状態遷移情報で
の前記変更に対応するプログラムの部分を操作するプロ
グラム操作手段と、プログラムのどこがどのように変更
されたかを解析するプログラム解析手段と、プログラム
の各部分と状態遷移情報の各部分との対応関係に基づい
て、プログラムでの前記変更に対応する状態遷移情報の
部分を操作する情報操作手段と、を備えたことを特徴と
する。請求項4の発明は、請求項1の発明を方法という
見方からとらえたもので、状態遷移情報を使ってプログ
ラムの開発を支援するプログラム開発支援方法におい
て、状態遷移情報のどこがどのように変更されたかを解
析するステップと、状態遷移情報の各部分とプログラム
の各部分との対応関係に基づいて、状態遷移情報での前
記変更に対応するプログラムの部分を操作するステップ
と、プログラムのどこがどのように変更されたかを解析
するステップと、プログラムの各部分と状態遷移情報の
各部分との対応関係に基づいて、プログラムでの前記変
更に対応する状態遷移情報の部分を操作するステップ
と、を含むことを特徴とする。請求項6の発明は、請求
項1,4の発明を、コンピュータプログラムを記録した
記録媒体という見方からとらえたもので、コンピュータ
によって、状態遷移情報を使ってプログラムの開発を支
援するプログラム開発支援用ソフトウェアを記録した記
録媒体において、そのソフトウェアは前記コンピュータ
に、状態遷移情報のどこがどのように変更されたかを解
析させ、状態遷移情報の各部分とプログラムの各部分と
の対応関係に基づいて、状態遷移情報での前記変更に対
応するプログラムの部分を操作させ、プログラムのどこ
がどのように変更されたかを解析させ、プログラムの各
部分と状態遷移情報の各部分との対応関係に基づいて、
プログラムでの前記変更に対応する状態遷移情報の部分
を操作させることを特徴とする。請求項1,4,6の発
明では、状態遷移図から生成したプログラムをユーザが
別のツールなどで直接変更したあと、もとの状態遷移図
を変更して再びプログラムを生成しても、すでにあるプ
ログラム全体を上書きすることはない。すなわち、状態
遷移図の変更点だけが既存のプログラムに反映されるた
め、ユーザがプログラムに直接加えた変更と、状態遷移
図に加えた変更が同じプログラム上で並存でき、プログ
ラム開発が効率化される。また、この発明では、生成さ
れたプログラムに直接加えられた変更を、元の状態遷移
情報に反映されることで、プログラムにあわせてユーザ
が状態遷移図を書き換える作業が不要になり、プログラ
ム開発が効率化される。これらによって、状態遷移情報
とプログラムの間で、変更点を反映させて整合性を保つ
処理が双方向に可能となる。つまり、状態遷移情報とプ
ログラムの一方を変更したとき、他方の全体を上書きす
ることなく、変更点だけが他方に反映されるので、反映
される側でユーザが直接加えた変更と反映される変更と
が両方有効になる。このため、ユーザは、どのような点
を変更したいかに応じて、状態遷移情報とプログラムの
うち都合のよい方を変更することができ、プログラム開
発が効率化される。
According to a first aspect of the present invention, there is provided a program development support apparatus for supporting development of a program using state transition information. Information analyzing means for analyzing whether or not the program has been changed, and a program operation for operating a program part corresponding to the change in the state transition information based on a correspondence between each part of the state transition information and each part of the program. Means, program analysis means for analyzing how and how the program has been changed, and state transition information corresponding to the change in the program based on the correspondence between each part of the program and each part of the state transition information. And an information operating means for operating the portion of (1). According to a fourth aspect of the present invention, the invention of the first aspect is viewed from the viewpoint of a method. In a program development supporting method for supporting a program development using state transition information, where and how the state transition information is changed. Analyzing the part of the program based on the correspondence between each part of the state transition information and each part of the program, and operating the part of the program corresponding to the change in the state transition information. Analyzing the state transition information corresponding to the change in the program based on the correspondence between each part of the program and each part of the state transition information. It is characterized by the following. According to a sixth aspect of the present invention, the invention of the first and fourth aspects is viewed from the viewpoint of a recording medium on which a computer program is recorded, and is used for supporting program development using a state transition information by a computer. In the recording medium on which the software is recorded, the software causes the computer to analyze where and how the state transition information has been changed, and based on the correspondence between each part of the state transition information and each part of the program, The part of the program corresponding to the change in the transition information is operated, and where and how the program is changed is analyzed, based on the correspondence between each part of the program and each part of the state transition information,
A part of the state transition information corresponding to the change in the program is operated. According to the first, fourth, and sixth aspects of the present invention, even if the user directly changes the program generated from the state transition diagram with another tool or the like, and then changes the original state transition diagram and generates the program again, the program is already generated. It does not overwrite an entire program. That is, since only the changes in the state transition diagram are reflected in the existing program, the changes made by the user directly to the program and the changes made to the state transition diagram can coexist on the same program, and the program development becomes more efficient. You. Further, in the present invention, the change directly made to the generated program is reflected in the original state transition information, so that the user does not need to rewrite the state transition diagram in accordance with the program, and the program development can be performed. Be more efficient. As a result, it is possible to perform bidirectional processing between the state transition information and the program to reflect changes and maintain consistency. In other words, when one of the state transition information and the program is changed, only the changes are reflected on the other without overwriting the other, so the changes directly reflected by the user on the reflected side and the changes reflected on the reflected side And both are valid. For this reason, the user can change the more convenient one of the state transition information and the program according to what point he / she wants to change, and the program development becomes more efficient.

【0012】請求項2の発明は、請求項1記載のプログ
ラム開発支援装置において、プログラム中で使われる互
いに重複しない識別子を生成する生成手段と、状態遷移
情報中で使われるどの名前とプログラムで使われるどの
識別子とが対応するかを表わす名前対応表と、状態遷移
情報中のどのような構造とプログラム中のどのような構
造とがどのように対応するかを表すプログラム生成情報
と、を備えたことを特徴とする。請求項5の発明は、請
求項2の発明を方法という見方からとらえたもので、請
求項4記載のプログラム開発支援方法において、プログ
ラム中で使われる互いに重複しない識別子を生成するス
テップを含み、状態遷移情報中で使われるどの名前とプ
ログラムで使われるどの識別子とが対応するかを表わす
名前対応表と、状態遷移情報中のどのような構造とプロ
グラム中のどのような構造とがどのように対応するかを
表すプログラム生成情報と、を使うことを特徴とする。
請求項2,5の発明では、状態遷移情報とプログラムと
の間で、どの名前とどの識別子とが対応し、また、どの
構造とどの構造とがどう対応するかを、それぞれ名前対
応表とプログラム生成情報を使って容易に判断できるの
で、解析や変更を効果的に行なうことができる。例え
ば、状態遷移情報中の名前をプログラム中の識別子に変
換してプログラムの一部を作るとき、互いに重複しない
識別子を生成し、生成した識別子をもとの名前と対応付
けて名前対応表に登録しておけば、名前と識別子のどち
らからでも対応する他方を検索することができる。
According to a second aspect of the present invention, there is provided the program development support apparatus according to the first aspect, wherein a generating means for generating a unique identifier used in the program, and a name and a name used in the state transition information. A name correspondence table indicating which identifiers correspond to each other, and program generation information indicating how structures in the state transition information correspond to structures in the program. It is characterized by the following. According to a fifth aspect of the present invention, there is provided the program development supporting method according to the fourth aspect of the present invention, wherein the method includes a step of generating identifiers that do not overlap each other and are used in the program. A name correspondence table indicating which names used in the transition information correspond to which identifiers used in the program, and how the structures in the state transition information correspond to the structures in the program And program generation information indicating whether or not to do so.
According to the second and fifth aspects of the present invention, a name correspondence table and a program correspond to which name corresponds to which identifier and which structure corresponds to which structure between the state transition information and the program. Since the determination can be easily made using the generated information, the analysis and the change can be effectively performed. For example, when a part of a program is created by converting a name in the state transition information into an identifier in a program, an identifier that is not duplicated with each other is generated, and the generated identifier is registered in the name correspondence table in association with the original name. By doing so, the corresponding other can be searched for from either the name or the identifier.

【0013】請求項3の発明は、複数の画面を切り替え
ながら実行されるプログラムの開発を支援する請求項1
又は2記載のプログラム開発支援装置において、前記状
態遷移情報は、前記各画面に対応する複数の状態ごと
に、どのようなイベントが発生したときに他のどの状態
に遷移するかと、遷移のときにどのようなアクションを
行うか、とを記述し、前記プログラムは、前記各状態に
対応する複数の画面ごとに、前記イベントを発生させる
ためにどのようなGUI部品を画面に表示するかと、前
記イベントが発生したときにどのような処理を実行する
か、とを記述することを特徴とする。請求項3の発明で
は、設計者は、画面の移り変わりを設計するとき、実際
のプログラムで何という識別子を使うか意識することな
く、状態間の遷移を表す状態遷移図や遷移表といった状
態遷移情報の形で解りやすく記述することができる。そ
して、このような状態遷移図で新しく作成された状態や
遷移を自動的にプログラムに挿入したり、また、状態遷
移図から削除されたり不要になった状態や遷移を自動的
にプログラム中から削除したりすることで、イベント駆
動型のプログラムを生成したり、状態遷移情報の変更に
合わせて操作することができる。このため、複数の画面
を切り替えながら実行されるプログラムの開発が効率化
される。
[0013] The invention according to claim 3 supports development of a program executed while switching a plurality of screens.
Or in the program development support device according to 2, wherein the state transition information includes, for each of a plurality of states corresponding to the respective screens, what kind of event has occurred and to which other state to make a transition, The program describes what kind of action is to be performed, and the program describes, for each of a plurality of screens corresponding to the respective states, what GUI parts are to be displayed on the screen to generate the event, and What kind of processing is to be executed when the error occurs. According to the third aspect of the present invention, when designing the transition of the screen, the designer does not need to be aware of what identifier is used in the actual program, and the state transition information such as the state transition diagram or the transition table representing the transition between the states. Can be easily understood in the form of Newly created states and transitions in such state transition diagrams are automatically inserted into the program, and states and transitions that have been deleted or become unnecessary from the state transition diagram are automatically deleted from the program. By doing so, it is possible to generate an event-driven program or to operate in accordance with a change in state transition information. Therefore, development of a program executed while switching a plurality of screens is made more efficient.

【0014】[0014]

【発明の実施の形態】以下、この発明の実施の形態(以
下「実施形態」という)について図面を参照しながら説
明する。なお、この発明は、周辺機器を持つコンピュー
タを、ソフトウェアで制御することによって実現される
ことが一般的と考えられる。この場合、そのソフトウェ
アは、この明細書の記載にしたがった命令を組み合わせ
ることで作られ、上に述べた従来技術と共通の部分には
従来技術で説明した手法も使われる。また、そのソフト
ウェアは、プログラムコードだけでなく、プログラムコ
ードの実行のときに使うために予め用意されたデータも
含む。
Embodiments of the present invention (hereinafter, referred to as "embodiments") will be described below with reference to the drawings. It is generally considered that the present invention is realized by controlling a computer having a peripheral device by software. In this case, the software is created by combining the instructions according to the description in this specification, and the common parts with the above-described prior art use the technique described in the prior art. Further, the software includes not only program codes but also data prepared in advance for use in executing the program codes.

【0015】そして、そのソフトウェアは、CPU、コ
プロセッサ、各種チップセットといった処理装置、キー
ボードやマウスといった入力装置、メモリやハードディ
スク装置といった記憶装置、ディスプレイやプリンタと
いった出力装置などの物理的な資源を活用することでこ
の発明の作用効果を実現する。
The software utilizes physical resources such as a CPU, a coprocessor, processing devices such as various chipsets, input devices such as a keyboard and a mouse, storage devices such as a memory and a hard disk device, and output devices such as a display and a printer. By doing so, the operation and effect of the present invention are realized.

【0016】但し、この発明を実現する具体的なソフト
ウェアやハードウェアの構成はいろいろ変更することが
できる。例えば、ソフトウェアの形式には、コンパイ
ラ、インタプリタ、アセンブラなどいろいろあり、外部
との情報をやり取りするにも、フロッピーディスクなど
の着脱可能な記録媒体、ネットワーク接続装置などいろ
いろ考えられる。また、この発明を実現するソフトウェ
アやプログラムを記録したCD−ROMのような記録媒
体は、単独でもこの発明の一態様である。さらに、この
発明の機能の一部をLSIなどの物理的な電子回路で実
現することも可能である。
However, the specific software and hardware configuration for realizing the present invention can be variously changed. For example, there are various types of software such as a compiler, an interpreter, and an assembler. For exchanging information with the outside, various types of a removable recording medium such as a floppy disk, a network connection device, and the like can be considered. Further, a recording medium such as a CD-ROM in which software or a program for realizing the present invention is recorded is also an aspect of the present invention by itself. Further, a part of the functions of the present invention can be realized by a physical electronic circuit such as an LSI.

【0017】以上のように、コンピュータを使ってこの
発明を実現する態様はいろいろ考えられるので、以下で
は、この発明や実施形態に含まれる個々の機能を実現す
る仮想的回路ブロックを使って、この発明と実施形態と
を説明する。
As described above, there are various aspects of realizing the present invention using a computer. In the following, a virtual circuit block for realizing individual functions included in the present invention and the embodiments will be described. The invention and embodiments will be described.

【0018】〔1.構成〕図1は、この実施形態の構成
を示す機能ブロック図である。この実施形態は、状態遷
移情報100(前記状態遷移図にあたる)とプログラム
コード104(前記プログラムにあたる)との間で相互
に、一方を変更したときにその変更を他方に反映させる
ようにしたプログラム開発支援装置である。
[1. Configuration] FIG. 1 is a functional block diagram showing the configuration of this embodiment. In this embodiment, a program is developed such that the state transition information 100 (corresponding to the state transition diagram) and the program code 104 (corresponding to the program) are mutually changed, and when one is changed, the change is reflected on the other. It is a support device.

【0019】また、この実施形態は、この図に示すよう
に、名前対応表101と、識別子生成部102と、プロ
グラム生成情報103と、状態遷移図解析部105と、
プログラムコード操作部106と、プログラムコード解
析部107と、状態遷移図操作部108と、を備えてい
る。
In this embodiment, as shown in FIG. 1, a name correspondence table 101, an identifier generation unit 102, program generation information 103, a state transition diagram analysis unit 105,
A program code operation unit 106, a program code analysis unit 107, and a state transition diagram operation unit 108 are provided.

【0020】〔1−1.状態遷移情報とプログラムコー
ドの関係〕これらのうち、状態遷移情報100は、開発
しようとするプログラムの内容を、状態遷移の形で設計
した情報である。この状態遷移情報100では、プログ
ラムの動作が、複数の互いに違った状態又は同じ状態の
間の遷移(移り変わり)で表わされていて、状態と状態
との結び付き(遷移)が、その遷移を起こすイベント
(処理)や条件で表現されている。
[1-1. Relationship between State Transition Information and Program Code] Of these, the state transition information 100 is information in which the contents of a program to be developed are designed in the form of a state transition. In this state transition information 100, the operation of the program is represented by a plurality of transitions between different states or the same state (transition), and the connection between states (transition) causes the transition. Expressed by events (processing) and conditions.

【0021】ここで、状態遷移情報100とプログラム
コード104は互いに対応するものであるが、この実施
形態で生成されるプログラムコード104は、いくつか
の「画面」の間を「イベント」で移り変わることで動作
するものとする。この場合、このプログラムの内容を表
わす状態遷移情報100の中では、プログラムコード1
04における個々の「画面」はそれぞれ互いに違った
「状態」として表わされ、プログラムコード104にお
ける個々の「イベント」はそれぞれ互いに違った「遷
移」として格納されているものとする。
Here, the state transition information 100 and the program code 104 correspond to each other. However, the program code 104 generated in this embodiment may be switched between several “screens” by “events”. It works with In this case, in the state transition information 100 representing the contents of this program, the program code 1
It is assumed that the individual “screens” in 04 are represented as different “states”, and the individual “events” in the program code 104 are stored as different “transitions”.

【0022】〔1−2.名前対応表の概略〕また、名前
対応表101は、状態遷移情報100に含まれるいろい
ろな名前、具体的には状態の名前(状態名)、遷移のイ
ベントの名前(イベント名)、条件の名前(条件名)、
変数の名前(変数名)、関数の名前(関数名)などが、
プログラム中で使うためにどのような識別子に割り当て
られているかを表わす情報である。なお、状態遷移情報
100中の要素の固有名詞を「名前」、プログラムコー
ド104中の要素の固有名詞を「識別子」と呼ぶ。
[1-2. Outline of Name Correspondence Table] The name correspondence table 101 includes various names included in the state transition information 100, specifically, names of states (state names), names of transition events (event names), and names of conditions. (Condition name),
Variable names (variable names), function names (function names)
This is information indicating what identifier is assigned for use in the program. The proper noun of the element in the state transition information 100 is called “name”, and the proper noun of the element in the program code 104 is called “identifier”.

【0023】なお、状態遷移情報100中の互いに違っ
た状態でも同じイベント名や条件名などを持っている可
能性があり、同様に、プログラムコード104中の互い
に違った画面でも、同じGUI部品の識別子や同じ変数
名を持っている可能性がある。このため、状態遷移情報
100内のイベント名や条件名などの名前を名前対応表
101に格納するときは、名前の後ろに状態名が付け加
えられる。これによって、状態遷移情報100内の互い
に違った状態について、同じイベント名や条件名が記述
されていても、イベント名同士や条件名同士を互いに識
別することができる。
Note that different states in the state transition information 100 may have the same event name, condition name, and the like. Similarly, different screens in the program code 104 may have the same GUI parts. May have an identifier or the same variable name. Therefore, when storing names such as an event name and a condition name in the state transition information 100 in the name correspondence table 101, a state name is added after the name. As a result, even if the same event name or condition name is described for different states in the state transition information 100, the event names can be distinguished from each other or the condition names can be distinguished from each other.

【0024】同じように、名前対応表101では、プロ
グラムコード104内のGUI部品の識別子や変数名に
も、画面の識別子を付け加えることで、別の画面上の同
じGUI部品や同じ変数名と区別する。
Similarly, in the name correspondence table 101, the identifier of the GUI component and the variable name in the program code 104 are added with the identifier of the screen, so that the GUI component and the variable name on another screen can be distinguished from each other. I do.

【0025】〔1−3.識別子生成部〕次に、識別子生
成部102は、状態遷移情報100に含まれるイベント
名や条件名といったいろいろな名前に対して、プログラ
ムコード104中で使うための識別子を生成する部分で
あり、具体的には、名前として与えられる文字列ごと
に、すでに生成して定義されているものと同じ識別子に
ならないように別の新しい識別子を生成するものであ
る。また、この識別子生成部102は、プログラムコー
ド104中で使われる識別子に対して、状態遷移情報1
00中で使われる名前を、互いに重複しないように生成
する機能も持っている。
[1-3. Identifier Generation Unit] Next, the identifier generation unit 102 is a unit that generates an identifier to be used in the program code 104 for various names such as an event name and a condition name included in the state transition information 100. Specifically, for each character string given as a name, another new identifier is generated so as not to be the same identifier as that already generated and defined. Further, the identifier generation unit 102 transmits the state transition information 1 to the identifier used in the program code 104.
It also has a function to generate names used in 00 so that they do not overlap each other.

【0026】なお、状態遷移情報100中のイベントや
条件に対して付ける名前を名前対応表101に登録する
とき、この識別子生成部102は、イベント名や条件名
の後ろに、それらのイベントが発生した状態名や、条件
判断を必要とする状態名を付け加えることで、他の状態
で同じ名前のイベントなどが発生した場合と区別する。
When registering a name given to an event or condition in the state transition information 100 in the name correspondence table 101, the identifier generation unit 102 generates the event after the event name or condition name. By adding a state name that has been set or a state name that requires a condition determination, it is distinguished from the case where an event with the same name occurs in another state.

【0027】同じように、プログラムコード104中で
使われる識別子を名前対応表101に登録するとき、識
別子生成部102は、例えばボタンやプルダウンリスト
といったGUI部品の識別子の後ろにそのGUI部品が
置かれる画面名を付け加えることで、他の画面のボタン
やプルダウンリストと区別する。
Similarly, when registering the identifier used in the program code 104 in the name correspondence table 101, the identifier generation unit 102 places the GUI component after the identifier of the GUI component such as a button or a pull-down list. By adding a screen name, you can distinguish it from buttons and pull-down lists on other screens.

【0028】〔1−4.プログラム生成情報〕また、プ
ログラム生成情報103は、状態遷移情報100中のど
のような構造とプログラムコード104中のどのような
構造とがどのように対応するかを表すものである。すな
わち、プログラム生成情報103は、開発対象とするプ
ログラムコード104を状態遷移情報100から生成す
るためのいろいろな情報であり、例えば、プログラムコ
ード104の実行時の状態を表わす状態変数の識別子、
プログラムの骨組みを表わすスケルトンコード、プログ
ラムを構成するプログラム部品のスケルトンコード、及
びプログラム構文の情報などが含まれる。
[1-4. Program Generation Information] The program generation information 103 indicates what structure in the state transition information 100 corresponds to what structure in the program code 104 and how. That is, the program generation information 103 is various information for generating the program code 104 to be developed from the state transition information 100, and includes, for example, an identifier of a state variable indicating a state at the time of execution of the program code 104,
The information includes a skeleton code representing a skeleton of the program, skeleton codes of program components constituting the program, and information on a program syntax.

【0029】〔1−5.プログラムコード〕また、プロ
グラムコード104は、コンピュータ上で実際に動作す
るプログラムであり、ここではイベント駆動型プログラ
ムであるものとする。このイベント駆動型プログラムと
は、イベントの発生によって、イベントごとにそれぞれ
予め対応付けられていたコードが実行されるようなプロ
グラムである。
[1-5. Program Code] The program code 104 is a program that actually operates on a computer, and is an event-driven program here. The event-driven program is a program in which, when an event occurs, a code associated with each event in advance is executed.

【0030】このプログラムコード104の中には、ど
のような画面を使うか、個々の画面上に存在するGUI
部品の位置や色といった属性を定義する情報、個々のイ
ベントが発生したときにどのようなプログラムが実行さ
れるかというイベントごとのプログラム部品などが記述
されている。なお、イベントとは、プログラムコード1
04実行時に発生しうる出来事であり、例えば、GUI
部品に対する操作や時間経過などを指す。
In this program code 104, what kind of screen is to be used and the GUI existing on each screen
Information that defines attributes such as the position and color of a component, and a program component for each event that describes what program is executed when an individual event occurs, are described. The event is the program code 1
04 is an event that can occur at the time of execution, for example, GUI
Refers to operations on parts and the passage of time.

【0031】〔1−6.状態遷移図解析部〕また、状態
遷移図解析部105は、状態遷移情報100に含まれる
情報を解析することで、状態遷移情報100に含まれる
「状態」「イベント」「条件」などのうちどれが新しく
追加され、どれが削除されたかといった解析結果を得
て、この解析結果をプログラムコード操作部106に渡
す部分である。
[1-6. State transition diagram analysis unit] Also, the state transition diagram analysis unit 105 analyzes information included in the state transition information 100 to determine which of “state”, “event”, “condition”, and the like included in the state transition information 100. Is obtained, an analysis result such as which is newly added and which is deleted is obtained, and this analysis result is passed to the program code operation unit 106.

【0032】また、状態遷移図解析部105は、それら
「状態」「イベント」「条件」などが、すでに名前対応
表101に含まれているかどうかを調べるだけでなく、
すでに名前対応表101に存在している名前に対して
は、名前対応表101から対応する識別子を検索して割
り当てる機能を持つ。
The state transition diagram analysis unit 105 not only checks whether the “state”, “event”, “condition”, etc. are already included in the name correspondence table 101, but also
For a name that already exists in the name correspondence table 101, it has a function of searching and assigning a corresponding identifier from the name correspondence table 101.

【0033】また、新しく作られた名前、すなわち名前
対応表101に存在しない名前に関しては、識別子生成
部102が生成する新しい識別子を割り当てると共に、
この割当に基づいて名前対応表101を更新する。
For a newly created name, that is, a name that does not exist in the name correspondence table 101, a new identifier generated by the identifier generation unit 102 is assigned,
The name correspondence table 101 is updated based on this assignment.

【0034】〔1−7.プログラムコード操作部〕ま
た、プログラムコード操作部106は、すでに存在する
プログラムコード104を操作する部分であり、具体的
には、プログラムコード104中の画面について挿入、
削除、属性変更を行ったり、画面に置かれるGUI部品
について挿入、削除、属性変更を行ったり、イベントが
発生したときに実行されるプログラム部品の挿入や削除
などを行う。
[1-7. Program Code Operation Unit] The program code operation unit 106 is a unit for operating the existing program code 104. Specifically, the program code operation unit 106
It performs deletion and attribute change, inserts, deletes, and changes attributes of GUI parts placed on the screen, and inserts and deletes program parts executed when an event occurs.

【0035】〔1−8.プログラムコード解析部〕次
に、プログラムコード解析部107は、プログラムコー
ド104に含まれる画面、GUI部品、条件の属性、イ
ベントが発生したときに実行されるプログラム部品の動
作に付けられた識別子がすでに名前対応表101に含ま
れているかどうかを解析し、解析結果を状態遷移図操作
部108に渡す部分である。
[1-8. Program Code Analyzing Unit] Next, the program code analyzing unit 107 recognizes the screen, the GUI component, the attribute of the condition, and the identifier attached to the operation of the program component executed when an event occurs in the program code 104. This is a part that analyzes whether or not it is included in the name correspondence table 101 and passes the analysis result to the state transition diagram operation unit 108.

【0036】すなわち、このプログラムコード解析部1
07は、すでに名前対応表101に存在する識別子につ
いては、その識別子に状態遷移情報100中で対応する
名前を、名前対応表101から検索して割り当てる。ま
た、新しく作成された識別子、すなわち名前対応表10
1に存在しないものについては、状態遷移情報100中
で使う名前を決める。例えば、プログラムコード104
中の画面やGUI部品の属性の中に、画面に表示する文
字列を定義している部分があれば、その文字列を状態遷
移情報100中で名前として使うことにして、その文字
列を使って名前対応表101を更新する。
That is, the program code analysis unit 1
In step 07, for an identifier already existing in the name correspondence table 101, a name corresponding to the identifier in the state transition information 100 is retrieved from the name correspondence table 101 and assigned. Also, the newly created identifier, that is, the name correspondence table 10
For those that do not exist in 1, a name to be used in the state transition information 100 is determined. For example, the program code 104
If there is a part that defines a character string to be displayed on the screen in the attributes of the screen or GUI component inside, the character string is used as a name in the state transition information 100, and the character string is used. Then, the name correspondence table 101 is updated.

【0037】また、例えばプログラムコード104中で
属性を定義している部分にそのような文字列がない場合
には、識別子生成部102が作成する新しい名前を割当
て、その名前を使って名前対応表101を更新する。
If there is no such character string in the part of the program code 104 where the attribute is defined, a new name created by the identifier generation unit 102 is assigned, and the name is used in the name correspondence table. 101 is updated.

【0038】〔1−9.状態遷移図操作部〕状態遷移図
操作部108は、状態遷移情報100を操作する部分で
あり、外部からキーボードやフロッピーディスクなどの
入力装置を介して状態遷移情報100を読み込むほか、
状態遷移情報100に対して状態の挿入と削除、イベン
トの挿入と削除、条件の挿入と削除、アクションの挿入
と削除、といった操作が可能である。
[1-9. State transition diagram operation unit] The state transition diagram operation unit 108 is a part that operates the state transition information 100, and reads the state transition information 100 from an external device via an input device such as a keyboard or a floppy disk.
Operations such as state insertion and deletion, event insertion and deletion, condition insertion and deletion, and action insertion and deletion can be performed on the state transition information 100.

【0039】〔1−10.状態遷移情報〕次に、この実
施形態で使う状態遷移情報100の例を図2に示す。な
お、図2で表を上下2つに分けているのは図示する形式
上の都合のためで、実際にはこのように分ける必要はな
い。すなわち、この状態遷移情報100は、「メインメ
ニュー画面」「時刻設定画面」といった状態ごとに、ア
クション(入)、アクション(出)、イベント、条件、
遷移先、遷移時アクションという情報を定義しているも
のである。
[1-10. State Transition Information] FIG. 2 shows an example of state transition information 100 used in this embodiment. In FIG. 2, the table is divided into two parts, upper and lower, for the convenience of the format shown in the figure. That is, the state transition information 100 includes an action (in), an action (out), an event, a condition, and the like for each state such as “main menu screen” and “time setting screen”.
It defines information such as a transition destination and a transition action.

【0040】つまり、状態欄200にはシステムがとり
うる「状態」が列挙されていて、このように状態遷移情
報100に記述されている個々の「状態」は、プログラ
ムコード104中の「画面」に対応する。また、アクシ
ョン(入)欄201に記述されているアクション(入)
は、遷移が発生してその状態になるときに実行される動
作である。このアクション(入)は、プログラムコード
104では、その「画面」の表示に切り替わる直前に実
行されるプログラムの部分に対応する。
That is, the “state” that the system can take is listed in the state column 200, and each “state” described in the state transition information 100 is represented by the “screen” in the program code 104. Corresponding to Also, the action (on) described in the action (on) column 201
Is an operation executed when a transition occurs and the state is entered. In the program code 104, this action (input) corresponds to the part of the program executed immediately before switching to the display of the “screen”.

【0041】一方、アクション(入)とは逆に、アクシ
ョン(出)欄202に記述されているアクション(出)
は、その画面から別の画面の表示に切り替わる直前に実
行されるプログラムである。
On the other hand, the action (out) described in the action (out) column 202 is opposite to the action (in).
Is a program executed immediately before switching from the screen to the display of another screen.

【0042】また、遷移時アクション欄206に記述さ
れている遷移時アクションは、該当する遷移が発生した
ときに実行されるプログラムである。なお、アクション
(入)欄201、アクション(出)欄202、遷移時ア
クション欄206には、関数の呼び出しや変数への操作
などが列挙される。
The transition-time action described in the transition-time action column 206 is a program executed when a corresponding transition occurs. In the action (in) column 201, the action (out) column 202, and the transition action column 206, a function call, an operation on a variable, and the like are listed.

【0043】また、イベント欄203には、それぞれの
状態から他の状態へ遷移するきっかけとして、ボタンの
押されたことや、一定時間の経過といったイベントを記
述することができる。また、条件欄204には、プルダ
ウンリストの選択状況や変数の値などといった条件を記
述することができる。ここで、プルダウンリストとは、
ユーザがリストの中から項目を1つ選ぶためのGUI部
品であり、例えば、図2の条件欄204で、プルダウン
リストについて「設定内容=時刻」とあるのは、設定内
容を表わすプルダウンリストから「時刻」という項目が
選ばれている状態を表わし、この状態のときに「条件」
は真となる。
In the event column 203, events such as the pressing of a button or the elapse of a predetermined time can be described as a trigger for transition from each state to another state. In the condition column 204, conditions such as the selection status of a pull-down list and the value of a variable can be described. Here, the pull-down list is
A GUI part for the user to select one item from the list. For example, in the condition column 204 of FIG. Indicates that the item "Time" is selected. In this state, "Condition"
Is true.

【0044】なお、この条件欄204には、複数の条件
を列挙することができ、個々の条件同士は、AND、O
R、XORといった論理演算子や、括弧を使った演算順
序の指定などで結合しておくこともできる。
In the condition column 204, a plurality of conditions can be listed.
They can be combined by logical operators such as R and XOR, or by specifying the operation order using parentheses.

【0045】また、遷移先欄205には、遷移先の画面
が記述されている。つまり、状態欄200に記述されて
いる状態で、イベント欄203に記述されているイベン
トが発生し、条件欄204に記述されている条件が真で
あるとき、遷移時アクション欄206に記述されている
動作を実行し、遷移先欄205に記述されている状態に
遷移する。
In the transition destination column 205, a transition destination screen is described. That is, when the event described in the event column 203 occurs in the state described in the state column 200 and the condition described in the condition column 204 is true, the event described in the transition-time action column 206 Is performed, and the state transits to the state described in the transition destination column 205.

【0046】〔1−11.名前対応表の例〕次に、名前
対応表101の例を図3に示す。すなわち、この名前対
応表101は、状態遷移情報100中で使われている名
前の文字列と、プログラムコード104中で使われてい
る識別子の文字列との対応関係を表わす対照表である。
この名前対応表101では、状態遷移情報用の名前欄3
01の中に存在する名前は、それまでに状態遷移情報1
00に存在した名前であり、プログラム用の識別子欄3
02の中に存在する識別名は、それまでにプログラムコ
ード104中に存在した識別子である。
[1-11. Next, an example of the name correspondence table 101 is shown in FIG. That is, the name correspondence table 101 is a comparison table showing the correspondence between the character string of the name used in the state transition information 100 and the character string of the identifier used in the program code 104.
In the name correspondence table 101, the name column 3 for state transition information
01 is the state transition information 1
00 is the name that existed in the program identifier column 3 for the program.
02 is the identifier that has existed in the program code 104 up to that point.

【0047】したがって、例えば、この実施形態をプロ
グラム開発支援用ソフトウェアを使って実現する場合、
過去にそのソフトウェアを使ったときに状態遷移情報1
00内にあった名前は名前欄301に記述され、過去に
そのソフトウェアを使ったときにプログラムコード10
4内にあった識別子は識別子欄302に記述されている
ことになる。
Therefore, for example, when this embodiment is realized using software for supporting program development,
State transition information 1 when using the software in the past
00 is described in the name column 301, and when the software is used in the past, the program code 10
4 is described in the identifier column 302.

【0048】なお、この実施形態では、状態遷移情報1
00内に新しい名前が追加されたときはそれに基づいて
プログラムコード104中にも新しい識別子が追加さ
れ、逆にプログラムコード104内に新しい識別子が追
加されたときは状態遷移情報100内にも新しい名前が
追加される。そして、いずれの場合も新しい名前と識別
子とは、1対1の対応関係で名前対応表101に登録さ
れるので、名前対応表101内の名前と識別子とは、必
ず同数存在することになる。
In this embodiment, the state transition information 1
When a new name is added in the program code 104, a new identifier is also added in the program code 104, and conversely, when a new identifier is added in the program code 104, a new name is also added in the state transition information 100. Is added. In any case, the new name and the identifier are registered in the name correspondence table 101 in a one-to-one correspondence, so that the same number of names and identifiers in the name correspondence table 101 always exist.

【0049】また、名前対応表101の属性欄300
は、対応する識別子がプログラムコード104中のどの
種類のものに割り当てられているかを表わすもので、具
体的には、画面、GUI部品、プルダウンリスト、変
数、関数などの種別が記述される。なお、過去に一旦名
前対応表101に含まれていた名前や識別子であって
も、その後、現在までの間に状態遷移情報100やプロ
グラムコード104から削除されていたものは、その削
除に伴って名前対応表101からも削除されているの
で、名前対応表101中には含まれない。
The attribute column 300 of the name correspondence table 101
Indicates which type of the program code 104 the corresponding identifier is assigned to. Specifically, types such as screens, GUI parts, pull-down lists, variables, and functions are described. Note that even if the names and identifiers were once included in the name correspondence table 101 in the past, those that have been deleted from the state transition information 100 or the program code 104 up to the present time will be accompanied by the deletion. Since it is also deleted from the name correspondence table 101, it is not included in the name correspondence table 101.

【0050】〔1−12.プログラムコードの例〕次
に、図4と図5は、プログラムコード104の構造を示
す例である。すなわち、プログラムコード104は、シ
ステム定義ファイル400(図4)と、1つ以上の画面
定義ファイル500(図5)から構成される。
[1-12. Example of Program Code] FIGS. 4 and 5 show examples of the structure of the program code 104. FIG. That is, the program code 104 includes a system definition file 400 (FIG. 4) and one or more screen definition files 500 (FIG. 5).

【0051】〔1−12−1.システム定義ファイル〕
このうちシステム定義ファイル400は、開発対象とな
っているプログラムがどのような画面を持っているか
と、そのプログラムが実行時にどのようなプログラムフ
ァイルを必要とするかを列挙したものであり、ここでい
うプログラムファイルは、プログラミング言語に標準の
入出力モジュール、定義済関数、ランタイムルーチン、
ダイナミックリンクライブラリなどを含む。具体的に
は、システム定義ファイル400には、図4に示すよう
に、開発対象のシステムで使う画面定義ファイル500
の名前が列挙されている。
[1-12-1. System definition file]
Of these, the system definition file 400 lists what screens the program under development has and what program files the program needs at the time of execution. Program files are standard input / output modules, predefined functions, runtime routines,
Including dynamic link libraries. Specifically, as shown in FIG. 4, the screen definition file 500 used in the system to be developed is included in the system definition file 400.
Are listed.

【0052】〔1−12−2.画面定義ファイル〕一
方、画面定義ファイル500は、状態すなわち画面1つ
につき1つ存在していて、図5に示すように、個々の画
面の内容を定義するものである。例えば、図5に例示す
る画面定義ファイル500では、画面定義部501で、
画面の位置やサイズといった画面の属性が記述されてい
て、GUI部品定義部502では、その画面に配置され
るGUI部品が定義されている。
[1-12-2. Screen Definition File] On the other hand, the screen definition file 500 exists in a state, that is, one for each screen, and defines the contents of each screen as shown in FIG. For example, in the screen definition file 500 illustrated in FIG.
The attributes of the screen, such as the position and size of the screen, are described, and the GUI parts definition unit 502 defines the GUI parts to be arranged on the screen.

【0053】また、個々の画面には複数のGUI部品が
存在する場合もあり、そのような場合は、画面定義ファ
イル500にも複数のGUI部品定義部502が含まれ
る。そして、画面やGUI部品の定義は、1つのまとま
りごとに、予約語「begin」から「end」の間に
記述され、画面上に存在するGUI部品の定義は、画面
定義部501の「begin」と「end」の中に、さ
らに入れ子にされた「begin」と「end」の間に
記述される。
Further, a plurality of GUI parts may exist on each screen. In such a case, the screen definition file 500 also includes a plurality of GUI parts definition units 502. The definition of the screen and the GUI parts is described for each unit from the reserved words “begin” to “end”, and the definition of the GUI parts existing on the screen is defined as “begin” of the screen definition unit 501. And “end”, and further nested between “begin” and “end”.

【0054】ここで、「begin」「end」などを
含む言語仕様は、プログラム生成情報103に含まれ
る。また、画面が表示されているときにタイマの時間経
過といったイベントが発生した場合や、各GUI部品に
おいてイベントが発生した場合に実行されるプログラム
部品は、イベント用関数定義部503に記述されてい
る。なお、このイベント用関数定義部503は、各画面
の各GUI部品ごとに格納されている。
Here, language specifications including “begin”, “end”, etc. are included in the program generation information 103. A program component that is executed when an event such as the elapse of a timer when a screen is displayed or when an event occurs in each GUI component is described in the event function definition unit 503. . The event function definition unit 503 is stored for each GUI component on each screen.

【0055】〔2.作用〕上に述べたように構成された
この実施形態は次のような作用を有する。 〔2−1.大まかな作用〕この実施形態では、状態遷移
情報100に加えられた変更に基づいてプログラムコー
ド104を更新することと、逆に、プログラムコード1
04に加えられた変更に基づいて状態遷移情報100を
更新することができる。
[2. Operation] This embodiment configured as described above has the following operation. [2-1. Rough action] In this embodiment, the program code 104 is updated based on the change made to the state transition information 100.
The state transition information 100 can be updated on the basis of the change made to the state transition information 04.

【0056】すなわち、まず、状態遷移情報100から
プログラムコード104を生成するときは、状態遷移情
報100のどの部分がどのように変更されたかを状態遷
移図解析部105が解析し、この解析結果にしたがっ
て、プログラムコード操作部106が、プログラムコー
ド104のうち変更点に対応する部分だけを操作して更
新する。
That is, first, when generating the program code 104 from the state transition information 100, the state transition diagram analysis unit 105 analyzes which part of the state transition information 100 has been changed and how, and the analysis result Therefore, the program code operation unit 106 operates and updates only a portion of the program code 104 corresponding to the changed point.

【0057】また、生成されたプログラムコード104
から、逆に状態遷移情報100を生成するときは、プロ
グラムコード104のどの部分がどのように変更された
かをプログラムコード解析部107が解析し、この解析
結果にしたがって、状態遷移図操作部108が、状態遷
移情報100のうち変更点に対応する部分だけを操作し
て更新する。
The generated program code 104
On the contrary, when the state transition information 100 is generated, the program code analysis unit 107 analyzes which part of the program code 104 has been changed and how, and the state transition diagram operation unit 108 according to the analysis result. In the state transition information 100, only the part corresponding to the changed point is operated and updated.

【0058】なお、状態遷移情報100かプログラムコ
ード104の一方から他方を生成するときは、状態遷移
情報100中のどの名前と、プログラムコード104中
のどの識別子とが対応するかが名前対応表101に記録
される。このとき、新しい名前又は識別子が登場したと
きは、識別子生成部102がそれに対応する識別子又は
名前を生成し、両者は名前対応表に追加登録される。ま
た、状態遷移情報100又はプログラムコード104の
どのような変更に対して、対応するプログラムコード1
04又は状態遷移情報100をどのように変更すればよ
いかは、プログラム生成情報103に基づいて判断され
る。
When the other is generated from one of the state transition information 100 and the program code 104, the name correspondence table 101 identifies which name in the state transition information 100 corresponds to which identifier in the program code 104. Will be recorded. At this time, when a new name or identifier appears, the identifier generation unit 102 generates an identifier or name corresponding to the new name or identifier, and both are additionally registered in the name correspondence table. In addition, any change of the state transition information 100 or the program code 104 causes the corresponding program code 1
How to change 04 or state transition information 100 is determined based on program generation information 103.

【0059】このように、この実施形態では、状態遷移
情報100とプログラムコード104との間で、一方が
変更されたとき、他方を上書きすることなく、変更点が
他方に反映される。このため、ユーザは、状態遷移情報
100又はプログラムコード104のうち都合の良いほ
うで変更の作業を行なうことができ、しかも、一方の変
更に合わせて他方をユーザが変更しなくとも、両者の整
合性が保たれ、プログラム開発が効率化される。
As described above, in this embodiment, when one of the state transition information 100 and the program code 104 is changed, the change is reflected on the other without overwriting the other. For this reason, the user can perform the change operation using the more convenient state of the state transition information 100 or the program code 104. Further, even if the user does not change the other in accordance with one of the changes, the matching of the two can be performed. And the efficiency of program development is improved.

【0060】なお、状態遷移情報100やプログラムコ
ード104を「変更」するというのは、この出願では、
すでにある状態遷移情報100やプログラムコード10
4を更新するだけでなく、与えられた状態遷移情報10
0から最初にプログラムコード104を生成するような
場合を含むものとする。つまり、状態遷移情報100の
全体が与えられた場合、状態遷移情報100は全体が
「変更」されたと考え、この変更に対応して、プログラ
ムコード104もその全体が「変更」されたと考える。
It is to be noted that “changing” the state transition information 100 and the program code 104 means that in this application,
Existing state transition information 100 and program code 10
4 as well as the given state transition information 10
It is assumed that a case where the program code 104 is generated first from 0 is included. That is, when the entire state transition information 100 is given, it is considered that the entire state transition information 100 has been “changed”, and that the program code 104 has been entirely “changed” in response to this change.

【0061】また、同様に、ユーザが所定の操作をする
ことによって、例えばある時点のプログラムコード10
4の全体から、状態遷移情報100の全体を改めて新し
く生成したり、その逆の処理を行うこともできる。
Similarly, when a user performs a predetermined operation, for example, the program code 10
4, the whole of the state transition information 100 can be newly generated or the reverse process can be performed.

【0062】〔2−2.プログラムコードの生成〕ま
ず、状態遷移情報100からプログラムコード104を
生成する手順を図7のフローチャートに示す。 〔2−2−1.状態遷移情報の解析〕この手順では、ま
ず、状態遷移図解析部105が、状態遷移情報100の
どの部分がどのように変更されたかを解析する。但し、
上に述べたように、プログラムコード104が生成され
ていない状態で、与えられた状態遷移情報100に基づ
いて最初にプログラムコード104を生成するときは、
状態遷移情報100の全体が変更されたものと解析さ
れ、プログラムコード104の全体が生成される。
[2-2. Generation of Program Code] First, the procedure for generating the program code 104 from the state transition information 100 is shown in the flowchart of FIG. [2-2-1. Analysis of State Transition Information] In this procedure, first, the state transition diagram analysis unit 105 analyzes which part of the state transition information 100 has been changed and how. However,
As described above, when the program code 104 is first generated based on the given state transition information 100 in a state where the program code 104 has not been generated,
It is analyzed that the entire state transition information 100 has been changed, and the entire program code 104 is generated.

【0063】〔2−2−1−1.新しい名前の検索〕状
態遷移情報100の解析では、まず、状態遷移図解析部
105は、状態遷移情報100中のいろいろな名前が名
前対応表101にあるかどうかを調べる(ステップ70
0)。ここで状態遷移情報100中の名前としては(図
2)、状態欄200にある状態名、イベント欄203に
あるイベント名、条件欄204にある条件名のほか、ア
クション(入)欄201、アクション(出)欄202、
遷移時アクション欄206にある変数名や関数名などが
挙げられる。
[2-2-1-1. New Name Search] In the analysis of the state transition information 100, first, the state transition diagram analysis unit 105 checks whether or not various names in the state transition information 100 are present in the name correspondence table 101 (step 70).
0). Here, as names in the state transition information 100 (FIG. 2), in addition to the state name in the state column 200, the event name in the event column 203, the condition name in the condition column 204, the action (input) column 201, the action (Out) column 202,
A variable name and a function name in the transition action column 206 are exemplified.

【0064】なお、ステップ700で状態遷移情報10
0中の名前を名前対応表101から検索する場合、同じ
名前でも後ろに状態名を加えることで区別される。例え
ば、イベントの名前は、イベント名とそのイベント発生
する状態の名前とを連結したものとして名前対応表10
1から検索される。このため、別の状態が同じイベント
名のイベント発生させる場合でも、2つのイベントが混
同されることはない。条件など他の種類の名前について
もそのように検索される。
In step 700, the state transition information 10
When searching for a name in 0 from the name correspondence table 101, the same name is distinguished by adding a state name to the end. For example, the name of the event is a concatenation of the name of the event and the name of the state in which the event occurs.
Searched from 1. Therefore, even when another state causes an event having the same event name to occur, the two events are not confused. Other types of names, such as conditions, are also searched that way.

【0065】ステップ700で調べた名前が名前対応表
101に存在しない場合は(ステップ701)、状態遷
移図解析部105は、その名前は新しく作成されたもの
として新規リストに登録するとともに(ステップ70
2)、その名前を追加することで名前対応表101を更
新する。
If the name checked in step 700 does not exist in the name correspondence table 101 (step 701), the state transition diagram analysis unit 105 registers the name in the new list as newly created (step 70).
2) The name correspondence table 101 is updated by adding the name.

【0066】ここで、新規リストとは、状態遷移情報1
00からプログラムコード104を生成するとき、前回
生成したときには状態遷移情報100に含まれていなか
ったが現在では状態遷移情報100に加えられている新
しい名前を登録しておくリストである。また、状態遷移
図解析部105は、新しく名前対応表101に登録され
た名前に対して、識別子生成部102に新しい識別子を
生成させ、新しい名前に、このように生成された新しい
識別子を対応付けて名前対応表101に登録する。
Here, the new list is state transition information 1
When the program code 104 is generated from 00, this list is for registering a new name that was not included in the state transition information 100 when it was generated last time, but is now added to the state transition information 100. Further, the state transition diagram analysis unit 105 causes the identifier generation unit 102 to generate a new identifier for the name newly registered in the name correspondence table 101, and associates the new name thus generated with the new name. To the name correspondence table 101.

【0067】このように、状態遷移情報100に含まれ
る名前を1つずつ取り出して、ステップ700から70
2の処理を繰り返した結果、全ての名前について調べ終
わると(ステップ703)、新規リストは図8に例示す
るような状態となる。この図8は、プログラムコード1
04と名前対応表101がまだ作られていない状態で状
態遷移情報100を与え、初めてプログラムコード10
4を生成しようとする処理で、ステップ703までの処
理が終わったときの新規リストを示している。
As described above, the names included in the state transition information 100 are extracted one by one, and
As a result of repeating the processing of step 2 and checking all the names (step 703), the new list is in a state as illustrated in FIG. FIG. 8 shows the program code 1
04 and the state transition information 100 in a state where the name correspondence table 101 has not been created yet, and the program code 10
4 shows a new list when the processing up to step 703 is completed in the processing for generating No. 4.

【0068】〔2−2−1−2.削除された名前の検
索〕次に、状態遷移図解析部105は、名前対応表10
1中で状態遷移情報100用の名前欄301に登録され
ている個々の名前を改めて1つずつ選び、状態遷移情報
100中に存在するかどうを調べる(ステップ70
4)。なお、この検索でも、ステップ700で新しい名
前を検索したときと同じように、例えばイベント名に状
態名を付けることで、別の状態の同じイベント名と区別
する。
[2-2-1-2. Search for Deleted Name] Next, the state transition diagram analysis unit 105
1, each name registered in the name column 301 for the state transition information 100 is selected one by one again, and it is checked whether or not the name exists in the state transition information 100 (step 70).
4). In this search, as in the case of searching for a new name in step 700, for example, by attaching a state name to an event name, it is distinguished from the same event name in another state.

【0069】そして、ステップ704で調べた名前が状
態遷移情報100中に存在しない場合は(ステップ70
5)、その名前は状態遷移情報100が編集された結果
として削除されたものと解釈できるので、状態遷移図解
析部105は、その名前を削除された名前として削除リ
ストに登録する(ステップ706)。ここで、削除リス
トとは、状態遷移情報100からプログラムコード10
4を生成するとき、前回生成したときには状態遷移情報
100に含まれていたが現在では状態遷移情報100か
ら削除されている名前を登録しておくリストである。
If the name checked in step 704 does not exist in the state transition information 100 (step 70
5) Since the name can be interpreted as being deleted as a result of editing the state transition information 100, the state transition diagram analysis unit 105 registers the name as a deleted name in the deletion list (step 706). . Here, the deletion list is the program code 10 from the state transition information 100.
4 is a list that registers names that were included in the state transition information 100 when they were generated last time, but are now deleted from the state transition information 100.

【0070】このように、名前対応表101に含まれる
名前を1つずつ取り出して、ステップ704から706
の処理を繰り返した結果、全ての名前について調べ終わ
ると(ステップ707)、新規リストは図9に例示する
ような状態となる。
As described above, the names included in the name correspondence table 101 are extracted one by one, and steps 704 to 706 are performed.
As a result of repeating this process, when all the names have been checked (step 707), the new list is in a state as illustrated in FIG.

【0071】この例は、状態遷移情報100からプログ
ラムコード104を前回生成したときと比べて、状態遷
移情報100から時刻設定画面が削除されていた場合の
削除リストである。この例では、時刻設定の初期化を行
う関数も削除リストに入っているが、これは、時刻設定
画面が状態遷移情報100から削除されたときに、この
画面に関連する遷移のイベントも削除されるので、該当
する関数の呼び出しが状態遷移情報100中には存在し
なくなるためである。このように、ある画面が状態遷移
情報100から削除されると、それに関連して削除され
るものの名前も削除リストに登録されることになる。
This example is a deletion list in a case where the time setting screen has been deleted from the state transition information 100 as compared with the time when the program code 104 was generated from the state transition information 100 last time. In this example, the function for initializing the time setting is also included in the deletion list. However, when the time setting screen is deleted from the state transition information 100, the transition event related to this screen is also deleted. Therefore, the call of the corresponding function does not exist in the state transition information 100. As described above, when a screen is deleted from the state transition information 100, the name of the screen to be deleted in association with the screen is also registered in the deletion list.

【0072】〔2−2−2.プログラムコードの操作〕
次に、プログラムコード操作部106は、上に述べたよ
うな解析の結果、すなわち新規リスト、削除リスト、更
新された名前対応表などを使ってプログラムコード10
4を操作する。
[2-2-2. Operation of program code)
Next, the program code operation unit 106 uses the results of the above-described analysis, that is, the new code list, the deleted list, the updated name correspondence table, and the like to execute the program code 10.
Operate 4.

【0073】〔2−2−2−1.システム定義ファイル
の更新〕すなわち、プログラムコード操作部106は、
まず、状態遷移情報100中に存在する状態名を、名前
対応表101に基づいて、プログラムコード104中で
使われる画面名に変換してシステム定義ファイル400
に登録する(ステップ708)。
[2-2-2-1. Update of System Definition File] That is, the program code operation unit 106
First, a state name existing in the state transition information 100 is converted into a screen name used in the program code 104 based on the name correspondence table 101, and a system definition file 400 is created.
(Step 708).

【0074】また、プログラムコード操作部106は、
削除リスト中の状態名を、ステップ708と同じように
プログラムコード104中で使われる画面名に変換し、
システム定義ファイル400からその画面に関するファ
イル名を削除し(ステップ709)、不要になった画面
定義ファイル500は削除又は改名しておく。
The program code operation unit 106
The state names in the delete list are converted into screen names used in the program code 104 in the same manner as in step 708,
The file name related to the screen is deleted from the system definition file 400 (step 709), and the unnecessary screen definition file 500 is deleted or renamed.

【0075】〔2−2−2−2.画面定義ファイルの更
新〕続いて、プログラムコード操作部106は、個々の
画面定義ファイル500の内容を次のように更新する。
[2-2-2-2. Update of Screen Definition File] Subsequently, the program code operation unit 106 updates the contents of each screen definition file 500 as follows.

【0076】〔2−2−2−3.画面定義ファイルの用
意〕すなわち、プログラムコード操作部106は、状態
遷移情報100中の個々の状態すなわち画面を1つずつ
選び、その状態について次の処理を行う(ステップ71
0)。まず、選んだ状態が新規リストに入っていない既
存の状態ならば、前回作成したプログラムコード104
のファイルから、既存の画面定義ファイル500を読み
込んで操作の対象とする(ステップ711)。
[2-2-2-3. Preparation of Screen Definition File] That is, the program code operation unit 106 selects individual states, that is, screens, one by one in the state transition information 100 and performs the following processing on the states (step 71).
0). First, if the selected state is an existing state that is not included in the new list, the previously created program code 104
Then, the existing screen definition file 500 is read from the above file and set as an operation target (step 711).

【0077】このように、既存の状態について前回作成
したプログラムコード104の部分をそのまま読み込ん
で使うことで、ユーザが別のツールなどでプログラムコ
ード104に直接施した変更が、上書きされることな
く、更新後の新しいプログラムコード104でも有効と
なる。
As described above, the portion of the program code 104 previously created for the existing state is read and used as it is, so that the change made directly by the user to the program code 104 with another tool or the like is not overwritten. The updated new program code 104 is also effective.

【0078】一方、選んだ状態が新規リストに入ってい
る新しい状態であれば、その状態に対応する新しい画面
のために、プログラム生成情報103から画面定義部5
01の原形となるスケルトンコードを読み込んで画面定
義ファイル500を作成する(ステップ711)。
On the other hand, if the selected state is a new state in the new list, a new screen corresponding to that state is sent from the program generation information 103 to the screen definition unit 5.
The screen definition file 500 is created by reading the skeleton code which is the original form of “01” (step 711).

【0079】このように状態遷移情報100に新しく追
加された状態に基づいて、新しい画面の画面定義ファイ
ル500を作るとき、画面定義ファイル500の画面定
義部501中に画面のタイトルを表わす属性があれば、
その属性の属性値としては、状態遷移情報100に追加
された状態の状態名を設定する。
When a screen definition file 500 for a new screen is created based on the state newly added to the state transition information 100 as described above, there is an attribute indicating the screen title in the screen definition section 501 of the screen definition file 500. If
As the attribute value of the attribute, the state name of the state added to the state transition information 100 is set.

【0080】ここで、画面のタイトルとは、複数の画面
を互いに見分けられるようにユーザに対して表示される
文字列であり、例えば、複数の画面をマルチウインドウ
の形式で表示するユーザインタフェースでは、画面の最
上部にタイトルが表示されるものが多く、その表示され
ている部分はタイトルバーなどと呼ばれる。
Here, the title of the screen is a character string displayed to the user so that the plurality of screens can be distinguished from each other. For example, in a user interface for displaying a plurality of screens in a multi-window format, In many cases, a title is displayed at the top of the screen, and the displayed portion is called a title bar or the like.

【0081】このようなタイトルの属性値として、例え
ば、画面定義部501に「title = “メインメ
ニュー画面”」のように状態遷移情報100中の状態名
を記述しておき、プログラムコード104の実行時に、
この状態名を画面上に表示することで、状態遷移情報1
00とプログラムコード104との対応がとりやすくな
り、プログラム開発が効率化される。
As the attribute value of such a title, for example, a state name in the state transition information 100 such as “title =“ main menu screen ”” is described in the screen definition section 501, and the program code 104 is executed. Sometimes
By displaying this state name on the screen, the state transition information 1
00 and the program code 104 can be easily corresponded, and the program development is made more efficient.

【0082】〔2−2−2−4.GUI部品の削除〕続
いて、プログラムコード操作部106は、このように用
意された画面定義ファイル500から、削除リストに入
っているGUI部品に対応するGUI部品定義部502
を削除する(ステップ712)。この場合、GUI部品
に対応してどのGUI部品定義部502を削除するか
は、プログラム生成情報103に含まれている言語仕様
に基づいて判断することが可能であり、具体的には「b
egin」と「end」で囲まれた範囲が削除の単位と
なる。
[2-2-2-4. Deletion of GUI Parts] Subsequently, the program code operation unit 106 extracts the GUI part definition unit 502 corresponding to the GUI parts included in the deletion list from the screen definition file 500 thus prepared.
Is deleted (step 712). In this case, it is possible to determine which GUI component definition unit 502 is to be deleted corresponding to the GUI component based on the language specification included in the program generation information 103. Specifically, “b”
The range enclosed by “egin” and “end” is the unit of deletion.

【0083】例えば、時刻設定画面の「完了」ボタンを
削除するには「begin btn000scr00
1」から「end」までの部分を削除すればよい。ま
た、このようにGUI部品が削除されるときは、イベン
トが発生したときに実行されるプログラム部品のうちこ
のGUI部品に付属する部分も不要となるので同様に削
除する。この場合、「func処理関数名」と対応する
「」に囲まれた部分を削除する。例えば、メインメニュ
ー画面の「選択」ボタンを削除するには、「begin
btn000scr_pressed{」から「}」
の部分を削除する。
For example, to delete the “Done” button on the time setting screen, use “begin btn000scr00”.
The portion from "1" to "end" may be deleted. When a GUI component is deleted in this way, a portion attached to the GUI component among program components executed when an event occurs becomes unnecessary, and is similarly deleted. In this case, the portion surrounded by "" corresponding to "func processing function name" is deleted. For example, to delete the “select” button on the main menu screen, use “begin
btn000scr_pressed {”to“} ”
Delete the part.

【0084】〔2−2−2−5.GUI部品の挿入〕ま
た、プログラムコード操作部106は、用意された画面
定義ファイル500の画面定義部501に、必要なGU
I部品定義部502を追加する(ステップ713)。す
なわち、プログラムコード操作部106は、新規リスト
に入っているGUI部品のスケルトンコードを読み込
み、このスケルトンコードに基づいて新しいGUI部品
定義部502を作るが、その名前としては、追加された
GUI部品に名前対応表101で対応付けられた識別子
を使う。
[2-2-2-5. Insertion of GUI Parts] Also, the program code operation unit 106 stores the necessary GUI in the screen definition unit 501 of the prepared screen definition file 500.
An I component definition unit 502 is added (step 713). That is, the program code operation unit 106 reads the skeleton code of the GUI component included in the new list, and creates a new GUI component definition unit 502 based on the skeleton code. An identifier associated with the name association table 101 is used.

【0085】このとき、画面定義部501中に、GUI
部品のタイトルを表わす属性があれば、その属性の属性
値として、そのGUI部品に状態遷移情報100中で付
けられていた名前を設定する。GUI部品について「タ
イトル」というときは、GUI部品の上に表示される文
字列である。そして、このタイトルを例えばtitle
という属性が表わす場合、「title = “完
了”」のように設定しておくことで、「完了」とタイト
ルが表示されたGUI部品を生成することができる。
At this time, a GUI is displayed in the screen definition unit 501.
If there is an attribute representing the title of the component, the name assigned to the GUI component in the state transition information 100 is set as the attribute value of the attribute. The term “title” for a GUI component is a character string displayed above the GUI component. Then, for example, title
When the attribute is represented as “title =“ completed ””, a GUI component with a title “completed” can be generated.

【0086】なお、上に述べたようなGUI部品定義部
502の新規作成や削除のとき、プログラムコード操作
部106は、すでに画面定義ファイル500の中に存在
していて新規作成や削除の対象になっていないGUI部
品の定義部には手を加えないので、プログラムコード1
04に対して直接行われた属性の変更はプログラムコー
ド104が操作されてもそのまま保持される。
When the GUI component definition unit 502 is newly created or deleted as described above, the program code operation unit 106 is already present in the screen definition file 500 and becomes a target for new creation or deletion. Since no change is made to the definition part of the GUI parts that are not
The change of the attribute made directly to the file 04 is maintained even if the program code 104 is operated.

【0087】なお、GUI部品の削除は、画面定義ファ
イル500を1つ用意するごとに行っても、全ての画面
定義ファイル500を用意してから一括して行ってもよ
いが、削除対象のGUI部品がどの画面定義ファイル5
00に含まれているかは次のように判断することができ
る。
The deletion of GUI parts may be performed each time one screen definition file 500 is prepared, or may be performed collectively after all screen definition files 500 are prepared. Which screen definition file is the part 5
00 is determined as follows.

【0088】例えば、ボタンやプルダウンリストなどの
GUI部品は、状態遷移情報100のなかではイベント
名や条件名などの名前に、そのイベントに対応するボタ
ンや条件に対応するプルダウンリストの名前が後ろに付
加した形で登録されている。このため、付加された部分
を参照することで、削除対象のGUI部品が含まれる画
面のファイルがわかるので、該当する画面ファイルから
該当するGUI部品に関する部分を削除することができ
る。
For example, a GUI component such as a button or a pull-down list has, in the state transition information 100, a name such as an event name or a condition name followed by a name of a pull-down list corresponding to the button or the condition corresponding to the event. It is registered in an added form. For this reason, by referring to the added portion, the file of the screen including the GUI component to be deleted can be known, so that the portion related to the corresponding GUI component can be deleted from the corresponding screen file.

【0089】〔2−2−2−6.イベントプログラムの
生成〕さらに、プログラムコード操作部106は、GU
I部品に付属する遷移について、イベントプログラムを
生成する(ステップ714)。例えば、ある画面で「完
了」ボタンが押されたときに「メインメニュー画面」に
戻るという処理を考える。このような処理を実現するに
は、「完了」ボタンに対応する名前のGUI部品のボタ
ンが押し下げられた場合というイベントに対して、この
イベントが起きたときに行う処理をイベント用関数定義
部503に記述する。このようにイベントが起きたとき
に行う処理を定めた部分をイベントプログラムと呼ぶ。
[2-2-2-6. Generation of Event Program] Further, the program code operation unit 106
An event program is generated for the transition attached to the I component (step 714). For example, consider a process of returning to the “main menu screen” when the “complete” button is pressed on a certain screen. In order to realize such processing, in response to an event that the button of the GUI component having the name corresponding to the “Done” button is depressed, the processing performed when this event occurs is performed by the event function definition unit 503. Describe in. The part that defines the processing to be performed when an event occurs in this way is called an event program.

【0090】この場合は、イベント用関数定義部503
には、遷移先を指定する命令「next = “メイン
メニュー画面”」と、遷移を起こす関数「transi
tion」の呼び出しを記述する。また、遷移に条件が
付随していた場合は、上に述べた「next = “メ
インメニュー画面”」のような命令の前にif文などの
条件判断を記述すればよい。イベント用関数定義部50
3にこのようなif文を使った例を図5に示す。この場
合、if文の条件は、プルダウンリストの状態は変数の
値に関する条件式などであり、これらも、状態遷移情報
100内のGUI部品や変数などの名前をそれぞれ名前
対応表101に基づいて変換した識別子としてプログラ
ムコード104中に挿入される。
In this case, the event function definition unit 503
Contains a command “next =“ main menu screen ”” that specifies a transition destination and a function “transi
Tion "is described. If the transition is accompanied by a condition, a condition judgment such as an if sentence may be described before an instruction such as “next =“ main menu screen ”” described above. Event function definition unit 50
FIG. 5 shows an example using such an if sentence in FIG. In this case, the condition of the if statement is a condition of a pull-down list, a conditional expression relating to a value of a variable, and the like. The inserted identifier is inserted into the program code 104.

【0091】〔2−2−2−7.付属ファイルの生成〕
次に、プログラムコード操作部106は、プログラムコ
ード104を実行するために必要な付属ファイルの生成
を行う。この付属ファイルの名称も、画面定義ファイル
500と同じようにシステム定義ファイル400に登録
されている。そして、付属ファイルの内容は図6に例示
するようになっており、図2で説明したアクション
(入)とアクション(出)が記述されている。また、図
6の付属ファイルに記述されている関数「transi
tion」は実際の遷移を起こす部分であり、この部分
を実行することで画面を切り替える。また、「prea
ction」と「postaction」はそれぞれ、
状態遷移情報100中のアクション(入)欄201とア
クション(出)欄202に記述されている動作を、名前
対応表101で変換したうえで、プログラムコード10
4内に埋め込んだものである。
[2-2-2-7. Generate attached files)
Next, the program code operation unit 106 generates an attached file necessary for executing the program code 104. The name of the attached file is also registered in the system definition file 400 in the same manner as the screen definition file 500. The contents of the attached file are exemplified in FIG. 6, and the action (in) and the action (out) described in FIG. 2 are described. The function “transi” described in the attached file of FIG.
“tion” is a part that causes an actual transition, and the screen is switched by executing this part. Also, "prea
"action" and "postaction"
The operations described in the action (in) column 201 and the action (out) column 202 in the state transition information 100 are converted by the name correspondence table 101 and the program code 10 is converted.
4 is embedded.

【0092】なお、以上に述べたように、状態遷移情報
100を解析した結果にしたがって、プログラムコード
104を操作するとき、状態遷移情報100のどの部分
がどのように変更されたときに、プログラムコード10
4のどの部分をどのように操作するかは、プログラム生
成情報103を参照することで判断される。
As described above, when the program code 104 is operated according to the result of analyzing the state transition information 100, when any part of the state transition information 100 is changed, 10
Which part of 4 is operated and how is determined by referring to the program generation information 103.

【0093】〔2−3.状態遷移情報の作成〕次に、プ
ログラムコード104から状態遷移情報100を作成す
る処理手順を図12のフローチャートに示す。
[2-3. Creation of State Transition Information] Next, a processing procedure for creating the state transition information 100 from the program code 104 is shown in the flowchart of FIG.

【0094】〔2−3−1.プログラムコードの解析〕
プログラムコード104から状態遷移情報100を生成
するときは、まず、プログラムコード解析部107が、
プログラムコードのどの部分がどのように変更されてい
るかを解析する。
[2-3-1. Analysis of program code)
When generating the state transition information 100 from the program code 104, first, the program code analysis unit 107
Analyze which parts of the program code have been changed and how.

【0095】〔2−3−1−1.新しい名前の検索〕ま
ず、プログラムコード解析部107は、プログラムコー
ド104中に用いられている画面、GUI部品(ボタン
やプルダウンリスト)、変数、関数などの個々の識別子
について名前対応表101中の識別子と照らし合わせる
ことで、名前対応表101に存在するかどうか調べる
(ステップ1200)。そして、プログラムコード10
4にあって名前対応表101にない識別子は(ステップ
1201)、新規に作成されたものとして、新規リスト
に登録する(ステップ1202)。
[2-3-1-1. Search for New Name] First, the program code analysis unit 107 determines the identifiers in the name correspondence table 101 for individual identifiers such as screens, GUI parts (buttons and pull-down lists), variables, and functions used in the program code 104. Then, it is checked whether or not it exists in the name correspondence table 101 (step 1200). And the program code 10
4 and not in the name correspondence table 101 (step 1201), they are registered in a new list as newly created (step 1202).

【0096】このように新しい識別子を探すとき、関数
に関しては、呼び出されることがない関数を削除するた
めに、関数の呼び出しをしている部分を調べる。このよ
うに新しくプログラムコードに追加された識別子を登録
した結果、新規リストは図10のようになる。図10
は、状態遷移情報100と名前対応表101が存在しな
い状態から、新しく状態遷移情報100を作成する場合
の図である。
As described above, when searching for a new identifier, the part calling the function is examined in order to delete the function that is not called. As a result of registering the identifier newly added to the program code in this way, the new list is as shown in FIG. FIG.
FIG. 4 is a diagram in a case where new state transition information 100 is created from a state in which the state transition information 100 and the name correspondence table 101 do not exist.

【0097】また、ステップ1202では、プログラム
コード解析部107は、識別子生成部102に、新規リ
ストに登録された識別子に対して、すでに名前対応表1
01にある名前と重複しない新しい名前を生成させ、新
しく見つけた識別子とこのように生成された名前とを対
応づけて名前対応表101を追加登録する。
In step 1202, the program code analysis unit 107 causes the identifier generation unit 102 to send the identifier registered in the new list to the name correspondence table 1.
A new name that does not overlap with the name in 01 is generated, and the newly found identifier is associated with the generated name, and the name correspondence table 101 is additionally registered.

【0098】このようにプログラムコードに新しく追加
された画面やGUI部品の識別子に対応する名前を付け
る際に、画面定義部501中にその画面やGUI部品の
タイトルを表す属性があり、なおかつ、その属性の属性
値が名前対応表101中のどの名前とも重複しない場合
には、そのタイトルを状態遷移情報100中での名前と
する。なお、タイトルとは画面やGUI部品の上に表示
される文字列である。
When a name corresponding to an identifier of a newly added screen or GUI part is given to the program code, the screen definition part 501 has an attribute indicating the title of the screen or GUI part. If the attribute value of the attribute does not overlap with any of the names in the name correspondence table 101, the title is set as the name in the state transition information 100. Note that the title is a character string displayed on a screen or a GUI component.

【0099】例えば、プログラムコード中で「titl
e = “メインメニュー画面”」といった定義を行な
っている部分を解析して“メインメニュー画面”という
言葉を取り出し、それを状態遷移情報100中で用いる
名前とする。こうすることで、実行時にプログラムコー
ド104と状態遷移情報100の対応がとりやすくな
る。
For example, in the program code, "titl
The part that defines e = “main menu screen” is analyzed to extract the word “main menu screen”, which is used as the name used in the state transition information 100. This makes it easier to associate the program code 104 with the state transition information 100 at the time of execution.

【0100】一方、プログラムコード104中の画面定
義部501中に、新しい画面やGUI部品のタイトルを
表す属性が無い場合や、存在してもそれが名前対応表1
01中にすでにある名前のどれかと重複する場合には、
識別子生成部102が例えば文字や数字の組み合わせな
どで生成する名前を、その画面やGUI部品につける。
On the other hand, if the screen definition section 501 in the program code 104 does not have an attribute representing the title of a new screen or GUI component,
If it duplicates any of the names already in 01,
A name generated by the identifier generation unit 102 using, for example, a combination of characters and numbers is attached to the screen or the GUI component.

【0101】〔2−3−1−2.削除された名前の検
索〕すべての識別子について名前対応表101にあるか
どうの確認が済むと(ステップ1203)、プログラム
コード解析部107は、名前対応表101中のプログラ
ム用識別子欄302にある個々の識別子について、プロ
グラムコード104中の識別と照らし合わせることで、
プログラムコード104中に存在しない識別子を探す
(ステップ1204)。そして、名前対応表101にあ
ってプログラムコード104にない識別子は(ステップ
1205)、プログラムコード104をユーザが直接編
集することで削除されたと解釈し、その識別子を削除リ
ストに登録する(ステップ1206)。
[2-3-1-2. Retrieval of Deleted Name] When it is confirmed that all identifiers are in the name correspondence table 101 (step 1203), the program code analysis unit 107 sets the individual identifiers in the program identifier column 302 in the name correspondence table 101. Is compared with the identification in the program code 104,
An identifier that does not exist in the program code 104 is searched (step 1204). Then, the identifier that is not in the program code 104 in the name correspondence table 101 (step 1205) is interpreted as being deleted by the user directly editing the program code 104, and the identifier is registered in the deletion list (step 1206). .

【0102】このように削除された識別を登録した結
果、削除リストは図11のようになる。図11は、画面
の識別子scr001がプログラムコード104から削
除されていた場合を例にしている。また、この例では、
関数の識別子func003も削除リストに入っている
が、これは画面scr001がプログラムコード104
から削除されたときに、遷移イベントも削除されるの
で、解析の結果、関数func003がどこからも呼ば
れなくなっていることが判明するためである。
As a result of registering the identifications thus deleted, the deletion list becomes as shown in FIG. FIG. 11 shows an example in which the screen identifier scr001 has been deleted from the program code 104. Also, in this example,
The function identifier "func003" is also included in the deletion list.
This is because the transition event is also deleted when the function func003 is deleted from anywhere.

【0103】〔2−3−2.状態遷移情報の操作〕削除
されたかの確認が全ての識別子について済むと(ステッ
プ1207)、次に、状態遷移図操作部108は、上に
述べたような解析の結果、すなわち、新規リスト、削除
リスト、更新された名前対応表101などを使って、状
態遷移情報100を操作する(ステップ1208〜12
13)。
[2-3-2. Operation of State Transition Information] When it is confirmed that all identifiers have been deleted (step 1207), the state transition diagram operating unit 108 then executes the above analysis results, that is, a new list and a deletion list. The state transition information 100 is operated using the updated name correspondence table 101 or the like (steps 1208 to 12).
13).

【0104】〔2−3−2−1.状態の登録と削除〕こ
の操作では、状態遷移図操作部108は、まず、新規リ
ストに登録されている新しい画面を、識別子生成部10
2によって作成される名前に変換したうえで、状態遷移
情報100の状態欄200に登録する(ステップ120
8)。次に、削除リストに登録されている画面に対応す
る状態名を状態遷移情報100の該当する行から削除す
る(ステップ1209)。
[2-3-2-1. In this operation, the state transition diagram operation unit 108 firstly registers the new screen registered in the new list with the identifier generation unit 10.
2 and then registered in the state column 200 of the state transition information 100 (step 120).
8). Next, the state name corresponding to the screen registered in the deletion list is deleted from the corresponding line of the state transition information 100 (step 1209).

【0105】続いて、状態遷移図操作部108は、プロ
グラムコード104中の個々の画面定義部501を選
び、その画面定義部501に対応する画面及び状態遷移
情報100について、以下の操作を行なう(ステップ1
210)。すなわち、状態遷移図操作部108は、状態
遷移情報100の中で、選んだ画面に対応する状態の行
のイベント欄203、条件欄204、遷移先欄205、
遷移時アクション欄206に対して、以下の操作を行
う。
Subsequently, the state transition diagram operation unit 108 selects an individual screen definition unit 501 in the program code 104, and performs the following operations on the screen and the state transition information 100 corresponding to the screen definition unit 501 ( Step 1
210). That is, the state transition diagram operation unit 108 includes, in the state transition information 100, the event column 203, the condition column 204, the transition destination column 205, and the row of the state corresponding to the selected screen.
The following operation is performed on the transition action field 206.

【0106】〔2−3−2−2.GUI部品に対応する
行の削除〕まず、状態遷移図操作部108は、削除リス
ト中に、その状態に存在していたGUI部品(ここでは
ボタン)が入っている場合、すなわちそのようなGUI
部品の識別子が登録されている場合には、そのGUI部
品に対応する状態遷移情報100中の名前を名前対応表
101から調べる。そして、状態遷移図操作部108
は、状態遷移情報100の該当する状態について、その
ような削除されたGUI部品に対応するイベント欄20
3、条件欄204、遷移先欄205、遷移時アクション
欄206を削除する。
[2-3-2-2. Deletion of Rows Corresponding to GUI Parts] First, the state transition diagram operation unit 108 includes a GUI part (here, a button) existing in that state in the deletion list, that is, such a GUI
When the component identifier is registered, the name in the state transition information 100 corresponding to the GUI component is checked from the name correspondence table 101. Then, the state transition diagram operation unit 108
Is an event column 20 corresponding to such a deleted GUI component for the corresponding state of the state transition information 100.
3. Delete the condition column 204, the transition destination column 205, and the transition action column 206.

【0107】〔2−3−2−3.GUI部品に対応する
行の登録〕次に、状態遷移図操作部108は、新規リス
トに登録されている画面及びGUI部品について、状態
遷移情報100中で対応する状態のイベント欄203、
条件欄204、遷移先欄205、遷移時アクション欄2
06の更新を行う。このような更新を行なうためには、
プログラムコード解析部107が、プログラムコード1
04のうち、個々のGUI部品のイベント用関数定義部
503に使われている識別子に対応する名前を名前対応
表101から調べ、状態遷移情報100のうち調べた名
前に該当する行を操作の対象とする。
[2-3-2-2-3. Registration of Rows Corresponding to GUI Parts] Next, the state transition diagram operation unit 108 sets the event column 203 of the corresponding state in the state transition information 100 for the screen and the GUI parts registered in the new list.
Condition column 204, transition destination column 205, transition action column 2
06 is updated. To make such an update,
The program code analysis unit 107 executes the program code 1
04, the name corresponding to the identifier used in the event function definition unit 503 of each GUI component is checked from the name correspondence table 101, and the row corresponding to the checked name in the state transition information 100 is operated. And

【0108】例えば、あるイベント用関数定義部503
にif文がある場合には、それを条件と解釈し、この条
件で用いられている、変数やプルダウンリストの識別子
を名前対応表101で状態遷移情報100中で使う名前
に変換して、該当する行の条件欄204に登録する。
For example, a certain event function definition unit 503
If there is an if sentence, it is interpreted as a condition, and the identifiers of variables and pull-down lists used in this condition are converted into names used in the state transition information 100 in the name correspondence table 101, and Is registered in the condition column 204 of the row to be executed.

【0109】また、そのときの遷移先を検索するために
は「next=scr001」というような遷移先を指
定している部分を解析する。これにより、次の画面が、
scr001であると解釈できる。そして、状態遷移情
報操作部108は、この識別子を、名前対応表101を
用いて、状態遷移情報100で用いる名前に変換して、
該当する行の遷移先欄205に登録する。またこのと
き、ほかの関数の呼び出しや、変数への操作などのステ
ートメントがあれば、それら呼び出しやステートメント
に使われている識別子を同様に名前対応表101で変換
して、該当する行の遷移時アクション欄206に登録す
る。
In order to search for a transition destination at that time, a part designating the transition destination such as "next = scr001" is analyzed. This will bring up the next screen,
It can be interpreted as scr001. Then, the state transition information operation unit 108 converts the identifier into a name used in the state transition information 100 using the name correspondence table 101,
It is registered in the transition destination column 205 of the corresponding line. At this time, if there is a statement such as a call to another function or an operation on a variable, the identifier used in the call or the statement is similarly converted in the name correspondence table 101, and the Register in the action column 206.

【0110】また、上に述べたように、プログラムコー
ド104を解析した結果にしたがって状態遷移情報10
0を操作するとき、プログラムコード104で追加され
た部分がプログラムコード104のどのような構造をど
のように構成している部分であるときに、状態遷移情報
100のどの欄に何を登録するかは、プログラム生成情
報103を参照することで判断される。
As described above, according to the result of analyzing the program code 104, the state transition information 10
When operating 0, when a part added by the program code 104 is a part configuring what kind of structure of the program code 104 and what part is registered in which column of the state transition information 100 Is determined by referring to the program generation information 103.

【0111】ここで、状態遷移情報100中に存在し、
新規作成や削除の対象になっていないイベント、条件、
遷移先、遷移時アクションには、状態遷移情報操作部1
08は手を加えないので、状態遷移情報100に対して
直接行なわれた属性の変更は保持される。
Here, it exists in the state transition information 100,
Events, conditions,
The transition destination and the action at transition include the state transition information operation unit 1
08 is unchanged, the attribute changes made directly to the state transition information 100 are retained.

【0112】〔3.効果〕以上のように、本実施形態に
よれば、状態遷移情報100から生成したプログラムコ
ード104をユーザが別のツールなどで直接変更したあ
と、もとの状態遷移情報100を変更して再びプログラ
ムを生成しても、すでにあるプログラムコード104全
体を上書きすることはない。すなわち、状態遷移情報1
00の変更点だけが既存のプログラムコード104に反
映されるため、ユーザがプログラムコード104に直接
加えた変更と、状態遷移情報100に加えた変更が同じ
プログラムコード104上で並存でき、プログラム開発
が効率化される。
[3. Effects] As described above, according to the present embodiment, after the user directly changes the program code 104 generated from the state transition information 100 with another tool or the like, the original state transition information 100 is changed and the program is re-executed. Does not overwrite the entire existing program code 104. That is, state transition information 1
00 is reflected in the existing program code 104, the change made directly by the user to the program code 104 and the change made to the state transition information 100 can coexist on the same program code 104, and program development Be more efficient.

【0113】また、生成されたプログラムコード104
に直接加えられた変更を、元の状態遷移情報100に反
映されることで、プログラムにあわせてユーザが状態遷
移情報100を書き換える作業が不要になり、プログラ
ム開発が効率化される。
The generated program code 104
Is reflected in the original state transition information 100, so that the user does not need to rewrite the state transition information 100 in accordance with the program, and the program development becomes more efficient.

【0114】これらによって、この実施形態では、状態
遷移情報100とプログラムコード104の間で、変更
点を反映させて整合性を保つ処理が双方向に可能とな
る。つまり、状態遷移情報100とプログラムコード1
04の一方を変更したとき、他方の全体を上書きするこ
となく、変更点だけが他方に反映されるので、反映され
る側でユーザが直接加えた変更と反映される変更とが両
方有効になる。このため、ユーザは、どのような点を変
更したいかに応じて、状態遷移情報100とプログラム
コード104のうち都合のよい方を変更することがで
き、プログラム開発が効率化される。
As a result, in this embodiment, it is possible to bidirectionally maintain the consistency between the state transition information 100 and the program code 104 by reflecting the change. That is, the state transition information 100 and the program code 1
When one of 04 is changed, only the change is reflected on the other without overwriting the other, so that both the changes made directly by the user and the changes to be reflected on the reflected side become effective. . For this reason, the user can change the more convenient one of the state transition information 100 and the program code 104 according to what point the user wants to change, and the program development becomes more efficient.

【0115】また、この実施形態では、状態遷移情報1
00とプログラムコード104との間で、どの名前とど
の識別子とが対応し、また、どの構造とどの構造とがど
う対応するかを、それぞれ名前対応表101とプログラ
ム生成情報103を使って容易に判断できるので、解析
や変更を効果的に行なうことができる。例えば、状態遷
移情報100中の名前をプログラム中の識別子に変換し
てプログラムコード104の一部を作るとき、互いに重
複しない識別子を生成し、生成した識別子をもとの名前
と対応付けて名前対応表101に登録しておけば、名前
と識別子のどちらからでも対応する他方を検索すること
ができる。
In this embodiment, the state transition information 1
00 and the program code 104, it is easy to determine which name corresponds to which identifier, and which structure corresponds to which structure using the name correspondence table 101 and the program generation information 103, respectively. Since the judgment can be made, the analysis and the change can be effectively performed. For example, when a part of the program code 104 is created by converting a name in the state transition information 100 into an identifier in a program, identifiers that do not overlap with each other are generated, and the generated identifiers are associated with the original names. By registering in the table 101, the corresponding other can be searched from either the name or the identifier.

【0116】特に、この実施形態では、設計者は、画面
の移り変わりを設計するとき、実際のプログラムで何と
いう識別子を使うか意識することなく、状態間の遷移を
表す状態遷移図や遷移表といった状態遷移情報100の
形で解かりやすく記述することができる。そして、この
ような状態遷移情報100で新しく作成された状態や遷
移を自動的にプログラムコード104に挿入したり、ま
た、状態遷移情報100から削除されたり不要になった
状態や遷移を自動的にプログラムコード104中から削
除したりすることで、イベント駆動型のプログラムコー
ド104を生成したり、状態遷移情報100の変更に合
わせて操作することができる。このため、複数の画面を
切り替えながら実行されるプログラムの開発が効率化さ
れる。
In particular, in this embodiment, when designing the transition of the screen, the designer does not have to be aware of what identifier is used in the actual program, and thus, such as a state transition diagram or a transition table representing transition between states. The description can be easily understood in the form of the state transition information 100. Then, a state or transition newly created based on such state transition information 100 is automatically inserted into the program code 104, and a state or transition that has been deleted or becomes unnecessary from the state transition information 100 is automatically detected. By deleting the program code 104 from the program code 104, the event-driven program code 104 can be generated or operated in accordance with the change of the state transition information 100. Therefore, development of a program executed while switching a plurality of screens is made more efficient.

【0117】〔4.他の実施形態〕なお、本発明は上記
実施形態に限定されるものではなく、次に例示するよう
な他の実施形態も含むものである。例えば、状態遷移情
報は状態遷移図や状態遷移表など、どのような形式で表
しておいてもよい。また、開発対象とするプログラムの
形式や分野などは自由で、例えば、複数の画面を切り替
えて実行されるものには限定されない。
[4. Other Embodiments] The present invention is not limited to the above embodiments, but includes other embodiments as exemplified below. For example, the state transition information may be represented in any form such as a state transition diagram or a state transition table. The format and field of the program to be developed are arbitrary, and are not limited to, for example, those executed by switching a plurality of screens.

【0118】また、上に述べた実施形態では、状態遷移
情報やプログラムコードの全体についてどのような変更
があったかをまとめて解析した後、解析結果にしたがっ
たプログラムコードや状態遷移情報の操作もまとめて行
ったが、このような解析と操作とは、状態遷移情報やプ
ログラムコードの一部分ずつごとに順次行うこともでき
る。また、状態遷移情報の変更点をプログラムコードに
反映させることと、プログラムコードから状態遷移情報
を生成することは、必ずしも双方向に両方できる必要は
なく、どちらか一方だけできるように実施することもで
きる。
Further, in the above-described embodiment, after the state transition information and the entire program code are analyzed collectively to determine what changes have been made, the operation of the program code and the state transition information according to the analysis result is also summarized. However, such analysis and operation can be sequentially performed for each part of the state transition information and the program code. Also, reflecting the change of the state transition information in the program code and generating the state transition information from the program code are not necessarily performed in both directions, and may be performed so that only one of them can be performed. it can.

【0119】また、上に述べた実施形態では、状態遷移
情報中の要素を表す言葉を「名前」と呼び、プログラム
コード中の要素を表す言葉を「識別子」と呼んだが、こ
れらの言葉は例示に過ぎず、他の呼び方をしてもよい
し、例えば状態遷移情報中の名前であっても特に意味の
ない記号や数字を使ったり、逆に、プログラムコード識
別子として何らかの意味のある単語などを使うこともで
きる。
In the above-described embodiment, the word representing the element in the state transition information is called “name”, and the word representing the element in the program code is called “identifier”. And other names may be used.For example, the names in the state transition information use symbols or numbers that have no special meaning, and conversely, words that have some meaning as program code identifiers. You can also use

【0120】また、識別子を生成する手段、名前対応
表、プログラム生成情報の具体的な構成や形式は自由で
あり、また、これらは独立した存在ではなく、例えば解
析部105,107、操作部106,108などの一機
能や付属物として構成することもできる。
The means for generating the identifier, the name correspondence table, and the specific configuration and format of the program generation information are free. These are not independent entities. For example, the analysis units 105 and 107, the operation unit 106 , 108, etc., or as an accessory.

【0121】[0121]

【発明の効果】以上のように、この発明によれば、状態
遷移情報の変更が、プログラム全体を上書きすることは
なくプログラムに反映されるので、ユーザがプログラム
に直接加えた変更と、状態遷移情報に加えた変更が同じ
プログラム上で並存でき、プログラム開発が効率化され
る。
As described above, according to the present invention, the change in the state transition information is reflected in the program without overwriting the entire program. Changes made to information can coexist on the same program, and program development is streamlined.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施形態の構成を示す機能ブロック
図。
FIG. 1 is a functional block diagram showing a configuration of an embodiment of the present invention.

【図2】本発明の実施形態における状態遷移情報の例を
示す図。
FIG. 2 is a diagram showing an example of state transition information according to the embodiment of the present invention.

【図3】本発明の実施形態における名前対応表の内容例
を示す図。
FIG. 3 is a view showing an example of the contents of a name correspondence table according to the embodiment of the present invention.

【図4】本発明の実施形態におけるシステム定義ファイ
ルの内容例を示す図。
FIG. 4 is a view showing an example of the contents of a system definition file according to the embodiment of the present invention.

【図5】本発明の実施形態における画面定義ファイルの
内容例を示す図。
FIG. 5 is a view showing an example of the contents of a screen definition file according to the embodiment of the present invention.

【図6】本発明の実施形態における付属ファイルの内容
例を示す図。
FIG. 6 is a view showing an example of the contents of an attached file according to the embodiment of the present invention.

【図7】本発明の実施形態において、状態遷移情報から
プログラムコードを生成する手順を示すフローチャー
ト。
FIG. 7 is a flowchart showing a procedure for generating a program code from state transition information in the embodiment of the present invention.

【図8】本発明の実施形態において、状態遷移情報から
プログラムコードを生成するときの新規リストの内容例
を示す図。
FIG. 8 is a diagram showing an example of the contents of a new list when a program code is generated from state transition information in the embodiment of the present invention.

【図9】本発明の実施形態において、状態遷移情報から
プログラムコードを生成するときの削除リストの内容例
を示す図。
FIG. 9 is a diagram showing an example of the contents of a deletion list when a program code is generated from state transition information in the embodiment of the present invention.

【図10】本発明の実施形態において、プログラムコー
ドから状態遷移情報を生成するときの新規リストの内容
例を示す図。
FIG. 10 is a diagram showing an example of the contents of a new list when generating state transition information from a program code in the embodiment of the present invention.

【図11】本発明の実施形態において、プログラムコー
ドから状態遷移情報を生成するときの削除リストの内容
例を示す図。
FIG. 11 is a diagram showing an example of the contents of a deletion list when generating state transition information from a program code in the embodiment of the present invention.

【図12】本発明の実施形態において、プログラムコー
ドから状態遷移情報を生成する手順を示すフローチャー
ト。
FIG. 12 is a flowchart showing a procedure for generating state transition information from a program code in the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

100…状態遷移情報 101…名前対応表 102…識別子生成部 103…プログラム生成情報 104…プログラムコード 105…状態遷移情報解析部 106…プログラムコード操作部 107…プログラムコード解析部 108…状態遷移情報操作部 200…状態欄 201…アクション(入)欄 202…アクション(出)欄 203…イベント欄 204…条件欄 205…遷移先欄 206…遷移時アクション欄 300…属性欄 301…状態遷移情報用名前欄 302…プログラ用識別子欄 400…システム定義ファイル 500…画面定義ファイル 501…画面定義部 502…GUI部品定義部 503…イベント用関数定義部 600…変数宣言部 601…遷移実行部 602…アクション(入)記述部 603…アクション(出)記述部 604…関数実装部 700…状態遷移情報中から新しい名前を検索するステ
ップ 702…状態遷移情報内の新しい名前を新規リストに登
録するステップ 704…状態遷移情報内から削除された名前を検索する
ステップ 706…状態遷移情報内から削除された名前を削除リス
トに登録するステップ 708…システム定義ファイルを更新するステップ 709…不要な画面定義ファイルを削除するステップ 711…画面定義ファイルを用意するステップ 712…状態遷移情報から削除されたGUI部品に関す
る部分を削除するステップ 713…状態遷移情報に追加されたGUI部品に関する
部分を挿入するステップ 714…イベントプログラムを生成するステップ 1200…プログラムコードから新しい識別子を検索す
るステップ 1202…プログラム内の新しい識別子を新規リストに
登録するステップ 1204…プログラム内から削除された識別子を検索す
るステップ 1206…プログラム内から削除された識別子を削除リ
ストに登録するステップ 1208…プログラムコード中の新しい画面に対応する
状態を状態遷移情報に挿入するステップ 1209…プログラムコードから削除された画面に対応
する状態を状態遷移情報から削除するステップ 1211…プログラムコードから削除されたGUI部品
に関する部分を状態遷移情報から削除するステップ 1212…プログラムコードに追加されたイベントに対
応する内容を状態遷移情報に挿入するステップ
100 state transition information 101 name correspondence table 102 identifier generation unit 103 program generation information 104 program code 105 state transition information analysis unit 106 program code operation unit 107 program code analysis unit 108 state transition information operation unit 200 ... state column 201 ... action (in) column 202 ... action (out) column 203 ... event column 204 ... condition column 205 ... transition destination column 206 ... transition-time action column 300 ... attribute column 301 ... state transition information name column 302 ... Identifier field for program 400 ... System definition file 500 ... Screen definition file 501 ... Screen definition part 502 ... GUI part definition part 503 ... Function definition part for event 600 ... Variable declaration part 601 ... Transition execution part 602 ... Action (input) description Part 603: Action (departure) description part 6 04: Function implementation unit 700: Step of searching for a new name from state transition information 702: Step of registering a new name in state transition information in a new list 704: Step of searching for a deleted name from state transition information 706 … Step of registering the name deleted from the state transition information in the deletion list 708… Step of updating the system definition file 709… Step of deleting unnecessary screen definition file 711… Step of preparing screen definition file 712… State transition Step 713 for deleting the part related to the GUI part deleted from the information 713 Step for inserting the part related to the GUI part added to the state transition information 714 Step for generating an event program 1200 Step for searching for a new identifier from the program code 1202 … Step 1204: registering a new identifier in the program in a new list 1204: Step of searching for an identifier deleted from the program 1206: Step of registering an identifier deleted from the program to a deletion list 1208: New screen in the program code Step of inserting the corresponding state into the state transition information 1209 Step of deleting the state corresponding to the screen deleted from the program code from the state transition information 1211 ... Part of the GUI component deleted from the program code is deleted from the state transition information Step 1212: Step of inserting the content corresponding to the event added to the program code into the state transition information

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 状態遷移情報を使ってプログラムの開発
を支援するプログラム開発支援装置において、 状態遷移情報のどこがどのように変更されたかを解析す
る情報解析手段と、 状態遷移情報の各部分とプログラムの各部分との対応関
係に基づいて、状態遷移情報での前記変更に対応するプ
ログラムの部分を操作するプログラム操作手段と、 プログラムのどこがどのように変更されたかを解析する
プログラム解析手段と、 プログラムの各部分と状態遷移情報の各部分との対応関
係に基づいて、プログラムでの前記変更に対応する状態
遷移情報の部分を操作する情報操作手段と、 を備えたことを特徴とするプログラム開発支援装置。
1. A program development support apparatus for supporting program development using state transition information, comprising: an information analysis means for analyzing where and how the state transition information has been changed; each part of the state transition information and a program Program operating means for operating a part of the program corresponding to the change in the state transition information based on a correspondence relationship with each part of the program, program analyzing means for analyzing where and how the program was changed, and a program Information operation means for operating a part of the state transition information corresponding to the change in the program, based on a correspondence relationship between each part of the state transition information and each part of the state transition information. apparatus.
【請求項2】 プログラム中で使われる互いに重複しな
い識別子を生成する生成手段と、 状態遷移情報中で使われるどの名前とプログラムで使わ
れるどの識別子とが対応するかを表わす名前対応表と、 状態遷移情報中のどのような構造とプログラム中のどの
ような構造とがどのように対応するかを表すプログラム
生成情報と、 を備えたことを特徴とする請求項1記載のプログラム開
発支援装置。
2. Generating means for generating a unique identifier used in a program, a name correspondence table showing which name used in the state transition information corresponds to which identifier used in the program, 2. The program development support apparatus according to claim 1, further comprising: program generation information indicating how a structure in the transition information corresponds to a structure in the program.
【請求項3】 複数の画面を切り替えながら実行される
プログラムの開発を支援する請求項1又は2記載のプロ
グラム開発支援装置において、 前記状態遷移情報は、前記各画面に対応する複数の状態
ごとに、どのようなイベントが発生したときに他のどの
状態に遷移するかと、遷移のときにどのようなアクショ
ンを行うか、とを記述し、 前記プログラムは、前記各状態に対応する複数の画面ご
とに、前記イベントを発生させるためにどのようなGU
I部品を画面に表示するかと、前記イベントが発生した
ときにどのような処理を実行するか、とを記述すること
を特徴とするプログラム開発支援装置。
3. The program development support device according to claim 1, which supports development of a program executed while switching a plurality of screens, wherein the state transition information is provided for each of a plurality of states corresponding to each of the screens. Describes what state to transition to when any event occurs, and what action to take at the time of transition, and the program describes each of a plurality of screens corresponding to each state. What kind of GU to generate the event
A program development support device, which describes whether an I component is to be displayed on a screen and what processing is to be executed when the event occurs.
【請求項4】 状態遷移情報を使ってプログラムの開発
を支援するプログラム開発支援方法において、 状態遷移情報のどこがどのように変更されたかを解析す
るステップと、 状態遷移情報の各部分とプログラムの各部分との対応関
係に基づいて、状態遷移情報での前記変更に対応するプ
ログラムの部分を操作するステップと、 プログラムのどこがどのように変更されたかを解析する
ステップと、 プログラムの各部分と状態遷移情報の各部分との対応関
係に基づいて、プログラムでの前記変更に対応する状態
遷移情報の部分を操作するステップと、 を含むことを特徴とするプログラム開発支援方法。
4. A program development supporting method for supporting development of a program using state transition information, comprising: a step of analyzing where and how the state transition information has been changed; and each part of the state transition information and each program A step of operating a part of the program corresponding to the change in the state transition information based on a correspondence relationship with the part; a step of analyzing where and how the program has been changed; and a state transition of each part of the program Operating a part of the state transition information corresponding to the change in the program based on a correspondence relationship with each part of the information.
【請求項5】 プログラム中で使われる互いに重複しな
い識別子を生成するステップを含み、 状態遷移情報中で使われるどの名前とプログラムで使わ
れるどの識別子とが対応するかを表わす名前対応表と、 状態遷移情報中のどのような構造とプログラム中のどの
ような構造とがどのように対応するかを表すプログラム
生成情報と、 を使うことを特徴とする請求項4記載のプログラム開発
支援方法。
5. A name correspondence table including a step of generating a unique identifier used in the program, which name corresponds to which name used in the state transition information and which identifier used in the program, 5. The program development support method according to claim 4, wherein program generation information indicating how a structure in the transition information corresponds to a structure in the program is used.
【請求項6】 コンピュータによって、状態遷移情報を
使ってプログラムの開発を支援するプログラム開発支援
用ソフトウェアを記録した記録媒体において、 そのソフトウェアは前記コンピュータに、 状態遷移情報のどこがどのように変更されたかを解析さ
せ、 状態遷移情報の各部分とプログラムの各部分との対応関
係に基づいて、状態遷移情報での前記変更に対応するプ
ログラムの部分を操作させ、 プログラムのどこがどのように変更されたかを解析さ
せ、 プログラムの各部分と状態遷移情報の各部分との対応関
係に基づいて、プログラムでの前記変更に対応する状態
遷移情報の部分を操作させることを特徴とするプログラ
ム開発支援用ソフトウェアを記録した記録媒体。
6. A recording medium on which a program development supporting software for supporting a program development using state transition information by a computer is recorded on the recording medium, wherein the software determines where and how the state transition information has been changed. And, based on the correspondence between each part of the state transition information and each part of the program, operate the part of the program corresponding to the change in the state transition information, and determine where and how the program has been changed. Recording program development support software characterized by analyzing and operating a part of the state transition information corresponding to the change in the program based on a correspondence relationship between each part of the program and each part of the state transition information. Recording medium.
JP13496898A 1998-05-18 1998-05-18 Program development supporting device and its method and recording medium recording program development supporting software Pending JPH11327889A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13496898A JPH11327889A (en) 1998-05-18 1998-05-18 Program development supporting device and its method and recording medium recording program development supporting software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13496898A JPH11327889A (en) 1998-05-18 1998-05-18 Program development supporting device and its method and recording medium recording program development supporting software

Publications (1)

Publication Number Publication Date
JPH11327889A true JPH11327889A (en) 1999-11-30

Family

ID=15140815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13496898A Pending JPH11327889A (en) 1998-05-18 1998-05-18 Program development supporting device and its method and recording medium recording program development supporting software

Country Status (1)

Country Link
JP (1) JPH11327889A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518151A (en) * 2003-10-24 2007-07-05 マイクロソフト コーポレーション Preference application installation and execution system and method
JP2009175781A (en) * 2008-01-21 2009-08-06 Mitsubishi Denki Micom Kiki Software Kk Program development support device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007518151A (en) * 2003-10-24 2007-07-05 マイクロソフト コーポレーション Preference application installation and execution system and method
JP4896726B2 (en) * 2003-10-24 2012-03-14 マイクロソフト コーポレーション System, method and storage device for performing actions based on evaluation of conditions of preference
JP2009175781A (en) * 2008-01-21 2009-08-06 Mitsubishi Denki Micom Kiki Software Kk Program development support device

Similar Documents

Publication Publication Date Title
JP4058118B2 (en) Program generation system and method
US6102967A (en) Testing a help system of a computer software application without executing the computer software application
US8418132B2 (en) Application description language
US8386919B2 (en) System for displaying an annotated programming file
US20070168984A1 (en) Compiling system, debugging system and program development system
US8458648B2 (en) Graphical modelization of user interfaces for data intensive applications
JP2004030582A (en) Structured document compiling apparatus, structured document compiling method and program
JP2004005568A (en) Updating of high-speed gui style of legacy application
JPH10307716A (en) Visual programming device by screen flow
JP5147240B2 (en) Method and system for reversible design tree transformation
JPH07302281A (en) Logic simulation system and logic changing method
CN116627418B (en) Multi-level form interface visual generation method and device based on recursion algorithm
JP6370503B1 (en) Program creation device
US20020147963A1 (en) Method and apparatus for generating machine control instructions
JPH11327889A (en) Program development supporting device and its method and recording medium recording program development supporting software
JP4686117B2 (en) Source code conversion apparatus, source code conversion method, and program
US20050122336A1 (en) Information processing system, information processor for information registration, information processor for information retrieval, information processing method for information registration, and information processing method for information retrieval, program, and recording medium
US20170109140A1 (en) Method and System for Editing and Generating Syntax
JP3887550B2 (en) Cross-reference construction device, cross-reference construction method, and cross-reference construction program
Bandelloni et al. Reverse engineering cross-modal user interfaces for ubiquitous environments
JPH1055339A (en) On-line business processing system
KR20070094334A (en) System and method for providing a intergrated development environment
JP4601144B2 (en) Program development system, recording medium and method
JP2001075792A (en) Method for preparing program by automatic preparation of makefile
JP2000322295A (en) Method and device for programming support for data base stored sub-program