JP3492014B2 - データ入出力方法及び計算機装置 - Google Patents
データ入出力方法及び計算機装置Info
- Publication number
- JP3492014B2 JP3492014B2 JP09191195A JP9191195A JP3492014B2 JP 3492014 B2 JP3492014 B2 JP 3492014B2 JP 09191195 A JP09191195 A JP 09191195A JP 9191195 A JP9191195 A JP 9191195A JP 3492014 B2 JP3492014 B2 JP 3492014B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- output
- screen
- type
- 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.)
- Expired - Fee Related
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
Description
【0001】
【産業上の利用分野】本発明は、電子計算機においてア
プリケーションプログラムを実行する際に、アプリケー
ションプログラムへユーザからアプリケーションプログ
ラムに対するデータの入力あるいはアプリケーションプ
ログラムからのデータの出力を司る表示画面を計算機の
表示装置に出現させ、この表示画面を介してアプリケー
ションプログラムとユーザとの間のデータの入出力を行
うデータ入出力方法、及び、このようなデータ入出力方
法を行うために予め計算機に具備されているべきデータ
入出力装置に関する。
プリケーションプログラムを実行する際に、アプリケー
ションプログラムへユーザからアプリケーションプログ
ラムに対するデータの入力あるいはアプリケーションプ
ログラムからのデータの出力を司る表示画面を計算機の
表示装置に出現させ、この表示画面を介してアプリケー
ションプログラムとユーザとの間のデータの入出力を行
うデータ入出力方法、及び、このようなデータ入出力方
法を行うために予め計算機に具備されているべきデータ
入出力装置に関する。
【0002】
【従来の技術】ビットマップディスプレイやキャラクタ
ディスプレイあるいはグラフィックディスプレイ等の端
末装置の画面を通してユーザとの入出力を行うプログラ
ムを開発する場合、従来は、プログラマがまず使用する
端末装置(表示装置を備える計算機)の持つ画面のサイ
ズや表示できる文字や図形等の制限(以下「仕様」と呼
ぶ)を念頭において画面設計を行った。次に使用する端
末装置あるいはその端末装置上で動作しているウィンド
ウシステムの持つ制御コードやコマンドを組み合せて、
その画面を表示するプログラムを作成する必要があっ
た。このようなプログラムの作成は、画面上の文字や図
形の配置を意識した細かくて煩雑なものであった。
ディスプレイあるいはグラフィックディスプレイ等の端
末装置の画面を通してユーザとの入出力を行うプログラ
ムを開発する場合、従来は、プログラマがまず使用する
端末装置(表示装置を備える計算機)の持つ画面のサイ
ズや表示できる文字や図形等の制限(以下「仕様」と呼
ぶ)を念頭において画面設計を行った。次に使用する端
末装置あるいはその端末装置上で動作しているウィンド
ウシステムの持つ制御コードやコマンドを組み合せて、
その画面を表示するプログラムを作成する必要があっ
た。このようなプログラムの作成は、画面上の文字や図
形の配置を意識した細かくて煩雑なものであった。
【0003】さらに、このようにして作成した画面表示
のためのプログラムは特定の端末装置の機種(仕様)に
依存しており、新しい端末装置を用いる場合には新たに
プログラムを作成しなければならなかった。
のためのプログラムは特定の端末装置の機種(仕様)に
依存しており、新しい端末装置を用いる場合には新たに
プログラムを作成しなければならなかった。
【0004】これは、一種類のアプリケ−ションプログ
ラムに対して端末装置の機種数だけ異なる画面表示のた
めのプログラムを作成しなければならないことを意味す
る。したがって、プログラマは、アプリケーションプロ
グラムの数をnとし、端末装置の機種の数をmとする
と、n×mの数だけ画面表示のためのプログラムを作成
しなければならなかった。
ラムに対して端末装置の機種数だけ異なる画面表示のた
めのプログラムを作成しなければならないことを意味す
る。したがって、プログラマは、アプリケーションプロ
グラムの数をnとし、端末装置の機種の数をmとする
と、n×mの数だけ画面表示のためのプログラムを作成
しなければならなかった。
【0005】このような画面を用いて入出力を行うプロ
グラムの作成を容易化する方法として、フォームジェネ
レータあるいはGUIビルダと呼ばれるソフトウェアが
用いられることもある。これらのソフトウェアは、入出
力に用いたい画面上の配置をプログラマが定義すると、
その画面を表示するプログラムを自動生成するものであ
る。このようなソフトウェアを用いることによって画面
の配置の設計が一部楽にはなるが、画面の設計とアプリ
ケーションプログラム本体の設計が分かれるため、一方
を変更するとそれに合わせてもう一方も変更する必要が
あった。またこのようにして作成したプログラムは、や
はり特定の端末装置の機種に依存したものとなってい
る。したがって、n×mの数だけ画面表示のためのプロ
グラムの作成が必要であるという問題は解決していなか
った。
グラムの作成を容易化する方法として、フォームジェネ
レータあるいはGUIビルダと呼ばれるソフトウェアが
用いられることもある。これらのソフトウェアは、入出
力に用いたい画面上の配置をプログラマが定義すると、
その画面を表示するプログラムを自動生成するものであ
る。このようなソフトウェアを用いることによって画面
の配置の設計が一部楽にはなるが、画面の設計とアプリ
ケーションプログラム本体の設計が分かれるため、一方
を変更するとそれに合わせてもう一方も変更する必要が
あった。またこのようにして作成したプログラムは、や
はり特定の端末装置の機種に依存したものとなってい
る。したがって、n×mの数だけ画面表示のためのプロ
グラムの作成が必要であるという問題は解決していなか
った。
【0006】
【発明が解決しようとする課題】本発明は、上述した問
題点に鑑み、画面を介して入出力を行うアプリケーショ
ンプログラムの開発において、各アプリケーション毎に
画面の詳細な設計を行い画面表示のためのプログラムの
作成を行う作業を不要にすることによって、プログラム
の作成を容易にすると共に、画面を介して入出力を行う
アプリケーションプログラムを端末装置の機種に依存し
ない形で作成できるようにすることを目的とする。
題点に鑑み、画面を介して入出力を行うアプリケーショ
ンプログラムの開発において、各アプリケーション毎に
画面の詳細な設計を行い画面表示のためのプログラムの
作成を行う作業を不要にすることによって、プログラム
の作成を容易にすると共に、画面を介して入出力を行う
アプリケーションプログラムを端末装置の機種に依存し
ない形で作成できるようにすることを目的とする。
【0007】
【課題を解決するための手段】本発明(請求項1)は、
ユーザからアプリケーションプログラムに対するデータ
の入力あるいはアプリケーションプログラムからのデー
タの出力を司るアプリケーションプログラムの画面を計
算機の表示装置に出現させ、この画面を介してアプリケ
ーションプログラムとユーザとの間のデータの入出力を
行うデータ入出力方法において、該アプリケーションプ
ログラムは、特定の計算機の表示機能に依存しないデー
タの型であって、入力及び出力の少なくとも一方を行う
該データの型の記述を含み、該計算機は、各データの型
と該計算機の表示機能に依存した表示すべき画面の各部
分構成とをそれぞれ対応付けた組を複数備えた選択規
則、および、該計算機の表示機能に依存した、画面全体
の構成を求めるための配置規則を予め記憶する記憶部を
備えており、該計算機は、アプリケーションプログラム
から入力及び出力の少なくとも一方を行うデータの型の
定義を全て抽出し、これら抽出された各データの型の定
義のそれぞれに基づき、前記記憶部に記憶される前記選
択規則を参照し、各データの型に対応した画面上での部
分構成をそれぞれ決定し、該決定された各部分構成の画
面上での全体的な配置を、前記記憶部に記憶される前記
配置規則を参照して決定し、該計算機によってアプリケ
ーションプログラムの実行時に、該決定された配置に従
った画面を前記表示装置に出現させ、この出現させた画
面を介してアプリケーションプログラムとユーザとの間
のデータの入出力を行うことを特徴とする。
ユーザからアプリケーションプログラムに対するデータ
の入力あるいはアプリケーションプログラムからのデー
タの出力を司るアプリケーションプログラムの画面を計
算機の表示装置に出現させ、この画面を介してアプリケ
ーションプログラムとユーザとの間のデータの入出力を
行うデータ入出力方法において、該アプリケーションプ
ログラムは、特定の計算機の表示機能に依存しないデー
タの型であって、入力及び出力の少なくとも一方を行う
該データの型の記述を含み、該計算機は、各データの型
と該計算機の表示機能に依存した表示すべき画面の各部
分構成とをそれぞれ対応付けた組を複数備えた選択規
則、および、該計算機の表示機能に依存した、画面全体
の構成を求めるための配置規則を予め記憶する記憶部を
備えており、該計算機は、アプリケーションプログラム
から入力及び出力の少なくとも一方を行うデータの型の
定義を全て抽出し、これら抽出された各データの型の定
義のそれぞれに基づき、前記記憶部に記憶される前記選
択規則を参照し、各データの型に対応した画面上での部
分構成をそれぞれ決定し、該決定された各部分構成の画
面上での全体的な配置を、前記記憶部に記憶される前記
配置規則を参照して決定し、該計算機によってアプリケ
ーションプログラムの実行時に、該決定された配置に従
った画面を前記表示装置に出現させ、この出現させた画
面を介してアプリケーションプログラムとユーザとの間
のデータの入出力を行うことを特徴とする。
【0008】 本発明(請求項2)は、特定の計算機の
表示機能に依存しないデータの型であって、入力及び出
力の少なくとも一方を行う該データの型の記述を含むア
プリケーションプログラムへの、ユーザからのデータの
入力あるいは該アプリケーションプログラムからのデー
タの出力を司る画面を表示可能である表示手段を備える
計算機装置において、各データの型と該表示手段に依存
した表示すべき画面の各部分構成とをそれぞれ対応付け
た組を複数備えた選択規則、および、該表示手段に依存
した、画面全体の構成を求めるための配置規則を予め記
憶する記憶手段と、該アプリケーションプログラムから
入力及び出力の少なくとも一方を行うデータの型の定義
を全て抽出する抽出手段と、前記抽出手段によって抽出
された各データの型の定義のそれぞれに基づき、前記記
憶手段に記憶される前記選択規則を参照し、各データの
型に対応した画面上での部分構成をそれぞれ選択する選
択手段と、前記選択部で選択された該各部分構成の全体
的な配置を、前記記憶手段に記憶される前記配置規則を
参照し決定する画面配置決定手段と、該アプリケーショ
ンプログラムの実行時に、前記画面配置決定手段で決定
された全体的な配置に基づく画面を前記表示手段に表示
させる表示制御手段と、前記表示手段を介して入力され
るデータの前記アプリケーションプログラムへの送信、
または、前記アプリケーションプログラムから出力され
るデータの前記表示手段の画面を介した提示の少なくと
も一方を行う入出力制御手段と、前記入出力制御手段に
より送信されたデータを用いた前記アプリケーションプ
ログラムの実行及び入出力制御手段に対する前記アプリ
ケーションプログラムの実行結果の出力の少なくとも一
方を行う実行手段とを備えたことを特徴とする。
表示機能に依存しないデータの型であって、入力及び出
力の少なくとも一方を行う該データの型の記述を含むア
プリケーションプログラムへの、ユーザからのデータの
入力あるいは該アプリケーションプログラムからのデー
タの出力を司る画面を表示可能である表示手段を備える
計算機装置において、各データの型と該表示手段に依存
した表示すべき画面の各部分構成とをそれぞれ対応付け
た組を複数備えた選択規則、および、該表示手段に依存
した、画面全体の構成を求めるための配置規則を予め記
憶する記憶手段と、該アプリケーションプログラムから
入力及び出力の少なくとも一方を行うデータの型の定義
を全て抽出する抽出手段と、前記抽出手段によって抽出
された各データの型の定義のそれぞれに基づき、前記記
憶手段に記憶される前記選択規則を参照し、各データの
型に対応した画面上での部分構成をそれぞれ選択する選
択手段と、前記選択部で選択された該各部分構成の全体
的な配置を、前記記憶手段に記憶される前記配置規則を
参照し決定する画面配置決定手段と、該アプリケーショ
ンプログラムの実行時に、前記画面配置決定手段で決定
された全体的な配置に基づく画面を前記表示手段に表示
させる表示制御手段と、前記表示手段を介して入力され
るデータの前記アプリケーションプログラムへの送信、
または、前記アプリケーションプログラムから出力され
るデータの前記表示手段の画面を介した提示の少なくと
も一方を行う入出力制御手段と、前記入出力制御手段に
より送信されたデータを用いた前記アプリケーションプ
ログラムの実行及び入出力制御手段に対する前記アプリ
ケーションプログラムの実行結果の出力の少なくとも一
方を行う実行手段とを備えたことを特徴とする。
【0009】
【0010】
【作用】本発明によれば、データの入出力を行うアプリ
ケーションプログラムは、入出力を行いたいデータの型
をデータ入出力装置に伝える。データ入出力装置は受け
取ったデータ型のデータの入出力に必要な画面を合成
し、その画面を用いてアプリケーションプログラムとユ
ーザとの間のデータの入出力を行う。
ケーションプログラムは、入出力を行いたいデータの型
をデータ入出力装置に伝える。データ入出力装置は受け
取ったデータ型のデータの入出力に必要な画面を合成
し、その画面を用いてアプリケーションプログラムとユ
ーザとの間のデータの入出力を行う。
【0011】第1の発明は、アプリケーションプログラ
ムの実行時に行われる動作手順についてのものである。
第2の発明は、このような動作が行われるために、計算
機のシステム側が備えるべき手段についてのものであ
る。ここで言うデータ入出力装置とは、計算機のシステ
ムにソフトウェアがインストールされることにより、計
算機の内部に仮想的に上述した手段を備える装置に相当
する機能が形成された場合には、その機能を実現する部
分を指すものである。
ムの実行時に行われる動作手順についてのものである。
第2の発明は、このような動作が行われるために、計算
機のシステム側が備えるべき手段についてのものであ
る。ここで言うデータ入出力装置とは、計算機のシステ
ムにソフトウェアがインストールされることにより、計
算機の内部に仮想的に上述した手段を備える装置に相当
する機能が形成された場合には、その機能を実現する部
分を指すものである。
【0012】このように、アプリケーションプログラム
実行時に入出力を行いたいデータ型から自動的に画面を
作成するため、アプリケーションプログラムのプログラ
マは、画面上の細かな配置を指定して画面表示のための
プログラムを予め作成しておく必要がなくなる。
実行時に入出力を行いたいデータ型から自動的に画面を
作成するため、アプリケーションプログラムのプログラ
マは、画面上の細かな配置を指定して画面表示のための
プログラムを予め作成しておく必要がなくなる。
【0013】また、自動的に画面を作成する際に用いる
ために記憶されているデータ型と表示すべき画面の構成
との対応関係は、端末装置の機種に適合したものである
から、同じアプリケーションプログラムを複数の異なる
端末装置で用いることが可能になり、アプリケーション
プログラムが端末装置の機種に依存することをなくすこ
とができる。
ために記憶されているデータ型と表示すべき画面の構成
との対応関係は、端末装置の機種に適合したものである
から、同じアプリケーションプログラムを複数の異なる
端末装置で用いることが可能になり、アプリケーション
プログラムが端末装置の機種に依存することをなくすこ
とができる。
【0014】さらに、本データ入出力装置はアプリケー
ションプログラム毎に異なるものを設ける必要はなく、
アプリケーションプログラムの数をnとし、端末装置の
機種の数をmとすると、本データ入力装置がm個存在さ
えすれば、どのアプリケーションプログラムをどの端末
装置で実行する際にも、画面を介したデータの入出力が
自動的に実現できる。
ションプログラム毎に異なるものを設ける必要はなく、
アプリケーションプログラムの数をnとし、端末装置の
機種の数をmとすると、本データ入力装置がm個存在さ
えすれば、どのアプリケーションプログラムをどの端末
装置で実行する際にも、画面を介したデータの入出力が
自動的に実現できる。
【0015】
【実施例】本発明の一実施例を説明する。
【0016】アプリケーションプログラムは入出力を行
いたいデータのデータ型の定義を本実施例のデータ入出
力装置に渡す。このとき用いるデータ型は、アプリケー
ションプログラムを記述しているプログラミング言語の
持つデータ型を用いることも可能であるし、例えば『Th
e Common Object Request Broker: Architecture andSp
ecification』(Object Management Group発行) に開示
されているCORBA/IDLのような特定のプログラミング言
語に依存しないデータ型を用いることもできる。
いたいデータのデータ型の定義を本実施例のデータ入出
力装置に渡す。このとき用いるデータ型は、アプリケー
ションプログラムを記述しているプログラミング言語の
持つデータ型を用いることも可能であるし、例えば『Th
e Common Object Request Broker: Architecture andSp
ecification』(Object Management Group発行) に開示
されているCORBA/IDLのような特定のプログラミング言
語に依存しないデータ型を用いることもできる。
【0017】ここではCORBA/IDL を用いる場合の実施例
を示すが、他のデータ型を用いる場合も本実施例と同様
に扱うことが可能である。
を示すが、他のデータ型を用いる場合も本実施例と同様
に扱うことが可能である。
【0018】データ入出力装置の入出力欄選択部2(後
述する)にデータ型の定義を与えるためには、入出力欄
選択部2によって解釈可能なデータとしてデータ型を表
現する必要がある。これは例えば図2及び図3(図2の
続き)に示すようなC 言語の構造体によってCORBA/IDL
のデータ型を表現するデータ型によって実現することが
可能である。図2及び図3において typecode という名
前を持つ構造体が、データ型を表現するデータ型であ
る。 typecode 構造体中の kind フィールドが、int か
char か構造体かといった型の種類を表現し、構造体は
配列のような複合型の場合はそれぞれの型の定義に必要
な情報を例えば構造体なら t_struct というフィール
ドに持っている。
述する)にデータ型の定義を与えるためには、入出力欄
選択部2によって解釈可能なデータとしてデータ型を表
現する必要がある。これは例えば図2及び図3(図2の
続き)に示すようなC 言語の構造体によってCORBA/IDL
のデータ型を表現するデータ型によって実現することが
可能である。図2及び図3において typecode という名
前を持つ構造体が、データ型を表現するデータ型であ
る。 typecode 構造体中の kind フィールドが、int か
char か構造体かといった型の種類を表現し、構造体は
配列のような複合型の場合はそれぞれの型の定義に必要
な情報を例えば構造体なら t_struct というフィール
ドに持っている。
【0019】CORBA/IDL には、データ型を表現するメタ
なデータ型として TypeCode と呼ぶ型が定義されてい
る。図2及び図3における typecode 型の構造体は、CO
RBA/IDL のデータ型における TypeCode をC 言語のデー
タ型に変換したものである。
なデータ型として TypeCode と呼ぶ型が定義されてい
る。図2及び図3における typecode 型の構造体は、CO
RBA/IDL のデータ型における TypeCode をC 言語のデー
タ型に変換したものである。
【0020】以下、本実施例では、アプリケーションプ
ログラムから入出力欄選択部2に渡されるデータの型定
義は、CORBA/IDL のTypeCode型のデータとしてで渡され
るものとして説明する。
ログラムから入出力欄選択部2に渡されるデータの型定
義は、CORBA/IDL のTypeCode型のデータとしてで渡され
るものとして説明する。
【0021】図4及び図5(図4の続き)に本実施例の
データ入出力装置を用いるアプリケーションプログラム
の例を示す。この例のアプリケーションプログラムは、
CORBA/IDL のデータ型とC 言語の文法を持つオブジェク
ト指向言語で記述されている。
データ入出力装置を用いるアプリケーションプログラム
の例を示す。この例のアプリケーションプログラムは、
CORBA/IDL のデータ型とC 言語の文法を持つオブジェク
ト指向言語で記述されている。
【0022】図示したプログラム中でuim は本発明のデ
ータ入出力装置に対応するオブジェクトである。uim.in
put 命令は第3 の引数に渡したデータ型の入力欄を作成
することをuim オブジェクトに指示している。これによ
って、uim オブジェクトによって実現されている本実施
例の入出力欄選択部2に入力したいデータのデータ型定
義が渡される。同様にuim.output命令は第3 の引数に渡
したデータ型の出力欄を作成することをuim オブジェク
トに指示している。uim.event 命令は、ボタンのよう
に、その欄に対応付けられた動作を起動する欄を生成す
ることを指示する命令である。起動する動作は、第3 引
数に関数へのポインタとして与える。
ータ入出力装置に対応するオブジェクトである。uim.in
put 命令は第3 の引数に渡したデータ型の入力欄を作成
することをuim オブジェクトに指示している。これによ
って、uim オブジェクトによって実現されている本実施
例の入出力欄選択部2に入力したいデータのデータ型定
義が渡される。同様にuim.output命令は第3 の引数に渡
したデータ型の出力欄を作成することをuim オブジェク
トに指示している。uim.event 命令は、ボタンのよう
に、その欄に対応付けられた動作を起動する欄を生成す
ることを指示する命令である。起動する動作は、第3 引
数に関数へのポインタとして与える。
【0023】uim.dialogは、uim.input 命令やuim.outp
ut命令、uim.event 命令、さらに再帰的にuim.dialog命
令で作成される入出力欄の間に階層関係定義するために
用いる。つまり、input やoutput、event 、dialog命令
の第2 引数には、その階層上の親となるdialogを指定で
き、これによって階層構造を定義できる。dialogはinpu
t やoutput、event 、dialogを含んだ画面上の意味のあ
るまとまりを示すものである。uim.input で作成した入
力欄からは、入力命令であるget 命令で値を入力するこ
とができる。uim.outputで作成した出力欄には、出力命
令であるput 命令で値を出力することができる。
ut命令、uim.event 命令、さらに再帰的にuim.dialog命
令で作成される入出力欄の間に階層関係定義するために
用いる。つまり、input やoutput、event 、dialog命令
の第2 引数には、その階層上の親となるdialogを指定で
き、これによって階層構造を定義できる。dialogはinpu
t やoutput、event 、dialogを含んだ画面上の意味のあ
るまとまりを示すものである。uim.input で作成した入
力欄からは、入力命令であるget 命令で値を入力するこ
とができる。uim.outputで作成した出力欄には、出力命
令であるput 命令で値を出力することができる。
【0024】また本実施例では、入出力欄の画面への表
示にMIT で開発されたX ウィンドウシステムおよびその
標準的なツールキットであるOSF(Open Software Founda
tion) のMotif ツールキットを用いる場合について説明
するが、Microsoft 社のWindows を用いる場合も同様の
方式で実施可能である。
示にMIT で開発されたX ウィンドウシステムおよびその
標準的なツールキットであるOSF(Open Software Founda
tion) のMotif ツールキットを用いる場合について説明
するが、Microsoft 社のWindows を用いる場合も同様の
方式で実施可能である。
【0025】図1は本発明の構成を説明する説明図であ
る。この図において、1はアプリケーションプログラム
記憶部、6はアプリケーションプログラム実行部、2は
アプリケーションプログラム(1)から入出力を行いた
いデータ型の定義を一つまたは複数受け取り、受け取っ
たデータ型に対応してその入出力に必要な表示画面上の
入出力欄の種類を選択する入手力欄選択部、3は2で選
択した複数の入出力欄の画面上での配置を決定する画面
配置決定部、4は3で決定された配置に従って2で選択
した入出力欄を画面上に表示し、アプリケーションプロ
グラム(6)から渡された出力データを対応する出力欄
に表示し、アプリケーションプログラム(6)から要求
されたデータの入力を対応する入力欄を通して実行する
対話制御部、5は入出力欄を含む画面が表示される表示
装置である。
る。この図において、1はアプリケーションプログラム
記憶部、6はアプリケーションプログラム実行部、2は
アプリケーションプログラム(1)から入出力を行いた
いデータ型の定義を一つまたは複数受け取り、受け取っ
たデータ型に対応してその入出力に必要な表示画面上の
入出力欄の種類を選択する入手力欄選択部、3は2で選
択した複数の入出力欄の画面上での配置を決定する画面
配置決定部、4は3で決定された配置に従って2で選択
した入出力欄を画面上に表示し、アプリケーションプロ
グラム(6)から渡された出力データを対応する出力欄
に表示し、アプリケーションプログラム(6)から要求
されたデータの入力を対応する入力欄を通して実行する
対話制御部、5は入出力欄を含む画面が表示される表示
装置である。
【0026】なお、入出力欄選択部2の処理の際は選択
規則記憶部7に記憶された情報を参照し、画面配置決定
部3の処理の際は配置規則記憶部8に記憶された情報を
参照する。記憶部7及び8は全体として、複数のデータ
型について、データ型とこの計算機の仕様に適合した表
示すべき画面の構成との対応関係の情報を記憶している
ことになる。また、入出力欄選択部2の前段は、アプリ
ケーションプログラムが入力及び出力の少なくとも一方
を行うデータのデータ型の定義を抽出する手段を含んで
おり、入出力欄選択部2の後段及び画面配置決定部3は
全体として、前記の抽出結果に基づき、前記の記憶され
た対応関係の情報を参照して、記憶部1に記憶され実行
部6で実行されつつあるアプリケーションプログラムに
対応する画面の構成を求める手段を含んでいる。
規則記憶部7に記憶された情報を参照し、画面配置決定
部3の処理の際は配置規則記憶部8に記憶された情報を
参照する。記憶部7及び8は全体として、複数のデータ
型について、データ型とこの計算機の仕様に適合した表
示すべき画面の構成との対応関係の情報を記憶している
ことになる。また、入出力欄選択部2の前段は、アプリ
ケーションプログラムが入力及び出力の少なくとも一方
を行うデータのデータ型の定義を抽出する手段を含んで
おり、入出力欄選択部2の後段及び画面配置決定部3は
全体として、前記の抽出結果に基づき、前記の記憶され
た対応関係の情報を参照して、記憶部1に記憶され実行
部6で実行されつつあるアプリケーションプログラムに
対応する画面の構成を求める手段を含んでいる。
【0027】なお、アプリケーションプログラムが入出
力を行うデータが一つである場合は、画面配置決定部3
がなくても、表示すべき画面の構成を求めることは可能
である。対話制御部4は、この求められた構成に従って
表示画面を出現させる手段と、この表示画面を介して入
力されるデータをアプリケーションプログラムへの送信
したりアプリケーションプログラムから出力されるデー
タを表示画面を介して提示したりする手段とを含んでい
る。
力を行うデータが一つである場合は、画面配置決定部3
がなくても、表示すべき画面の構成を求めることは可能
である。対話制御部4は、この求められた構成に従って
表示画面を出現させる手段と、この表示画面を介して入
力されるデータをアプリケーションプログラムへの送信
したりアプリケーションプログラムから出力されるデー
タを表示画面を介して提示したりする手段とを含んでい
る。
【0028】そして、上記2〜4及び7、8は、データ
入出力装置を構成しており、これに1、5及び6を加え
た全体が、計算機装置を構成している。
入出力装置を構成しており、これに1、5及び6を加え
た全体が、計算機装置を構成している。
【0029】まずアプリケーションプログラムには、入
出力対象となるデータの型定義がそれぞれTypeCodeで表
現され記載されている。そして、入出力欄選択部2は、
記憶部1に記憶されたアプリケーションプログラムか
ら、このTypeCodeの値を検出する。
出力対象となるデータの型定義がそれぞれTypeCodeで表
現され記載されている。そして、入出力欄選択部2は、
記憶部1に記憶されたアプリケーションプログラムか
ら、このTypeCodeの値を検出する。
【0030】入出力欄選択部2は、検出されたTypeCode
の内容を参照し、あらかじめ定められた選択規則記憶部
7に記憶された選択規則に則って、各データの型に対応
した入出力欄の情報を決定し、画面配置決定部3に渡
す。入出力欄選択部2の決定する入出力欄の情報は、以
下の要素からなる。
の内容を参照し、あらかじめ定められた選択規則記憶部
7に記憶された選択規則に則って、各データの型に対応
した入出力欄の情報を決定し、画面配置決定部3に渡
す。入出力欄選択部2の決定する入出力欄の情報は、以
下の要素からなる。
【0031】(1) 表示される入出力欄の構成。
【0032】本発明をX ウィンドウシステムを用いて実
施する場合、アプリケーションプログラムが指定したデ
ータ型に対応して実際に入出力を行うために、画面上に
ウィジェットと呼ぶ入出力欄を構成する部品を表示す
る。ウィジェットには、トグルボタンを表示する Toggl
eButton ウィジェット、文字列を表示する Text ウィジ
ェット、複数のウィジェットを指定した並び方で表示す
る RowColumnウィジェットなどがある。具体的には図6
に示すようなウィジェットの階層構造によって表示され
る入出力欄の構成を表す。たとえば、図4及び図5に示
すプログラムにおいて『ハンバーガー型』のデータ型の
入力命令に対応して作成されるウィジェットの階層構造
は図6のようになる。
施する場合、アプリケーションプログラムが指定したデ
ータ型に対応して実際に入出力を行うために、画面上に
ウィジェットと呼ぶ入出力欄を構成する部品を表示す
る。ウィジェットには、トグルボタンを表示する Toggl
eButton ウィジェット、文字列を表示する Text ウィジ
ェット、複数のウィジェットを指定した並び方で表示す
る RowColumnウィジェットなどがある。具体的には図6
に示すようなウィジェットの階層構造によって表示され
る入出力欄の構成を表す。たとえば、図4及び図5に示
すプログラムにおいて『ハンバーガー型』のデータ型の
入力命令に対応して作成されるウィジェットの階層構造
は図6のようになる。
【0033】(2) 生成した入出力欄が実行時に必要とす
る手続き。
る手続き。
【0034】例えば入出力欄がScrollbar ウィジェット
を用いている場合には、Scrollbarが操作された時にス
クロール動作を行なう手続きをScrollbar に登録する必
要がある。したがって「スクロール動作を行なう手続き
をScrollbar ウィジェットに登録すること」が入出力欄
生成後に実行すべき手続きの一つとなる。以下の説明で
は入出力欄生成後に実行すべきこのような手続きのこと
を「後処理手続き」と呼ぶことにする。
を用いている場合には、Scrollbarが操作された時にス
クロール動作を行なう手続きをScrollbar に登録する必
要がある。したがって「スクロール動作を行なう手続き
をScrollbar ウィジェットに登録すること」が入出力欄
生成後に実行すべき手続きの一つとなる。以下の説明で
は入出力欄生成後に実行すべきこのような手続きのこと
を「後処理手続き」と呼ぶことにする。
【0035】(3) アプリケーションプログラムからの入
力命令によって作成された入出力欄に対しては、その欄
に対するユーザからの入力データを読みとってアプリケ
ーションプログラムに渡すのに必要な手続き。
力命令によって作成された入出力欄に対しては、その欄
に対するユーザからの入力データを読みとってアプリケ
ーションプログラムに渡すのに必要な手続き。
【0036】(4) アプリケーションプログラムからの出
力命令に対して作成された入出力欄に対しては、アプリ
ケーションプログラムから受けとったデータを画面上に
表示するための手続き。
力命令に対して作成された入出力欄に対しては、アプリ
ケーションプログラムから受けとったデータを画面上に
表示するための手続き。
【0037】以下、CORBA/IDL の主なデータ型に対応し
て入出力欄選択部2が決定する入出力欄の構成,後処理
手続きおよび入出力命令に対する手続きの選択規則を示
す。ここに示していないCORBA/IDL のデータ型に関して
も同様の規則を適用することが可能である。 1) データがboolean 型の場合 この型の入出力欄としてはToggleButtonウィジェットを
用い、ToggleButtonのON,OFFで真理値のTrueとFalse を
表現する。したがって入出力欄の構成としては図7のよ
うにToggleButtonウィジェット一つとなる。後処理手続
きは特にない。またデータの出力はToggleButtonの状態
を適切に設定することであるから、データ出力手続きは
図9のようになる。同様にデータの入力のためにはTogg
leButtonの状態を調べる必要があるから、データ入力手
続きは図10のようになる。 2) データがshort, long, hyper, float, double 型の
場合 これらの数値型の入出力欄としてはTextウィジェットを
用いる。したがって入出力欄の構成は図8のようにText
ウィジェット一つとなる。数値型の入出力欄の後処理手
続きは以下のようになる。 ・入力可能な最大文字数および表示桁数を、その型で扱
うことのできる全ての値を表現するのに必要かつ十分な
文字数に設定する。例えばshort 型が扱うことのできる
範囲は-32768から32767 までであるから、short 型の全
ての値を表現するのに必要かつ十分な文字数は6 であ
る。したがってshort 型の入出力欄では入力可能な最大
文字数および表示桁数を6 に設定する。 ・その型を表現するのに必要かつ十分な文字のみを正し
い入力として受け付けるようにする。例えばshort 型の
場合0,1,2,3,4,5,6,7,8,9,- の11文字のみを入力として
受け付けるようにする。
て入出力欄選択部2が決定する入出力欄の構成,後処理
手続きおよび入出力命令に対する手続きの選択規則を示
す。ここに示していないCORBA/IDL のデータ型に関して
も同様の規則を適用することが可能である。 1) データがboolean 型の場合 この型の入出力欄としてはToggleButtonウィジェットを
用い、ToggleButtonのON,OFFで真理値のTrueとFalse を
表現する。したがって入出力欄の構成としては図7のよ
うにToggleButtonウィジェット一つとなる。後処理手続
きは特にない。またデータの出力はToggleButtonの状態
を適切に設定することであるから、データ出力手続きは
図9のようになる。同様にデータの入力のためにはTogg
leButtonの状態を調べる必要があるから、データ入力手
続きは図10のようになる。 2) データがshort, long, hyper, float, double 型の
場合 これらの数値型の入出力欄としてはTextウィジェットを
用いる。したがって入出力欄の構成は図8のようにText
ウィジェット一つとなる。数値型の入出力欄の後処理手
続きは以下のようになる。 ・入力可能な最大文字数および表示桁数を、その型で扱
うことのできる全ての値を表現するのに必要かつ十分な
文字数に設定する。例えばshort 型が扱うことのできる
範囲は-32768から32767 までであるから、short 型の全
ての値を表現するのに必要かつ十分な文字数は6 であ
る。したがってshort 型の入出力欄では入力可能な最大
文字数および表示桁数を6 に設定する。 ・その型を表現するのに必要かつ十分な文字のみを正し
い入力として受け付けるようにする。例えばshort 型の
場合0,1,2,3,4,5,6,7,8,9,- の11文字のみを入力として
受け付けるようにする。
【0038】したがって後処理手続きとして二つがあ
る。一つはTextの幅を適切に設定するためのもので、図
11のようになる。なお図11における「その型の表現
に必要十分な文字数n を求める」方法としては、例えば
型と文字数n とからなる表をあらかじめ作成しておきそ
れを引くという方法を用いることができる。もう一つは
妥当な文字のみを入力として受け付けるようにするため
のもので、そのためにはユーザからの入力があった時に
図12に示されたような入力の妥当性をチェックする手
続きを実行する必要がある。Textウィジェットはユーザ
からの入力があった時に特定の手続きを実行するように
設定することが可能になっている。従って二つ目の後処
理手続きは図13のようになる。
る。一つはTextの幅を適切に設定するためのもので、図
11のようになる。なお図11における「その型の表現
に必要十分な文字数n を求める」方法としては、例えば
型と文字数n とからなる表をあらかじめ作成しておきそ
れを引くという方法を用いることができる。もう一つは
妥当な文字のみを入力として受け付けるようにするため
のもので、そのためにはユーザからの入力があった時に
図12に示されたような入力の妥当性をチェックする手
続きを実行する必要がある。Textウィジェットはユーザ
からの入力があった時に特定の手続きを実行するように
設定することが可能になっている。従って二つ目の後処
理手続きは図13のようになる。
【0039】最後に入出力命令に対する手続きとして
は、入力命令に対してはText内に入力された文字列を読
みとり、数値に変換した後にアプリケーションプログラ
ムに渡す。出力命令に対しては、受けとったデータを文
字列に変換し、その文字列をText上に表示する。したが
ってデータ入力手続きは図14のように、 データ出力
手続きは図15のようになる。 3) データがenum型の場合 この型の入出力欄としては、複数個のToggleButtonウィ
ジェットとRowColumnウィジェットから構成されるRadio
Boxを用いる。RadioBoxでは複数のToggleButtonのうち
一つだけが押された状態になり得る。押された状態のTo
ggleButtonがデータの値を表現する。よって入出力欄の
構成としては、図16のようにRowColumn ウィジェット
とそれを親ウィジェットとする列挙子の数に等しいTogg
leButtonウィジェットという構成になる。
は、入力命令に対してはText内に入力された文字列を読
みとり、数値に変換した後にアプリケーションプログラ
ムに渡す。出力命令に対しては、受けとったデータを文
字列に変換し、その文字列をText上に表示する。したが
ってデータ入力手続きは図14のように、 データ出力
手続きは図15のようになる。 3) データがenum型の場合 この型の入出力欄としては、複数個のToggleButtonウィ
ジェットとRowColumnウィジェットから構成されるRadio
Boxを用いる。RadioBoxでは複数のToggleButtonのうち
一つだけが押された状態になり得る。押された状態のTo
ggleButtonがデータの値を表現する。よって入出力欄の
構成としては、図16のようにRowColumn ウィジェット
とそれを親ウィジェットとする列挙子の数に等しいTogg
leButtonウィジェットという構成になる。
【0040】次に後処理手続きは、enum型の入出力欄と
して用いるためには、生成されたToggleButtonが前述の
ようなRadioBoxとして動作するように設定する。しかし
RowColumn ウィジェットのリソース( 動作方式を変更す
るパラメタ) の中には、子ウィジェットとして生成され
たToggleButtonをRadioBoxとして動作させるのに必要な
設定を自動的に行なうか否かを決めるリソースが存在す
る。そしてMotif にはこのリソースを設定した状態でRo
wColumn を生成する手続きが存在する。したがってRowC
olumn を生成するのにこの生成手続きを用いれば、後処
理手続きは特になくなる。
して用いるためには、生成されたToggleButtonが前述の
ようなRadioBoxとして動作するように設定する。しかし
RowColumn ウィジェットのリソース( 動作方式を変更す
るパラメタ) の中には、子ウィジェットとして生成され
たToggleButtonをRadioBoxとして動作させるのに必要な
設定を自動的に行なうか否かを決めるリソースが存在す
る。そしてMotif にはこのリソースを設定した状態でRo
wColumn を生成する手続きが存在する。したがってRowC
olumn を生成するのにこの生成手続きを用いれば、後処
理手続きは特になくなる。
【0041】最後に入出力命令に対する手続きについて
は、入力命令に対しては各ToggleButtonの状態( 押され
ているか否か) を調べ、押されている状態のToggleButt
onに対応する値をアプリケーションプログラムに渡す。
従って手続きは図18のようになる。一方出力命令に対
しては、受けとったデータの値に対応するToggleButton
を押させた状態に設定すれば良い。従って手続きは図1
9のようになる。 4) データがstring型の場合 string型の入出力欄は、ScrolledWindowウィジェットと
TextウィジェットからなるScrolledTextを用いる。従っ
て構成は図17のようにScrolledWindowとその子供のTe
xtという構成になる。このような構成の画面がScrolled
Textとして動作するためにはScrolledWindowウィジェッ
トの中のScrollbar が操作された時にTextウィジェット
の表示内容がスクロールするような設定をする必要があ
る。しかしMotif にはScrolledWindowウィジェットおよ
びTextウィジェットを生成した後ScrolledTextとして動
作するために必要な設定を自動的に行なう手続きが提供
されている。従って画面の生成にそのような手続きを用
いることにすれば、後処理手続きは特にない。入力命令
に対してはユーザからのTextウィジェットへの入力を読
みとる手続きを実行し、その値をアプリケーションプロ
グラムに渡す。出力命令に対しては受けとったデータの
値をTextウィジェット上に表示する手続きを実行する。
従って入力命令に対する手続きは図20のように、出力
命令に対する手続きは図21のようになる。 5) データがstruct型の場合 struct型の入出力欄としては、structの各メンバに対応
する入出力欄をRowColumn ウィジェットの中に入れて一
つにまとめたものを用いる。従って構成は図22のよう
にRowColumn の下に各メンバにあたるウィジェット階層
がつながる形となる。図22において一点破線で囲まれ
た領域は各メンバの型に対応する入出力欄のウィジェッ
ト階層である。この構成は図23に示されるような手順
によって決定される。すなわち、まずTypeCodeの中の1
番目のメンバの型に関する情報を調べ、その型のための
入出力欄の構成を決定し、決定した構成を1 番目のメン
バ用の入出力欄とする。これをsturctの各メンバについ
て繰り返し、得られた各メンバのウィジェットツリーを
RowColumn の下につないで得られる図22のようなウィ
ジェットツリーをこのstruct型全体の入出力欄構成とす
る。
は、入力命令に対しては各ToggleButtonの状態( 押され
ているか否か) を調べ、押されている状態のToggleButt
onに対応する値をアプリケーションプログラムに渡す。
従って手続きは図18のようになる。一方出力命令に対
しては、受けとったデータの値に対応するToggleButton
を押させた状態に設定すれば良い。従って手続きは図1
9のようになる。 4) データがstring型の場合 string型の入出力欄は、ScrolledWindowウィジェットと
TextウィジェットからなるScrolledTextを用いる。従っ
て構成は図17のようにScrolledWindowとその子供のTe
xtという構成になる。このような構成の画面がScrolled
Textとして動作するためにはScrolledWindowウィジェッ
トの中のScrollbar が操作された時にTextウィジェット
の表示内容がスクロールするような設定をする必要があ
る。しかしMotif にはScrolledWindowウィジェットおよ
びTextウィジェットを生成した後ScrolledTextとして動
作するために必要な設定を自動的に行なう手続きが提供
されている。従って画面の生成にそのような手続きを用
いることにすれば、後処理手続きは特にない。入力命令
に対してはユーザからのTextウィジェットへの入力を読
みとる手続きを実行し、その値をアプリケーションプロ
グラムに渡す。出力命令に対しては受けとったデータの
値をTextウィジェット上に表示する手続きを実行する。
従って入力命令に対する手続きは図20のように、出力
命令に対する手続きは図21のようになる。 5) データがstruct型の場合 struct型の入出力欄としては、structの各メンバに対応
する入出力欄をRowColumn ウィジェットの中に入れて一
つにまとめたものを用いる。従って構成は図22のよう
にRowColumn の下に各メンバにあたるウィジェット階層
がつながる形となる。図22において一点破線で囲まれ
た領域は各メンバの型に対応する入出力欄のウィジェッ
ト階層である。この構成は図23に示されるような手順
によって決定される。すなわち、まずTypeCodeの中の1
番目のメンバの型に関する情報を調べ、その型のための
入出力欄の構成を決定し、決定した構成を1 番目のメン
バ用の入出力欄とする。これをsturctの各メンバについ
て繰り返し、得られた各メンバのウィジェットツリーを
RowColumn の下につないで得られる図22のようなウィ
ジェットツリーをこのstruct型全体の入出力欄構成とす
る。
【0042】次に後処理手続きであるが、これも入出力
欄の構成の決定と同様の手順となる。すなわち一つのメ
ンバについてそのメンバの型の入出力欄を生成した際の
後処理手続きを決定し、これをsturct型の各メンバにつ
いて繰り返す。その結果挙げられた手続き全体がこのst
ruct型の後処理手続きとなる。以上をフローチャートに
すると図24のようになる。
欄の構成の決定と同様の手順となる。すなわち一つのメ
ンバについてそのメンバの型の入出力欄を生成した際の
後処理手続きを決定し、これをsturct型の各メンバにつ
いて繰り返す。その結果挙げられた手続き全体がこのst
ruct型の後処理手続きとなる。以上をフローチャートに
すると図24のようになる。
【0043】最後にアプリケーションプログラムからの
入出力命令に対して実行される手続きであるが、入力命
令に対しては、まず1 番目のメンバについてそのメンバ
の型に応じた入力手続きを実行しそのメンバの値を得
る。これを各メンバについて繰り返し各メンバの値を得
る。全てのメンバの値が得られると元のデータの値が決
まるので、その値をアプリケーションプログラムに渡
す。出力命令に対しては、受けとった値を調べて1 番目
のメンバの値を得る。次にそのメンバの型に応じた出力
手順を実行して1 番目のメンバの値を画面上に表示す
る。これを全てのメンバについて繰り返し実行すること
によりもとのstruct型データ全体が画面に表示される。
従って入力命令に対する手続きは図25のように、出力
命令に対する手続きは図26のようになる。 6) データがunion 型の場合 一つの記憶領域にその時々に応じてさまざまな型のデー
タを格納できるのがunion 型である。記憶領域に格納で
きるデータ型の候補をそのunion 型のメンバという。CO
RBA/IDL のunion 型では記憶領域の中に現在のデータの
値と、現在格納されているデータに対応するメンバの識
別子、すなわち現在格納されているデータの型を識別す
る情報が保存される。従ってunion 型の入出力欄にはメ
ンバの識別子用の欄と値用の欄が必要になるため、図2
7のようにメンバを識別するRadioBox10と値用の欄を
表示する領域11とからなるものを用いる。後者にはRa
dioBoxによって指定されるメンバの型に応じた入出力欄
が表示される。つまり、この領域11の中にはそれぞれ
のメンバの型に対応する入出力欄が非表示状態で生成さ
れており、RadioBoxの中の押された状態のToggleButton
に対応するメンバ用入出力欄だけが表示状態とされて領
域11の中に表示される。このようなstruct型入出力欄
のウィジェット階層は図28のようになる。この図にお
いて12はRowColumn ウィジェットおよびその子供のTo
ggleButtonウィジェットからなるRadioBoxであり、13
はunion の各メンバの型に応じた入出力欄のウィジェッ
トツリーである。各メンバ用入出力欄のウィジェットツ
リーは全てFormウィジェットを親ウィジェットとしてお
り、このFormウィジェットが図27の領域11にあた
る。なお図28のウィジェットツリーのうち各メンバ用
の入出力欄については、struct型の場合と同様に、Type
Codeのメンバの型に関する情報を調べその型のための入
出力欄を決める、という手順を各メンバについて繰り返
すことによって得られる。したがって図28のウィジェ
ットツリー全体を決定する手順は図29のようになる。
入出力命令に対して実行される手続きであるが、入力命
令に対しては、まず1 番目のメンバについてそのメンバ
の型に応じた入力手続きを実行しそのメンバの値を得
る。これを各メンバについて繰り返し各メンバの値を得
る。全てのメンバの値が得られると元のデータの値が決
まるので、その値をアプリケーションプログラムに渡
す。出力命令に対しては、受けとった値を調べて1 番目
のメンバの値を得る。次にそのメンバの型に応じた出力
手順を実行して1 番目のメンバの値を画面上に表示す
る。これを全てのメンバについて繰り返し実行すること
によりもとのstruct型データ全体が画面に表示される。
従って入力命令に対する手続きは図25のように、出力
命令に対する手続きは図26のようになる。 6) データがunion 型の場合 一つの記憶領域にその時々に応じてさまざまな型のデー
タを格納できるのがunion 型である。記憶領域に格納で
きるデータ型の候補をそのunion 型のメンバという。CO
RBA/IDL のunion 型では記憶領域の中に現在のデータの
値と、現在格納されているデータに対応するメンバの識
別子、すなわち現在格納されているデータの型を識別す
る情報が保存される。従ってunion 型の入出力欄にはメ
ンバの識別子用の欄と値用の欄が必要になるため、図2
7のようにメンバを識別するRadioBox10と値用の欄を
表示する領域11とからなるものを用いる。後者にはRa
dioBoxによって指定されるメンバの型に応じた入出力欄
が表示される。つまり、この領域11の中にはそれぞれ
のメンバの型に対応する入出力欄が非表示状態で生成さ
れており、RadioBoxの中の押された状態のToggleButton
に対応するメンバ用入出力欄だけが表示状態とされて領
域11の中に表示される。このようなstruct型入出力欄
のウィジェット階層は図28のようになる。この図にお
いて12はRowColumn ウィジェットおよびその子供のTo
ggleButtonウィジェットからなるRadioBoxであり、13
はunion の各メンバの型に応じた入出力欄のウィジェッ
トツリーである。各メンバ用入出力欄のウィジェットツ
リーは全てFormウィジェットを親ウィジェットとしてお
り、このFormウィジェットが図27の領域11にあた
る。なお図28のウィジェットツリーのうち各メンバ用
の入出力欄については、struct型の場合と同様に、Type
Codeのメンバの型に関する情報を調べその型のための入
出力欄を決める、という手順を各メンバについて繰り返
すことによって得られる。したがって図28のウィジェ
ットツリー全体を決定する手順は図29のようになる。
【0044】次にunion 型の後処理手続きとしては以下
の二つがある。 ・union の各メンバについて、そのメンバの型に応じた
後処理手続きを実行する手続き。 ・RatioBox内のToggleButtonが押された時にそのToggle
Buttonに対応するメンバの入出力欄が入出力欄表示領域
に表示されるように設定する手続き。
の二つがある。 ・union の各メンバについて、そのメンバの型に応じた
後処理手続きを実行する手続き。 ・RatioBox内のToggleButtonが押された時にそのToggle
Buttonに対応するメンバの入出力欄が入出力欄表示領域
に表示されるように設定する手続き。
【0045】前者に関してはstruct型の場合と同様に、
一つのメンバについてそのメンバの型の入出力欄を生成
した際の後処理手続きを決定し、これをunion 型の各メ
ンバについて繰り返す。その結果挙げられた手続き全体
がこの一つ目の後処理手続きとなる。後者については、
ToggleButtonが押された時に図30に示されたような手
続きを実行する設定をRadioBox内の各ToggleButtonに対
して行なう必要があるから、実行すべき手続きは図31
のようになる。
一つのメンバについてそのメンバの型の入出力欄を生成
した際の後処理手続きを決定し、これをunion 型の各メ
ンバについて繰り返す。その結果挙げられた手続き全体
がこの一つ目の後処理手続きとなる。後者については、
ToggleButtonが押された時に図30に示されたような手
続きを実行する設定をRadioBox内の各ToggleButtonに対
して行なう必要があるから、実行すべき手続きは図31
のようになる。
【0046】最後にアプリケーションプログラムからの
入出力命令に対応するための手続きとしては、入力命令
に対してはまずRadioBox内のToggleButtonの状態を調べ
ることにより現在欄に入力されているデータがどのメン
バにあたるかを知る。次に該当するメンバの型に対応す
る入力手続きを実行して、表示状態になっているそのメ
ンバ用入出力欄に入力されている値を読みとる。以上に
よりメンバの識別子およびデータの値が得られたので元
のunion 型データの値が定まる。よってその値をアプリ
ケーションプログラムに渡す。一方出力命令に対して
は、まず受けとったデータ内のメンバ識別子を調べ、そ
のメンバに対応するToggleButtonが押された状態にRadi
oBoxを設定する。するとそのメンバに対応する入出力欄
が表示状態となるので、メンバの型に対応する出力手続
きを実行して値を表示状態となっている入出力欄に表示
する。以上より入力命令に対する手続きは図32のよう
に、出力命令に対する手続きは図33のようになる。 7) データがarray 型の場合 array 型の入出力欄としては、その要素の型に対応する
入出力欄を複数並べたものを用いる。その際要素の個数
だけ並べることにすると、要素の個数が多い場合には欄
が画面に収まり切らないなど不都合が生じる。そこで要
素の入出力欄を並べる個数に上限を設け、ScrollBar を
用いることにより表示される要素の範囲を変更できるよ
うにする。したがって入出力欄の構成は図34のように
なる。
入出力命令に対応するための手続きとしては、入力命令
に対してはまずRadioBox内のToggleButtonの状態を調べ
ることにより現在欄に入力されているデータがどのメン
バにあたるかを知る。次に該当するメンバの型に対応す
る入力手続きを実行して、表示状態になっているそのメ
ンバ用入出力欄に入力されている値を読みとる。以上に
よりメンバの識別子およびデータの値が得られたので元
のunion 型データの値が定まる。よってその値をアプリ
ケーションプログラムに渡す。一方出力命令に対して
は、まず受けとったデータ内のメンバ識別子を調べ、そ
のメンバに対応するToggleButtonが押された状態にRadi
oBoxを設定する。するとそのメンバに対応する入出力欄
が表示状態となるので、メンバの型に対応する出力手続
きを実行して値を表示状態となっている入出力欄に表示
する。以上より入力命令に対する手続きは図32のよう
に、出力命令に対する手続きは図33のようになる。 7) データがarray 型の場合 array 型の入出力欄としては、その要素の型に対応する
入出力欄を複数並べたものを用いる。その際要素の個数
だけ並べることにすると、要素の個数が多い場合には欄
が画面に収まり切らないなど不都合が生じる。そこで要
素の入出力欄を並べる個数に上限を設け、ScrollBar を
用いることにより表示される要素の範囲を変更できるよ
うにする。したがって入出力欄の構成は図34のように
なる。
【0047】ところでこのような入出力欄を用いた場
合、array の要素数が前述の上限を超えると要素数と要
素を表示する欄の個数が一致しなくなる。そのためarra
y 型ではアプリケーションプログラムからの入力命令に
よって渡されたデータやユーザからの画面への入力を保
存しておく記憶領域が必要になる。またScrollBar が操
作された時に、ユーザからの入力を前記記憶領域に書き
出した上で、個々の要素用入出力欄の表示を表示範囲の
変更に合うように書き直すように設定することが必要と
なる。したがってunion 型の後処理手続きとしては次の
三つがあげられる。 ・array の要素の型に対応した後処理手続きをすべての
要素用入出力欄に対して実行する手続き。 ・生成された入出力欄が用いる前記記憶領域を動的に割
り当てる手続き。 ・ScrollBar の操作によるスクロールに対応するため
に、ScrollBar が操作された時に図35のような手続き
が実行されるように設定する手続き。
合、array の要素数が前述の上限を超えると要素数と要
素を表示する欄の個数が一致しなくなる。そのためarra
y 型ではアプリケーションプログラムからの入力命令に
よって渡されたデータやユーザからの画面への入力を保
存しておく記憶領域が必要になる。またScrollBar が操
作された時に、ユーザからの入力を前記記憶領域に書き
出した上で、個々の要素用入出力欄の表示を表示範囲の
変更に合うように書き直すように設定することが必要と
なる。したがってunion 型の後処理手続きとしては次の
三つがあげられる。 ・array の要素の型に対応した後処理手続きをすべての
要素用入出力欄に対して実行する手続き。 ・生成された入出力欄が用いる前記記憶領域を動的に割
り当てる手続き。 ・ScrollBar の操作によるスクロールに対応するため
に、ScrollBar が操作された時に図35のような手続き
が実行されるように設定する手続き。
【0048】最後にアプリケーションプログラムからの
入出力命令に対応するための手続きであるが、入力命令
に対しては、まず要素の型に応じた入力手続きを実行し
て要素用入出力欄に入力されている値を読みとり、その
値を前記記憶領域の対応する要素の場所に書き込む。こ
れをすべての要素用入出力欄について繰り返した後、記
憶領域に保存されている値をアプリケーションプログラ
ムに渡す。一方出力命令に対しては、まず受けとった値
を記憶領域に書き込む。その後要素の型に応じた出力手
続きを実行して、各々の要素用入出力欄に対応する要素
の値を表示する。以上より入力命令に対する手続きは図
36のように、出力命令に対する手続きは図37のよう
になる。
入出力命令に対応するための手続きであるが、入力命令
に対しては、まず要素の型に応じた入力手続きを実行し
て要素用入出力欄に入力されている値を読みとり、その
値を前記記憶領域の対応する要素の場所に書き込む。こ
れをすべての要素用入出力欄について繰り返した後、記
憶領域に保存されている値をアプリケーションプログラ
ムに渡す。一方出力命令に対しては、まず受けとった値
を記憶領域に書き込む。その後要素の型に応じた出力手
続きを実行して、各々の要素用入出力欄に対応する要素
の値を表示する。以上より入力命令に対する手続きは図
36のように、出力命令に対する手続きは図37のよう
になる。
【0049】入出力欄選択部2は、以上述べたような選
択規則(選択規則記憶部7に記憶されている)に従い、
検出したTypeCodeから入出力欄の構成,後処理手続きお
よび入出力命令に対する手続きを、アプリケーションプ
ログラムの入出力対象となるデータ毎に決定する。すな
わち、検出したデータ型が上記1)〜7)のいずれに相当す
るかに基づき、データ型に対応する選択規則を参照し、
前述した入出力欄の情報を各データ毎に求める。そして
決定された入出力欄の構成,後処理手続きおよび入出力
命令に対する手続きを画面配置決定部3に渡す。
択規則(選択規則記憶部7に記憶されている)に従い、
検出したTypeCodeから入出力欄の構成,後処理手続きお
よび入出力命令に対する手続きを、アプリケーションプ
ログラムの入出力対象となるデータ毎に決定する。すな
わち、検出したデータ型が上記1)〜7)のいずれに相当す
るかに基づき、データ型に対応する選択規則を参照し、
前述した入出力欄の情報を各データ毎に求める。そして
決定された入出力欄の構成,後処理手続きおよび入出力
命令に対する手続きを画面配置決定部3に渡す。
【0050】なお、ここでの選択規則は、データ型とこ
の計算機の仕様に適合した表示すべき画面の部分構成
(さらに後処理手続き及び入出力命令に対する手続き)
との対応関係を、各データ型毎に表したものとなってい
る。この例では、計算機の仕様がX ウィンドウシステム
である場合の、選択規則の例を示したが、別の仕様を持
つ計算機に対しては、上記各データ型に対する規則は別
のものとなる。そして、各仕様の計算機毎に、選択規則
が設定される各データ型は共通にし、選択規則本体はそ
の計算機の仕様に適合したものを記憶しておけば、アプ
リケーションプログラムは特定の計算機の仕様に依存せ
ず、本データ入出力装置を備えるどの計算機でもそのま
まの形で実行可能となる。
の計算機の仕様に適合した表示すべき画面の部分構成
(さらに後処理手続き及び入出力命令に対する手続き)
との対応関係を、各データ型毎に表したものとなってい
る。この例では、計算機の仕様がX ウィンドウシステム
である場合の、選択規則の例を示したが、別の仕様を持
つ計算機に対しては、上記各データ型に対する規則は別
のものとなる。そして、各仕様の計算機毎に、選択規則
が設定される各データ型は共通にし、選択規則本体はそ
の計算機の仕様に適合したものを記憶しておけば、アプ
リケーションプログラムは特定の計算機の仕様に依存せ
ず、本データ入出力装置を備えるどの計算機でもそのま
まの形で実行可能となる。
【0051】画面配置決定部3は、入出力欄選択部2か
ら受けとった個々の入出力欄の構成(画面の部分構成)
に基づき、画面上の入出力欄の全体的な構成,配置を決
定する。画面配置決定部3は、まず、入出力対象のデー
タが複数ある場合に、複数の入出力欄を画面上にいかに
配置するかを決定する。本例では、簡単な画面配置法と
して、複数の入出力欄を縦に(あるいは横に)一列に並
べるという配置法を用いる。これは個々の入出力欄をRo
wColumn ウィジェットの中に入れることにより実現でき
る。この場合、全体的な画面構成としては図38のよう
な個々の入出力欄のウィジェットツリーをRowColumn の
下につないだ形になる。
ら受けとった個々の入出力欄の構成(画面の部分構成)
に基づき、画面上の入出力欄の全体的な構成,配置を決
定する。画面配置決定部3は、まず、入出力対象のデー
タが複数ある場合に、複数の入出力欄を画面上にいかに
配置するかを決定する。本例では、簡単な画面配置法と
して、複数の入出力欄を縦に(あるいは横に)一列に並
べるという配置法を用いる。これは個々の入出力欄をRo
wColumn ウィジェットの中に入れることにより実現でき
る。この場合、全体的な画面構成としては図38のよう
な個々の入出力欄のウィジェットツリーをRowColumn の
下につないだ形になる。
【0052】画面配置決定部3は、さらに、上記のよう
に複数の入出力欄を一列に並べた場合の入出力欄全体の
大きさを求め、この入出力欄全体の大きさが表示装置5
の画面の大きさを超える場合には、入出力全体へのアク
セスを可能とする手段の使用を決定する。具体的には全
体をScrolledWindowの中に入れて画面内に収まるように
する。例えば図38のような画面構成の入出力欄が多き
過ぎてScrolledWindowを用いた場合、その画面構成は図
39のようになる。
に複数の入出力欄を一列に並べた場合の入出力欄全体の
大きさを求め、この入出力欄全体の大きさが表示装置5
の画面の大きさを超える場合には、入出力全体へのアク
セスを可能とする手段の使用を決定する。具体的には全
体をScrolledWindowの中に入れて画面内に収まるように
する。例えば図38のような画面構成の入出力欄が多き
過ぎてScrolledWindowを用いた場合、その画面構成は図
39のようになる。
【0053】このような配置法は、配置規則記憶部8に
記憶された配置規則を参照することにより実現する。上
記の選択規則は、各データ型に対応して計算機の仕様に
適合した表示すべき画面の部分構成を示しており、実際
のアプリケーションプログラムに含まれる複数のデータ
のそれぞれに対して画面の部分構成を求めるためのもの
であるのに対し、配置規則は、これら各データ毎に求め
られた複数の画面の部分構成を基に、画面全体の構成を
求めるためのものである。
記憶された配置規則を参照することにより実現する。上
記の選択規則は、各データ型に対応して計算機の仕様に
適合した表示すべき画面の部分構成を示しており、実際
のアプリケーションプログラムに含まれる複数のデータ
のそれぞれに対して画面の部分構成を求めるためのもの
であるのに対し、配置規則は、これら各データ毎に求め
られた複数の画面の部分構成を基に、画面全体の構成を
求めるためのものである。
【0054】なお、ここで例示した配置規則は、計算機
の仕様がX ウィンドウシステムである場合の例である
が、別の仕様を持つ計算機は、別の配置規則を記憶す
る。例えば、画面のスクロール機能を有さない計算機の
場合、複数の入出力欄を一列に並べ、並べたときの入出
力欄全体の大きさが画面の大きさを超えるならば、入出
力欄を複数の頁に割り付け、頁切り換え機能によって入
出力欄全体をユーザに見せるようにする。
の仕様がX ウィンドウシステムである場合の例である
が、別の仕様を持つ計算機は、別の配置規則を記憶す
る。例えば、画面のスクロール機能を有さない計算機の
場合、複数の入出力欄を一列に並べ、並べたときの入出
力欄全体の大きさが画面の大きさを超えるならば、入出
力欄を複数の頁に割り付け、頁切り換え機能によって入
出力欄全体をユーザに見せるようにする。
【0055】画面配置決定部3はこのようにして決定さ
れた入出力欄の全体的な画面構成、および入出力欄選択
部2が決定した後処理手続きと入出力命令に対する手続
きを対話制御部4に渡す。
れた入出力欄の全体的な画面構成、および入出力欄選択
部2が決定した後処理手続きと入出力命令に対する手続
きを対話制御部4に渡す。
【0056】図40は、図4及び図5のアプリケーショ
ンプログラムに対して画面配置決定部3で作成された画
面構成のウィジェットの階層構造を示している。さら
に、図41はそれに対応して表示される画面の例を示し
ている。
ンプログラムに対して画面配置決定部3で作成された画
面構成のウィジェットの階層構造を示している。さら
に、図41はそれに対応して表示される画面の例を示し
ている。
【0057】対話制御部4は、画面配置決定部3から受
けとった入出力欄全体の画面構成に基づきX ウィンドウ
システムの各種手続きを用いてを描画を行ない、その後
で入出力欄選択部2が決定した後処理手続きを実行する
ことにより入出力欄を画面上に表示する。
けとった入出力欄全体の画面構成に基づきX ウィンドウ
システムの各種手続きを用いてを描画を行ない、その後
で入出力欄選択部2が決定した後処理手続きを実行する
ことにより入出力欄を画面上に表示する。
【0058】また対話制御部4は、アプリケーションプ
ログラムからの入出力命令に対する処理を行なう。すな
わち入力命令に対しては、入出力欄選択部2が決定した
入力命令に対する手続きを実行して、ユーザからの入力
を読みとりアプリケーションプログラムに渡す。また出
力命令に対しては、同じく入出力欄選択部2が決定した
出力命令に対する手続きを実行することにより受けとっ
たデータを画面に表示する。
ログラムからの入出力命令に対する処理を行なう。すな
わち入力命令に対しては、入出力欄選択部2が決定した
入力命令に対する手続きを実行して、ユーザからの入力
を読みとりアプリケーションプログラムに渡す。また出
力命令に対しては、同じく入出力欄選択部2が決定した
出力命令に対する手続きを実行することにより受けとっ
たデータを画面に表示する。
【0059】以上述べた手続きを、以下のデータ型に適
用した場合の動作を説明する。 (1) はfoo,bar,baz という三つの識別子を持つexample
_enumというenum型を定義しており、(2) はshort,stri
ng及びexample _enum型の三つのメンバを持つexample
_data_typeというstruct型を定義している。以下では
このexample _data_type型のデータの入出力を行なう
場合について説明する。
用した場合の動作を説明する。 (1) はfoo,bar,baz という三つの識別子を持つexample
_enumというenum型を定義しており、(2) はshort,stri
ng及びexample _enum型の三つのメンバを持つexample
_data_typeというstruct型を定義している。以下では
このexample _data_type型のデータの入出力を行なう
場合について説明する。
【0060】まずアプリケーションプログラムはexampl
e _data_type型の定義をTypeCode型のデータに変換し
入出力欄選択部2に渡す。なお、上記の実施例では、ア
プリケーションプログラムが入出力を行うデータ型の定
義をアプリケーションプログラムから抽出する動作は、
入出力欄選択部2がアプリケーションプログラム記憶部
1を参照して行うと説明したが、アプリケーションプロ
グラム実行部6が抽出動作を行い、抽出結果を入出力欄
選択部2へ渡しても良い。すなわち、アプリケ−ション
プログラムからのデ−タ型の定義の抽出は、デ−タ入出
力装置側で行なっても良いし、アプリケ−ションプログ
ラム実行部で行なって抽出結果をデ−タ入出力装置へ渡
しても良く、本計算機装置内のどこに上記抽出手段があ
っても、本発明の範囲を逸脱しない。受けとったTypeCo
de型データに基づき入出力欄選択部2は以下の事項を決
定する。 ・入出力欄を構成するウィジェットの階層構造。 ・ウィジェット生成後に実行すべき後処理手続き。 ・アプリケーションプログラムからの入力命令に対し
て、画面に入力されたデータをアプリケーションプログ
ラムに渡すために実行すべきデータ入力用手続き。 ・アプリケーションプログラムからの出力命令に対し
て、アプリケーションプログラムから渡されたデータを
画面に表示するために実行すべきデータ出力用手続き。
e _data_type型の定義をTypeCode型のデータに変換し
入出力欄選択部2に渡す。なお、上記の実施例では、ア
プリケーションプログラムが入出力を行うデータ型の定
義をアプリケーションプログラムから抽出する動作は、
入出力欄選択部2がアプリケーションプログラム記憶部
1を参照して行うと説明したが、アプリケーションプロ
グラム実行部6が抽出動作を行い、抽出結果を入出力欄
選択部2へ渡しても良い。すなわち、アプリケ−ション
プログラムからのデ−タ型の定義の抽出は、デ−タ入出
力装置側で行なっても良いし、アプリケ−ションプログ
ラム実行部で行なって抽出結果をデ−タ入出力装置へ渡
しても良く、本計算機装置内のどこに上記抽出手段があ
っても、本発明の範囲を逸脱しない。受けとったTypeCo
de型データに基づき入出力欄選択部2は以下の事項を決
定する。 ・入出力欄を構成するウィジェットの階層構造。 ・ウィジェット生成後に実行すべき後処理手続き。 ・アプリケーションプログラムからの入力命令に対し
て、画面に入力されたデータをアプリケーションプログ
ラムに渡すために実行すべきデータ入力用手続き。 ・アプリケーションプログラムからの出力命令に対し
て、アプリケーションプログラムから渡されたデータを
画面に表示するために実行すべきデータ出力用手続き。
【0061】まずウィジェットの階層構造を決める。受
けとったTypeCodeから、入出力欄選択部2は入出力対象
のデータがstruct型であることを知る。そこで入出力欄
選択部2は、まず各メンバの型を調べてそのメンバ用の
入出力欄を決める。member1というメンバはshort 型で
あるから、その入出力欄としてTextウィジェットを用い
る。member2 というメンバはstring型であるから、その
入出力欄としてはScrollWindowウィジェットとTextウィ
ジェットからなるScrolledTextを用いる。member3 とい
うメンバはexample _enum型であり、このexample _en
um型は三つの識別子を持つenum型であるから、その入出
力欄としてはRowColumn ウィジェットと3個のToggleBu
ttonウィジェットからなるRadioBoxを用いる。各メンバ
用入出力欄のウィジェット構成が決まったら、それらを
RowColumn ウィジェットの中に収めたものをstruct全体
の入出力欄とする。したがって入出力欄を構成するウィ
ジェットの階層構造は図42のように決定される。
けとったTypeCodeから、入出力欄選択部2は入出力対象
のデータがstruct型であることを知る。そこで入出力欄
選択部2は、まず各メンバの型を調べてそのメンバ用の
入出力欄を決める。member1というメンバはshort 型で
あるから、その入出力欄としてTextウィジェットを用い
る。member2 というメンバはstring型であるから、その
入出力欄としてはScrollWindowウィジェットとTextウィ
ジェットからなるScrolledTextを用いる。member3 とい
うメンバはexample _enum型であり、このexample _en
um型は三つの識別子を持つenum型であるから、その入出
力欄としてはRowColumn ウィジェットと3個のToggleBu
ttonウィジェットからなるRadioBoxを用いる。各メンバ
用入出力欄のウィジェット構成が決まったら、それらを
RowColumn ウィジェットの中に収めたものをstruct全体
の入出力欄とする。したがって入出力欄を構成するウィ
ジェットの階層構造は図42のように決定される。
【0062】次に入出力欄決定部2は、後処理手続き、
データ入力用手続き、データ出力用手続きを決め、ウィ
ジェットの階層構造とあわせて画面配置決定部3へ渡
す。画面配置決定部3はこの中のウィジェット階層構造
に基づき、画面全体の構成を決定する。今表示に用いら
れる画面が小さく、ウィジェット階層構造に基づき表示
される入出力欄全体が画面内に収まらない大きさになっ
たとする。この場合画面配置決定部3は欄全体へのアク
セスを可能にするためにScrollWindowの使用を決定す
る。したがって画面全体の構成として図43のようなウ
ィジェット階層構造を決定する。そしてこのウィジェッ
ト階層構造及び入出力欄決定部2から渡された後処理手
続き、データ入力用手続き、データ出力用手続きを対話
制御部4に渡す。
データ入力用手続き、データ出力用手続きを決め、ウィ
ジェットの階層構造とあわせて画面配置決定部3へ渡
す。画面配置決定部3はこの中のウィジェット階層構造
に基づき、画面全体の構成を決定する。今表示に用いら
れる画面が小さく、ウィジェット階層構造に基づき表示
される入出力欄全体が画面内に収まらない大きさになっ
たとする。この場合画面配置決定部3は欄全体へのアク
セスを可能にするためにScrollWindowの使用を決定す
る。したがって画面全体の構成として図43のようなウ
ィジェット階層構造を決定する。そしてこのウィジェッ
ト階層構造及び入出力欄決定部2から渡された後処理手
続き、データ入力用手続き、データ出力用手続きを対話
制御部4に渡す。
【0063】対話制御部4はX ウィンドウシステムの各
種手続きを呼び出すことにより図43のウィジェット階
層構造に従った画面を生成する。その後に後処理手続き
を実行するわけであるが、この場合実行すべき後処理手
続きはない。以上により図44のような画面が表示され
る。また対話制御部4はアプリケーションプログラムか
らの入力命令に対しては入力命令用手続きを実行し得ら
れたデータを渡し、出力命令に対しては出力命令用手続
きを実行してデータを表示する。
種手続きを呼び出すことにより図43のウィジェット階
層構造に従った画面を生成する。その後に後処理手続き
を実行するわけであるが、この場合実行すべき後処理手
続きはない。以上により図44のような画面が表示され
る。また対話制御部4はアプリケーションプログラムか
らの入力命令に対しては入力命令用手続きを実行し得ら
れたデータを渡し、出力命令に対しては出力命令用手続
きを実行してデータを表示する。
【0064】
【発明の効果】以上説明したように、本発明によれば、
データの入出力を行うアプリケーションプログラムの開
発を容易にすると共に、データ入出力を行うアプリケー
ションプログラムの特定の入出力装置やウィンドウシス
テム等への依存性を無くすことができる。
データの入出力を行うアプリケーションプログラムの開
発を容易にすると共に、データ入出力を行うアプリケー
ションプログラムの特定の入出力装置やウィンドウシス
テム等への依存性を無くすことができる。
【図1】 本実施例の全体構成を表す図。
【図2】 データ型の定義の表現例を示す図。
【図3】 データ型の定義の表現例を示す図。
【図4】 データの入出力を行うアプリケーションプロ
グラムの例を示す図。
グラムの例を示す図。
【図5】 データの入出力を行うアプリケーションプロ
グラムの例を示す図。
グラムの例を示す図。
【図6】 表示される入出力欄の構成をウィジェットの
階層構造によって表した例を示す図。
階層構造によって表した例を示す図。
【図7】 データがboolean 型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図8】 データがshort, long, hyper, float, doubl
e 型の場合の入出力欄の構成例を示す図。
e 型の場合の入出力欄の構成例を示す図。
【図9】 データがboolean 型の場合の入力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図10】 データがboolean 型の場合の出力命令に対
する手続き例を示す図。
する手続き例を示す図。
【図11】 データがshort, long, hyper, float, dou
ble 型の場合の第1の後処理手続きの例を示す図。
ble 型の場合の第1の後処理手続きの例を示す図。
【図12】 データがshort, long, hyper, float, dou
ble 型の場合の第2の後処理手続きの例を示す図。
ble 型の場合の第2の後処理手続きの例を示す図。
【図13】 データがshort, long, hyper, float, dou
ble 型の場合の第2の後処理手続きの例を示す図。
ble 型の場合の第2の後処理手続きの例を示す図。
【図14】 データがshort, long, hyper, float, dou
ble 型の場合の入力命令に対する手続き例を示す図。
ble 型の場合の入力命令に対する手続き例を示す図。
【図15】 データがshort, long, hyper, float, dou
ble 型の場合の出力命令に対する手続き例を示す図。
ble 型の場合の出力命令に対する手続き例を示す図。
【図16】 データがenum型の場合の入出力欄の構成例
を示す図。
を示す図。
【図17】 データがstring型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図18】 データがenum型の場合の入力命令に対する
手続き例を示す図。
手続き例を示す図。
【図19】 データがenum型の場合の出力命令に対する
手続き例を示す図。
手続き例を示す図。
【図20】 データがstring型の場合の入力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図21】 データがstring型の場合の出力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図22】 データがstruct型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図23】 データがstruct型の場合の入出力欄の構成
の決定法の例を示す図。
の決定法の例を示す図。
【図24】 データがstruct型の場合の後処理手続きの
例を示す図。
例を示す図。
【図25】 データがstruct型の場合の入力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図26】 データがstruct型の場合の出力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図27】 データがunion 型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図28】 データがunion 型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図29】 データがunion 型の場合の入出力欄の構成
の決定法の例を示す図。
の決定法の例を示す図。
【図30】 データがunion 型の場合の第2の後処理手
続きの例を示す図。
続きの例を示す図。
【図31】 データがunion 型の場合の第2の後処理手
続きの例を示す図。
続きの例を示す図。
【図32】 データがunion 型の場合の入力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図33】 データがunion 型の場合の出力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図34】 データがarray 型の場合の入出力欄の構成
例を示す図。
例を示す図。
【図35】 データがarray 型の場合の第3の後処理手
続きの例を示す図。
続きの例を示す図。
【図36】 データがarray 型の場合の入力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図37】 データがarray 型の場合の出力命令に対す
る手続き例を示す図。
る手続き例を示す図。
【図38】 画面配置決定部で決定される全体的な画面
構成の例を示す図。
構成の例を示す図。
【図39】 画面配置決定部で決定される全体的な画面
構成の例を示す図。
構成の例を示す図。
【図40】 画面配置決定部で決定される全体的な画面
構成の例を示す図。
構成の例を示す図。
【図41】 図40に対応して表示される画面の例を示
す図。
す図。
【図42】 入出力欄の構成を表すウィジェットの階層
構造の例を示す図。
構造の例を示す図。
【図43】 画面全体の構成を表すウィジェットの階層
構造の例を示す図。
構造の例を示す図。
【図44】 図43に対応して表示される画面の例を示
す図。
す図。
1…アプリケーションプログラム記憶部
2…入出力欄選択部
3…画面配置決定部
4…対話制御部
5…表示装置
6…アプリケーションプログラム実行部
7…選択規則記憶部
8…配置規則記憶部
フロントページの続き
(56)参考文献 特開 平7−49774(JP,A)
増田・笠原著,”アプリケーション実
行時GUIレイアウト変更機能”,情報
処理学会論文誌,日本,(社)情報処理
学会,1994年 9月15日,第35巻、第9
号,p.1794−1806
佐藤、外2名著,”ユーザレベルでカ
スタマイズ可能なGUI部品の交換・付
加機能”,情報処理学会研究報告,日
本,(社)情報処理学会,1995年 3月
3日,第95巻、第21号(95−HI−
59),p.67−74
(58)調査した分野(Int.Cl.7,DB名)
G06F 9/44
G06F 3/00
Claims (2)
- 【請求項1】ユーザからアプリケーションプログラムに
対するデータの入力あるいはアプリケーションプログラ
ムからのデータの出力を司るアプリケーションプログラ
ムの画面を計算機の表示装置に出現させ、この画面を介
してアプリケーションプログラムとユーザとの間のデー
タの入出力を行うデータ入出力方法において、該アプリケーションプログラムは、特定の計算機の表示
機能に依存しないデータの型であって、入力及び出力の
少なくとも一方を行う該データの型の記述を含み 、 該計算機は、各データの型と該計算機の表示機能に依存
した表示すべき画面の各部分構成とをそれぞれ対応付け
た組を複数備えた選択規則、および、該計算機の表示機
能に依存した、画面全体の構成を求めるための配置規則
を予め記憶する記憶部を備えており、該 計算機は、 アプリケーションプログラムから入力及び出力の少なく
とも一方を行うデータの型の定義を全て抽出し、 これら抽出された各データの型の定義のそれぞれに基づ
き、前記記憶部に記憶される前記選択規則を参照し、各
データの型に対応した画面上での部分構成をそれぞれ決
定し、該決定された各部分構成の画面上での全体的な配
置を、前記記憶部に記憶される前記配置規則を参照して
決定し、該計算機によってアプリケーションプログラムの実行時
に、 該 決定された配置に従った画面を前記表示装置に出現さ
せ、 この出現させた画面を介してアプリケーションプログラ
ムとユーザとの間のデータの入出力を行うことを特徴と
するデータ入出力方法。 - 【請求項2】特定の計算機の表示機能に依存しないデー
タの型であって、入力及び出力の少なくとも一方を行う
該データの型の記述を含むアプリケーションプログラム
への、ユーザからのデータの入力あるいは該アプリケー
ションプログラムからのデータの出力を司る画面を表示
可能である表示手段を備える計算機装置において、各 データの型と該表示手段に依存した表示すべき画面の
各部分構成とをそれぞれ対応付けた組を複数備えた選択
規則、および、該表示手段に依存した、画面全体の構成
を求めるための配置規則を予め記憶する記憶手段と、該 アプリケーションプログラムから入力及び出力の少な
くとも一方を行うデータの型の定義を全て抽出する抽出
手段と、 前記抽出手段によって抽出された各データの型の定義の
それぞれに基づき、前記記憶手段に記憶される前記選択
規則を参照し、各データの型に対応した画面上での部分
構成をそれぞれ選択する選択手段と、 前記選択部で選択された該各部分構成の全体的な配置
を、前記記憶手段に記憶される前記配置規則を参照し決
定する画面配置決定手段と、該アプリケーションプログラムの実行時に、 前記画面配
置決定手段で決定された全体的な配置に基づく画面を前
記表示手段に表示させる表示制御手段と、 前記表示手段を介して入力されるデータの前記アプリケ
ーションプログラムへの送信、または、前記アプリケー
ションプログラムから出力されるデータの前記表示手段
の画面を介した提示の少なくとも一方を行う入出力制御
手段と、 前記入出力制御手段により送信されたデータを用いた前
記アプリケーションプログラムの実行及び入出力制御手
段に対する前記アプリケーションプログラムの実行結果
の出力の少なくとも一方を行う実行手段とを備えたこと
を特徴とする計算機装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09191195A JP3492014B2 (ja) | 1995-03-27 | 1995-03-27 | データ入出力方法及び計算機装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP09191195A JP3492014B2 (ja) | 1995-03-27 | 1995-03-27 | データ入出力方法及び計算機装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000010133A Division JP3177235B2 (ja) | 1995-03-27 | 2000-01-14 | データ出力装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08263243A JPH08263243A (ja) | 1996-10-11 |
| JP3492014B2 true JP3492014B2 (ja) | 2004-02-03 |
Family
ID=14039771
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP09191195A Expired - Fee Related JP3492014B2 (ja) | 1995-03-27 | 1995-03-27 | データ入出力方法及び計算機装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3492014B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7895522B2 (en) | 2001-09-28 | 2011-02-22 | Ntt Docomo, Inc. | Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
| US7234111B2 (en) | 2001-09-28 | 2007-06-19 | Ntt Docomo, Inc. | Dynamic adaptation of GUI presentations to heterogeneous device platforms |
| US7392483B2 (en) | 2001-09-28 | 2008-06-24 | Ntt Docomo, Inc, | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
| US7934162B2 (en) | 2001-09-28 | 2011-04-26 | Ntt Docomo, Inc. | Running state migration of platform specific graphical user interface widgets between heterogeneous device platforms |
-
1995
- 1995-03-27 JP JP09191195A patent/JP3492014B2/ja not_active Expired - Fee Related
Non-Patent Citations (2)
| Title |
|---|
| 佐藤、外2名著,"ユーザレベルでカスタマイズ可能なGUI部品の交換・付加機能",情報処理学会研究報告,日本,(社)情報処理学会,1995年 3月 3日,第95巻、第21号(95−HI−59),p.67−74 |
| 増田・笠原著,"アプリケーション実行時GUIレイアウト変更機能",情報処理学会論文誌,日本,(社)情報処理学会,1994年 9月15日,第35巻、第9号,p.1794−1806 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08263243A (ja) | 1996-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6282699B1 (en) | Code node for a graphical programming system which invokes execution of textual code | |
| US5297250A (en) | Method of generating interfaces for use applications that are displayable on the screen of a data processing system, and apparatus for performing the method | |
| US5535323A (en) | Method of and system for displaying context sensitive and application independent help information | |
| US6102967A (en) | Testing a help system of a computer software application without executing the computer software application | |
| EP0336560B1 (en) | Method and system for displaying a user interface on a computer screen | |
| US5606702A (en) | Method for specifying user interfaces and programming system running a multiple user interface computer | |
| US8386939B2 (en) | Internet interface and integration language system and method | |
| US5524246A (en) | Method and apparatus for configuring computer programs from available subprograms | |
| US5911070A (en) | Development system with methods for bi-directional application program code generation | |
| EP1099162B1 (en) | Method, computer program and system for generating and displaying a descriptive annotation of selected application data | |
| US20030023641A1 (en) | Web page authoring tool | |
| US5812847A (en) | Rule-based method for designing user interfaces for applications | |
| US20030081007A1 (en) | Object oriented explorer type environment | |
| JPH0628019B2 (ja) | データ処理システムの動作選択装置と方法 | |
| JP3521147B2 (ja) | ユーザインタフェースカスタマイズ方法及び装置 | |
| US5815712A (en) | System for controlling functions of a target application using controllable objects | |
| US20050060685A1 (en) | Program generator | |
| US5995100A (en) | Method of automatically generating custom controls for selected modules in a library | |
| US20040205706A1 (en) | Method for the automatic generation of computer programs which interact with existing objects | |
| US5781905A (en) | Program generating method combining data item part with database manipulation part | |
| EP0578634B1 (en) | Method for specifying user interfaces and programming system running a multiple user interface type computer | |
| EP1909170B1 (en) | Method and system for automatically generating a communication interface | |
| JP3492014B2 (ja) | データ入出力方法及び計算機装置 | |
| JP3177235B2 (ja) | データ出力装置 | |
| JP2001209539A (ja) | データ出力装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071114 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081114 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091114 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |