JPH08190476A - 対話型プログラムの開発支援装置 - Google Patents
対話型プログラムの開発支援装置Info
- Publication number
- JPH08190476A JPH08190476A JP7000550A JP55095A JPH08190476A JP H08190476 A JPH08190476 A JP H08190476A JP 7000550 A JP7000550 A JP 7000550A JP 55095 A JP55095 A JP 55095A JP H08190476 A JPH08190476 A JP H08190476A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- transition
- definition information
- processing
- information
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】各表示画面についての画面定義情報と画面遷移
の状態遷移表を基にして新しい表示画面について画面定
義情報が定義されるごとにその情報を状態遷移表に反映
するとともに、画面定義情報と状態遷移表とから対話型
プログラムを生成することによって人間の介入による入
力作業による手間を軽減し誤りを削減する。 【構成】画面定義手段102は対話的に入力された画面
の定義情報を画面定義情報106として格納する。画面
遷移定義手段104は画面間遷移を表す状態遷移表を表
示し、入力された画面遷移処理を画面遷移定義情報10
7として格納する。画面遷移抽出手段103は画面定義
手段102が定義した画面情報から状態及びイベントを
抽出して画面遷移情報107を更新する。画面データ処
理生成手段109は画面表示用のデータ生成処理とデー
タ解放処理を生成する。コールバック処理生成手段11
0はコールバックルーチンとその登録処理を生成する。
プログラム生成手段108は、ソースプログラム111
を生成する。
の状態遷移表を基にして新しい表示画面について画面定
義情報が定義されるごとにその情報を状態遷移表に反映
するとともに、画面定義情報と状態遷移表とから対話型
プログラムを生成することによって人間の介入による入
力作業による手間を軽減し誤りを削減する。 【構成】画面定義手段102は対話的に入力された画面
の定義情報を画面定義情報106として格納する。画面
遷移定義手段104は画面間遷移を表す状態遷移表を表
示し、入力された画面遷移処理を画面遷移定義情報10
7として格納する。画面遷移抽出手段103は画面定義
手段102が定義した画面情報から状態及びイベントを
抽出して画面遷移情報107を更新する。画面データ処
理生成手段109は画面表示用のデータ生成処理とデー
タ解放処理を生成する。コールバック処理生成手段11
0はコールバックルーチンとその登録処理を生成する。
プログラム生成手段108は、ソースプログラム111
を生成する。
Description
【0001】
【産業上の利用分野】本発明は、対話型プログラムの開
発支援装置に係わり、特に表示画面についての状態遷移
表に基づいてプログラム開発を行う対話型プログラムの
開発支援装置に関するものである。
発支援装置に係わり、特に表示画面についての状態遷移
表に基づいてプログラム開発を行う対話型プログラムの
開発支援装置に関するものである。
【0002】
【従来の技術】従来の対話型のプログラム開発方法とし
てユーザインタフェースの開発を対話的に行うシステム
が提案されている。このようなシステムでは、表示画面
を介してマウスやキーボードからの入力により対話的に
表示画面のフォーマットを定義し、定義した画面上のボ
タンや入力フィールドに対してユーザが操作を行った場
合の処理をソースプログラムの形で入力する。このよう
な対話型のプログラムは通常イベントドリブン型の制御
方式となる。従ってボタン押下等画面を介して行う操作
はプログラムに対するイベントとなり、イベントに対す
る処理はイベントループから呼び出されるコールバック
ルーチンとして定義されるとともに特定の画面の特定の
処理は、それぞれのコールバックルーチンとして分散し
て設定される。
てユーザインタフェースの開発を対話的に行うシステム
が提案されている。このようなシステムでは、表示画面
を介してマウスやキーボードからの入力により対話的に
表示画面のフォーマットを定義し、定義した画面上のボ
タンや入力フィールドに対してユーザが操作を行った場
合の処理をソースプログラムの形で入力する。このよう
な対話型のプログラムは通常イベントドリブン型の制御
方式となる。従ってボタン押下等画面を介して行う操作
はプログラムに対するイベントとなり、イベントに対す
る処理はイベントループから呼び出されるコールバック
ルーチンとして定義されるとともに特定の画面の特定の
処理は、それぞれのコールバックルーチンとして分散し
て設定される。
【0003】また画面遷移の設計及びプログラミングを
支援する方式の例としては、特開昭62−221728
号公報がある。この方式では、画面遷移をシミュレート
することにより早期段階で画面情報の定義及び画面遷移
の状態を確認できるが、画面遷移処理の定義はそれぞれ
の画面に分散しており、プログラム全体として画面遷移
の状態を状態遷移表の形で把握することはできない。
支援する方式の例としては、特開昭62−221728
号公報がある。この方式では、画面遷移をシミュレート
することにより早期段階で画面情報の定義及び画面遷移
の状態を確認できるが、画面遷移処理の定義はそれぞれ
の画面に分散しており、プログラム全体として画面遷移
の状態を状態遷移表の形で把握することはできない。
【0004】なお状態遷移に基づくプログラムの自動生
成方式の例としては、特開平4−352029号公報が
ある。この方式は、プログラム仕様をイベントと状態の
マトリックスで構成される状態遷移表の形式で整理して
記述し、その状態遷移表からプログラムを自動生成する
ものである。この方式では、状態遷移の全体を状態遷移
表の形で把握することはできるが、画面定義情報と関連
付けたものではない。また状態遷移表から生成されるプ
ログラムは、特に対話型プログラムを考慮したものでな
いため、上記のイベントドリブン型制御方式のプログラ
ムに適応するものではない。
成方式の例としては、特開平4−352029号公報が
ある。この方式は、プログラム仕様をイベントと状態の
マトリックスで構成される状態遷移表の形式で整理して
記述し、その状態遷移表からプログラムを自動生成する
ものである。この方式では、状態遷移の全体を状態遷移
表の形で把握することはできるが、画面定義情報と関連
付けたものではない。また状態遷移表から生成されるプ
ログラムは、特に対話型プログラムを考慮したものでな
いため、上記のイベントドリブン型制御方式のプログラ
ムに適応するものではない。
【0005】
【発明が解決しようとする課題】従来技術によれば、画
面遷移の状態を状態遷移表の形で整理されていないとい
うことと、画面遷移の状態遷移表を作成することを考え
ついたとしても対話的に開発された画面情報を基にして
表示画面の状態とイベントに整理し、手作業で画面遷移
の状態遷移表に反映させていく必要があり、手間がかか
るという問題がある。
面遷移の状態を状態遷移表の形で整理されていないとい
うことと、画面遷移の状態遷移表を作成することを考え
ついたとしても対話的に開発された画面情報を基にして
表示画面の状態とイベントに整理し、手作業で画面遷移
の状態遷移表に反映させていく必要があり、手間がかか
るという問題がある。
【0006】また個々の画面について定義された画面定
義情報を基にした対話型プログラムの開発は、プログラ
ム全体としての画面遷移の状態を考慮し難く誤りの入る
余地が大きいことと、たとえ画面遷移の状態遷移表があ
ったとしても設計者が参照するだけであり、そのままの
形でプログラム生成に利用できないため、設計者の手間
がかかり誤りの入る余地があるという問題がある。
義情報を基にした対話型プログラムの開発は、プログラ
ム全体としての画面遷移の状態を考慮し難く誤りの入る
余地が大きいことと、たとえ画面遷移の状態遷移表があ
ったとしても設計者が参照するだけであり、そのままの
形でプログラム生成に利用できないため、設計者の手間
がかかり誤りの入る余地があるという問題がある。
【0007】本発明は、新たな表示画面の画面定義情報
を定義するごとにこの画面定義情報を画面遷移の状態遷
移表に反映させていくような対話型プログラムの開発支
援装置を提供することを目的とする。
を定義するごとにこの画面定義情報を画面遷移の状態遷
移表に反映させていくような対話型プログラムの開発支
援装置を提供することを目的とする。
【0008】また本発明は、画面定義情報と画面遷移の
状態遷移表とを利用して対話型プログラムを生成するよ
うな開発支援装置を提供することを目的とする。
状態遷移表とを利用して対話型プログラムを生成するよ
うな開発支援装置を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明は、画面定義情報
として各表示画面ごとにボタン、入出力フィールドなど
の画面構成部品、その種別及びその画面上の表示位置を
定義しておき、また各表示画面と画面構成部品に対して
行う操作のイベントとを行及び列とする状態遷移表とし
てこの状態遷移表の各ボックスに画面遷移処理を定義
し、新しい表示画面について画面定義情報が作成される
ごとにこの状態遷移表に新しい表示画面とその画面構成
部品から定まるイベントのボックスを追加するように構
成した対話型プログラムの開発支援装置を特徴とする。
として各表示画面ごとにボタン、入出力フィールドなど
の画面構成部品、その種別及びその画面上の表示位置を
定義しておき、また各表示画面と画面構成部品に対して
行う操作のイベントとを行及び列とする状態遷移表とし
てこの状態遷移表の各ボックスに画面遷移処理を定義
し、新しい表示画面について画面定義情報が作成される
ごとにこの状態遷移表に新しい表示画面とその画面構成
部品から定まるイベントのボックスを追加するように構
成した対話型プログラムの開発支援装置を特徴とする。
【0010】さらに本発明は、このような画面定義情報
から各表示画面の表示データを作成する処理プログラム
を生成し、画面遷移の状態遷移表の各ボックスに定義さ
れた画面遷移処理からコールバックルーチンを生成する
対話型プログラムの開発支援装置を特徴とする。
から各表示画面の表示データを作成する処理プログラム
を生成し、画面遷移の状態遷移表の各ボックスに定義さ
れた画面遷移処理からコールバックルーチンを生成する
対話型プログラムの開発支援装置を特徴とする。
【0011】
【作用】新しい表示画面について画面定義情報が定義さ
れたとき、本発明の開発支援装置は、この新しい表示画
面を新しい状態として状態遷移表に追加する。また本発
明の開発支援装置は、画面構成部品とその種別とからイ
ベント名を決定し、このイベント名が状態遷移表に登録
されていない場合に新しいイベントとして状態遷移表に
追加する。
れたとき、本発明の開発支援装置は、この新しい表示画
面を新しい状態として状態遷移表に追加する。また本発
明の開発支援装置は、画面構成部品とその種別とからイ
ベント名を決定し、このイベント名が状態遷移表に登録
されていない場合に新しいイベントとして状態遷移表に
追加する。
【0012】また画面定義情報から各表示画面の表示デ
ータを作成するという初期処理を行うプログラムを生成
し、状態遷移表の各ボックス中に定義した画面遷移処理
から画面構成部品について行う操作のイベントが発生す
るごとに行うイベント処理のコールバックルーチンを生
成するので、これらのプログラムを合成することによっ
て画面に対する操作を扱う対話型プログラムが作成され
る。
ータを作成するという初期処理を行うプログラムを生成
し、状態遷移表の各ボックス中に定義した画面遷移処理
から画面構成部品について行う操作のイベントが発生す
るごとに行うイベント処理のコールバックルーチンを生
成するので、これらのプログラムを合成することによっ
て画面に対する操作を扱う対話型プログラムが作成され
る。
【0013】
【実施例】以下、本発明の一実施例について図面を用い
て説明する。
て説明する。
【0014】図1は、本実施例の対話型プログラム開発
支援装置の構成図である。101は利用者である設計者
が対話的に操作を行うための端末装置であり、表示装
置、キーボード、マウス等の入出力装置を備えている。
102は開発対象であるプログラムの画面を定義するた
めの画面定義手段である。画面定義手段102は、表示
画面を定義するために画面構成部品を表示し、設計者が
マウスやキーボードの操作によって対話的に行う表示画
面の定義操作を支援する。103は画面定義手段102
が定義した画面定義情報から状態及びイベントを抽出し
て画面遷移定義情報107を更新する画面遷移抽出手段
である。104は開発対象であるプログラムについて表
示画面から別の表示画面へ遷移する処理を定義するため
の画面遷移定義手段である。画面遷移定義手段104
は、表示画面間の状態遷移を表す状態遷移表を画面に表
示し、設計者が対話的に行う状態、イベント、遷移処理
等の編集を支援する。105は画面遷移定義手段104
が編集した画面遷移処理から遷移先の画面名を抽出して
遷移先状態を決定する遷移先画面抽出手段である。10
6は画面定義手段102によって定義された画面定義情
報である。107は画面遷移定義手段104によって定
義された画面遷移定義情報である。108は画面定義情
報106と画面遷移定義情報107とを入力してソース
プログラム111を生成するプログラム生成手段であ
る。109はプログラム生成手段108の一部であり、
画面定義情報106を入力して画面表示用のデータ生成
処理とデータ解放処理を生成する画面データ処理生成手
段である。110はプログラム生成手段108の一部で
あり、画面遷移定義情報107を入力してコールバック
処理とコールバック処理の登録処理を生成するコールバ
ック処理生成手段である。111は最終的に生成される
ソースプログラムである。
支援装置の構成図である。101は利用者である設計者
が対話的に操作を行うための端末装置であり、表示装
置、キーボード、マウス等の入出力装置を備えている。
102は開発対象であるプログラムの画面を定義するた
めの画面定義手段である。画面定義手段102は、表示
画面を定義するために画面構成部品を表示し、設計者が
マウスやキーボードの操作によって対話的に行う表示画
面の定義操作を支援する。103は画面定義手段102
が定義した画面定義情報から状態及びイベントを抽出し
て画面遷移定義情報107を更新する画面遷移抽出手段
である。104は開発対象であるプログラムについて表
示画面から別の表示画面へ遷移する処理を定義するため
の画面遷移定義手段である。画面遷移定義手段104
は、表示画面間の状態遷移を表す状態遷移表を画面に表
示し、設計者が対話的に行う状態、イベント、遷移処理
等の編集を支援する。105は画面遷移定義手段104
が編集した画面遷移処理から遷移先の画面名を抽出して
遷移先状態を決定する遷移先画面抽出手段である。10
6は画面定義手段102によって定義された画面定義情
報である。107は画面遷移定義手段104によって定
義された画面遷移定義情報である。108は画面定義情
報106と画面遷移定義情報107とを入力してソース
プログラム111を生成するプログラム生成手段であ
る。109はプログラム生成手段108の一部であり、
画面定義情報106を入力して画面表示用のデータ生成
処理とデータ解放処理を生成する画面データ処理生成手
段である。110はプログラム生成手段108の一部で
あり、画面遷移定義情報107を入力してコールバック
処理とコールバック処理の登録処理を生成するコールバ
ック処理生成手段である。111は最終的に生成される
ソースプログラムである。
【0015】本実施例の対話型プログラム開発支援装置
は、電子計算機、ワークステーション、パーソナルコン
ピュータ等の情報処理装置によって実現される。画面定
義情報106、画面遷移定義情報107及びソースプロ
グラム111はこの情報処理装置の内部記憶装置又は外
部記憶装置に格納される情報である。また画面定義手段
102、画面遷移抽出手段103、画面遷移定義手段1
04、遷移先画面抽出手段105及びプログラム生成手
段108はこの情報処理装置の記憶装置に格納するプロ
グラムを実行することによって実現される。端末装置1
01はこの情報処理装置に接続される入出力装置又は通
信路を介して接続される遠隔の端末装置である。
は、電子計算機、ワークステーション、パーソナルコン
ピュータ等の情報処理装置によって実現される。画面定
義情報106、画面遷移定義情報107及びソースプロ
グラム111はこの情報処理装置の内部記憶装置又は外
部記憶装置に格納される情報である。また画面定義手段
102、画面遷移抽出手段103、画面遷移定義手段1
04、遷移先画面抽出手段105及びプログラム生成手
段108はこの情報処理装置の記憶装置に格納するプロ
グラムを実行することによって実現される。端末装置1
01はこの情報処理装置に接続される入出力装置又は通
信路を介して接続される遠隔の端末装置である。
【0016】図2は、画面定義を対話的に行うために端
末装置101の表示装置に表示する画面の一例を示す図
である。画面構成部品メニュー201には入出力フィー
ルド、ボタン、表示用のテキスト等の画面を構成するた
めの部品が表示されており、設計者がマウスやキーボー
ド等の指定により必要な部品を選択することができる。
画面レイアウト202は、画面構成部品メニュー201
から選択した画面構成部品を配置し、画面のレイアウト
を定義するための領域である。図2は、画面レイアウト
202領域の中に表示用のテキストであるファイル名2
03、その下の入出力フィールド204、応答用のOK
ボタン205及び応答用のNGボタン206が配置され
ている例を示している。なお設計者は表示画面を1つ定
義するごとにその画面の画面名を入力する。
末装置101の表示装置に表示する画面の一例を示す図
である。画面構成部品メニュー201には入出力フィー
ルド、ボタン、表示用のテキスト等の画面を構成するた
めの部品が表示されており、設計者がマウスやキーボー
ド等の指定により必要な部品を選択することができる。
画面レイアウト202は、画面構成部品メニュー201
から選択した画面構成部品を配置し、画面のレイアウト
を定義するための領域である。図2は、画面レイアウト
202領域の中に表示用のテキストであるファイル名2
03、その下の入出力フィールド204、応答用のOK
ボタン205及び応答用のNGボタン206が配置され
ている例を示している。なお設計者は表示画面を1つ定
義するごとにその画面の画面名を入力する。
【0017】図3は、画面定義手段102が作成する画
面定義情報106の例を示す図である。301は定義し
た画面の画面名である。302〜305は、画面名30
1に対する各画面構成部品の情報を表形式で格納する部
分である。302は画面構成部品名を格納するフィール
ドであり、OKボタンやNGボタン等の画面構成部品名
が格納される。303は画面構成部品の種別を格納する
フィールドであり、ボタンや入出力フィールドなどの種
別が格納される。304は画面構成部品の表示位置を示
すものであり、その表示位置が画面上の(X座標、Y座
標)で格納される。305は画面構成部品の種類に応じ
て付加的に持つ情報である。例えばボタンの例ではボタ
ン上に表示するボタン名等のテキストが付加情報とな
る。
面定義情報106の例を示す図である。301は定義し
た画面の画面名である。302〜305は、画面名30
1に対する各画面構成部品の情報を表形式で格納する部
分である。302は画面構成部品名を格納するフィール
ドであり、OKボタンやNGボタン等の画面構成部品名
が格納される。303は画面構成部品の種別を格納する
フィールドであり、ボタンや入出力フィールドなどの種
別が格納される。304は画面構成部品の表示位置を示
すものであり、その表示位置が画面上の(X座標、Y座
標)で格納される。305は画面構成部品の種類に応じ
て付加的に持つ情報である。例えばボタンの例ではボタ
ン上に表示するボタン名等のテキストが付加情報とな
る。
【0018】図4は、画面遷移を表す状態遷移表の例で
ある。状態遷移表401は、画面遷移定義手段104に
よって画面に表示され、設計者が対話的に画面遷移情報
を参照したり編集することができる。また画面遷移定義
手段104によって入力された情報は図4に示すものと
同様に表形式で画面遷移定義情報107として記憶装置
に保持される。402は状態名であり、この場合画面遷
移を表す状態遷移表であるため、画面名(画面の識別
子)が状態名となる。403は状態名に対して付けた識
別記号である状態IDである。状態ID403は後述の
遷移先状態名として使用される。404はイベント名
(イベントの識別子)であり、各画面について画面構成
部品に施される操作のイベントがイベント名によって並
べられる。405は画面遷移時の処理を記述する画面遷
移処理であり、状態名が表す画面で該当するイベントが
発生した場合の処理が記述される。画面遷移処理405
は、最終的にソースコードが生成できるようにソースコ
ード又は擬似コードレベルで記述される。406は画面
遷移が起った場合の遷移先画面名(状態名)である。イ
ベントドリブン型の対話型プログラムでは画面遷移処理
405の処理内容によって表示中の画面が終了したり、
新たな画面を表示したりする。このため画面遷移処理4
05の処理内容により画面遷移先が決まる。従って遷移
先画面名406は設計者が入力するのではなく、画面遷
移処理405を解析することによって抽出される。
ある。状態遷移表401は、画面遷移定義手段104に
よって画面に表示され、設計者が対話的に画面遷移情報
を参照したり編集することができる。また画面遷移定義
手段104によって入力された情報は図4に示すものと
同様に表形式で画面遷移定義情報107として記憶装置
に保持される。402は状態名であり、この場合画面遷
移を表す状態遷移表であるため、画面名(画面の識別
子)が状態名となる。403は状態名に対して付けた識
別記号である状態IDである。状態ID403は後述の
遷移先状態名として使用される。404はイベント名
(イベントの識別子)であり、各画面について画面構成
部品に施される操作のイベントがイベント名によって並
べられる。405は画面遷移時の処理を記述する画面遷
移処理であり、状態名が表す画面で該当するイベントが
発生した場合の処理が記述される。画面遷移処理405
は、最終的にソースコードが生成できるようにソースコ
ード又は擬似コードレベルで記述される。406は画面
遷移が起った場合の遷移先画面名(状態名)である。イ
ベントドリブン型の対話型プログラムでは画面遷移処理
405の処理内容によって表示中の画面が終了したり、
新たな画面を表示したりする。このため画面遷移処理4
05の処理内容により画面遷移先が決まる。従って遷移
先画面名406は設計者が入力するのではなく、画面遷
移処理405を解析することによって抽出される。
【0019】図5は、生成されるソースプログラム11
1の構造の概略を示す図である。生成されるソースプロ
グラム111は、メイン処理部502、初期処理部50
6、終了処理部510及びコールバック処理部512か
ら成る。このうちメイン処理部502は定形の手続きで
あり、初期処理呼出し503、イベント処理ループ50
4及び終了処理呼び出し505から成る。初期処理呼出
し503は、プログラム実行開始時に制御が渡り、初期
処理部506を呼び出す手続きである。イベント処理ル
ープ504は、無限ループの状態を保持し、イベントが
生じたとき起動されこのイベントに対応するコールバッ
クルーチンを呼び出す手続きである。イベント処理ルー
プ504は、終了イベントを受け取った時点で終了し、
終了処理呼出し505に制御を渡す。なお終了イベント
は、プログラムの実行を終了する操作、例えば画面上の
終了ボタンが押されたとき等によって生じるイベントで
ある。終了処理呼出し505は、終了処理部510を呼
び出す手続きである。初期処理部506は、各画面1〜
nについての初期処理507から成る。各画面に対する
初期処理507は、画面の表示用データを格納する記憶
領域を確保して表示用データを生成する生成処理508
と、各画面で発生する各イベントとコールバックルーチ
ンとの対応づけを行う登録処理509とから成る。図5
の例では、各画面表示用データIDのイベントmに対し
てコールバックルーチンkを対応づけている。ここで表
示用データIDとは画面対応に設けた内部的な表示用デ
ータの識別子である。終了処理部510は、初期処理で
生成された各画面1〜nの表示用データをその記憶領域
とともに開放する解放処理511を行う。コールバック
処理部512は、それぞれのコールバックルーチンを呼
び出し可能な関数などの形で定義した部分である。
1の構造の概略を示す図である。生成されるソースプロ
グラム111は、メイン処理部502、初期処理部50
6、終了処理部510及びコールバック処理部512か
ら成る。このうちメイン処理部502は定形の手続きで
あり、初期処理呼出し503、イベント処理ループ50
4及び終了処理呼び出し505から成る。初期処理呼出
し503は、プログラム実行開始時に制御が渡り、初期
処理部506を呼び出す手続きである。イベント処理ル
ープ504は、無限ループの状態を保持し、イベントが
生じたとき起動されこのイベントに対応するコールバッ
クルーチンを呼び出す手続きである。イベント処理ルー
プ504は、終了イベントを受け取った時点で終了し、
終了処理呼出し505に制御を渡す。なお終了イベント
は、プログラムの実行を終了する操作、例えば画面上の
終了ボタンが押されたとき等によって生じるイベントで
ある。終了処理呼出し505は、終了処理部510を呼
び出す手続きである。初期処理部506は、各画面1〜
nについての初期処理507から成る。各画面に対する
初期処理507は、画面の表示用データを格納する記憶
領域を確保して表示用データを生成する生成処理508
と、各画面で発生する各イベントとコールバックルーチ
ンとの対応づけを行う登録処理509とから成る。図5
の例では、各画面表示用データIDのイベントmに対し
てコールバックルーチンkを対応づけている。ここで表
示用データIDとは画面対応に設けた内部的な表示用デ
ータの識別子である。終了処理部510は、初期処理で
生成された各画面1〜nの表示用データをその記憶領域
とともに開放する解放処理511を行う。コールバック
処理部512は、それぞれのコールバックルーチンを呼
び出し可能な関数などの形で定義した部分である。
【0020】図6は、画面遷移抽出手段103及び画面
遷移定義手段104の処理の流れを示すフローチャート
である。以下図6を用いて画面定義情報106から状態
及びイベントを抽出して画面遷移定義情報107を更新
する動作を説明する。画面遷移抽出手段103は、画面
定義手段102が1つの画面についての画面定義情報を
入力するたびに呼び出される。画面遷移抽出手段103
は、まず入力された画面定義情報106から画面名30
1を取り出し、画面遷移定義情報107の状態遷移表4
01に新たな状態名402を追加する(ステップ60
1)。次に定義した画面を構成する画面構成部品名30
2及び種別303を取り出し(ステップ602)、画面
構成部品名302と種別303とからイベント名を決定
する(ステップ603)。イベントは、例えば画面構成
部品の種別がボタンであればボタン押下等のように種別
に応じて種類が特定される。そしてイベントの種別に画
面構成部品名302を付加することによって、どの部品
のどのようなイベントであるかが特定できるイベント名
にする。次に画面遷移抽出手段103は画面遷移定義手
段104を介して決定したイベント名についてそれが状
態遷移表401中に既にあるイベント名であるか否かを
調べる(ステップ604)。例えば複数の画面で同じ名
前を持つボタンがある場合にはそれらは同じイベントを
発生することになるため、状態遷移表401上では別々
のイベントとしてではなく同じイベントとして登録する
必要がある。このためもし既に同じイベント名が状態遷
移表401中にある場合は新しいイベント名の追加は行
わない。画面遷移抽出手段103は状態遷移表中にイベ
ント名がない場合に画面遷移定義手段104を介して新
しいイベント名を追加する(ステップ605)。以上の
イベント名の追加処理が終わると、画面遷移抽出手段1
03は画面定義情報106の中に次の画面構成部品があ
るかどうかを調べる(ステップ606)。もしある場合
にはステップ602からの処理ステップを繰り返し、な
い場合には処理を終了する。
遷移定義手段104の処理の流れを示すフローチャート
である。以下図6を用いて画面定義情報106から状態
及びイベントを抽出して画面遷移定義情報107を更新
する動作を説明する。画面遷移抽出手段103は、画面
定義手段102が1つの画面についての画面定義情報を
入力するたびに呼び出される。画面遷移抽出手段103
は、まず入力された画面定義情報106から画面名30
1を取り出し、画面遷移定義情報107の状態遷移表4
01に新たな状態名402を追加する(ステップ60
1)。次に定義した画面を構成する画面構成部品名30
2及び種別303を取り出し(ステップ602)、画面
構成部品名302と種別303とからイベント名を決定
する(ステップ603)。イベントは、例えば画面構成
部品の種別がボタンであればボタン押下等のように種別
に応じて種類が特定される。そしてイベントの種別に画
面構成部品名302を付加することによって、どの部品
のどのようなイベントであるかが特定できるイベント名
にする。次に画面遷移抽出手段103は画面遷移定義手
段104を介して決定したイベント名についてそれが状
態遷移表401中に既にあるイベント名であるか否かを
調べる(ステップ604)。例えば複数の画面で同じ名
前を持つボタンがある場合にはそれらは同じイベントを
発生することになるため、状態遷移表401上では別々
のイベントとしてではなく同じイベントとして登録する
必要がある。このためもし既に同じイベント名が状態遷
移表401中にある場合は新しいイベント名の追加は行
わない。画面遷移抽出手段103は状態遷移表中にイベ
ント名がない場合に画面遷移定義手段104を介して新
しいイベント名を追加する(ステップ605)。以上の
イベント名の追加処理が終わると、画面遷移抽出手段1
03は画面定義情報106の中に次の画面構成部品があ
るかどうかを調べる(ステップ606)。もしある場合
にはステップ602からの処理ステップを繰り返し、な
い場合には処理を終了する。
【0021】図7は、遷移先画面抽出手段105及び画
面遷移定義手段104の処理の流れを示すフローチャー
トである。以下図7を用いて画面遷移定義手段104が
入力した画面遷移処理405から遷移先画面を抽出して
遷移先状態を決定する動作を説明する。遷移先画面抽出
手段105は、各表示画面の各イベントごとに画面遷移
定義手段104を介して画面遷移処理405を取り出
し、記述された処理を1行ずつ分析し、別の新たな画面
を表示する処理があるかどうかを調べる(ステップ70
1)。通常新たな画面を表示する場合の処理は画面表示
用関数の呼び出しの形となるため、ここでは画面表示用
関数の呼び出しがあるかどうかを調べる。画面表示用処
理が見つかった場合には、遷移先画面抽出手段105は
新たに表示する画面の画面名を遷移先状態名として画面
遷移定義手段104を介して状態遷移表401の当該画
面遷移処理405に対応する遷移先画面名406を設定
する(ステップ702)。もし別の画面を表示する処理
がない場合には、次に現在表示している画面の表示を終
了する処理があるかどうかを調べる(ステップ70
3)。これも同様に画面表示終了用の関数呼び出しがあ
るかどうかを調べる。もし見つかった場合には、現在表
示中の画面を終了して元々表示していた画面に戻ること
を意味している。よって遷移元画面を調べるため遷移先
画面抽出手段105は画面遷移定義手段104を介して
状態遷移表401を検索し、遷移先状態名に現在表示し
ている画面の状態名を持つ状態を見つける(ステップ7
04)。遷移先画面抽出手段105はここで見つかった
状態を遷移先状態名として画面遷移定義手段104を介
して状態遷移表401の当該画面遷移処理405に対応
する遷移先画面名406を設定する(ステップ70
5)。ステップ701及び703の検索でどちらも見つ
からなかった場合には、画面遷移は起らないため遷移先
画面抽出手段105は遷移先状態名を現在の画面名とし
て画面遷移定義手段104を介して状態遷移表401に
遷移先画面名406を設定する(ステップ706)。
面遷移定義手段104の処理の流れを示すフローチャー
トである。以下図7を用いて画面遷移定義手段104が
入力した画面遷移処理405から遷移先画面を抽出して
遷移先状態を決定する動作を説明する。遷移先画面抽出
手段105は、各表示画面の各イベントごとに画面遷移
定義手段104を介して画面遷移処理405を取り出
し、記述された処理を1行ずつ分析し、別の新たな画面
を表示する処理があるかどうかを調べる(ステップ70
1)。通常新たな画面を表示する場合の処理は画面表示
用関数の呼び出しの形となるため、ここでは画面表示用
関数の呼び出しがあるかどうかを調べる。画面表示用処
理が見つかった場合には、遷移先画面抽出手段105は
新たに表示する画面の画面名を遷移先状態名として画面
遷移定義手段104を介して状態遷移表401の当該画
面遷移処理405に対応する遷移先画面名406を設定
する(ステップ702)。もし別の画面を表示する処理
がない場合には、次に現在表示している画面の表示を終
了する処理があるかどうかを調べる(ステップ70
3)。これも同様に画面表示終了用の関数呼び出しがあ
るかどうかを調べる。もし見つかった場合には、現在表
示中の画面を終了して元々表示していた画面に戻ること
を意味している。よって遷移元画面を調べるため遷移先
画面抽出手段105は画面遷移定義手段104を介して
状態遷移表401を検索し、遷移先状態名に現在表示し
ている画面の状態名を持つ状態を見つける(ステップ7
04)。遷移先画面抽出手段105はここで見つかった
状態を遷移先状態名として画面遷移定義手段104を介
して状態遷移表401の当該画面遷移処理405に対応
する遷移先画面名406を設定する(ステップ70
5)。ステップ701及び703の検索でどちらも見つ
からなかった場合には、画面遷移は起らないため遷移先
画面抽出手段105は遷移先状態名を現在の画面名とし
て画面遷移定義手段104を介して状態遷移表401に
遷移先画面名406を設定する(ステップ706)。
【0022】図8は、画面定義情報106から画面表示
用データに関する初期処理と終了処理を生成する画面デ
ータ処理生成手段109の処理の流れを示すフローチャ
ートである。まず画面定義情報106から1つの画面に
対する画面情報を取得する(ステップ801)。次に取
り出した画面情報を変換してプログラムが参照し易い形
式の画面表示用データを生成する生成処理508を初期
処理として作成する(ステップ802)。プログラム実
行中に画面を表示する場合にはこの初期処理で作成した
画面表示用データを用いる。次にプログラム終了時に実
行する画面表示用データの解放処理511を終了処理と
して生成する(ステップ803)。以上の処理を画面の
定義情報がなくなるまで繰り返す(ステップ804)。
用データに関する初期処理と終了処理を生成する画面デ
ータ処理生成手段109の処理の流れを示すフローチャ
ートである。まず画面定義情報106から1つの画面に
対する画面情報を取得する(ステップ801)。次に取
り出した画面情報を変換してプログラムが参照し易い形
式の画面表示用データを生成する生成処理508を初期
処理として作成する(ステップ802)。プログラム実
行中に画面を表示する場合にはこの初期処理で作成した
画面表示用データを用いる。次にプログラム終了時に実
行する画面表示用データの解放処理511を終了処理と
して生成する(ステップ803)。以上の処理を画面の
定義情報がなくなるまで繰り返す(ステップ804)。
【0023】図9は、状態遷移表形式で作成された画面
遷移定義情報107からコールバックルーチンとコール
バックルーチンの登録処理を生成するコールバック処理
生成手段110の処理の流れを示すフローチャートであ
る。まず状態遷移表401から状態として登録されてい
る画面名402を1つずつ取り出す(ステップ90
1)。次にこの該画面に対してステップ802で作成さ
れる画面表示用データ生成処理508の中から画面表示
用データのIDを取得する(ステップ902)。次に状
態遷移表401からイベント404を1つずつ取り出し
(ステップ903)、ステップ901で取得した画面名
402との組合せで画面遷移処理405が定義してある
か否かを調べる(ステップ904)。画面遷移処理40
5が空欄となっていて処理が定義されていない場合に
は、コールバックルーチンの生成を行わない。処理が定
義されている場合には、ステップ902で取得した画面
表示用データIDとステップ903で取得したイベント
との組合せに対して画面遷移処理405をコールバック
ルーチンとして登録するための処理509を生成する
(ステップ905)。この登録処理では通常コールバッ
クルーチンを関数名で登録するため、画面遷移処理40
5に対して関数名を決定し登録する。また画面遷移処理
405を決定された関数名を持つ関数の形にすることに
よりコールバックルーチン513を生成する(ステップ
906)。以上のステップ903〜906の処理を状態
遷移表401中のイベントがなくなるまで繰り返す(ス
テップ907)。またステップ901〜907の処理を
状態遷移表401中の画面名(状態名)がなくなるまで
繰返し(ステップ908)処理を終了する。
遷移定義情報107からコールバックルーチンとコール
バックルーチンの登録処理を生成するコールバック処理
生成手段110の処理の流れを示すフローチャートであ
る。まず状態遷移表401から状態として登録されてい
る画面名402を1つずつ取り出す(ステップ90
1)。次にこの該画面に対してステップ802で作成さ
れる画面表示用データ生成処理508の中から画面表示
用データのIDを取得する(ステップ902)。次に状
態遷移表401からイベント404を1つずつ取り出し
(ステップ903)、ステップ901で取得した画面名
402との組合せで画面遷移処理405が定義してある
か否かを調べる(ステップ904)。画面遷移処理40
5が空欄となっていて処理が定義されていない場合に
は、コールバックルーチンの生成を行わない。処理が定
義されている場合には、ステップ902で取得した画面
表示用データIDとステップ903で取得したイベント
との組合せに対して画面遷移処理405をコールバック
ルーチンとして登録するための処理509を生成する
(ステップ905)。この登録処理では通常コールバッ
クルーチンを関数名で登録するため、画面遷移処理40
5に対して関数名を決定し登録する。また画面遷移処理
405を決定された関数名を持つ関数の形にすることに
よりコールバックルーチン513を生成する(ステップ
906)。以上のステップ903〜906の処理を状態
遷移表401中のイベントがなくなるまで繰り返す(ス
テップ907)。またステップ901〜907の処理を
状態遷移表401中の画面名(状態名)がなくなるまで
繰返し(ステップ908)処理を終了する。
【0024】プログラム生成手段108は、図8及び図
9で説明した動作によって生成されるソースプログラム
の構成要素と定形のメイン処理部502とを合成するこ
とによりソースプログラムを生成する。
9で説明した動作によって生成されるソースプログラム
の構成要素と定形のメイン処理部502とを合成するこ
とによりソースプログラムを生成する。
【0025】
【発明の効果】本発明によれば、画面を定義した情報か
ら状態遷移表中の状態やイベント等の情報を自動生成で
きるため、状態遷移表への入力作業の手間を軽減でき
る。また画面定義情報と状態遷移表とから誤りの少ない
ソースプログラムを生成できるとともにプログラム作成
の手間を軽減できる。
ら状態遷移表中の状態やイベント等の情報を自動生成で
きるため、状態遷移表への入力作業の手間を軽減でき
る。また画面定義情報と状態遷移表とから誤りの少ない
ソースプログラムを生成できるとともにプログラム作成
の手間を軽減できる。
【図1】実施例の対話型プログラム開発支援装置の構成
図である。
図である。
【図2】画面定義を対話的に行うために画面定義手段が
表示する画面の例を示す図である。
表示する画面の例を示す図である。
【図3】画面定義手段によって作成される画面定義情報
の例を示す図である。
の例を示す図である。
【図4】画面遷移を表す状態遷移表の例を示す図であ
る。
る。
【図5】最終的に生成されるソースプログラムの構造の
概要を示す図である。
概要を示す図である。
【図6】画面定義情報から状態及びイベントを抽出して
画面遷移定義情報を更新する処理の流れを示すフローチ
ャートである。
画面遷移定義情報を更新する処理の流れを示すフローチ
ャートである。
【図7】入力された画面遷移処理から遷移先画面を抽出
して遷移先状態を決定する処理の流れを示すフローチャ
ートである。
して遷移先状態を決定する処理の流れを示すフローチャ
ートである。
【図8】画面定義情報から画面表示用データに関する初
期処理と終了処理を生成する画面データ処理生成手段の
処理の流れを示すフローチャートである。
期処理と終了処理を生成する画面データ処理生成手段の
処理の流れを示すフローチャートである。
【図9】状態遷移表形式で作成された画面遷移定義情報
からコールバックルーチンとコールバックルーチンの登
録処理を生成するコールバック処理生成手段の処理の流
れを示すフローチャートである。
からコールバックルーチンとコールバックルーチンの登
録処理を生成するコールバック処理生成手段の処理の流
れを示すフローチャートである。
101・・・端末装置、102・・・画面定義手段、1
03・・・画面遷移抽出手段、104・・・画面遷移定
義手段、105・・・遷移先画面抽出手段、106・・
・画面定義情報、107・・・画面遷移定義情報、10
8・・・プログラム生成手段、109・・・画面データ
処理生成手段、110・・・コールバック処理生成手
段、111・・・ソースプログラム
03・・・画面遷移抽出手段、104・・・画面遷移定
義手段、105・・・遷移先画面抽出手段、106・・
・画面定義情報、107・・・画面遷移定義情報、10
8・・・プログラム生成手段、109・・・画面データ
処理生成手段、110・・・コールバック処理生成手
段、111・・・ソースプログラム
Claims (3)
- 【請求項1】各表示画面ごとに該表示画面を構成する部
品の種別と表示位置とが定義される画面定義情報と、各
表示画面と該部品に施す操作によって生じるイベントと
の組み合わせに対応して行う処理が定義される画面遷移
定義情報とを記憶する記憶手段と、各表示画面について
該画面定義情報を作成する処理を行う画面定義手段と、
該画面定義手段が新しい表示画面について画面定義情報
を作成するごとに起動され、新しい表示画面とその部品
から定まるイベントとの組み合わせについての情報を該
画面遷移定義情報に追加する処理手段とを有することを
特徴とする対話型プログラムの開発支援装置。 - 【請求項2】該開発支援装置は、さらに該画面遷移定義
情報の該組み合わせに対応して行う処理を分析し、画面
の遷移先を決定する手段を設けたことを特徴とする請求
項1記載の対話型プログラムの開発支援装置。 - 【請求項3】各表示画面ごとに該表示画面を構成する部
品の種別と表示位置とが定義される画面定義情報と、各
表示画面と該部品に施す操作によって生じるイベントと
の組み合わせに対応して行う処理が定義される画面遷移
定義情報とを記憶する記憶手段と、該画面定義情報に基
づいて各表示画面の表示データを作成する処理プログラ
ムを生成し、該画面遷移定義情報の該組み合わせに対応
して行う処理をコールバックルーチンとして生成するプ
ログラム生成手段とを有することを特徴とする対話型プ
ログラムの開発支援装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7000550A JPH08190476A (ja) | 1995-01-06 | 1995-01-06 | 対話型プログラムの開発支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7000550A JPH08190476A (ja) | 1995-01-06 | 1995-01-06 | 対話型プログラムの開発支援装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08190476A true JPH08190476A (ja) | 1996-07-23 |
Family
ID=11476838
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7000550A Pending JPH08190476A (ja) | 1995-01-06 | 1995-01-06 | 対話型プログラムの開発支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08190476A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6211872B1 (en) | 1998-03-31 | 2001-04-03 | Fujitsu Limited | Apparatus for constructing and operating interactive software |
| JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
| JP2006085526A (ja) * | 2004-09-17 | 2006-03-30 | Motomasa Kawai | システム開発における生産性向上のための情報処理システム |
| JP2007048309A (ja) * | 2006-09-29 | 2007-02-22 | Mitsubishi Electric Corp | ユーザインタフェース装置およびユーザインタフェース装置用プログラム |
| JP2007287025A (ja) * | 2006-04-19 | 2007-11-01 | Nec Corp | 画面遷移プログラム生成方法及び装置 |
| JP2011159325A (ja) * | 2011-05-12 | 2011-08-18 | Mitsubishi Electric Corp | ユーザインタフェース装置 |
| US11194307B2 (en) | 2018-02-16 | 2021-12-07 | Fanuc Corporation | Controller and control system for execution of a callback operation for an industrial machine |
-
1995
- 1995-01-06 JP JP7000550A patent/JPH08190476A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6211872B1 (en) | 1998-03-31 | 2001-04-03 | Fujitsu Limited | Apparatus for constructing and operating interactive software |
| JP2002244848A (ja) * | 2001-02-14 | 2002-08-30 | Mitsubishi Electric Corp | ユーザインタフェース設計装置 |
| JP2006085526A (ja) * | 2004-09-17 | 2006-03-30 | Motomasa Kawai | システム開発における生産性向上のための情報処理システム |
| JP2007287025A (ja) * | 2006-04-19 | 2007-11-01 | Nec Corp | 画面遷移プログラム生成方法及び装置 |
| JP2007048309A (ja) * | 2006-09-29 | 2007-02-22 | Mitsubishi Electric Corp | ユーザインタフェース装置およびユーザインタフェース装置用プログラム |
| JP2011159325A (ja) * | 2011-05-12 | 2011-08-18 | Mitsubishi Electric Corp | ユーザインタフェース装置 |
| US11194307B2 (en) | 2018-02-16 | 2021-12-07 | Fanuc Corporation | Controller and control system for execution of a callback operation for an industrial machine |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Myers | User-interface tools: Introduction and survey | |
| US5956029A (en) | User interface conversion method and apparatus | |
| JP3441309B2 (ja) | 図的プログラミングにおける機能オブジェクトの表示方法 | |
| JP2002229783A (ja) | ソフトウェア構築支援システム、その方法およびソフトウェア構築支援プログラム | |
| JPH07219736A (ja) | マルチメディア適用業務の作成方法 | |
| JPH06266521A (ja) | ユーザインタフェースカスタマイズ方式及び装置 | |
| JPH08190476A (ja) | 対話型プログラムの開発支援装置 | |
| JP3288460B2 (ja) | 表示データ生成装置及び方法 | |
| JP2002014845A (ja) | テスト・スクリプト部品の自動生成方法および装置 | |
| JP6919420B2 (ja) | 情報処理装置、情報処理方法、プログラムおよび情報処理システム | |
| US20040255303A1 (en) | State machine programming language, a method of computer programming and a data processing system implementing the same | |
| JPH10222356A (ja) | アプリケーション作成装置及びアプリケーション作成方法 | |
| JPH04238534A (ja) | 項目単位型画面入出力制御方式 | |
| JPH06332645A (ja) | データ入出力画面構築方式 | |
| JP2001051771A (ja) | 画像処理システム及び方法 | |
| JPH01244521A (ja) | データ操作方式 | |
| JPH1063491A (ja) | プログラム開発支援装置および方法 | |
| JPH05204627A (ja) | メニュー表示処理装置 | |
| JPH06149776A (ja) | ペトリネットに基づくシミュレーション装置 | |
| JP2000148324A (ja) | グラフィックユーザインタフェース作成装置及び作成方法 | |
| JPH11338682A (ja) | プログラム作成支援装置及びプログラム作成支援方法 | |
| JP2003196088A (ja) | 既存プログラムを再利用する新プログラム生成方法及び装置 | |
| JPH05158644A (ja) | メニュー処理装置 | |
| JP2000172496A (ja) | プラント監視対話画面生成装置 | |
| JPH0773001A (ja) | デモ用画面作成・表示方式 |