JPH0830637A - 自動レイアウトシステム - Google Patents

自動レイアウトシステム

Info

Publication number
JPH0830637A
JPH0830637A JP6162136A JP16213694A JPH0830637A JP H0830637 A JPH0830637 A JP H0830637A JP 6162136 A JP6162136 A JP 6162136A JP 16213694 A JP16213694 A JP 16213694A JP H0830637 A JPH0830637 A JP H0830637A
Authority
JP
Japan
Prior art keywords
statistical information
field
type
block
database
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.)
Granted
Application number
JP6162136A
Other languages
English (en)
Other versions
JP3519126B2 (ja
Inventor
Yukari Yoshiura
由香利 吉浦
Atsushi Iizawa
篤志 飯沢
Hideko Kunii
秀子 國井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP16213694A priority Critical patent/JP3519126B2/ja
Publication of JPH0830637A publication Critical patent/JPH0830637A/ja
Application granted granted Critical
Publication of JP3519126B2 publication Critical patent/JP3519126B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 GUI部の自動生成にデータ辞書の統計情報
を使用し、GUIの操作性の向上を図る。 【構成】 データ辞書内の統計情報を利用して、リンク
オカレンスの数を決定してオブジェクトタイプの決定と
ブロックの定義を行う。同様に、統計情報を利用して、
また、配列型の要素数,フィールド値のデフォルト,可
変長型のデータ長を決定し、物理的画面オブジェクトの
属性値の決定を行う。このように、データ辞書の統計情
報を利用することにより、従来の configuration より
も多数の configuration を用意することができ、GU
Iの操作性の向上を図ることができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、自動レイアウトシステ
ムに関し、より詳細には、データ設計の専門家であれ
ば、画面に一度に何個のレコードオカレンスやリンクオ
カレンスを並べればよいのか適切に予想できるが、非専
門家には難しいので、非専門家であってもこのGUI
(Graphical User Interface)自動生成器の助けによ
り、操作者が見たいと予測されるGUIを作成できるよ
うにした自動レイアウトシステムに関する。
【0002】
【従来の技術】コンピュータプログラムは、グラフィカ
ルユーザインタフェース(GUI)の発展に伴い、ます
ます使い易くなっている。グラフィカルユーザインタフ
ェースを伴うアプリケーションプログラムの数の急増
は、特にウインドウズのユーザ環境(例えば、マイクロ
ソフト社のウインドウズ)の出現によるものである。残
念なことに、グラフィカルユーザインタフェースの生成
には、通常、高熟練プログラマによるユーザインタフェ
ースの〈ツールキット〉の利用を要する。このユーザイ
ンタフェース・ツールキットによりプログラマは特殊な
データ構成の表示方法を指定できるが、このようなツー
ルキットはインタフェース全体の設計タスクにまでは関
与しない。
【0003】その代りに、インタフェース全体の設計に
は、通常、アプリケーションプログラマが、(1)ツー
ルキットとそれに属するプッシュボタンやスクロールウ
インドウなどのインタフェースオブジェクトに関する知
識を備え、(2)アプリケーションの入出力条件に基く
適当なインタフェースオブジェクトを選定し、(3)特
定アプリケーション用インタフェースオブジェクトをカ
スタマイズし、(4)インタフェースディスプレイ上で
選択されたインタフェースオブジェクトをレイアウト
し、(5)インタフェースを開始するコードを書き込
み、それをアプリケーションと共に蓄積することが必要
とされる。
【0004】これにより、現在アプリケーションのため
のインタフェースは創設出来るが、このアプリケーショ
ンの形式を変更する場合は、インタフェースもそれに応
じて変更をしなければならない。アプリケーションとイ
ンタフェースを並行して開発するのは、改訂を繰り返す
ことになり、費用もかかる。従って、グラフィカルユー
ザインタフェースの設計を自動化するツールの開発に対
する関心が高まっている。
【0005】データベースの応用分野において、ユーザ
インタフェースの設計を容易にするために使用される幾
つかの種類のツールが存在する。その中には、独立型フ
ォームマネージャ、第4世代言語(4GL)、グラフィ
カルユーザインタフェースビルダー、グラフィカルユー
ザインタフェース自動生成システム、及び自動レイアウ
トデザイナー等が含まれている。
【0006】
【発明が解決しようとする課題】データベースのアプリ
ケーション開発支援ツールとして各種のシステムが商用
化され広く普及している。それらのユーザインタフェー
ス画面は従来のキャラクタベースのものから、Windows
及びX Window System(米国マサチューセッツ工科大学
の登録商標)を始めとするマルチウインドーベースのG
UI(Graphical User Interface)へと移行しつつあり、
アプリケーションユーザにとっては使い易さが増してい
る反面、開発者にとってはGUIの作成に手間がかかる
という問題がでている。
【0007】既存商用ツールでは、開発者に無の状態か
ら画面構成を作成させることはせず、第一にスキーマ情
報をもとに簡単なフィールド並びのGUIを生成し、次
にそれを開発者にカスタマイズさせるという手法をとっ
ている。マイクロソフト社のAccess〔Microsoft Corp.:
Microsoft Access Users Manual, Microsoft Corp.,199
3.〕,ボーランド社の Paradox〔ボーランド株式会社:
「Paradox for Windows バージョン1.0Jユーザーズガイ
ド」, 1993.〕はどちらも Windows 上の商用ツールであ
るが、フィールド並びに関してかなり細かい設定ができ
るようになっている。しかし、個々のフィールドを作成
するのに使用されるデータはデータ辞書内の情報のう
ち、フィールド名、データ型とその長さのみである。ま
た、フィールドとGUI構成部品との対応も豊富ではな
くフィールド自体の形態に多様性はない。したがって、
その画面はプログラミングして作る場合に比べて単調に
なってしまう。
【0008】この問題を解決し、システムが人間に代わ
って多種多様な画面を生成できるようにするために、デ
ータ辞書内の統計情報を利用する。統計情報としては、
例えば、以下のような値がある間隔でサンプリングされ
てDBMS(データベース管理システム)により管理さ
れている。 ・リレーショナル型で、表ごとのタプル長とタプル数。 ・取り得るフィールド値の種類とその分散の程度(例:
フィールド“国名”の値は“アメリカ”,“ドイツ”,
“日本”のどれかで、分散の程度は 90%, 6%, 4% で
ある)。 ・配列型のフィールドで可変個の要素がもてる場合、要
素数の最大値と平均値。 ・可変長文字列型フィールドの平均のフィールド値の長
さ。 統計情報は、アクセスパスの選択などの問合せの最適化
に用いられるが、GUI画面の生成に統計情報が用いら
れた例は他にない。
【0009】本発明は、このような実情に鑑みてなされ
たもので、統計情報をもとに、ユーザが見たい情報を一
目で見ることができるように配列要素数を設定したり、
最もアクセス頻度が高いフィールド値がデフォルトで表
示されているような画面構成を提供すること、また、初
期システムでは、データがマルチオカレンスか、シング
ルオカレンスかの違いに依って、個々のレコード型に異
なる種類のGUI構成部品(以下、ウイジェットと呼
ぶ)を対応付けるのみであったので、GUIの Look &
Feel により多様性をもたせ、GUIの質を向上させ、
GUI部の自動生成にデータ辞書の統計情報を使用する
ようにした自動レイアウトシステムを提供することを目
的としている。
【0010】
【課題を解決するための手段】本発明は、上記課題を解
決するために、(1)意味としてまとまりになるデータ
ベースフィールドの集合を画面上で矩形領域のブロック
に対応づけ、該ブロックに対して複数のグラフィカルユ
ーザインタフェース形態を用意してブロック定義ファイ
ルとし、ブロック内に配置されるグラフィカルオブジェ
クトの種類や数をデータ辞書の統計情報により決定する
決定手段を有し、複数のレイアウト候補をブロックごと
に生成し、配置すること、更には、(2)前記データベ
ースフィールドのうちデータ型が配列型である場合、配
列要素数の統計情報を用いて、配列型データベースフィ
ールドに対応するグラフィカルオブジェクト数を決定す
ること、更には、(3)前記(2)において、前記配列
型データベースフィールド配列要素数の統計情報とし
て、平均要素数,最小要素数,最大要素数,標準偏差を
保持すること、更には、(4)前記(1)において、前
記データベースフィールドのドメインが離散集合の場
合、フィールド値の統計情報を用いて、データベースフ
ィールドに対応するグラフィカルオブジェクトの形態を
決定すること、更には、(5)前記(4)において、前
記フィールドドメインが離散集合であるデータベースフ
ィールドの統計情報として、フィールド値と出現確率と
を保持すること、更には、(6)前記(1)において、
前記データベースフィールドのうちデータ型が可変長型
である場合、データ長の統計情報を用いて、可変長型デ
ータベースフィールドに対応するグラフィカルオブジェ
クトの形態を決定すること、更には、(7)前記(6)
において、前記可変長型データベースフィールドのデー
タ長の統計情報として、平均長,最小長,最大長,標準
偏差を保持すること、更には、(8)前記(1)におい
て、前記データベースフィールド間の関係が多対多関連
あるいは1対多関連である場合、データベースフィール
ド間のリンク数の統計情報を用いて、画面表示するリン
クオカレンス数を決定すること、更には、(9)前記
(8)において、前記データベースフィールド間のリン
ク数の統計情報として、最小リンク数,最大リンク数,
平均リンク数を保持することを特徴としたものである。
【0011】
【作用】従来の4GL(第4世代言語)の自動レイアウ
ト機能はレイアウトパターンが決まっている。本発明の
レイアウト自動生成器では、simmulated annealing(模
擬アニーリング)アルゴリズムを用いることで多様なブ
ロックの配置を生成できる点が、従来のシステムにはな
い点である。従来のシステムでは、候補を複数作成する
機能はないし、それらを自動的に配置する機構もなく、
それらを組み合わせて出来た複数のレイアウトのうち、
どれが良いレイアウトかを評価する機構もない。本発明
は、そのブロック内に配置されるグラフィカルオブジェ
クト(X window system ではウイジェット:widget と
呼ぶ)の種類や数を決めるのに、データ辞書の統計情報
を利用する点である。
【0012】この統計情報とは、ひとつのレコード型に
含まれるレコードオカレンスの数とか、一つのフィール
ドに対してどのようなフィールド値があるか、またその
フィールド値の出現回数はいくつか、というようなデー
タベースの状態のスナップショットに対する統計情報で
ある。そこで、どのように統計情報を使えばよいかを4
つのパターンに分類した。またそれぞれのパターンで、
どのような統計情報の表現方法をとればよいのかを示し
た。統計情報をユーザインタフェースの自動生成に応用
した例はまだない。
【0013】本発明のシステム“GUI自動生成器”
は、データ辞書内の統計情報を用いることにより、適切
なグラフィカルオブジェクトの種類と数を人間に代わっ
て決定するエキスパートシステムである。本発明のシス
テムは、複数のレイアウト候補をブロックごとに生成し
(これをconfigurationと呼ぶ)、それをsimmulated ann
ealing で配置するという特徴を有している。このよう
に、データ設計の専門家であれば、画面に一度に何個の
レコードオカレンスやリンクオカレンスを並べればよい
のか適切に予想できるが、非専門家には難しいので、非
専門家であってもこのGUI自動生成器の助けにより、
操作者が見たいと予測されるGUIを作成できるように
なる。
【0014】
【実施例】実施例について、図面を参照して以下に説明
する。まず、個々のレコード型に対応するGUI部を作
成する手法について説明し、次に、フィールド並びに関
する指定方法を述べ、さらに自動レイアウトシステムに
より作成された画面例を示す。
【0015】ブロックごとのGUIの生成 本発明の自動レイアウトシステムでは、意味としてひと
まとまりになるデータベースフィールドの集合を画面上
でブロックという矩形領域に対応つける。ブロックは画
面上で枠で囲まれる。ブロックごとのGUI上での表現
は多様で、システムはあらかじめブロックに対して複数
のGUI形態を用意し、ブロック定義ファイル(block d
efinition file)としてまとめておく。ブロックに属す
る個々のGUI形態は configuration と呼ぶこととす
る。
【0016】図1は、ひとつのブロック定義ファイル内
におけるブロックと複数のconfigurationの対応関係を
示す図で、図中、1〜5はブロック、11a〜11e,
12a〜12c,13a,13b,14a〜14e,1
5a,15bは configuration である。ブロック1〜
5ごとに含んでいる configuration の数は異なる。1
ブロックに対してひとつの configuration がランダム
に選択される。図中、斜線の configuration 11b,
12c,13a,14d,15aは選択されたものを表
している。この選択された configuration を統合して
1枚のGUI画面が構成される。
【0017】前述のように、斜線部が選択されている c
onfiguration である。このようにconfiguration のう
ちのひとつが選択されて、例えば、図2に示すような画
面が構成される。図2の画面上には5個のブロックがあ
るが、それぞれが選択されたconfiguration を表してい
る。本システムではデータベースフィールドの集合に対
するスキーマ情報をオブジェクトとみなし、そのメソッ
ドとしてGUIを生成し、その返り値とする makeGU
I() を用意する。configuration を作成するには、ス
キーマ情報オブジェクトに対して、GUIを作成するメ
ソッド makeGUI() を実行すればよい。makeGUI()
はデータベース空間からGUI上へのマッピングと考
えられる。
【0018】スキーマ情報は、図3に示したように、レ
コード名、フィールド名、型、幅、高さを含む。その他
のデータ辞書からの情報は後述する。幅と高さの情報は
configuration としてtext_field ウイジェットが割り
当てられた場合を想定しているので、その単位はピクセ
ル数でなくキャラクタ数としている。
【0019】自動レイアウトシステムでは、E−R(En
tity-Relationship)ダイアグラム上の連鎖する多対多
関連を一定ルールに基づきGUI部にマッピングする。
多対多関連をまず1対多関連に分解し、1対多の1側を
シングルオカレンスタイプのブロック、そして多側をマ
ルチオカレンスタイプのブロックとする。従来のシステ
ム仕様ではシングルオカレンスとマルチオカレンスの2
タイプだけであったが、makeGUI()ではタイプとして
table(テーブル), fieldSet(フィールドセット),
fieldList(フィールドリスト)の3タイプを用意す
る。生成されるウイジェットの種類はそのタイプにより
異なる。図2のブロックタイプは、図1のブロック定義
ファイルの type: 欄に記述されている。以下、table,
fieldSet,fieldList について説明する。
【0020】table:スクロールバーのついた表形式
ウイジェットが作られる。各レコードオカレンスのフィ
ールド並びが、リストの項目として並ぶ。マルチオカレ
ンスのデータ操作に使う。 fieldSet:シングルオカレンスのデータ操作に使う。
異なる型のウイジェットの集合が生成される。本システ
ムではフィールドの型に依り、図4に示すマッピングに
従い、データベースフィールドはタイトルラベルのつい
たウイジェットに対応つけられる。
【0021】本システムでは、fieldSetへのマッピング
に関して、以下のような仕様にしている。すなわち、図
4に示すように、ひとつのフィールド型は複数の confi
gurationにマッピングされる場合がある。例えば、取り
得るフィールド値の数が限定されている場合、データベ
ースフィールドは option_menu(オープンメニュー)ウ
イジェットあるいは radio_button(ラジオボタン)ウ
イジェットへマッピングされる。 fieldList:同じ形態のフィールドが複数並んだも
の。マルチオカレンスのレコード操作に使う。
【0022】ウイジェットの種類について以下に説明す
る。variable character(可変長文字列)とはフィール
ド長がデータごとに大きく変わる場合、可変長として格
納する型である。variable character 型フィールド
は、スクロールバーのついた text_field(これを scro
lled_text という)、あるいはtext_field ウイジェッ
トへマッピング可能である。scale ウイジェットはスラ
イダにつまみが付いたもので、アナログ値を連続的に変
更したいとき使う。
【0023】図2に“Latin America”とラベル表示さ
れているウイジェットが、option_menu でラベルを押す
と、メニューがポップアップする。radio_button ウイ
ジェットは、複数個でグループをなしていて、ひとつが
排他的に選択されるようになっている。radio_button
は、後述の図8の中の4でNo.1からNo.8までの評
価の選択に使われている。
【0024】データ辞書内の統計情報の使い方について
説明する。makeGUI() に先だってプリプロセッサ st
atistical data collecter(統計データコレクタ)が実
行され、その時点のスナップショットから以下に示すフ
ォーマットの統計情報を取り出してくる。その統計情報
から、システムはGUIに並べるウイジェットの数を適
切に決める。makeGUI() 内部での統計情報の使い方
は、以下の4種類である。
【0025】(1)配列 (array) 型の要素数 配列型のデータベースフィールドでは複数の値がとれ
る。配列の要素数はフィールドによって異なってよい。
本システムでは配列要素数に関して、以下の5―タプル
の情報を取ってきて、fieldList に並べられるウイジェ
ット数の決定に役立てる。平均要素数,最小要素数,最
大要素数,m−3σ,m+3σの5項目を統計情報とし
て保持する。平均値をmとし、正規分布の場合、m±3
σの間に確率は99.7%となる(σは標準偏差)。
【0026】(2)異なるフィールド値の占める割合 フィールドのドメインが離散値集合の場合、フィールド
値ごとの出現回数をカウントし、各フィールド値ごとに
(値、%)のペア情報を統計情報として保持する。出現
頻度の高い値をウイジェットのデフォルトとして組み込
む、また頻度順にメニュー項目として値を組み込むなど
して、オペレータにとって使い勝手のよいユーザインタ
フェースを生成するのに役立てる。また開発者にとって
も出てくる可能性のあるフィールド値の集合を指定する
手間が省けるという利点がある。
【0027】(3)可変長(variable)型のデータ長 可変長型フィールドが定義された場合も、配列型の要素
数同様に平均長,最小長,最大長,m−3σ,m+3σ
の統計情報を保持する。この値を使ってシステムは、可
変長フィールド値を表示するためにウイジェットをどの
程度にすればよいのかを決定する。
【0028】(4)リンクオカレンスの数 多対多関連あるいは1対多関連に対して、一度に複数の
リンクオカレンスを表示したほうが一度に全体の様子が
把握できてよい場合が多々ある。システムはひとつのリ
ンク型L[i](R[i],R[j])に対して、起点レコード型
R[i]のすべてのレコードオカレンスに対してそのリン
クオカレンス数をカウントし、以下の3_タプル統計情
報を計算する。
【0029】すなわち、3−タプル統計情報とは、最小
リンク数、最大リンク数、平均リンク数である。例え
ば、その関連が1対1対応であれば、(最小リンク数,
最大リンク数,平均リンク数)は、“(1,1,1)”とな
る。リンクの無いレコードが少数ある場合は、例えば
“(0,1,0.99)”。反対に殆んどはリンクしていな
い場合、例えば“(0,1,0.1)”のような統計情報が
とられるだろう。リンク数が最大8の場合は、例えば
“(0,8,0.1)”というようになる。この3つの値の
うち最大値が最も重要である。以下に本発明におけるヒ
ューリステックな規則を示す。
【0030】・リンク数の最大値が3〜5であるなら
ば、その最大値の数だけリンクオカレンスを画面上に並
べる。図6にあるように、リンクオカレンス数3が最も
出現頻度が高く、レイアウト的にも適切な場合が多い。 ・リンク数の最大値が6以上の場合は text_field ウイ
ジェットではなく、スクロールバー付きの table ウイ
ジェット7a〜7cを使う。table 分のスペースがない
場合はポップアップウインドーとして表示することとす
る。
【0031】フィールド並びの指定 fieldSet タイプのブロックにおいて、フィールド並び
に変化を与えることでconfiguration にさらに多様性を
もたせることができる。makeGUI() メソッドに以下のオ
プションをつけられるようにする。レイアウトの単位と
してはフィールドを表す2つのウイジェット(labelとt
extなど)をひとまとまりとして考える。
【0032】stand_in 横優先か縦優先かを記述する。またパックするかしない
か。パックしない場合、ラベルの大きさは行のうち最大
のものに揃えられる。 label ラベル文字列を右詰めにするか、中央揃え、あるいは左
詰めにするか。 fold 指定方向にいくつ並べたら折り返すか。 item_grid 横隣、あるいは縦隣のウイジェットと並びが揃うように
余分なマージンを入れるか否か。
【0033】図7(a)〜(f)は、前記オプションの
例を示す図で、6つの configuration を示している。
図2に示す fieldSet 並びを作成するためには、どのよ
うなオプション指定をすればよいかを示す。なお、ひと
つの矩形No.1〜10は label ウィジェットともうひ
とつの別のウィジェットのペアを表す。 ・Reviewed Paper makeGUI(fieldSet) :stand_in column :fold 2 :it
em_grid on(offでもこの場合同じ):label left ・Evaluation makeGUI(fieldSet) :stand_in column :fold 3 :it
em_grid on(offでもこの場合同じ):label left
【0034】フィールド並びの多様性を与えるオプショ
ンは、他のデータベースアプリケーション開発支援ツー
ルでも用意されているものであり、本発明の仕様の方が
非常にすぐれているとは断定しにくい。しかし、他シス
テムでは、ユーザが対話的に初期レイアウトの雛型を決
めるために指定するという目的だけに使っているのに対
し、本システムでは、システムが configuration の多
様性を増すために、これらオプションの組合せを変えて
候補となる configuration 数を増やし、それらの中か
ら良い評価点を得たものを選別しているという点で、従
来のシステムに対して優位性がある。configuration の
多様性を増すためのステップをまとめると、以下の3つ
となる。
【0035】多対多関連の表現の多様性 ブロックの多対多関連をどう表現するかを論理的画面オ
ブジェクトのタイプ(table, fieldSet, fieldList)で指
定する。 物理的画面オブジェクトへの対応づけ 実際にどのウイジェットセットを使うかにより、論理的
オブジェクトからマッピングされるウイジェットが異な
ってくる。図4のマッピングは、本発明において開発さ
れた OSF/Motif〔Open Software Foundation:OSF/Motif
Programmer'sReference Revision 1.2, Prentice Hal
l, 1993, Englewood Cliffs, N.J.〕ベースのウイジェ
ットセットに基づいている。さらに、同じ物理的ウイジ
ェットでも、その属性値の組合せを変えることで、複数
の configuration を作成することができる。
【0036】フィールド並びの多様性 fieldSet の並びを複数用意することで、configuration
数を増やす。
【0037】前記の3通りの多様性が、n,m,l(エ
ル)個あるとすると、作成される configuration の総
数のオーダは(n×m×l)となる。自動レイアウトの
simmulated annealing 過程においては、ブロック間の
組合せを行なうのでその組合せ数はかなり大きくなる。
【0038】自動レイアウト画面例 自動レイアウトシステムでは、ブロックの配置が決まる
と、ブロック内に実際のウイジェットである configura
tion を配置してみる。ブロックは周囲のブロックとの
位置関係により、その configuration のサイズ分より
大きい空間が割り当てられる場合がある。その時は
(1)ウイジェットは中央に配置する、(2)ブロック
内の空間を広げるため以下を行なう。 ・スクロールバー付きのウイジェットはサイズを広げ
る。 ・fieldList および table タイプのウイジェットは表
示オカレンス数を増やす。 こうした最後の調節によりウイジェット配置は見栄えの
よいものとなる。図5及び図8は、図2と同じ操作内容
で、違うスクリーンサイズを指定された場合に生成され
たGUI例を示す図である。これらから configuration
の組合せにより多様なGUI形態が生成できることが
わかる。
【0039】システム概要 図9及び図10は、本発明の自動レイアウトシステムに
よって、アプリケーション開発者がどのような作業によ
りデータベース操作用GUIを作成するのか、その全体
的手順を示すフローチャートである。 (1)E−Rダイアグラムに基づく仕様の視覚的記述
(Specification of Database Structure Using Specif
ication Tool) 開発者はE―Rダイアグラム上で、アプリケーションの
対象となるE―Rの範囲、及びそのE―R中でどのenti
tyを中心に据えるかを選択する。出来たファイルを App
lication Specification Diagram(ASD) と呼ぶ。この中
心となるentityをマスター entity と呼ぶことにする。
【0040】(2)BPTの作成(ASD Tracing) 画面構成要素はデータ操作単位ごとにブロックとしてま
とめられる。現システム仕様では各 entity 及び relat
ionship ごとにブロック化している。また定型のデータ
操作用のメニューボタンなどもブロックとなる。relati
onship も entity 同様ブロックになり得るが、フィー
ルドを含まない relationship の場合はブロック化しな
い。システム内部では、ブロックは relationship をた
どり、マスター entity をルートとする木構造として格
納する。システムは、対象E―R全体をトレースし、中
心に据える entity をルートとする entity ブロックの
木構造を作る。これを Block Precedence Tree(BPT) と
呼び、その例を図11に示す。
【0041】BRTのノードはブロックを表し、BPT
のノード間の枝は relationship を表している。BPT
のノードブロック中、太線で囲んであるものはマルチ
オカレンスタイプのブロックを示している。また、細い
線で囲んであるものはシングルオカレンスタイプのブロ
ックを示している。対象E―Rが大きいため、1枚の画
面で表現出来ないとシステムが判断した場合は、この木
構造をいくつかのサブツリーに分割して複数画面とす
る。現在の仕様ではルートから3段階までのレベルのブ
ロックを1画面に収め、それ以外のブロックは個々にダ
イアローグスクリーンとしてポップアップ表示するよう
にしている。
【0042】(3)ブロックのオブジェクトタイプの決
定とブロックの定義(Object Type Decision and Block
Definition) 2つの entity ブロック間の relationship が1対多の
場合は、1側を fieldSet タイプとする。多側は複数の
データを同時に表示したいので table 及び、fieldList
とする。 マルチオカレンスタイプ fieldList or table シングルオカレンスタイプ fieldSet さらに、以下に場合は別のブロックを新たに作成する。
【0043】・シングルタイプオカレンスの場合、対象
となるデータベースフィールドのうち、配列型のフィー
ルドだけは元の fieldSet とは独立に別の fieldList
のブロックを設ける。 ・多対多あるいは1対多の relationship に対して一度
に複数のリンクオカレンスを表示したほうがよい場合が
ある。したがって、多対多あるいは1対多の relationsh
ip のリンクオカレンス数は統計情報を用いて決める。
【0044】図6では、ブロック“Reviewer Name”と
ブロック“Reviewed paper”の間のrelationship が1
対多になっており、このGUIでは3リンクオカレンス
を同時に表示している。リンクオカレンスを複数表示す
る場合は、図6に示すように、両端のレコードに対応す
るブロックを関係がわかるように隣り合って配置する必
要がある。ひとつの“Revewed Paper”に対して割り当
てられた最大3人の査読者の氏名を表示し、今度はその
関連を逆向きにたどり、査読者に割り当てられた論文名
(一般に複数)を table ウイジットで表示している。
システムはこの例のようにリンクオカレンス数が2以上
の場合、リンク両端の2つのレコードをまとめてひとつ
のブロックとして取り扱うこととする。
【0045】システム任せではなく、「E-R―E' あ
るいは E-R―E'―R'―E''… といった長いパスの
検索結果を複数個同一画面に表示したい」というアプリ
ケーション開発者の要求を明示的に記述できる必要もあ
る。したがって本システムではuser preference とし
て、 (<パスデータ>, <データ数>) という指定も許すようにする。
【0046】(4)物理的画面オブジェクトへの対応づ
け(Mapping from Database Fields to Physical Graph
ical Objects) 前述の fieldSet, fieldList 及び table は、論理的な
画面オブジェクトタイプであり、次にシステムは論理か
ら物理的画面オブジェクトへのマッピングを行なう必要
がある。これは図4に示したようなマッピングテーブル
に従って行なう。fieldSet内の個々のデータベースフィ
ールドは前述したように、複数の物理的表現が可能であ
る。
【0047】(5)物理的画面オブジェクトの属性値の
決定(Physical Graphical Object Resource Value Dec
ision) また、個々の物理的オブジェクトでもその属性値によっ
て複数通りの形態が考えられる。その属性値決定も、従
来はテンプレートとして候補となるデフォルト値を複数
与えるのみであったが、本発明では属性値の決定にデー
タ辞書から得られた統計情報を使うこととする。配列型
データベースフィールドの要素数や、可変長フィールド
の長さはこれらの統計情報から決める。また統計情報か
ら、フィールド値の数が有限個であることがわかる場合
は、その統計情報を使って出現頻度順に選択候補値をな
らべるなどする。table 型ブロックに対して、同時に何
データ表示するとよいかをシステムが決めるときの判断
基準としても統計情報は使用される。
【0048】(6)フィールド並びの多様性(Laying O
ut Physical Graphical Objects in afieldSet) さらに、ひとつの fieldSet の中のフィールドレイアウ
トを多様にするため、 カラム数、縦/横方向優先などを変えることによ
り、図7に示すように、ブロック毎に多くの configura
tion を作成する。ブロックごとに複数のconfiguration
をまとめてファイルとする。これは、図1に示すよう
に、Block Definition File(ブロック定義ファイル)
と呼ぶ。
【0049】(7)ブロック配置及びそのレイアウト評
価(Block Placement Generator) 次に、本発明のシステムは、画面を構成する複数のブロ
ックを simulated annealing 手法により配置し、次々
と異なるブロックレイアウトを作成する。この模擬アニ
ーリングは、例えば、S.Kirkpatrik, C.D. Gelattおよ
びM.P.Vecchi著“Optimization by Simulated Annealin
g(模擬アニーリングによる最適化)”(Science,第2
0巻No.4598号,1983年5月,671-680頁)によって知られ
ている。模擬アニーリング処理手順は、解空間を通して
無作為に移動する確率関数の使用に基づいている。前記
解空間は、ブロック記述ファイル130の特定セットに対
応するオブジェクトブロックセットのデータベースイン
ターフェース内のあらゆる潜在的に可能な配置に該当す
る。各反復処理に続き、解の“質"を、前の反復処理中
に得た解の“質"と比較する。一般に、新しい解は、先
の解より改善を示している場合にのみ採択する。但し、
極小値に近似の解空間に拘束されるのを避けるために、
模擬アニーリング関数はある特定のより劣った解を受け
入れる。
【0050】下記の疑似コードは、模擬アニーリング手
順を記述したものである。 Simulated Annealing Initialize; placement=GeneratelnltialPlacement; cost=Evaluate(placement); while(loop_count<MAX_ITERATIONS and temperature >MIN_TEMPERATURE) new_placement = Perturb(placement) new_cost = Evaluate(new_placement); if(Accept(new_placement,new_cost,temperature)) placement=new_cost; loop_count++; temparature=NewTemparature(loop_count); return(placement,cost);
【0051】simulated annealingでは、ランダムに配
置やサイズ、形状を変えては評価をするという作業を繰
り返す。このループ中、ランダムにブロックの形態を
別のconfiguration に置き換える、2つのブロックの
位置を交換する、あるブロックを他の位置に移動させ
る、という3種類の作業が行なわれる。ループを重ねる
に従い、変化量は次第に小さくなるようにして収束に向
かわせる。ループ毎にシステムはレイアウトに評価点を
与える。
【0052】(8)ブロックレイアウトへの画面オブジ
ェクトの配置(Physical Graphical Object Assignmen
t) ある評価点を越えるブロックレイアウトに対しては、実
際の物理的オブジェクトを配置してみる。その時、ブロ
ックの間の空白を埋めるように、画面オブジェクトのリ
サイズ可能な部分は、広げるようにオブジェクトの属性
を変えて調節する。生成された個々のレイアウトは評価
システムにより点数をつけられ、一定水準を越えるもの
だけが選択される。
【0053】(9)UILコードの生成(Display Code
Generator and Compiler) 完成されたGUI画面は、目に見えるようにOSF/Motif
UIL(User Interface Language)によるコードに変
換され、UILコンパイラを通して表示される。
【0054】
【発明の効果】以上の説明から明らかなように、本発明
によると、以下のような効果がある。すなわち、本発明
は、データベース操作用GUIの多様性を、データ辞書
の統計情報を使うことで増すものであり、本発明の自動
レイアウトシステムでは、まずブロックごとに、実際に
配置される物理的画面要素(ウイジェット)を複数用意
し、これを configuration と呼ぶ。ひとつのブロック
は複数通りの物理的画面要素表現が可能であり、それは
各ブロックに複数の configuration を対応させること
となる。この物理的画面要素への対応づけにおいて、デ
ータ辞書の統計情報を使用することで、従来の configu
ration よりも多数の configuration を用意できるよう
になった。データ辞書の統計情報は見ための多様性だけ
でなく、デフォルト表示値をアクセス頻度の高いものに
するなど、そのGUIの操作性向上にも役立つ。データ
ベース設計の知識豊富な開発者の場合、適切な数の適切
なタイプのウイジェットを並べてGUIを作成できる。
たとえ不慣れな開発者であってもエキスパートが作成し
たGUIと同じレベルのGUIを作成するシステムが実
現できた。統計情報により使い勝手の良いGUIレイア
ウトを作成するシステムは、そういう意味でエキスパー
トシステムと言える。また、従来、問合せの最適化のた
めにのみ使用されていた統計情報が、GUI の操作性
向上のためにも利用できる。また統計情報の利用によ
り、さらに多様性のあるGUIを自動生成できるように
なった。
【図面の簡単な説明】
【図1】 本発明によるブロック定義ファイル内におけ
るブロックと複数のconfiguration の対応関係を示す図
である。
【図2】 本発明により生成されたGUI画面の例(そ
の1)を示す図である。
【図3】 本発明におけるスキーマ情報オブジェクトの
例を示す図である。
【図4】 本発明における fieldSet が許可するマッピ
ングを示す図である。
【図5】 本発明により生成されたGUI画面の例(そ
の2)を示す図である。
【図6】 本発明の多対多関連において3個のリンクオ
カレンスを一度に表示した画面例を示す図である。
【図7】 本発明における fieldSet 内のフィールド並
びの指定の例を示す図である。
【図8】 本発明により生成されたGUI画面の例(そ
の3)を示す図である。
【図9】 本発明による自動レイアウトシステムを説明
するためのフローチャート(その1)である。
【図10】 本発明による自動レイアウトシステムを説
明するためのフローチャート(その2)である。
【図11】 本発明における Block Precedence Tree
(BPT)の例を示す図である。
【符号の説明】
1〜5…ブロック、6a〜6c…リンクオカレンス、7
a〜7c…table ウィジェット、11a〜11e,12
a〜12c,13a,13b,14a〜14e,15
a,15b… configuration。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年9月6日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0011
【補正方法】変更
【補正内容】
【0011】
【作用】従来の4GL(第4世代言語)の自動レイアウ
ト機能はレイアウトパターンが決まっている。本発明の
レイアウト自動生成器では、simmulated a
nnealing(模擬アニーリング)アルゴリズムを
用いることで多様なブロックの配置を生成できる。従
のシステムでは、候補を複数作成する機能はないし、そ
れらを自動的に配置する機構もなく、それらを組み合わ
せて出来た複数のレイアウトのうち、どれが良いレイア
ウトかを評価する機構もない。本発明は、そのブロック
内に配置されるグラフィカルオブジェクト(X win
dow systemではウイジェット:widget
と呼ぶ)の種類や数を決めるのに、データ辞書の統計情
報を利用する点である。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】本発明のシステム“GUI自動生成器”
は、データ辞書内の統計情報を用いることにより、適切
なグラフィカルオブジェクトの種類と数を人間に代わっ
て決定するエキスパートシステムである。本発明のシス
テムは、複数のレイアウト候補をブロックごとに生成し
(これをconfigurationと呼ぶ)、それを
simmulated annealingで配置する
という特徴を有している。なお、レイアウト候補の配置
をsimulated annealingで行うこと
については、先に提案した特願平5−274675に記
載されている。このように、データ設計の専門家であれ
ば、画面に一度に何個のレコードオカレンスやリンクオ
カレンスを並べればよいのか適切に予想できるが、非専
門家には難しいので、非専門家であってもこのGUI自
動生成器の助けにより、操作者が見たいと予測されるG
UIを作成できるようになる。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 意味としてまとまりになるデータベース
    フィールドの集合を画面上で矩形領域のブロックに対応
    づけ、該ブロックに対して複数のグラフィカルユーザイ
    ンタフェース形態を用意してブロック定義ファイルと
    し、ブロック内に配置されるグラフィカルオブジェクト
    の種類や数をデータ辞書の統計情報により決定する決定
    手段を有し、複数のレイアウト候補をブロックごとに生
    成し、配置することを特徴とする自動レイアウトシステ
    ム。
  2. 【請求項2】 前記データベースフィールドのうちデー
    タ型が配列型である場合、配列要素数の統計情報を用い
    て、配列型データベースフィールドに対応するグラフィ
    カルオブジェクト数を決定することを特徴とする請求項
    1記載の自動レイアウトシステム。
  3. 【請求項3】 前記配列型データベースフィールド配列
    要素数の統計情報として、平均要素数,最小要素数,最
    大要素数,標準偏差を保持することを特徴とする請求項
    2記載の自動レイアウトシステム。
  4. 【請求項4】 前記データベースフィールドのドメイン
    が離散集合の場合、フィールド値の統計情報を用いて、
    データベースフィールドに対応するグラフィカルオブジ
    ェクトの形態を決定することを特徴とする請求項1記載
    の自動レイアウトシステム。
  5. 【請求項5】 前記フィールドドメインが離散集合であ
    るデータベースフィールドの統計情報として、フィール
    ド値と出現確率とを保持することを特徴とする請求項4
    記載の自動レイアウトシステム。
  6. 【請求項6】 前記データベースフィールドのうちデー
    タ型が可変長型である場合、データ長の統計情報を用い
    て、可変長型データベースフィールドに対応するグラフ
    ィカルオブジェクトの形態を決定することを特徴とする
    請求項1記載の自動レイアウトシステム。
  7. 【請求項7】 前記可変長型データベースフィールドの
    データ長の統計情報として、平均長,最小長,最大長,
    標準偏差を保持することを特徴とする請求項6記載の自
    動レイアウトシステム。
  8. 【請求項8】 前記データベースフィールド間の関係が
    多対多関連あるいは1対多関連である場合、データベー
    スフィールド間のリンク数の統計情報を用いて、画面表
    示するリンクオカレンス数を決定することを特徴とする
    請求項1記載の自動レイアウトシステム。
  9. 【請求項9】 前記データベースフィールド間のリンク
    数の統計情報として、最小リンク数,最大リンク数,平
    均リンク数を保持することを特徴とする請求項8記載の
    自動レイアウトシステム。
JP16213694A 1994-07-14 1994-07-14 自動レイアウトシステム Expired - Fee Related JP3519126B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16213694A JP3519126B2 (ja) 1994-07-14 1994-07-14 自動レイアウトシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16213694A JP3519126B2 (ja) 1994-07-14 1994-07-14 自動レイアウトシステム

Publications (2)

Publication Number Publication Date
JPH0830637A true JPH0830637A (ja) 1996-02-02
JP3519126B2 JP3519126B2 (ja) 2004-04-12

Family

ID=15748729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16213694A Expired - Fee Related JP3519126B2 (ja) 1994-07-14 1994-07-14 自動レイアウトシステム

Country Status (1)

Country Link
JP (1) JP3519126B2 (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044604A (ja) * 2001-07-31 2003-02-14 Tsubasa System Co Ltd 設計支援方法、設計支援プログラム、設計支援システム
JP2011524035A (ja) * 2008-05-06 2011-08-25 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. メディアオブジェクトの時空間レイアウト
JP2014063524A (ja) * 2011-04-28 2014-04-10 Canon Marketing Japan Inc 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体
US8868580B2 (en) 2003-09-15 2014-10-21 Ab Initio Technology Llc Data profiling
US9323748B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US9971798B2 (en) 2014-03-07 2018-05-15 Ab Initio Technology Llc Managing data profiling operations related to data type
US10348916B2 (en) 2015-09-15 2019-07-09 Ricoh Company, Ltd. Display input device, image forming apparatus, display control method, and non-transitory computer recording medium for an improved GUI including a plurality of display area types
KR102245480B1 (ko) * 2020-05-26 2021-04-28 주식회사 일루니 레이어 블록을 이용한 딥러닝 모델 생성 방법
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334656A (ja) * 1994-06-14 1995-12-22 Nippon Telegr & Teleph Corp <Ntt> データベース情報ビジュアル化ap開発支援システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334656A (ja) * 1994-06-14 1995-12-22 Nippon Telegr & Teleph Corp <Ntt> データベース情報ビジュアル化ap開発支援システム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044604A (ja) * 2001-07-31 2003-02-14 Tsubasa System Co Ltd 設計支援方法、設計支援プログラム、設計支援システム
US9323802B2 (en) 2003-09-15 2016-04-26 Ab Initio Technology, Llc Data profiling
US8868580B2 (en) 2003-09-15 2014-10-21 Ab Initio Technology Llc Data profiling
JP2011524035A (ja) * 2008-05-06 2011-08-25 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. メディアオブジェクトの時空間レイアウト
US8683326B2 (en) 2008-05-06 2014-03-25 Hewlett-Packard Development Company, L.P. Spatiotemporal media object layouts
US9652513B2 (en) 2011-01-28 2017-05-16 Ab Initio Technology, Llc Generating data pattern information
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
JP2014063524A (ja) * 2011-04-28 2014-04-10 Canon Marketing Japan Inc 情報処理システム、アプリケーションサーバ、情報処理方法、プログラムおよび記録媒体
US9323749B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9569434B2 (en) 2012-10-22 2017-02-14 Ab Initio Technology Llc Profiling data with source tracking
US9323748B2 (en) 2012-10-22 2016-04-26 Ab Initio Technology Llc Profiling data with location information
US9990362B2 (en) 2012-10-22 2018-06-05 Ab Initio Technology Llc Profiling data with location information
US10719511B2 (en) 2012-10-22 2020-07-21 Ab Initio Technology Llc Profiling data with source tracking
US11163670B2 (en) 2013-02-01 2021-11-02 Ab Initio Technology Llc Data records selection
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US10241900B2 (en) 2013-02-01 2019-03-26 Ab Initio Technology Llc Data records selection
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
US9971798B2 (en) 2014-03-07 2018-05-15 Ab Initio Technology Llc Managing data profiling operations related to data type
US10348916B2 (en) 2015-09-15 2019-07-09 Ricoh Company, Ltd. Display input device, image forming apparatus, display control method, and non-transitory computer recording medium for an improved GUI including a plurality of display area types
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
KR102245480B1 (ko) * 2020-05-26 2021-04-28 주식회사 일루니 레이어 블록을 이용한 딥러닝 모델 생성 방법

Also Published As

Publication number Publication date
JP3519126B2 (ja) 2004-04-12

Similar Documents

Publication Publication Date Title
US10902045B2 (en) Natural language interface for building data visualizations, including cascading edits to filter expressions
US5495567A (en) Automatic interface layout generator for database systems
US8386919B2 (en) System for displaying an annotated programming file
US7461077B1 (en) Representation of data records
US8073836B2 (en) System for viewing databases
US6792595B1 (en) Source editing in a graphical hierarchical environment
US7904821B1 (en) Graphical user interface that is convertible at runtime
JP4140980B2 (ja) プログラムツリーを表示するコンピュータプログラムの構文依存しない表示方法
US7039875B2 (en) Computer user interfaces that are generated as needed
KR920003175B1 (ko) 사용자 인터페이스 기구로 사용하기 위한 실수 입력 메뉴
US6904588B2 (en) Pattern-based comparison and merging of model versions
US6836878B1 (en) Visual programming from a tree structure
US5572650A (en) Method and apparatus for displaying structures and relationships of a relational database
US20040019875A1 (en) Masked edit control for use in a graphical programming environment
JP3519126B2 (ja) 自動レイアウトシステム
JP2006526828A (ja) 均一な装置無依存型グラフィカル・ユーザー・インターフェースの生成方法およびターミナル
JPH09222977A (ja) アプリケーション用ユーザ・インタフェース設計の規則に基づく方法及び装置
JPH05303479A (ja) データ処理システム及びその実行方法
US20030081007A1 (en) Object oriented explorer type environment
JPH05289839A (ja) ウィンドウ管理装置および方法
KR20090125045A (ko) 시스템 사양 관리 방법 및 장치
Dewan An inheritance model for supporting flexible displays of data structures
JPH0652278A (ja) データ処理システム及び値選択方法
Ooi et al. DUET—A database user interface design environment
JP2900504B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040128

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090206

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100206

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110206

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees