Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
GUI制御プログラム自動生成方法および装置 - 株式会社日立製作所
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立製作所

発明の名称 GUI制御プログラム自動生成方法および装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平6−4277
公開日 平成6年(1994)1月14日
出願番号 特願平4−164682
出願日 平成4年(1992)6月23日
代理人 【弁理士】
【氏名又は名称】有近 紳志郎
発明者 里山 元章
要約 目的
マルチウィンドウシステムに対応したグラフィカルユーザインタフェース制御プログラムを自動的に生成する。

構成
画像認識処理303は、グラフィカルユーザインタフェース設計用紙の画像データからユーザの書き込んだ情報を認識する。構造解析処理304は、前記認識結果を解析してウィンドウの位置関係や親子関係,呼出し関係などの構造を抽出する。プログラム生成処理305は、前記解析結果を用いてグラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成する。
特許請求の範囲
【請求項1】 メインウインドウ,ボタン,サブウインドウ,ダイアログボックスなどのマルチウインドウの部品を定義した部品定義情報や,ボタンが選択された時に表示する部品や非表示にする部品があるときのそれらの参照関係情報を書き込んだグラフィカルユーザインタフェース設計用紙を光学的に又は磁気的に読み込み、その画像データから前記部品定義情報や参照関係情報を認識し、その認識結果を解析して部品構造や部品間の関係構造を抽出し、その解析結果に基づいてグラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成することを特徴とするGUI制御プログラム自動生成方法。
【請求項2】 メインウインドウ,ボタン,サブウインドウ,ダイアログボックスなどのマルチウインドウの部品を定義した部品定義情報や,同時表示する部品群やボタンが選択された時に表示する部品や非表示にする部品があるときのそれらの参照関係情報を書き込んだグラフィカルユーザインタフェース設計用紙を光学的に又は磁気的に読み込む画像入力手段と、得られた画像データから前記部品定義情報や参照関係情報を認識する画像認識手段と、その認識結果を解析して部品構造や部品間の関係構造を抽出する構造解析手段と、その解析結果に基づいてグラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成するプログラム生成手段とを具備したことを特徴とするGUI制御プログラム自動生成装置。
【請求項3】 請求項2に記載のGUI制御プログラム自動生成装置において、グラフィカルユーザインタフェース設計用紙は、文字を書き込む文字データ領域と、図形のみ又は図形と文字とを書き込む図形データ領域とを有することを特徴とするGUI制御プログラム自動生成装置。
【請求項4】 請求項3に記載のGUI制御プログラム自動生成装置において、画像認識手段は、文字データ領域から部品名,部品種別名,呼出し関数名,初期表示状態を認識し、図形データ領域から部品を表示する位置とサイズ,部品に付随して表示する文字列,同時表示する部品群,ボタンが選択された時に表示する部品,ボタンが選択された時に非表示にする部品を認識することを特徴とするGUI制御プログラム自動生成装置。
【請求項5】 請求項2から請求項4のいずれかに記載のGUI制御プログラム自動生成装置において、グラフィカルユーザインタフェース制御プログラムを構成する手続きの種類として、部品を生成する部品生成手続き,部品の表示位置を決める座標設定手続き,部品の表示サイズを決めるサイズ設定手続き,部品に付随して表示する文字列を決めるラベル設定手続き,部品の初期状態が表示か非表示かを決める表示初期表示状態設定手続き,部品が使用する関数を決める呼出し関数設定手続き,ボタンが選択された時に表示する部品を決める選択時表示部品設定手続きおよびボタンが選択された時に非表示にする部品を決める選択時非表示部品設定手続きの少なくとも1つを含むことを特徴とするGUI制御プログラム自動生成装置。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、GUI(グラフィカルユーザインタフェース)制御プログラム自動生成方法および装置に係わり、さらに詳しくは、ユーザの作成したグラフィカルユーザインタフェース設計用紙を読み取ってグラフィカルユーザインタフェース制御プログラムを自動生成するGUI制御プログラム自動生成方法および装置に関する。
【0002】
【従来の技術】従来のGUI制御プログラム自動生成方法としては、例えば特願平2−175246号公報に開示のものがある。この特願平2−175246号公報に開示のGUI制御プログラム自動生成方法は、帳票のような文書を光学的に読み取り、その文書画像の文字パターンと線パターンの配置からオペレータがデータを入力するための入力フィールドを認識し、空の入力フィールドを備えた書式化された文書画像を画面に表示するグラフィカルユーザインタフェースを制御するグラフィカルユーザインタフェース制御プログラムを自動生成するものである。
【0003】
【発明が解決しようとする課題】しかしながら、上記従来のGUI制御プログラム自動生成方法では、1画面に複数のウィンドウを開くマルチウィンドウシステムにおけるグラフィカルユーザインタフェース制御プログラムを自動生成することが出来ない問題点がある。そこで、本発明の目的は、マルチウィンドウシステムに対応したグラフィカルユーザインタフェース制御プログラムを自動的に生成することが出来るGUI制御プログラム自動生成方法および装置を提供することにある。
【0004】
【課題を解決するための手段】本発明は、メインウインドウ,ボタン,サブウインドウ,ダイアログボックスなどのマルチウインドウの部品を定義した部品定義情報や,ボタンが選択された時に表示する部品や非表示にする部品があるときのそれらの参照関係情報を書き込んだグラフィカルユーザインタフェース設計用紙を光学的に又は磁気的に読み込み、その画像データから前記部品定義情報や参照関係情報を認識し、その認識結果を解析して部品構造や部品間の関係構造を抽出し、その解析結果に基づいてグラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成するGUI制御プログラム自動生成方法を提供する。また、本発明は、メインウインドウ,ボタン,サブウインドウ,ダイアログボックスなどのマルチウインドウの部品を定義した部品定義情報や,同時表示する部品群やボタンが選択された時に表示する部品や非表示にする部品があるときのそれらの参照関係情報を書き込んだグラフィカルユーザインタフェース設計用紙を光学的に又は磁気的に読み込む画像入力手段と、得られた画像データから前記部品定義情報や参照関係情報を認識する画像認識手段と、その認識結果を解析して部品構造や部品間の関係構造を抽出する構造解析手段と、その解析結果に基づいてグラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成するプログラム生成手段とを具備したGUI制御プログラム自動生成装置を提供する。
【0005】
【作用】本発明のGUI制御プログラム自動生成方法および装置では、グラフィカルユーザインタフェース設計用紙に、部品定義情報だけでなく,部品間の参照関係情報を書き込んでおき、これを読み込んで、部品構造や,部品間の関係構造を抽出し、グラフィカルユーザインタフェース制御プログラムを構成する手続き群を生成する。このため、複数の部品を同時表示したり,ボタンが選択された時に別の部品を表示したり,非表示にするマルチウィンドウに対応したグラフィカルユーザインタフェース制御プログラムを自動生成することが出来る。
【0006】
【実施例】以下、本発明を実施例を用いて詳細に説明する。なお、これにより本発明が限定されるものではない。図1は、本発明のGUI制御プログラム自動生成方法を実施するための計算機システムの一例の全体構成図である。201はグラフィカルユーザインタフェース設計用紙を読み込む画像入力装置、202はマウスやキーボードの如き入力装置、203はプログラムやデータを記憶する主記憶装置、204は主記憶装置203からプログラムやデータを読み込み実行する中央処理装置、205は外部記憶装置、206はビットマップディスプレイの如き表示装置である。
【0007】主記憶装置203内には、GUI制御プログラム自動生成方法を実施するためのプログラムを格納するプログラム領域300と、画像入力装置201から読み込んだ画像データを格納する画像データ領域320と、画像データを認識した結果得られる図形データを格納する認識結果領域1200と、前記図形データを解析した結果得られる構造データを格納する解析結果領域1400と、グラフィカルユーザインタフェース制御プログラムの生成に必要な関数データを格納した関数定義テーブル領域1700と、生成したグラフィカルユーザインタフェース制御プログラムを格納する生成プログラム領域1600とがある。
【0008】図2は、GUI制御プログラム自動生成方法を実施するためのプログラムの構成図である。301はプログラムの実行を制御する基本制御部、302は画像入力装置201から画像を読み取り画像データ領域320へ格納する画像入力装置制御部、303は画像データ領域320の画像中の文字や図形を認識して認識結果を認識結果領域1200へ格納する画像認識処理部、304は認識結果領域1200の認識結果を元にグラフィカルユーザインタフェースの構造を解析して解析結果を解析結果領域1400へ格納する構造解析処理部、305は解析結果領域1400の解析結果と関数定義テーブル領域1700の関数データとを元にグラフィカルユーザ制御プログラムを生成し生成プログラム領域1600へ書き込むプログラム生成部である。また、306は外部記憶装置205を制御する外部記憶装置制御部、307はプログラムを解釈するプログラム解釈部、308はウィンドウやメニューを表示する表示処理部、309は表示装置206を制御する表示装置制御部、310は入力イベントを解析する入力イベント処理部、311は入力装置207を制御する入力装置制御部である。各プログラムは、外部記憶装置205から主記憶装置203のプログラム領域300に適時読み出され、中央処理装置204にて実行される。
【0009】図3は、関数定義テーブル領域1700に格納された関数データ表である。1701は処理内容、1702は関数名、1703は引数である。
【0010】図4は、GUI制御プログラム自動生成方法を実施する処理のメインフローチャートである。ステップ303の画像認識処理では、画像入力装置201から画像データを読み込み、文字パタンと線分パタンを認識する。詳細は、図12を参照して後述する。ステップ304の構造解析処理では、前記ステップ303で認識した文字パタンと線分パタンからグラフィカルユーザインタフェースの構造を解析する。詳細は、図14を参照して後述する。ステップ305のプログラム生成処理では、前記ステップ304の解析結果からグラフィカルユーザインタフェース制御プログラムを生成する。詳細は、図16を参照して後述する。
【0011】図5は、GUI制御プログラムによって画面上に表示されたグラフィカルユーザインタフェースの一例である。401は、最初に表示装置206’上に表示されているメインウィンドウである。402aから402cは、メインウィンドウ401上に配置されたボタンである。403は、ボタン402a〜402cをマウスなどの入力装置202によって選択したときに画面上に表示されるダイアログボックスである。404は、ダイアログボックス403上に配置された文字列を入力するための領域であるテキストフィールドである。
【0012】405は、ダイアログボックス403上に配置されたボタンである。このボタン405をマウスなどの入力装置202によって選択すると、ダイアログボックス403は画面上から消える。
【0013】図6は、グラフィカルユーザインタフェース設計用紙の例である。601は、このグラフィカルユーザインタフェース設計用紙600で定義するグラフィカルユーザインタフェースの部品名をユーザが書き込む部品名欄である。602は前記部品の種別を書き込む部品種別名欄、603は前記部品がマウスやキーで選択された時に呼び出す関数の名称を書き込む呼出し関数名欄、604は前記部品の初期表示状態を書き込む初期表示状態欄である。605は、前記部品を表示する位置,サイズ,ラベルや他の部品との関係を指示する図形と文字とを書き込む図面欄である。
【0014】図7は、メインウィンドウ401を定義したグラフィカルユーザインタフェース設計用紙の例である。601Aは、メインウィンドウ401の部品名を示す文字列である。602Aは、メインウィンドウ401の部品種別名を示す文字列である。604Aは、メインウィンドウ401の初期表示状態が表示状態であることを指示する文字列である。701は、メインウィンドウ401の位置,サイズを示す2重矩形である。702−1は、メインウィンドウ401の内部にボタン402aがサブウィンドウとして含まれることを示す矩形である。702−3は、ボタン402aの部品名を示す文字列である。
【0015】図8は、ボタン402aを定義したグラフィカルユーザインタフェース設計用紙の例である。702−2は、ボタン402aのサイズを示す2重矩形である。801は、ボタン402a上に表示されるラベルを示す文字列である。実線矢印802および矩形803−1は、ボタン402aが選択されるとダイアログボックス403が画面上に表示されることを指示する図形である。803−5は、ダイアログボックス403の部品名を示す文字列である。
【0016】図9は、ダイアログボックス403を定義したグラフィカルユーザインタフェース設計用紙の例である。604Cは、ダイアログボックス403の初期表示状態が非表示状態であることを指示する文字列である。803−2は、ダイアログボックス403のサイズを示す2重矩形である。901−1は、ダイアログボックス403の内部にテキストフィールド404がサブウィンドウとして含まれるであることを示す矩形である。901−2は、テキストフィールド404の部品名を示す文字列である。902−1はダイアログボックス403の内部にボタン405がサブウィンドウとして含まれること示す矩形である。902−2は、ボタン405の部品名を示す文字列である。
【0017】図10は、テキストフィールド404を定義したグラフィカルユーザインタフェース設計用紙の例である。603Dは、テキストフィールド404がキーやマウスで選択された時に呼出す関数名を示す文字列である。901−2は、テキストフィールド404のサイズを示す2重矩形である。
【0018】図11は、ボタン405を定義したグラフィカルユーザインタフェース設計用紙の例である。902−2は、ボタン405のサイズを示す2重矩形である。1101は、ボタン405上に表示されるラベルを示す文字列である。破線矢印1102および矩形803−3は、ボタン405が選択されるとダイアログボックス403が画面上から消えることを指示する図形である。803−5は、ダイアログボックス403の部品名を示す文字列である。
【0019】図12は、画像認識処理(図4のステップ303)の詳細フローチャートである。ステップ501では、画像を読み込むか否かを判定し、読み込むならステップ502へ進み、読み込まないなら終了する。スステップ502では、画像入力装置201からグラフィカルユーザインタフェース設計用紙を読み込み、その画像データを画像データ領域320に格納する。ステップ503では、グラフィカルユーザインタフェース設計用紙の画像データから部品名欄601に書き込まれた部品名を認識し、認識結果を認識結果領域1200へ格納する。ステップ504では、部品種別欄602に書き込まれた部品種別名を認識し、認識結果を認識結果領域1200へ格納する。ステップ505では、呼出し関数名欄603に書き込まれた呼出し関数名を認識し、認識結果を認識結果領域1200へ格納する。ステップ506では、初期表示状態欄604に書き込まれた初期表示状態を認識し、認識結果を認識結果領域1200へ格納する。ステップ507では、図面欄605に書き込まれた図形と文字を認識し、認識結果を認識結果領域1200へ格納する。図形と文字の認識処理は、例えば特願平2ー175246号に記載されている。
【0020】例えば、図7〜図11のグラフィカルユーザインタフェース設計用紙に対してステップ303の処理が実行されると、図13に示す如き図形データ表が認識結果領域1200に格納される。図13の図形データ表において、1200Aから1200Eはそれぞれ1枚のグラフィカルユーザインタフェース設計用紙に対応する図形データである。1200Aはメインウィンドウ401の図形データ、1200Bはボタン402aの図形データ、1200Cはダイアログボックス403の図形データ、1200Dはテキストフィールド404の図形データ、1200Eはボタン405の図形データである。ヘッダ部1210は、グラフィカルユーザインタフェース設計用紙の部品名欄601,部品種別名欄602,呼出し関数名欄603,初期表示状態欄604に書かれていたデータを格納する。図形情報部1220,1230,…は、グラフィカルユーザインタフェース設計用紙の図面欄605に書かれていた図形ごとに作成し、図形種別,位置,サイズ,内部に書かれていた文字列を格納する。
【0021】図14は、構造解析処理(図4のステップ304)の詳細フローチャートである。ステップ1301では、図形データ表に未処理の図形データが存在するか判定し、存在するならステップ1302に進み、存在しないなら処理を終了する。
【0022】ステップ1302では、図形データ表から1つの図形データを読み出し、そのヘッダ部1210にある部品名1201,部品種別名1202,呼出し関数名1203,初期表示状態1204を取り出して、解析結果領域1400へ格納する。ステップ1303では、図形データの図形情報部1220,1230,…の中から図形種別が2重矩形の図形情報を抽出し、その位置,サイズ,ラベルの文字列を解析結果領域1400へ格納する。
【0023】ステップ1304では、図形データの図形情報部1220,1230,…の中から図形種別が矩形で且つその位置,サイズが2重矩形の図形情報の位置,サイズに含まれる図形情報があるか判定し、あるならステップ1305に進み、ないならステップ1306に進む。ステップ1305では、2重矩形内に含まれる矩形の図形情報にある文字列をサブウィンドウの部品名として解析結果領域1400へ格納する。
【0024】ステップ1306では、図形データの図形情報部1220,1230,…の中から図形種別が実線矢印の図形情報があるか判定し、あるならステップ1307に進み、ないならステップ1308に進む。ステップ1307では、実線矢印の図形情報の位置,サイズから実線矢印の先端位置を算出し、図形データの図形情報部1220,1230,…の中から前記実線矢印の先端位置をその位置,サイズに含む図形情報を抽出し、その図形情報にある文字列を選択表示する部品名として解析結果領域1400へ格納する。
【0025】ステップ1308では、図形データの図形情報部1220,1230,…の中から図形種別が破線矢印の図形情報があるか判定し、あるならステップ1309に進み、ないなら前記ステップ1301に戻る。ステップ1309では、破線矢印の図形情報の位置,サイズから破線矢印の先端位置を算出し、図形データの図形情報部1220,1230,…の中から前記破線矢印の先端位置をその位置,サイズに含む図形情報を抽出し、その図形情報にある文字列を選択非表示とする部品名として解析結果領域1400へ格納する。
【0026】例えば、図13の図形データ表に対してステップ304の処理が実行されると、図15に示す如き構造データ表が解析結果領域1400に格納される。図15の構造データ表において、1400Aから1400Eはそれぞれ図13の図形データ表の1200Aから1200Eに対応する構造データである。1400Aはメインウィンドウ401の構造データ、1400Bはボタン402aの構造データ、1400Cはダイアログボックス403の構造データ、1400Dはテキストフィールド404の構造データ、1400Eはボタン405の構造データである。
【0027】図16は、プログラム生成処理(図4のステップ305)の詳細フローチャートである。ステップ1501では、構造データ表を読み込む。ステップ1502では、未処理の構造データがあるか否かを判定し、あればステップ1503に進み、なければステップ1509に進む。ステップ1503では、構造データ表から1つの構造データを読み出し、その部品名1401と,その部品種別名1402に対応する部品生成関数(図3の1503’−1から1503’−4)とを用いて、部品生成手続きを生成し、生成プログラム領域1600に格納する。
【0028】ステップ1504では、前記部品の部品名1401と,その位置1405と,座標設定関数(図3の1504’)とを用いて、座標設定手続きを生成し、生成プログラム領域1600に格納する。ステップ1505では、前記部品の部品名1401と,そのサイズ1406と,サイズ設定関数(図3の1505’)とを用いて、サイズ設定手続きを生成し、生成プログラム領域1600に格納する。ステップ1506では、前記部品の部品名1401と,そのラベル1407と,ラベル設定関数(図3の1506’)とを用いて、ラベル設定手続きを生成し、生成プログラム領域1600に格納する。ステップ1507では、前記部品の部品名1401と,その初期表示状態1404と,初期表示状態設定関数(図3の1507’)とを用いて、初期表示状態設定手続きを生成し、生成プログラム領域1600に格納する。ステップ1508では、前記部品の部品名1401と,その呼出し関数名1403と,呼出し関数設定関数(図3の1508’)とを用いて、呼出し関数設定手続きを生成し、生成プログラム領域1600に格納する。そして、前記ステップ1502に戻る。
【0029】ステップ1509では、構造データ表を再読み込みする。ステップ1510では、構造データ表から1つの構造データを読み出し、その部品名1401と,サブウインドウ1408の部品名と,サブウインドウ設定関数(図3の1510’)とを用いて、サブウインドウ設定手続きを生成し、生成プログラム領域1600に格納する。
【0030】ステップ1511では、前記部品の部品名1401と,その選択表示1409の部品名と,選択時表示ウインドウ設定関数(図3の1511’)とを用いて、選択時に表示するウインドウを設定する手続きを生成し、生成プログラム領域1600に格納する。ステップ1512では、前記部品の部品名1401と,その選択非表示1410の部品名と,選択時非表示ウインドウ設定関数(図3の1512’)とを用いて、選択時に非表示にするウインドウを設定する手続きを生成し、生成プログラム領域1600に格納する。
【0031】例えば、図15の構造データ表に対してステップ305の処理が実行されると、図17に示す如きグラフィカルユーザインタフェース制御プログラムが生成プログラム領域1600に格納される。図17のグラフィカルユーザインタフェース制御プログラムにおいて、1503A,1504A,1505Aは、それぞれ図15の構造データ表の構造データ1400Aに対応する部品生成手続き,座標設定手続き,サイズ設定手続きである。1503B,1504B,1505B,1506Bは、それぞれ図15の構造データ表の構造データ1400Bに対応する部品生成手続き,座標設定手続き,サイズ設定手続き,ラベル設定手続きである。1503Cは、図15の構造データ表の構造データ1400Cに対応する部品生成手続きである。1507Cは、図15の構造データ表の構造データ1400Cに対応する初期表示状態設定手続きである。1503Dは、図15の構造データ表の構造データ1400Dに対応する部品生成手続きである。1508Dは、図15の構造データ表の構造データ1400Dに対応する呼び出し関数設定手続きである。1510ABは、図15の構造データ表の構造データ1400Aに対応するサブウインドウ設定手続きである。1510ACは、図15の構造データ表の構造データ1400Cに対応するサブウインドウ設定手続きである。1511BCは、図15の構造データ表の構造データ1400Bに対応する選択時表示ウインドウ設定手続きである。1511DCは、図15の構造データ表の構造データ1400Dに対応する選択時非表示ウインドウ設定手続きである。
【0032】生成されたグラフィカルユーザインタフェース制御プログラムは、生成プログラム領域1600から外部記憶装置205に出力され、保存される。グラフィカルユーザインタフェース制御プログラムの実行時には、プログラム解釈部307が外部記憶装置205からグラフィカルユーザインタフェース制御プログラムを読み出して、実行する。グラフィカルユーザインタフェース制御プログラムを実行する技術は、例えば「日立Motifプログラマーズガイドツールキット編 解説書」などに開示されている。
【0033】なお、図形データ表や構造データ表を画面に表示し、エディタを用いて修正可能とすれば、修正作業が容易となるので、好ましい。
【0034】
【発明の効果】本発明のGUI制御プログラム自動生成方法によれば、複数のグラフィカルユーザインタフェース設計用紙をユーザが作成するだけで、グラフィカルユーザインタフェース制御プログラムを自動的に生成することが出来る。そこで、グラフィカルユーザインタフェースに関するプログラム開発の生産性を向上させることが出来る。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013