JP2000347840A - Automatic source program generation device, automatic source program generation method, and recording medium recording the method - Google Patents
Automatic source program generation device, automatic source program generation method, and recording medium recording the methodInfo
- Publication number
- JP2000347840A JP2000347840A JP11157195A JP15719599A JP2000347840A JP 2000347840 A JP2000347840 A JP 2000347840A JP 11157195 A JP11157195 A JP 11157195A JP 15719599 A JP15719599 A JP 15719599A JP 2000347840 A JP2000347840 A JP 2000347840A
- Authority
- JP
- Japan
- Prior art keywords
- event
- scene
- source program
- application
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 アプリケーションの外部仕様を簡便に設計
し、プログラマが、その設計情報からアプリケーション
の動作を視覚的に確認でき、かつソースコードを自動生
成して、ソフトウェアの開発時間と欠陥を削減する。
【解決手段】 本発明のソースプログラム自動生成装置
100は、グラフィカル・ユーザ・インターフェイスを
有するアプリケーションにおけるイベントと前記イベン
トへの対応を入力としてイベントドリブン型のプログラ
ムを作成する。ソースプログラム自動生成装置100
は、シーン毎に前記イベントと前記イベントに対する応
答を定義する定義手段と、シーン毎のイベントとそのイ
ベントに対する応答を定義したデータからアプリケーシ
ョンのソースプログラムを生成する生成手段とを備えて
いる。
(57) [Summary] [Problem] To easily design external specifications of an application, a programmer can visually confirm the operation of the application from the design information, and automatically generate source code to reduce the software development time. Reduce defects. SOLUTION: The source program automatic generation device 100 of the present invention creates an event driven type program by using an event in an application having a graphical user interface and a correspondence to the event as an input. Source program automatic generation device 100
Includes a definition unit that defines the event and a response to the event for each scene, and a generation unit that generates an application source program from data defining the event for each scene and the response to the event.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、グラフィカル・ユ
ーザ・インターフェイス(GUI)を有するアプリケー
ションの外部仕様の設計と、その設計情報に基づきアプ
リケーションの動作を確認するためのプロトタイプと、
設計情報からのアプリケーションのソースプログラムと
を自動生成する方法に関する。The present invention relates to a design of an external specification of an application having a graphical user interface (GUI), a prototype for confirming the operation of the application based on the design information, and
The present invention relates to a method for automatically generating an application source program from design information.
【0002】[0002]
【従来の技術】ソフトウェアを開発するにあたり、開発
システムの外部仕様を明確にする必要がある。開発シス
テムの外部仕様の明確化とは、プログラマが、開発すべ
きシステムを把握しやすいように、開発すべきシステム
が備えるアプリケーションに要求される動作を視覚的に
表現することである。しかしながら、これを表現する手
法は確立されていない。2. Description of the Related Art When developing software, it is necessary to clarify external specifications of a development system. To clarify the external specifications of the development system is to visually represent the operation required for the application provided in the system to be developed so that the programmer can easily grasp the system to be developed. However, a method for expressing this has not been established.
【0003】特に、液晶およびタッチペンを備えた装置
は、GUIを用いてユーザにアプリケーションの実行状
況に応じた操作環境を提供する方式をとるので、設計者
がアプリケーションの仕様をドキュメントとして表すこ
とは容易でない。In particular, a device equipped with a liquid crystal and a touch pen employs a method of providing a user with an operating environment according to the execution status of an application using a GUI, so that it is easy for a designer to express application specifications as a document. Not.
【0004】一般的には、アプリケーションの画面レイ
アウト図をドキュメントに並べて、GUI部品の振る舞
いおよびシーンの遷移を自然言語または記号によって補
足説明し、アプリケーションの動作をドキュメントとし
て表現する。GUI部品の振る舞いとは、シーンの遷移
を意味する。たとえば、ボタンが押されると、液晶およ
びタッチペンを備えた装置が備えている画面が変わるこ
とを、ある画面レイアウト図の中のボタンから、別の画
面レイアウトへ矢印が引かれることにより表現するよう
な方法である。In general, a screen layout diagram of an application is arranged in a document, and the behavior of a GUI component and the transition of a scene are supplementarily described by a natural language or a symbol, and the operation of the application is expressed as a document. The behavior of the GUI component means a scene transition. For example, when a button is pressed, a screen provided on a device equipped with a liquid crystal and a touch pen is changed by expressing an arrow from a button in one screen layout diagram to another screen layout. Is the way.
【0005】また、特開平8−286899号公報は、
画面レイアウトと、画面レイアウトとは別にGUI構成
データとを記述することを開示している。言い換える
と、画面の遷移関係と、GUIに割り付けられた機能の
情報とが別々に管理されている。[0005] Also, Japanese Patent Application Laid-Open No. 8-286899 discloses that
It discloses that a screen layout and GUI configuration data are described separately from the screen layout. In other words, the transition relation of the screen and the information of the function assigned to the GUI are separately managed.
【0006】また、新しい設計方法としてはプロトタイ
プ設計法がある。これは、予め用意された画面構成部
品、或いは作成しておいた画面構成部品を、パソコンま
たはEWS(Engineering Work St
ation)上で、対話的に配置し組み合わせて操作部
を設計する手法である。たとえば、Visual Ba
sicおよびVisual C++で使われている。画
面構成部品には、画面上の外観だけではなく、基本的な
動作も割り当てられているので、設計された操作部が有
する画面をマウスなどで操作すれば、開発しようとする
アプリケーションの操作部と同等の振る舞いを確認でき
る。As a new design method, there is a prototype design method. This means that a screen component prepared in advance or a screen component created previously can be transferred to a personal computer or an EWS (Engineering Work St).
This is a method of designing an operation unit by interactively arranging and combining the operation units. For example, Visual Ba
Used in sic and Visual C ++. The screen components are assigned not only the appearance on the screen but also basic operations, so if you operate the screen of the designed operation unit with a mouse etc., it will be the same as the operation unit of the application you are developing. You can see the equivalent behavior.
【0007】また、画面の移り変わりなどの画面を制御
するための基本的な部分は、ソースプログラム自動生成
装置が画面構成部品に基づいて自動生成する機能を備え
ており、プログラマは、ソースプログラム自動生成装置
が有する画面構成部品にない機能の部分のみ開発すれば
よい。A basic part for controlling a screen such as a transition of a screen has a function of automatically generating a source program based on a screen component by a source program automatic generation device. It is only necessary to develop a part of the function which is not included in the screen component of the device.
【0008】[0008]
【発明が解決しようとする課題】画面レイアウト図と文
章を組み合わせて外部仕様を設計する従来技術によれ
ば、概要は分かりやすいが、アプリケーションを設計す
るにあたり生じるエラーおよび例外処理などの細部まで
を画面レイアウト図で記述し尽くすのは難しい。このた
め、文章による記述が多くなり、アプリケーションの設
計に時間を要する割に、アプリケーションの仕様書の可
読性が低く効率的でない。According to the prior art of designing an external specification by combining a screen layout diagram and a sentence, the outline is easy to understand, but it is possible to display details such as errors and exception processing that occur in designing an application. It's hard to write it all out in a layout diagram. For this reason, the description in sentences increases, and although it takes time to design the application, the readability of the application specification is low and it is not efficient.
【0009】たとえば、特開平8−286899号公報
では、画面レイアウトと、画面レイアウトとは別途GU
I構成データとを必要とするので、画面の遷移関係と、
イベントに応じた機能の記述とを別々に入力/編集する
必要があり、整合性に問題が生じる恐れがある。For example, in Japanese Patent Application Laid-Open No. 8-286899, a screen layout and a screen layout
Since it requires the I configuration data, the screen transition relationship and
It is necessary to separately input / edit the description of the function corresponding to the event, which may cause a problem in consistency.
【0010】また、同一機能を表現する図であっても、
プログラムによって表現が異なる場合があり、プログラ
マは2つの図の同一性および差分を図から判定しにく
い。また、図の作成および図の変更に時間がかかり、図
からプログラムコードを自動生成することが容易ではな
いという課題があった。[0010] Further, even if the figures represent the same function,
Expressions may differ depending on the program, and it is difficult for a programmer to determine the identity and difference between two figures from the figures. Further, there is a problem that it takes time to create and change a diagram, and it is not easy to automatically generate a program code from the diagram.
【0011】また、Visual BasicおよびV
isual C++などで用いられるプロトタイプ設計
法によれば、CRT(Cathode Ray Tub
e)のような表示装置上にGUIで使用する画面構成部
品をレイアウトし、画面レイアウトに基づいてアプリケ
ーションの動作を視覚的に確認でき、かつ、アプリケー
ションプログラムを自動生成することができるが、GU
Iを用いない操作や割込みによる外部仕様は表現しにく
い。たとえば、ダイヤルを回したり、ボタンを押したり
という、ハード的な入力装置の操作などを画面レイアウ
トには表現しにくい。さらに、Visual Basi
cおよびVisual C++などで用いられるプロト
タイプ設計法によって、ユーザ操作以外の条件を設計す
ることが難しい。これは、画面レイアウトとシステム要
件とに何ら関係がないからで、たとえば、タイマーが起
動した、あるいは、通信回線から接続の要求がされたな
ど、画面に現れず、ユーザの操作によらないイベントが
発生したときの仕様は、別の仕様書に記述せざるを得な
いからである。また、Visual Basicおよび
Visual C++で自動生成されるソフトウェア
は、パソコン、EWSまたは汎用計算機などの一般的な
OS上で動くことを前提としており、組込みソフトウェ
アなど独自のプラットフォーム上では自動生成されたソ
ースプログラムは動作しない。Also, Visual Basic and V
According to the prototype design method used in the actual C ++, CRT (Cathode Ray Tub) is used.
The screen components used in the GUI are laid out on a display device as shown in e), the operation of the application can be visually confirmed based on the screen layout, and the application program can be automatically generated.
It is difficult to express an external specification by an operation without I or an interrupt. For example, it is difficult to express a hard input device operation such as turning a dial or pressing a button on a screen layout. In addition, Visual Basi
It is difficult to design conditions other than user operation by a prototype design method used in c and Visual C ++. This is because there is no relationship between the screen layout and the system requirements. For example, an event that does not appear on the screen and is not dependent on the user's operation, such as when a timer is started or a connection request is made from a communication line. This is because the specification at the time of occurrence has to be described in another specification. In addition, software automatically generated by Visual Basic and Visual C ++ is assumed to run on a general OS such as a personal computer, EWS, or general-purpose computer. Does not work.
【0012】本発明は、アプリケーションの外部仕様を
簡便に設計し、プログラマが、その設計情報からアプリ
ケーションの動作を視覚的に確認でき、かつソースコー
ドを自動生成して、ソフトウェアの開発時間と欠陥を削
減することを目的とする。According to the present invention, an external specification of an application can be easily designed, a programmer can visually confirm the operation of the application from the design information, and automatically generate a source code to reduce software development time and defects. The purpose is to reduce.
【0013】[0013]
【課題を解決するための手段】本発明のソースプログラ
ム自動生成装置は、グラフィカル・ユーザ・インターフ
ェイスを有するアプリケーションにおけるイベントと前
記イベントへの対応を入力としてイベントドリブン型の
プログラムを作成するソースプログラム自動生成装置で
あって、シーン毎に前記イベントと前記イベントに対す
る応答を定義する定義手段と、シーン毎のイベントとそ
のイベントに対する応答を定義したデータからアプリケ
ーションのソースプログラムを生成する生成手段とを備
え、そのことにより上記目的が達成される。A source program automatic generation apparatus according to the present invention automatically generates a source program for generating an event-driven program by using an event in an application having a graphical user interface and a correspondence to the event as an input. An apparatus, comprising: a definition unit that defines the event and a response to the event for each scene; and a generation unit that generates a source program of an application from data defining an event for each scene and a response to the event. Thereby, the above object is achieved.
【0014】本発明のソースプログラム自動生成装置
は、シーン毎のイベントと前記イベントに対する応答を
定義したデータを、対話的に操作し、開発するアプリケ
ーションの操作と同等の応答をCRTなどの表示装置に
返し、アプリケーションのプロトタイプする手段をさら
に備えていてもよい。プロトタイプするとは、アプリケ
ーションの動作をシミュレーションすることを意味す
る。The source program automatic generation apparatus of the present invention interactively operates an event for each scene and data defining a response to the event, and outputs a response equivalent to an operation of an application to be developed to a display device such as a CRT. And may further comprise means for prototyping the application. Prototyping means simulating the operation of an application.
【0015】本発明のソースプログラム自動生成方法
は、グラフィカル・ユーザ・インターフェイスを有する
アプリケーションにおけるイベントとそのイベントへの
対応を入力としてイベントドリブン型のプログラムを作
成する方法であって、シーン毎にイベントと前記イベン
トに対する応答を定義する工程と、シーン毎のイベント
と前記イベントに対する応答を定義したデータからアプ
リケーションのソースプログラムを自動生成する工程と
を包含し、そのことにより上記目的が達成される。The method for automatically generating a source program according to the present invention is a method for creating an event-driven program by inputting an event in an application having a graphical user interface and the correspondence to the event, wherein an event is generated for each scene. The method includes a step of defining a response to the event, and a step of automatically generating an application source program from an event for each scene and data defining the response to the event, thereby achieving the above object.
【0016】本発明のソースプログラム自動生成方法
は、各シーン毎のイベントとそのイベントに対する応答
を定義したデータを、対話的に操作し、開発するアプリ
ケーションの操作と同等の応答を返し、アプリケーショ
ンのプロトタイプする工程をさらに包含し、そのことに
より上記目的が達成される。According to the automatic source program generation method of the present invention, an event for each scene and data defining a response to the event are interactively operated, and a response equivalent to the operation of the application to be developed is returned. And the above object is achieved.
【0017】本発明の記憶媒体は、グラフィカル・ユー
ザ・インターフェイスを有するアプリケーションにおけ
るイベントとそのイベントへの対応を入力としてイベン
トドリブン型のプログラムを作成する方法であって、シ
ーン毎にイベントと前記イベントに対する応答を定義す
る工程と、シーン毎のイベントと前記イベントに対する
応答を定義したデータからアプリケーションのソースプ
ログラムを自動生成する工程とを包含するソースプログ
ラム自動生成方法を記録してもよい。A storage medium according to the present invention is a method for creating an event-driven program by inputting an event in an application having a graphical user interface and a correspondence to the event, wherein an event and an event corresponding to the event are provided for each scene. A method for automatically generating a source program, which includes a step of defining a response and a step of automatically generating a source program of an application from an event for each scene and data defining a response to the event, may be recorded.
【0018】本発明の記憶媒体は、グラフィカル・ユー
ザ・インターフェイスを有するアプリケーションにおけ
るイベントとそのイベントへの対応を入力としてイベン
トドリブン型のプログラムを作成する方法であって、シ
ーン毎にイベントと前記イベントに対する応答を定義す
る工程と、シーン毎のイベントと前記イベントに対する
応答を定義したデータからアプリケーションのソースプ
ログラムを自動生成する工程と、各シーン毎のイベント
とそのイベントに対する応答を定義したデータを、対話
的に操作し、開発するアプリケーションの操作と同等の
応答を返し、アプリケーションのプロトタイプする工程
とを包含するソースプログラム自動生成方法を記録して
もよい。A storage medium according to the present invention is a method for creating an event-driven program by inputting an event in an application having a graphical user interface and the correspondence to the event, wherein an event and an event corresponding to the event are provided for each scene. A step of defining a response, a step of automatically generating a source program of an application from an event for each scene and data defining the response to the event, and interactively defining an event for each scene and data defining the response to the event. And returning a response equivalent to the operation of the application to be developed, and prototyping the application.
【0019】以下、作用を説明する。Hereinafter, the operation will be described.
【0020】本発明のソースプログラム自動生成装置
は、入力装置と表示装置を用いて、シーン毎のイベント
と、イベント発生時の状態を判定する処理と、イベント
に対応する処理と、処理実行後の次のシーン等を定義し
たシーン定義データを作成編集し、このシーン定義デー
タから、イベントを待ちうけ、イベント発生時の状態を
判定して、適切な処理プログラムを呼び出し、処理プロ
グラムを実行後にシーンを切り替えるという手順を有し
たソースプログラムを生成する。また、作成されたシー
ン定義データをCRTなどの表示装置に表示し、シーン
のイベントを入力装置で指示すれば、それに該当する次
のシーンの定義表を探し、表示装置へ出力することで、
シーンを対話的に操作しアプリケーションの動作の視覚
的な確認を可能にする。An automatic source program generation device according to the present invention uses an input device and a display device to perform an event for each scene, a process of determining a state at the time of occurrence of the event, a process corresponding to the event, and Create and edit scene definition data that defines the next scene, etc., wait for an event from this scene definition data, determine the state at the time of the event occurrence, call an appropriate processing program, execute the processing program, A source program having a procedure of switching is generated. Also, the created scene definition data is displayed on a display device such as a CRT, and when an event of a scene is indicated by an input device, a corresponding table of the next scene definition is searched for and output to the display device.
Operate scenes interactively to enable visual confirmation of application behavior.
【0021】[0021]
【発明の実施の形態】以下、本発明の実施形態を図面を
用いて説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0022】図1は、実施形態におけるソースプログラ
ム自動生成装置100の概略構成を示す図である。FIG. 1 is a diagram showing a schematic configuration of an automatic source program generation apparatus 100 according to the embodiment.
【0023】図1に示すソースプログラム自動生成装置
100は、シーン定義データ記憶部11、処理部12、
入力装置13、表示装置14、および記憶装置15を有
している。The source program automatic generation apparatus 100 shown in FIG. 1 includes a scene definition data storage section 11, a processing section 12,
It has an input device 13, a display device 14, and a storage device 15.
【0024】シーン定義データ記憶部11は、開発すべ
きアプリケーションの各シーンにおけるイベントとその
イベントへの対応を表現するためのデータであるシーン
定義データを記憶する。たとえば、シーン定義データ
は、シーン名、シーンのイメージ、イベントの種類、状
態判定関数名、イベントとそのイベント発生時の状態に
対応する処理関数名、およびイベントと状態に対応した
処理を実行した後に遷移する先のシーン名のうちの少な
くとも1つであってもよい。また、シーン定義データ
は、開発すべきアプリケーションの各シーンにおけるイ
ベントを表現するためのデータおよび/またはプログラ
ム、イベントが発生したイベント発生時における、その
シーンにおける状態を判定するために必要な判定値、イ
ベントとそのイベント発生時の状態に対応する処理を行
うためのプログラム、およびその処理が実行された後に
表示される次のシーンを生成するために必要なデータの
うちの少なくとも1つであってもよい。以後、シーン定
義データ記憶部11に記憶されているものの少なくとも
1つを、シーン定義データと呼ぶ。たとえば、開発すべ
きアプリケーションの各シーンにおけるイベントを表現
するためのデータをシーン定義データと呼ぶ場合もあ
る。The scene definition data storage section 11 stores scene definition data which is data for expressing an event in each scene of an application to be developed and a correspondence to the event. For example, the scene definition data includes the scene name, the scene image, the event type, the state determination function name, the processing function name corresponding to the event and the state at the time of the event occurrence, and the processing corresponding to the event and the state after execution. It may be at least one of the scene names of the transition destination. The scene definition data includes data and / or a program for expressing an event in each scene of the application to be developed, a determination value necessary for determining a state in the scene when the event occurs, At least one of an event and a program for performing a process corresponding to a state at the time of occurrence of the event, and at least one of data necessary for generating a next scene displayed after the process is executed Good. Hereinafter, at least one of the data stored in the scene definition data storage unit 11 is referred to as scene definition data. For example, data for expressing an event in each scene of an application to be developed may be referred to as scene definition data.
【0025】また、アプリケーションは、複数のシーン
を有しており、複数のシーンのそれぞれには対応する少
なくとも1つのイベントが割り付けられているものとす
る。また、シーンとは、表示装置14に表示される、文
字、図形、記号もしくはこれらが結合したものを意味す
る。イベントとは、ユーザによるGUI操作やGUIに
よらないハード的な割り込み信号や、ソフト的な割り込
みメッセージなどアプリケーション動作を制御する要因
を意味する。It is also assumed that the application has a plurality of scenes, and at least one corresponding event is assigned to each of the plurality of scenes. The term “scene” means a character, a graphic, a symbol, or a combination thereof, displayed on the display device 14. The event means a factor that controls an application operation, such as a GUI operation by a user, a hardware interrupt signal not depending on the GUI, and a software interrupt message.
【0026】処理部12は、シーン定義データ記憶部1
1に記憶されているデータを編集する、あるいはソース
プログラムを生成する。処理部12は、CPU(Cen
tral Processing Unit)であって
もよい。The processing section 12 stores the scene definition data storage section 1
Edit the data stored in 1 or generate a source program. The processing unit 12 includes a CPU (Cen
(Tral Processing Unit).
【0027】入力装置13は、シーン定義データおよび
ソースプログラム自動生成装置100を制御するコマン
ドなどを受け取る。入力装置13は、キーボードおよび
/またはマウスであってもよい。The input device 13 receives scene definition data, commands for controlling the source program automatic generation device 100, and the like. Input device 13 may be a keyboard and / or a mouse.
【0028】表示装置14は、処理部12が管理する情
報(シーン定義データ、ソースプログラムなど)および
処理部12の実行結果を表示する。表示装置14は、C
RTまたは液晶モニタであってもよい。The display device 14 displays information (scene definition data, a source program, etc.) managed by the processing unit 12 and an execution result of the processing unit 12. The display device 14 is C
It may be an RT or a liquid crystal monitor.
【0029】記憶装置15は、処理部12が生成するソ
ースプログラムなどを蓄積する。記憶装置15は、ハー
ドディスクであってもよい。The storage device 15 stores a source program generated by the processing unit 12 and the like. The storage device 15 may be a hard disk.
【0030】以下に、ソースプログラム自動生成装置1
00の動作の一例を図2を用いて説明する。Hereinafter, the source program automatic generation device 1
An example of the operation of 00 will be described with reference to FIG.
【0031】図2は、ソースプログラム自動生成装置1
00の、ある動作のフローチャートを示す図である。FIG. 2 shows a source program automatic generation device 1.
FIG. 13 is a diagram showing a flowchart of a certain operation of the operation of the second embodiment.
【0032】ステップS21では、ユーザが、入力装置
13および表示装置14を用いてシーン定義データを入
力する。In step S21, the user uses the input device 13 and the display device 14 to input scene definition data.
【0033】ステップS22では、開発すべきアプリケ
ーションが有する全シーンの振る舞いをユーザが視覚的
に確認するために、ソースプログラム自動生成装置10
0は、ソースプログラム自動生成装置100のプロトタ
イプ機能により、開発すべきアプリケーションが有する
全シーンの振る舞いを表示装置14に表示する。ここ
で、プロトタイプ機能とは、シーン定義データによって
構成されるシーンにおけるイベントを入力装置13を用
いて対話的に指示して、そのイベントが実行されること
により生じるシーンに関するシーン定義データを表示装
置14に表示することを意味する。また、対話的とは、
画面とのシーン定義データを見て任意のデータを指示
し、それに対して画面に応答を返すことを意味する。In step S22, in order for the user to visually confirm the behavior of all scenes of the application to be developed, the source program automatic generation device 10
0 displays the behavior of all scenes of the application to be developed on the display device 14 by the prototype function of the source program automatic generation device 100. Here, the prototype function means that an event in a scene constituted by scene definition data is interactively designated using the input device 13 and scene definition data relating to the scene generated by execution of the event is displayed on the display device 14. Means to display. Also, interactive is
Refers to the scene definition data with the screen, indicates any data, and returns a response to the screen.
【0034】ステップS23では、処理部12は、その
プロトタイプ機能により、シーンの定義に問題があるか
否かを判定する。シーンの定義に問題がある場合、処理
はステップ21に進み、ユーザは適切なシーン定義デー
タを入力する。シーンの定義に問題がない場合、処理は
ステップS24に進む。なお、シーンの定義に問題があ
る場合とは、たとえば、記入漏れや綴りの間違いなどの
場合を意味する。In step S23, the processing unit 12 determines whether or not there is a problem with the definition of the scene by using the prototype function. If there is a problem with the scene definition, the process proceeds to step 21, where the user inputs appropriate scene definition data. If there is no problem with the definition of the scene, the process proceeds to step S24. The case where there is a problem in the definition of a scene means, for example, a case where entry is omitted or spelling is incorrect.
【0035】ステップS24では、処理部12は、問題
がないと判定されたシーン定義データからシーン連結テ
ーブルを作成する。シーン連結テーブルについては、後
述する。In step S24, the processing unit 12 creates a scene connection table from the scene definition data determined to have no problem. The scene connection table will be described later.
【0036】ステップS25では、処理部12は、ステ
ップS24で生成されたシーン連結テーブルからソース
プログラムを生成し、記憶装置15に格納する。In step S25, the processing unit 12 generates a source program from the scene connection table generated in step S24, and stores the source program in the storage device 15.
【0037】なお、本実施形態におけるソースプログラ
ム自動生成装置100がプロトタイプ機能を有さない場
合、ソースプログラム自動生成装置100は、プロトタ
イプ機能によるシーン定義データの確認を行わなくても
よい。この場合、図2に示すステップS22およびステ
ップS23は、実行されない。If the automatic source program generation device 100 in the present embodiment does not have a prototype function, the automatic source program generation device 100 does not need to confirm scene definition data using the prototype function. In this case, steps S22 and S23 shown in FIG. 2 are not executed.
【0038】以下に、あるシーンにおけるイベントによ
って生じるシーンの遷移の一例を図3および図4を用い
て説明する。An example of a scene transition caused by an event in a certain scene will be described below with reference to FIGS.
【0039】図3の(a)は、あるシーンが装置31の
液晶パネル32に表示されているところを示す図であ
り、図3の(b)は、あるシーンにおけるイベントによ
って生じたシーンが装置31の液晶パネル32に表示さ
れているところを示す図である。FIG. 3A is a diagram showing that a certain scene is displayed on the liquid crystal panel 32 of the device 31, and FIG. 3B is a diagram showing a scene generated by an event in a certain scene. FIG. 3 is a view showing a portion displayed on a liquid crystal panel 32 of FIG.
【0040】装置31は、液晶パネル32、液晶パネル
32と重なって配置されたタブレット33、およびハー
ドボタン34を備えている。The device 31 includes a liquid crystal panel 32, a tablet 33 arranged so as to overlap the liquid crystal panel 32, and hard buttons 34.
【0041】装置31が備えているアプリケーション
は、液晶パネル32に、ボタンM1、M2、およびM3
と、リストITEM1、ITEM2、ITEM3、IT
EM4、およびITEM5などのGUI部品を表示し、
ユーザはGUI部品が表示された液晶パネル32の上に
位置するタブレット33をペンなどでタッチし、装置3
1を操作することができる。同様に、ユーザはハードデ
バイスであるボタン34を押して操作をすることができ
る。また、アプリケーションは複数のシーンを有し、か
つ複数のシーンのそれぞれは1つ以上のGUI部品を持
っている。The application provided in the device 31 includes buttons M1, M2 and M3 on the liquid crystal panel 32.
And the list ITEM1, ITEM2, ITEM3, IT
Display GUI parts such as EM4 and ITEM5,
The user touches the tablet 33 located on the liquid crystal panel 32 on which the GUI components are displayed with a pen or the like, and the device 3
1 can be operated. Similarly, the user can operate by pressing the button 34 which is a hard device. Also, the application has a plurality of scenes, and each of the plurality of scenes has one or more GUI components.
【0042】図3に示す装置31は、シーンMENUお
よびシーンLISTを有し、シーンMENUは、GUI
部品としてのボタンM1、M2、およびM3を持ち、シ
ーンLISTは、GUI部品としてのリストITEM
1、ITEM2、ITEM3、ITEM4、およびIT
EM5を持っている。The apparatus 31 shown in FIG. 3 has a scene MENU and a scene LIST.
The scene LIST has buttons M1, M2, and M3 as parts, and a list ITEM as a GUI part
1, ITEM2, ITEM3, ITEM4, and IT
I have EM5.
【0043】以下に、装置31におけるイベントと装置
31の振る舞いを説明する。Hereinafter, events in the device 31 and behavior of the device 31 will be described.
【0044】シーンMENUで、ユーザがハードボタン
EXITを押すと、装置31の状態は、液晶パネル32
に表示される画面が消えた休止状態に移行する。シーン
LISTでユーザがハードボタンEXITを押すと、装
置31が、液晶パネル32に表示されているデータリス
トの最新状況をメモリ(図示せず)に保存し、シーンM
ENUが液晶パネル32に表示される。つまり、シーン
LISTにおける、あるイベントが実行されたことによ
り、シーンが、シーンLISTからシーンMENUに遷
移する。When the user presses the hard button EXIT in the scene menu, the state of the device 31 is changed to the liquid crystal panel 32.
The screen changes to the hibernate state where the screen displayed in disappears. When the user presses the hard button EXIT in the scene LIST, the device 31 stores the latest status of the data list displayed on the liquid crystal panel 32 in a memory (not shown),
ENU is displayed on the liquid crystal panel 32. That is, when a certain event in the scene LIST is executed, the scene changes from the scene LIST to the scene MENU.
【0045】シーンMENUで、ユーザがタッチペン
(図示せず)でGUI部品M1を押したとき、もし、個
人情報保護モードが設定されていると、シーンが、シー
ンMENUからパスワードを入力するためのシーン(図
示せず)に遷移する。シーンMENUで、ユーザがタッ
チペン(図示せず)でGUI部品M1を押したとき、も
し、個人情報保護モードが解除されていると、シーン
が、シーンMENUからシーンLISTに遷移する。When the user presses the GUI component M1 with the touch pen (not shown) in the scene MENU, if the personal information protection mode is set, the scene is changed to a scene for inputting a password from the scene MENU. (Not shown). When the user presses the GUI component M1 with the touch pen (not shown) in the scene MENU, if the personal information protection mode is released, the scene transits from the scene MENU to the scene LIST.
【0046】装置31では、同じシーンで、同じ操作が
行われても、システムの状態に応じて、装置31の振る
舞いおよびシーンが遷移する先を変えることができる。In the device 31, even if the same operation is performed in the same scene, the behavior of the device 31 and the transition destination of the scene can be changed according to the state of the system.
【0047】ソースプログラム自動生成装置100が対
象とするアプリケーションはシーンの集合体であり、個
々のシーンの外部仕様を定義することにより、アプリケ
ーションの外部仕様を表現することができる。The application targeted by the source program automatic generation apparatus 100 is a set of scenes. By defining the external specification of each scene, the external specification of the application can be expressed.
【0048】図4の(a)および図4の(b)は、図3
に示す装置31の振る舞いを定義するシーン定義データ
の一例を示す図である。図3に示す装置31の振る舞い
は、シーンごとにシーン定義データで定義されるものと
する。FIG. 4A and FIG. 4B show FIG.
FIG. 7 is a diagram showing an example of scene definition data that defines the behavior of the device 31 shown in FIG. The behavior of the device 31 shown in FIG. 3 is defined by scene definition data for each scene.
【0049】シーン定義データは、シーン単位で1つの
記憶単位となっており、本実施形態では、1つのシーン
に対して1つのファイルが割り当てられている。シーン
定義データは、シーン名41と、シーンのイメージ4
2、イベントの種類43、状態判定関数名44、イベン
トと状態に対応した処理を行なう処理関数名45、イベ
ントと状態に対応した処理を実行した後に遷移する先の
シーン名46を表形式にして有している。シーンのイメ
ージとは、画面レイアウト図を意味する。The scene definition data is one storage unit for each scene, and in this embodiment, one file is assigned to one scene. The scene definition data includes a scene name 41 and a scene image 4
2. A table format is used to list the event type 43, the state determination function name 44, the processing function name 45 for performing the process corresponding to the event and the state, and the transition destination scene name 46 after executing the process corresponding to the event and the state. Have. The scene image means a screen layout diagram.
【0050】ここでのイベントとは、ユーザによるGU
I操作と、ユーザによる入力デバイス操作と、GUIの
操作によらないハード的な割込み信号およびソフト的な
割込みメッセージとのアプリケーション動作を制御する
要因を意味する。たとえば、ここでのイベントとは、表
示デバイス上に表示されているGUIのアイコンをマウ
スなどによってクリックすること、機器に備え付けられ
ているハードボタンを押すこと、電池残量センサーから
減電の割込み信号の発生、現在のシーンを実行している
アプリケーションとは別のスケジュール管理アプリケー
ションからの予定時刻到達の通知などである。図4にお
いて、aは本例のGUI部品の操作によるイベントを指
し、bはハードデバイスを操作した時のイベントを指
し、cはハードからの割込みを指し、dはソフト的な割
込みメッセージを指している。The event here is a GU by the user.
I operation, an input device operation by a user, and a factor that controls an application operation of a hardware interrupt signal and a software interrupt message not depending on a GUI operation. For example, the event here means that a GUI icon displayed on the display device is clicked with a mouse or the like, a hard button provided on the device is pressed, a power reduction interrupt signal is output from the battery level sensor. And notification of the arrival of the scheduled time from a schedule management application different from the application executing the current scene. In FIG. 4, a indicates an event caused by the operation of the GUI component of this example, b indicates an event when a hardware device is operated, c indicates an interrupt from hardware, and d indicates a software interrupt message. I have.
【0051】また、ここで、状態判定関数とは、装置3
1が、同一シーンでの同一イベントに対して、複数の動
作および遷移が割り付けられている場合に、装置31が
どのような処理を行ない、どのシーンに移るかを判定す
るための関数である。たとえば、状態判定関数とは、ユ
ーザが、メニューから個人情報閲覧の機能を選択した
時、個人情報保護モードが解除されていなければ、装置
31は個人情報をメモリから読み込み、シーンは、個人
情報を閲覧するためのシーンに移行するが、個人情報保
護モードが設定されている場合、装置31は個人情報を
メモリから読み込まずに、シーンは、パスワードを入力
するためのシーンに移行するなど、実行する処理および
移行するシーンが異なる場合があり、同一シーンの同一
イベントに対して複数の処理や遷移先が有り得るときの
判定をするための関数である。本実施形態における状態
判定関数は、「条件数−1」の数を取りうる。条件数
は、1以上の整数である。Here, the state determination function is defined as
Reference numeral 1 denotes a function for determining what kind of processing the apparatus 31 performs and to which scene to go when a plurality of actions and transitions are assigned to the same event in the same scene. For example, when the user selects the function of browsing personal information from the menu and the personal information protection mode is not released, the device 31 reads the personal information from the memory, and the scene determines the personal information. When the personal information protection mode is set, the apparatus 31 does not read the personal information from the memory, and executes the scene, such as shifting to a scene for inputting a password. This is a function for judging when there is a possibility that a plurality of processes or transition destinations may exist for the same event of the same scene, in which the scene to be processed and shifted may be different. The state determination function in the present embodiment can take the number of “condition number−1”. The condition number is an integer of 1 or more.
【0052】本実施形態のように、シーン定義データ
は、アプリケーションが動作する装置を制御する全ての
イベントを定義している。As in the present embodiment, the scene definition data defines all events that control a device on which an application operates.
【0053】以下に、図4の(a)および図4の(b)
に示したシーン定義データを用いて開発するアプリケー
ションの操作と、シーンの遷移を視覚的に確認するため
のプロトタイプ機能を有するソースプログラム自動生成
装置100の動作を、図5(a)および図5(b)を用
いて説明する。Hereinafter, FIGS. 4A and 4B will be described.
5 (a) and 5 (a) show the operation of the application developed using the scene definition data shown in FIG. 5 and the operation of the source program automatic generation device 100 having a prototype function for visually confirming the transition of a scene. This will be described using b).
【0054】図5(a)および図5(b)は、図1に示
す表示装置14に表示される画像を示す図である。FIGS. 5A and 5B are diagrams showing images displayed on the display device 14 shown in FIG.
【0055】図5(a)および図5(b)に示すよう
に、表示装置14には、装置31を上から見た外観とシ
ーン定義データの一部であるシーン定義データ表とが表
示される。As shown in FIGS. 5A and 5B, the display device 14 displays an external view of the device 31 from above and a scene definition data table which is a part of the scene definition data. You.
【0056】たとえば、ユーザが表示装置14に表示さ
れているシーン定義データ表のイベントのうちの1つを
マウスを用いて選択すると、処理部12は、シーン定義
データ記憶部11から、選択されたイベントが属する行
の中の次シーン名を読み出し、表示装置14に表示され
ている、装置31を上から見た外観およびシーン定義デ
ータ表を閉じる。その後、処理部12は、表示装置14
に、液晶パネル32に次シーンが表示されている装置3
1を上から見た外観および次シーンに定義されているシ
ーン定義データのシーン定義データ表を表示する。For example, when the user selects one of the events in the scene definition data table displayed on the display device 14 using the mouse, the processing unit 12 selects the event from the scene definition data storage unit 11. The next scene name in the row to which the event belongs is read, and the appearance and the scene definition data table of the device 31 viewed from above, which are displayed on the display device 14, are closed. After that, the processing unit 12 displays the display device 14
Next, the device 3 in which the next scene is displayed on the liquid crystal panel 32
A scene definition data table of scene definition data defined for the external appearance of the scene 1 and the next scene is displayed.
【0057】また、表示装置14にシーンMENUが表
示されている時に、ボタンM1が選択されると、ボタン
M1を選択することにより発生するイベントが属する行
の中の次シーン名が参照され、シーンがシーンMENU
からシーンLISTに移行する。さらに、表示装置14
にシーンLISTが表示されている時に、ハードボタン
EXITが選択されると、ハードボタンEXITを選択
することにより発生するイベントが属する行の中の次シ
ーン名が参照され、シーンがシーンLISTからシーン
MENUに移行する。When the button M1 is selected while the scene MENU is displayed on the display device 14, the next scene name in the line to which the event generated by selecting the button M1 belongs is referred to. Is the scene MENU
To the scene LIST. Further, the display device 14
When the hard button EXIT is selected while the scene LIST is displayed on the screen, the next scene name in the row to which the event generated by selecting the hard button EXIT belongs is referred to, and the scene is changed from the scene LIST to the scene MENU. Move to
【0058】このように、ユーザがシーン定義データを
対話的に指示し、ソースプログラム自動生成装置100
がその指示に応じて、表示装置14の表示を切り替える
ことにより、ユーザはアプリケーションの動作を視覚的
に確認できる。As described above, the user interactively designates the scene definition data, and the automatic source program
By switching the display on the display device 14 according to the instruction, the user can visually confirm the operation of the application.
【0059】図6は、図4を用いて上述したシーン定義
データから作成された、アプリケーション全体でのシー
ンの連結関係を表すシーン連結テーブル60の一例を示
す図である。シーン連結テーブル60は、アプリケーシ
ョン全体で1つの表である。シーン連結テーブル60
は、処理部12により、図4に示すシーン定義データか
らシーン名41、イベントの種類43、状態判定関数名
44、イベントと状態に対応した処理を行なう処理関数
名45、処理を実行後の次シーン名46を抽出して作成
される。FIG. 6 is a diagram showing an example of a scene connection table 60 that is created from the scene definition data described above with reference to FIG. 4 and that represents the connection of scenes in the entire application. The scene connection table 60 is a single table for the entire application. Scene connection table 60
The processing unit 12 specifies a scene name 41, an event type 43, a state determination function name 44, a processing function name 45 for performing processing corresponding to an event and a state, and the next processing after execution by the processing unit 12 from the scene definition data shown in FIG. It is created by extracting the scene name 46.
【0060】以下に、処理部12がシーン連結テーブル
を作成する工程を図7を用いて説明する。The process in which the processing unit 12 creates a scene connection table will be described below with reference to FIG.
【0061】図7は、シーン定義データからシーン連結
テーブルを作成するフローチャートを示す図である。FIG. 7 is a diagram showing a flowchart for creating a scene connection table from scene definition data.
【0062】ステップS71では、処理部12は、ある
シーンのシーン定義データ記憶部11から、シーン定義
データとシーン定義データに割り付けられているシーン
名を読み込み、読み込まれたシーン定義データからシー
ン名を抽出する。In step S71, the processing unit 12 reads the scene definition data and the scene name assigned to the scene definition data from the scene definition data storage unit 11 of a certain scene, and extracts the scene name from the read scene definition data. Extract.
【0063】ステップS72では、処理部12は、シー
ン定義データ表を1行づつ読み込み、ステップS73
で、イベント名、状態判定関数名、条件値、処理関数
名、次シーン名を切り出し、シーン名と共に、シーン連
結テーブルに追加する。In step S72, the processing section 12 reads the scene definition data table line by line, and executes step S73.
Then, an event name, a state determination function name, a condition value, a processing function name, and a next scene name are cut out and added to the scene connection table together with the scene names.
【0064】ステップS74では、処理部12は、シー
ン定義データ表の全行について、上記処理がされたか否
かを判定する。シーン定義データ表の全行について、上
記処理がされた場合、処理はステップS75に進む。シ
ーン定義データ表の全行について、上記処理がされてい
ない場合、処理はステップS72に進み、上記処理が繰
り返される。In step S74, the processing section 12 determines whether or not the above processing has been performed on all rows of the scene definition data table. If the above processing has been performed for all rows of the scene definition data table, the processing proceeds to step S75. If the above processing has not been performed for all rows of the scene definition data table, the process proceeds to step S72, and the above processing is repeated.
【0065】ステップS75では、処理部12は、アプ
リケーションが有する全てのシーンについて、上記処理
がされたか否かを判定する。アプリケーションが有する
全てのシーンについて、上記処理がされた場合、処理は
終了する。アプリケーションが有する全てのシーンにつ
いて、上記処理がされていない場合、処理はステップS
71に進み、上記処理が繰り返される。In step S75, the processing section 12 determines whether or not the above processing has been performed for all scenes of the application. If the above processing has been performed for all scenes of the application, the processing ends. If the above process has not been performed for all scenes of the application, the process proceeds to step S
Proceeding to 71, the above processing is repeated.
【0066】以下に、処理部12がシーン連結テーブル
からソースプログラムを作成する工程を図8を用いて説
明する。The process in which the processing unit 12 creates a source program from a scene connection table will be described below with reference to FIG.
【0067】図8は、シーン連結テーブルからソースプ
ログラムを作成するフローチャートを示す図である。FIG. 8 is a diagram showing a flowchart for creating a source program from a scene connection table.
【0068】ステップS81では、ユーザが生成するプ
ログラミング言語を指定し、ステップS82で、処理部
12は記憶装置15からシーン連結テーブルを読み込
み、ステップS83で、処理部12は、読み込まれたシ
ーン連結テーブルを、指定されたプログラミング言語の
実行文から参照可能な形に変換する。In step S81, the user specifies a programming language to be generated. In step S82, the processing unit 12 reads the scene connection table from the storage device 15, and in step S83, the processing unit 12 reads the read scene connection table. Is converted into a form that can be referenced from an executable statement of a specified programming language.
【0069】たとえば、C言語では、構造体の配列
(表)を用い、構造体(表中の1つの列(レコード))
には、シーン名41、イベントの種類43、状態判定関
数名44へのポインタ(所望の関数が格納されたアドレ
ス)、イベントと状態に対応した処理を行なう処理関数
名45へのポインタ、処理を実行後のシーン名46をメ
ンバ(表中の1つの列中の1つの要素(フィルド))と
してコードに変換する。For example, in the C language, an array of structures (table) is used, and a structure (one column (record) in the table) is used.
Includes a scene name 41, an event type 43, a pointer to a state determination function name 44 (an address where a desired function is stored), a pointer to a processing function name 45 for performing a process corresponding to an event and a state, and The scene name 46 after execution is converted into a code as a member (one element (field) in one column in the table).
【0070】ステップS84では、実際に、ユーザが、
アプリケーションを起動したときに最初に表示される画
面のシーン名を入力し、ステップS85では、処理部1
2が、最初に表示される画面から始まるイベントを目的
とする装置(たとえば、図3に示す装置31)が処理す
るためのプログラムを指定の言語で組み込む。この組込
まれるプログラムは、初期シーン名を除き、共通であ
り、言語毎に用意されている定型のものである。In step S84, the user actually
A scene name of a screen displayed first when the application is started is input, and in step S85, the processing unit 1
2 incorporates, in a specified language, a program to be processed by a device (for example, the device 31 shown in FIG. 3) for the event starting from the first displayed screen. The programs to be incorporated are common except for the initial scene name, and are of a fixed type prepared for each language.
【0071】以下に、生成されたソースプログラムのア
ルゴリズムの一例を図9を用いて説明する。An example of the algorithm of the generated source program will be described below with reference to FIG.
【0072】図9は、ソースプログラム自動生成装置1
00によって作成されたソースプログラムのアルゴリズ
ムの一例を示す図である。図9に示すプログラムは、典
型的なイベントドリブン型のプログラムであり、装置X
(たとえば、図4に示す装置31)で実行される。FIG. 9 shows a source program automatic generation device 1.
FIG. 9 is a diagram showing an example of an algorithm of a source program created by the method of FIG. The program shown in FIG. 9 is a typical event-driven program,
(For example, the device 31 shown in FIG. 4).
【0073】ステップS901では、ユーザは初期シー
ンを表示させ、アプリケーションは、初期シーンの表示
を行って現在のシーンを初期シーンに設定する。ステッ
プS901の後、ステップS902およびステップS9
03では、ユーザの装置Xへの操作、装置Xからの割込
み信号、または他のタスクからのメッセージなどのイベ
ントを待つ。In step S901, the user displays an initial scene, and the application displays the initial scene and sets the current scene as the initial scene. After step S901, steps S902 and S9
At 03, an event such as a user operation on the device X, an interrupt signal from the device X, or a message from another task is waited.
【0074】イベントが発生すると、ステップS90
4、ステップS905およびステップS920におい
て、ソースプログラム内に埋め込まれている、シーン・
イベントを定義している配列から現在のシーンと発生し
たイベントの両方が合致する行を配列から検索する。ス
テップS904は、配列の行を1つカウントアップす
る。なお、カウントアップされる値の初期値は0とす
る。ステップS905では、現在シーンが、ある行の配
列に定義されているシーンと同じであり、発生したイベ
ントがそのある行の配列に定義されているイベントと同
じである場合、ステップS906に処理は進む(以後、
現在シーンが、ある行の配列に定義されているシーンと
同じであり、発生したイベントがそのある行の配列に定
義されているイベントと同じである場合のある行を該当
行と呼ぶ)。ステップS905で、現在シーンが該当行
の配列に定義されているシーンと同じでなく、または発
生したイベントが該当行の配列に定義されているイベン
トと同じでない場合、ステップS920に処理は進む。
ステップS920では、配列の行が最終行か否かが判定
され、配列の行が最終行である場合、処理はステップS
906に進み、配列の行が最終行でない場合、処理はス
テップS904に進む。When an event occurs, step S90
4. In steps S905 and S920, scenes and scenes embedded in the source program
From the array defining the event, search the array for a row that matches both the current scene and the event that occurred. A step S904 counts up one row in the array. Note that the initial value of the value to be counted up is 0. In step S905, if the current scene is the same as the scene defined in the array of a certain row, and the generated event is the same as the event defined in the array of the certain row, the process proceeds to step S906. (Hereafter,
A row in which the current scene is the same as the scene defined in the certain row array, and the generated event is the same as the event defined in the certain row array is referred to as a corresponding row). If it is determined in step S905 that the current scene is not the same as the scene defined in the array of the corresponding row, or if the generated event is not the same as the event defined in the array of the corresponding row, the process proceeds to step S920.
In step S920, it is determined whether the row of the array is the last row. If the row of the array is the last row, the process proceeds to step S920.
Proceeding to 906, if the row of the array is not the last row, processing proceeds to step S904.
【0075】ステップS906で、該当行が配列に存在
しなければ、装置Xは何も行わずに、次のイベントを待
つために、処理はステップS902に進む。If the row does not exist in the array in step S906, the processing proceeds to step S902 in order to wait for the next event without performing any operation.
【0076】ステップS906で、該当行が配列に存在
すれば、処理はステップS907に進む。If it is determined in step S906 that the corresponding row exists in the array, the process proceeds to step S907.
【0077】ステップS907では、シーンおよびイベ
ントを定義している配列の該当行に状態判定関数が登録
されているか否かが判定される。シーンおよびイベント
を定義している配列の該当行に状態判定関数が登録され
ている場合、処理はステップS908に進み、装置X
は、状態番号を得る。状態番号は、同一のシーンと同一
のイベントとの組み合わせに対して複数の処理が有り得
る場合、どの処理を行うかを表わすものであり、該当行
からの差分である。状態番号は、アプリケーションの実
行状態を参照して計算される。シーンおよびイベントを
定義している配列の該当行に状態判定関数が登録されて
いない場合、処理はステップS909に進み、状態判定
関数が無い場合には、状態番号に0がセットされる。In step S907, it is determined whether a state determination function is registered in a corresponding row of the array defining the scene and the event. If the state determination function is registered in the corresponding row of the array defining the scene and the event, the processing proceeds to step S908, where the apparatus X
Gets the state number. The state number indicates which process is to be performed when a plurality of processes can be performed for a combination of the same scene and the same event, and is a difference from the corresponding line. The state number is calculated with reference to the execution state of the application. If the state determination function is not registered in the corresponding row of the array defining the scene and the event, the process proceeds to step S909. If there is no state determination function, 0 is set to the state number.
【0078】ステップS910では、シーンおよびイベ
ントを定義している配列の該当行に状態番号を加えた行
の処理関数が生成される。In step S910, a processing function is generated for a row obtained by adding the state number to the corresponding row in the array defining the scene and the event.
【0079】ステップS911では、処理関数が存在す
るか否かが判定される。もし、処理関数が存在しなけれ
ば(ステップ913)、何も処理は行なわれないが、実
行結果を表す変数が真になり、シーンが移行するための
ステップに飛ぶ。処理関数が登録されていれば(ステッ
プS912)、その処理関数を呼び出し、処理関数に応
じた処理が行われ、処理が正常に行なわれたか否かが、
実行結果を表す変数に設定される。In step S911, it is determined whether a processing function exists. If the processing function does not exist (step 913), no processing is performed, but the variable indicating the execution result becomes true, and the process jumps to the step for shifting. If the processing function has been registered (step S912), the processing function is called, processing according to the processing function is performed, and whether or not the processing has been performed normally is determined.
Set to a variable that represents the execution result.
【0080】ステップS914では、処理関数が正常に
実行されたか否かが判定される。処理関数が正常に実行
された場合には、シーンおよびイベントを定義する配列
の該当行の次シーンが装置Xの液晶パネルに表示され、
現在のシーンを記録する変数に新しいシーン名が設定さ
れる(ステップS915)。このようにしてシーンを切
り替えた後、次のイベントを待ち受ける。In step S914, it is determined whether the processing function has been executed normally. If the processing function is executed normally, the next scene of the corresponding row of the array defining the scene and the event is displayed on the liquid crystal panel of the device X,
A new scene name is set as a variable for recording the current scene (step S915). After switching the scenes in this way, it waits for the next event.
【0081】図10は、図9に示すソースプログラムの
アルゴリズムから生成されたC言語プログラムの一例を
示す図である。ソースプログラム自動生成装置100
は、図9に示すソースプログラムのアルゴリズムに基づ
き、図10に示すC言語プログラムを生成することがで
きる。FIG. 10 is a diagram showing an example of a C language program generated from the algorithm of the source program shown in FIG. Source program automatic generation device 100
Can generate the C language program shown in FIG. 10 based on the algorithm of the source program shown in FIG.
【0082】以上、説明したように、本実施形態によれ
ば、GUIを備えたアプリケーションの開発において、
各シーン毎にプログラム作成上必要な情報を定義するこ
とで、アプリケーションの動作を予め視覚的に確認でき
外部操作の設計ミスが減るとともに、ソースプログラム
を自動生成できるのでコーディングミスが少なくなり、
ソフトウェアの品質が向上する。As described above, according to this embodiment, in the development of an application having a GUI,
By defining the information necessary to create a program for each scene, the operation of the application can be visually confirmed in advance, reducing design errors in external operations, and automatically generating source programs, reducing coding errors,
Software quality is improved.
【0083】表形式による設計は特別なソフトウェア工
学の知識を必要としないので導入が容易であり設計時間
を削減すると共に、自動生成機能でプログラミング時間
も減るので、ソフトウェア開発時間を大幅に短縮するこ
とができる。さらに、その他の効果としては、複数のプ
ログラムで開発する場合にもプログラムの構造は自動生
成されるので、プログラムのバラツキが少なくなり標準
化され、また、設計書とプログラムが一元管理されるの
で両者に齟齬が生じないという管理上の効果も上げられ
る。Design in tabular form does not require special software engineering knowledge, so it is easy to introduce and reduces design time, and the automatic generation function also reduces programming time, so that software development time is greatly reduced. Can be. Another advantage is that even when developing with multiple programs, the program structure is automatically generated, so that program variability is reduced and standardized. There is also a management effect that no inconsistency occurs.
【0084】なお、上述したソースプログラム自動生成
方法は、フロッピーディスク、光ディスク、および磁気
テープなどの記録媒体に記録されてもよい。The above-described source program automatic generation method may be recorded on a recording medium such as a floppy disk, an optical disk, and a magnetic tape.
【0085】[0085]
【発明の効果】本発明のソースプログラム自動生成装置
は、グラフィカル・ユーザ・インターフェイスを有する
アプリケーションにおけるイベントと前記イベントへの
対応を入力としてイベントドリブン型のプログラムを作
成するソースプログラム自動生成装置であって、シーン
毎に前記イベントと前記イベントに対する応答を定義す
る定義手段と、シーン毎のイベントとそのイベントに対
する応答を定義したデータからアプリケーションのソー
スプログラムを生成する生成手段とを備えている。The source program automatic generation apparatus of the present invention is an automatic source program generation apparatus for generating an event-driven program by using an event in an application having a graphical user interface and correspondence to the event as an input. Definition means for defining the event and a response to the event for each scene, and generation means for generating a source program of the application from data defining the event for each scene and the response to the event.
【0086】本発明のソースプログラム自動生成装置に
よると、アプリケーションの外部仕様を簡便に設計する
ことができる。According to the source program automatic generation device of the present invention, external specifications of an application can be easily designed.
【0087】本発明のソースプログラム自動生成方法
は、グラフィカル・ユーザ・インターフェイスを有する
アプリケーションにおけるイベントとそのイベントへの
対応を入力としてイベントドリブン型のプログラムを作
成する方法であって、シーン毎にイベントと前記イベン
トに対する応答を定義する工程と、シーン毎のイベント
と前記イベントに対する応答を定義したデータからアプ
リケーションのソースプログラムを自動生成する工程と
を包含している。The source program automatic generation method of the present invention is a method of creating an event-driven type program by inputting an event in an application having a graphical user interface and the correspondence to the event, wherein the event is generated for each scene. The method includes a step of defining a response to the event, and a step of automatically generating a source program of an application from an event for each scene and data defining the response to the event.
【0088】本発明のソースプログラム自動生成方法に
よると、アプリケーションの外部仕様を簡便に設計する
ことができる。According to the source program automatic generation method of the present invention, external specifications of an application can be easily designed.
【図1】実施形態におけるソースプログラム自動生成装
置100の概略構成を示す図である。FIG. 1 is a diagram showing a schematic configuration of a source program automatic generation device 100 according to an embodiment.
【図2】ソースプログラム自動生成装置100の、ある
動作のフローチャートを示す図である。FIG. 2 is a diagram showing a flowchart of a certain operation of the automatic source program generation device 100.
【図3】(a)は、あるシーンが装置31の液晶パネル
32に表示されているところを示す図であり、(b)
は、あるシーンにおけるイベントによって生じたシーン
が装置31の液晶パネル32に表示されているところを
示す図である。FIG. 3A is a diagram showing a scene displayed on a liquid crystal panel 32 of a device 31; FIG.
3 is a diagram showing a scene generated by an event in a certain scene displayed on a liquid crystal panel 32 of the device 31. FIG.
【図4】(a)は、図3の(a)に示す装置31の振る
舞いを定義するシーン定義データの一例を示す図であ
り、(b)は、図3の(b)に示す装置31の振る舞い
を定義するシーン定義データの一例を示す図である。4A is a diagram illustrating an example of scene definition data that defines the behavior of the device 31 illustrated in FIG. 3A, and FIG. 4B is a diagram illustrating an example of the scene definition data illustrated in FIG. FIG. 4 is a diagram showing an example of scene definition data that defines the behavior of FIG.
【図5】(a)および(b)は、図1に示す表示装置1
4に表示される画像を示す図である。FIGS. 5A and 5B show a display device 1 shown in FIG.
FIG. 4 is a diagram illustrating an image displayed on a screen 4;
【図6】図4を用いて上述したシーン定義データから作
成された、アプリケーション全体でのシーンの連結関係
を表すシーン連結テーブル60の一例を示す図である。FIG. 6 is a diagram illustrating an example of a scene connection table 60 that is created from the scene definition data described above with reference to FIG.
【図7】シーン定義データからシーン連結テーブルを作
成するフローチャートを示す図である。FIG. 7 is a diagram illustrating a flowchart for creating a scene connection table from scene definition data.
【図8】シーン連結テーブルからソースプログラムを作
成するフローチャートを示す図である。FIG. 8 is a diagram showing a flowchart for creating a source program from a scene connection table.
【図9】ソースプログラム自動生成装置100によって
作成されたソースプログラムのアルゴリズムの一例を示
す図である。FIG. 9 is a diagram showing an example of an algorithm of a source program created by the source program automatic generation device 100.
【図10】図9に示すソースプログラムのアルゴリズム
から生成されたC言語プログラムの一例を示す図であ
る。10 is a diagram showing an example of a C language program generated from the algorithm of the source program shown in FIG.
11 シーン定義データ記憶部 12 処理部 13 入力装置 14 表示装置 15 記憶装置 100 ソースプログラム自動生成装置 11 scene definition data storage unit 12 processing unit 13 input device 14 display device 15 storage device 100 source program automatic generation device
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山西 明 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 (72)発明者 森 孝弘 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内 Fターム(参考) 5B076 DC01 DE03 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Akira Yamanishi 22-22, Nagaikecho, Abeno-ku, Osaka City, Osaka Inside (72) Inventor Takahiro Mori 22-22 Nagaikecho, Abeno-ku, Osaka City, Osaka Co., Ltd. F-term (reference) 5B076 DC01 DE03
Claims (6)
スを有するアプリケーションにおけるイベントと前記イ
ベントへの対応を入力としてイベントドリブン型のプロ
グラムを作成するソースプログラム自動生成装置であっ
て、 シーン毎に前記イベントと前記イベントに対する応答を
定義する定義手段と、 シーン毎のイベントとそのイベントに対する応答を定義
したデータからアプリケーションのソースプログラムを
生成する生成手段と、 を備えた、ソースプログラム自動生成装置。1. An automatic source program generation apparatus for generating an event-driven program by using an event in an application having a graphical user interface and a correspondence to the event as an input, wherein the event and an event corresponding to the event are generated for each scene. An automatic source program generation device, comprising: definition means for defining a response; and generation means for generating a source program of an application from data defining an event for each scene and a response to the event.
する応答を定義したデータを、対話的に操作し、開発す
るアプリケーションの操作と同等の応答を表示装置に返
し、アプリケーションのプロトタイプする手段をさらに
備えた、請求項1に記載のソースプログラム自動生成装
置2. The system further comprises means for interactively operating an event for each scene and data defining a response to the event, returning a response equivalent to an operation of an application to be developed to a display device, and prototyping the application. And a source program automatic generation apparatus according to claim 1.
スを有するアプリケーションにおけるイベントとそのイ
ベントへの対応を入力としてイベントドリブン型のプロ
グラムを作成するソースプログラム自動生成方法であっ
て、 シーン毎にイベントと前記イベントに対する応答を定義
する工程と、 シーン毎のイベントと前記イベントに対する応答を定義
したデータからアプリケーションのソースプログラムを
自動生成する工程と、 を包含する、ソースプログラム自動生成方法。3. A source program automatic generation method for creating an event-driven program by using an event in an application having a graphical user interface and a correspondence to the event as an input, wherein the event and a response to the event are provided for each scene. And automatically generating a source program of an application from data defining an event for each scene and a response to the event.
対する応答を定義したデータを、対話的に操作し、開発
するアプリケーションの操作と同等の応答を返し、アプ
リケーションのプロトタイプする工程をさらに包含す
る、請求項3に記載のソースプログラム自動生成方法。4. The method according to claim 1, further comprising a step of interactively operating data defining an event for each scene and a response to the event, returning a response equivalent to an operation of an application to be developed, and prototyping the application. Item 4. The method for automatically generating a source program according to Item 3.
生成方法を記録した記憶媒体。5. A storage medium in which the source program automatic generation method according to claim 3 is recorded.
生成方法を記録した記憶媒体。6. A storage medium on which the source program automatic generation method according to claim 4 is recorded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11157195A JP2000347840A (en) | 1999-06-03 | 1999-06-03 | Automatic source program generation device, automatic source program generation method, and recording medium recording the method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11157195A JP2000347840A (en) | 1999-06-03 | 1999-06-03 | Automatic source program generation device, automatic source program generation method, and recording medium recording the method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000347840A true JP2000347840A (en) | 2000-12-15 |
Family
ID=15644289
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11157195A Withdrawn JP2000347840A (en) | 1999-06-03 | 1999-06-03 | Automatic source program generation device, automatic source program generation method, and recording medium recording the method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000347840A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7099753B2 (en) * | 2004-04-27 | 2006-08-29 | The Boeing Company | Automatic generation of telemetry flight software, accompanying specifications, and decode files |
| JP2012053873A (en) * | 2010-08-31 | 2012-03-15 | Veriserve Corp | Design verification device, design verification method and design verification program |
| JP2012083865A (en) * | 2010-10-07 | 2012-04-26 | Fujitsu Ltd | Operation screen design support program, operation screen design support device and operation screen design support method |
-
1999
- 1999-06-03 JP JP11157195A patent/JP2000347840A/en not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7099753B2 (en) * | 2004-04-27 | 2006-08-29 | The Boeing Company | Automatic generation of telemetry flight software, accompanying specifications, and decode files |
| US8132155B2 (en) | 2004-04-27 | 2012-03-06 | The Boeing Company | Automatic generation of telemetry flight software accompanying specifications, and decode files |
| JP2012053873A (en) * | 2010-08-31 | 2012-03-15 | Veriserve Corp | Design verification device, design verification method and design verification program |
| JP2012083865A (en) * | 2010-10-07 | 2012-04-26 | Fujitsu Ltd | Operation screen design support program, operation screen design support device and operation screen design support method |
| US8701011B2 (en) | 2010-10-07 | 2014-04-15 | Fujitsu Limited | Computer-readable storage medium, apparatus, and method for supporting operation screen design |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07261969A (en) | Hierarchical structure menu definition file configuration method | |
| JPH07219736A (en) | Creation method of multimedia application business | |
| CN115357323A (en) | Method and apparatus for dynamic function line customization | |
| US20080307388A1 (en) | Visual Interface To Represent Scripted Behaviors | |
| JP5921765B2 (en) | Program graph display device, program graph display method, and program graph display program | |
| JP5025833B1 (en) | Sequence program creation device | |
| US20090259952A1 (en) | Information processing apparatus and method of controlling same | |
| JP2008203912A (en) | Screen creation apparatus and method, and program | |
| JP2020123234A (en) | Information processor, control method, and program thereof | |
| JP2000347840A (en) | Automatic source program generation device, automatic source program generation method, and recording medium recording the method | |
| JP2600530B2 (en) | Scenario presentation method and editing method | |
| JP2010009167A (en) | Screen display device, screen display method, and screen display program | |
| JPH09106337A (en) | User interface generator | |
| CN115658059A (en) | Data processing method, device, equipment and storage medium | |
| JP7380376B2 (en) | Program for displaying information processing equipment and ladder programs | |
| US20060053443A1 (en) | Methods and systems for efficient behavior generation in software application development tool | |
| JP2007066077A (en) | GUI generation method, GUI generation apparatus, computer program, and storage medium | |
| EP2581825A2 (en) | Setting information creating program, apparatus, and method | |
| JP3898507B2 (en) | Program creation support system and program creation support method | |
| US20250036367A1 (en) | Information processing apparatus, information processing method, and program | |
| JP2001318796A (en) | Program execution control method using internal and external event driven system, recording medium and program preparation support system | |
| JP7761759B2 (en) | Help screen creation support device | |
| JP2007287025A (en) | Method and apparatus for creating screen transition program | |
| JP2004240644A (en) | Menu creation system and menu creation method | |
| JP2005327023A (en) | Full-text search method using hit number prediction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |