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
Links
Landscapes
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
を使用し、GUIの操作性の向上を図る。 【構成】 データ辞書内の統計情報を利用して、リンク
オカレンスの数を決定してオブジェクトタイプの決定と
ブロックの定義を行う。同様に、統計情報を利用して、
また、配列型の要素数,フィールド値のデフォルト,可
変長型のデータ長を決定し、物理的画面オブジェクトの
属性値の決定を行う。このように、データ辞書の統計情
報を利用することにより、従来の configuration より
も多数の configuration を用意することができ、GU
Iの操作性の向上を図ることができる。
Description
ムに関し、より詳細には、データ設計の専門家であれ
ば、画面に一度に何個のレコードオカレンスやリンクオ
カレンスを並べればよいのか適切に予想できるが、非専
門家には難しいので、非専門家であってもこのGUI
(Graphical User Interface)自動生成器の助けによ
り、操作者が見たいと予測されるGUIを作成できるよ
うにした自動レイアウトシステムに関する。
ルユーザインタフェース(GUI)の発展に伴い、ます
ます使い易くなっている。グラフィカルユーザインタフ
ェースを伴うアプリケーションプログラムの数の急増
は、特にウインドウズのユーザ環境(例えば、マイクロ
ソフト社のウインドウズ)の出現によるものである。残
念なことに、グラフィカルユーザインタフェースの生成
には、通常、高熟練プログラマによるユーザインタフェ
ースの〈ツールキット〉の利用を要する。このユーザイ
ンタフェース・ツールキットによりプログラマは特殊な
データ構成の表示方法を指定できるが、このようなツー
ルキットはインタフェース全体の設計タスクにまでは関
与しない。
は、通常、アプリケーションプログラマが、(1)ツー
ルキットとそれに属するプッシュボタンやスクロールウ
インドウなどのインタフェースオブジェクトに関する知
識を備え、(2)アプリケーションの入出力条件に基く
適当なインタフェースオブジェクトを選定し、(3)特
定アプリケーション用インタフェースオブジェクトをカ
スタマイズし、(4)インタフェースディスプレイ上で
選択されたインタフェースオブジェクトをレイアウト
し、(5)インタフェースを開始するコードを書き込
み、それをアプリケーションと共に蓄積することが必要
とされる。
のインタフェースは創設出来るが、このアプリケーショ
ンの形式を変更する場合は、インタフェースもそれに応
じて変更をしなければならない。アプリケーションとイ
ンタフェースを並行して開発するのは、改訂を繰り返す
ことになり、費用もかかる。従って、グラフィカルユー
ザインタフェースの設計を自動化するツールの開発に対
する関心が高まっている。
インタフェースの設計を容易にするために使用される幾
つかの種類のツールが存在する。その中には、独立型フ
ォームマネージャ、第4世代言語(4GL)、グラフィ
カルユーザインタフェースビルダー、グラフィカルユー
ザインタフェース自動生成システム、及び自動レイアウ
トデザイナー等が含まれている。
ケーション開発支援ツールとして各種のシステムが商用
化され広く普及している。それらのユーザインタフェー
ス画面は従来のキャラクタベースのものから、Windows
及びX Window System(米国マサチューセッツ工科大学
の登録商標)を始めとするマルチウインドーベースのG
UI(Graphical User Interface)へと移行しつつあり、
アプリケーションユーザにとっては使い易さが増してい
る反面、開発者にとってはGUIの作成に手間がかかる
という問題がでている。
ら画面構成を作成させることはせず、第一にスキーマ情
報をもとに簡単なフィールド並びのGUIを生成し、次
にそれを開発者にカスタマイズさせるという手法をとっ
ている。マイクロソフト社のAccess〔Microsoft Corp.:
Microsoft Access Users Manual, Microsoft Corp.,199
3.〕,ボーランド社の Paradox〔ボーランド株式会社:
「Paradox for Windows バージョン1.0Jユーザーズガイ
ド」, 1993.〕はどちらも Windows 上の商用ツールであ
るが、フィールド並びに関してかなり細かい設定ができ
るようになっている。しかし、個々のフィールドを作成
するのに使用されるデータはデータ辞書内の情報のう
ち、フィールド名、データ型とその長さのみである。ま
た、フィールドとGUI構成部品との対応も豊富ではな
くフィールド自体の形態に多様性はない。したがって、
その画面はプログラミングして作る場合に比べて単調に
なってしまう。
って多種多様な画面を生成できるようにするために、デ
ータ辞書内の統計情報を利用する。統計情報としては、
例えば、以下のような値がある間隔でサンプリングされ
てDBMS(データベース管理システム)により管理さ
れている。 ・リレーショナル型で、表ごとのタプル長とタプル数。 ・取り得るフィールド値の種類とその分散の程度(例:
フィールド“国名”の値は“アメリカ”,“ドイツ”,
“日本”のどれかで、分散の程度は 90%, 6%, 4% で
ある)。 ・配列型のフィールドで可変個の要素がもてる場合、要
素数の最大値と平均値。 ・可変長文字列型フィールドの平均のフィールド値の長
さ。 統計情報は、アクセスパスの選択などの問合せの最適化
に用いられるが、GUI画面の生成に統計情報が用いら
れた例は他にない。
たもので、統計情報をもとに、ユーザが見たい情報を一
目で見ることができるように配列要素数を設定したり、
最もアクセス頻度が高いフィールド値がデフォルトで表
示されているような画面構成を提供すること、また、初
期システムでは、データがマルチオカレンスか、シング
ルオカレンスかの違いに依って、個々のレコード型に異
なる種類のGUI構成部品(以下、ウイジェットと呼
ぶ)を対応付けるのみであったので、GUIの Look &
Feel により多様性をもたせ、GUIの質を向上させ、
GUI部の自動生成にデータ辞書の統計情報を使用する
ようにした自動レイアウトシステムを提供することを目
的としている。
決するために、(1)意味としてまとまりになるデータ
ベースフィールドの集合を画面上で矩形領域のブロック
に対応づけ、該ブロックに対して複数のグラフィカルユ
ーザインタフェース形態を用意してブロック定義ファイ
ルとし、ブロック内に配置されるグラフィカルオブジェ
クトの種類や数をデータ辞書の統計情報により決定する
決定手段を有し、複数のレイアウト候補をブロックごと
に生成し、配置すること、更には、(2)前記データベ
ースフィールドのうちデータ型が配列型である場合、配
列要素数の統計情報を用いて、配列型データベースフィ
ールドに対応するグラフィカルオブジェクト数を決定す
ること、更には、(3)前記(2)において、前記配列
型データベースフィールド配列要素数の統計情報とし
て、平均要素数,最小要素数,最大要素数,標準偏差を
保持すること、更には、(4)前記(1)において、前
記データベースフィールドのドメインが離散集合の場
合、フィールド値の統計情報を用いて、データベースフ
ィールドに対応するグラフィカルオブジェクトの形態を
決定すること、更には、(5)前記(4)において、前
記フィールドドメインが離散集合であるデータベースフ
ィールドの統計情報として、フィールド値と出現確率と
を保持すること、更には、(6)前記(1)において、
前記データベースフィールドのうちデータ型が可変長型
である場合、データ長の統計情報を用いて、可変長型デ
ータベースフィールドに対応するグラフィカルオブジェ
クトの形態を決定すること、更には、(7)前記(6)
において、前記可変長型データベースフィールドのデー
タ長の統計情報として、平均長,最小長,最大長,標準
偏差を保持すること、更には、(8)前記(1)におい
て、前記データベースフィールド間の関係が多対多関連
あるいは1対多関連である場合、データベースフィール
ド間のリンク数の統計情報を用いて、画面表示するリン
クオカレンス数を決定すること、更には、(9)前記
(8)において、前記データベースフィールド間のリン
ク数の統計情報として、最小リンク数,最大リンク数,
平均リンク数を保持することを特徴としたものである。
ト機能はレイアウトパターンが決まっている。本発明の
レイアウト自動生成器では、simmulated annealing(模
擬アニーリング)アルゴリズムを用いることで多様なブ
ロックの配置を生成できる点が、従来のシステムにはな
い点である。従来のシステムでは、候補を複数作成する
機能はないし、それらを自動的に配置する機構もなく、
それらを組み合わせて出来た複数のレイアウトのうち、
どれが良いレイアウトかを評価する機構もない。本発明
は、そのブロック内に配置されるグラフィカルオブジェ
クト(X window system ではウイジェット:widget と
呼ぶ)の種類や数を決めるのに、データ辞書の統計情報
を利用する点である。
含まれるレコードオカレンスの数とか、一つのフィール
ドに対してどのようなフィールド値があるか、またその
フィールド値の出現回数はいくつか、というようなデー
タベースの状態のスナップショットに対する統計情報で
ある。そこで、どのように統計情報を使えばよいかを4
つのパターンに分類した。またそれぞれのパターンで、
どのような統計情報の表現方法をとればよいのかを示し
た。統計情報をユーザインタフェースの自動生成に応用
した例はまだない。
は、データ辞書内の統計情報を用いることにより、適切
なグラフィカルオブジェクトの種類と数を人間に代わっ
て決定するエキスパートシステムである。本発明のシス
テムは、複数のレイアウト候補をブロックごとに生成し
(これをconfigurationと呼ぶ)、それをsimmulated ann
ealing で配置するという特徴を有している。このよう
に、データ設計の専門家であれば、画面に一度に何個の
レコードオカレンスやリンクオカレンスを並べればよい
のか適切に予想できるが、非専門家には難しいので、非
専門家であってもこのGUI自動生成器の助けにより、
操作者が見たいと予測されるGUIを作成できるように
なる。
する。まず、個々のレコード型に対応するGUI部を作
成する手法について説明し、次に、フィールド並びに関
する指定方法を述べ、さらに自動レイアウトシステムに
より作成された画面例を示す。
まとまりになるデータベースフィールドの集合を画面上
でブロックという矩形領域に対応つける。ブロックは画
面上で枠で囲まれる。ブロックごとのGUI上での表現
は多様で、システムはあらかじめブロックに対して複数
のGUI形態を用意し、ブロック定義ファイル(block d
efinition file)としてまとめておく。ブロックに属す
る個々のGUI形態は configuration と呼ぶこととす
る。
におけるブロックと複数の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画面が構成される。
onfiguration である。このようにconfiguration のう
ちのひとつが選択されて、例えば、図2に示すような画
面が構成される。図2の画面上には5個のブロックがあ
るが、それぞれが選択されたconfiguration を表してい
る。本システムではデータベースフィールドの集合に対
するスキーマ情報をオブジェクトとみなし、そのメソッ
ドとしてGUIを生成し、その返り値とする makeGU
I() を用意する。configuration を作成するには、ス
キーマ情報オブジェクトに対して、GUIを作成するメ
ソッド makeGUI() を実行すればよい。makeGUI()
はデータベース空間からGUI上へのマッピングと考
えられる。
コード名、フィールド名、型、幅、高さを含む。その他
のデータ辞書からの情報は後述する。幅と高さの情報は
configuration としてtext_field ウイジェットが割り
当てられた場合を想定しているので、その単位はピクセ
ル数でなくキャラクタ数としている。
tity-Relationship)ダイアグラム上の連鎖する多対多
関連を一定ルールに基づきGUI部にマッピングする。
多対多関連をまず1対多関連に分解し、1対多の1側を
シングルオカレンスタイプのブロック、そして多側をマ
ルチオカレンスタイプのブロックとする。従来のシステ
ム仕様ではシングルオカレンスとマルチオカレンスの2
タイプだけであったが、makeGUI()ではタイプとして
table(テーブル), fieldSet(フィールドセット),
fieldList(フィールドリスト)の3タイプを用意す
る。生成されるウイジェットの種類はそのタイプにより
異なる。図2のブロックタイプは、図1のブロック定義
ファイルの type: 欄に記述されている。以下、table,
fieldSet,fieldList について説明する。
ウイジェットが作られる。各レコードオカレンスのフィ
ールド並びが、リストの項目として並ぶ。マルチオカレ
ンスのデータ操作に使う。 fieldSet:シングルオカレンスのデータ操作に使う。
異なる型のウイジェットの集合が生成される。本システ
ムではフィールドの型に依り、図4に示すマッピングに
従い、データベースフィールドはタイトルラベルのつい
たウイジェットに対応つけられる。
に関して、以下のような仕様にしている。すなわち、図
4に示すように、ひとつのフィールド型は複数の confi
gurationにマッピングされる場合がある。例えば、取り
得るフィールド値の数が限定されている場合、データベ
ースフィールドは option_menu(オープンメニュー)ウ
イジェットあるいは radio_button(ラジオボタン)ウ
イジェットへマッピングされる。 fieldList:同じ形態のフィールドが複数並んだも
の。マルチオカレンスのレコード操作に使う。
る。variable character(可変長文字列)とはフィール
ド長がデータごとに大きく変わる場合、可変長として格
納する型である。variable character 型フィールド
は、スクロールバーのついた text_field(これを scro
lled_text という)、あるいはtext_field ウイジェッ
トへマッピング可能である。scale ウイジェットはスラ
イダにつまみが付いたもので、アナログ値を連続的に変
更したいとき使う。
れているウイジェットが、option_menu でラベルを押す
と、メニューがポップアップする。radio_button ウイ
ジェットは、複数個でグループをなしていて、ひとつが
排他的に選択されるようになっている。radio_button
は、後述の図8の中の4でNo.1からNo.8までの評
価の選択に使われている。
説明する。makeGUI() に先だってプリプロセッサ st
atistical data collecter(統計データコレクタ)が実
行され、その時点のスナップショットから以下に示すフ
ォーマットの統計情報を取り出してくる。その統計情報
から、システムはGUIに並べるウイジェットの数を適
切に決める。makeGUI() 内部での統計情報の使い方
は、以下の4種類である。
る。配列の要素数はフィールドによって異なってよい。
本システムでは配列要素数に関して、以下の5―タプル
の情報を取ってきて、fieldList に並べられるウイジェ
ット数の決定に役立てる。平均要素数,最小要素数,最
大要素数,m−3σ,m+3σの5項目を統計情報とし
て保持する。平均値をmとし、正規分布の場合、m±3
σの間に確率は99.7%となる(σは標準偏差)。
値ごとの出現回数をカウントし、各フィールド値ごとに
(値、%)のペア情報を統計情報として保持する。出現
頻度の高い値をウイジェットのデフォルトとして組み込
む、また頻度順にメニュー項目として値を組み込むなど
して、オペレータにとって使い勝手のよいユーザインタ
フェースを生成するのに役立てる。また開発者にとって
も出てくる可能性のあるフィールド値の集合を指定する
手間が省けるという利点がある。
数同様に平均長,最小長,最大長,m−3σ,m+3σ
の統計情報を保持する。この値を使ってシステムは、可
変長フィールド値を表示するためにウイジェットをどの
程度にすればよいのかを決定する。
リンクオカレンスを表示したほうが一度に全体の様子が
把握できてよい場合が多々ある。システムはひとつのリ
ンク型L[i](R[i],R[j])に対して、起点レコード型
R[i]のすべてのレコードオカレンスに対してそのリン
クオカレンス数をカウントし、以下の3_タプル統計情
報を計算する。
リンク数、最大リンク数、平均リンク数である。例え
ば、その関連が1対1対応であれば、(最小リンク数,
最大リンク数,平均リンク数)は、“(1,1,1)”とな
る。リンクの無いレコードが少数ある場合は、例えば
“(0,1,0.99)”。反対に殆んどはリンクしていな
い場合、例えば“(0,1,0.1)”のような統計情報が
とられるだろう。リンク数が最大8の場合は、例えば
“(0,8,0.1)”というようになる。この3つの値の
うち最大値が最も重要である。以下に本発明におけるヒ
ューリステックな規則を示す。
ば、その最大値の数だけリンクオカレンスを画面上に並
べる。図6にあるように、リンクオカレンス数3が最も
出現頻度が高く、レイアウト的にも適切な場合が多い。 ・リンク数の最大値が6以上の場合は text_field ウイ
ジェットではなく、スクロールバー付きの table ウイ
ジェット7a〜7cを使う。table 分のスペースがない
場合はポップアップウインドーとして表示することとす
る。
に変化を与えることでconfiguration にさらに多様性を
もたせることができる。makeGUI() メソッドに以下のオ
プションをつけられるようにする。レイアウトの単位と
してはフィールドを表す2つのウイジェット(labelとt
extなど)をひとまとまりとして考える。
か。パックしない場合、ラベルの大きさは行のうち最大
のものに揃えられる。 label ラベル文字列を右詰めにするか、中央揃え、あるいは左
詰めにするか。 fold 指定方向にいくつ並べたら折り返すか。 item_grid 横隣、あるいは縦隣のウイジェットと並びが揃うように
余分なマージンを入れるか否か。
例を示す図で、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
ンは、他のデータベースアプリケーション開発支援ツー
ルでも用意されているものであり、本発明の仕様の方が
非常にすぐれているとは断定しにくい。しかし、他シス
テムでは、ユーザが対話的に初期レイアウトの雛型を決
めるために指定するという目的だけに使っているのに対
し、本システムでは、システムが configuration の多
様性を増すために、これらオプションの組合せを変えて
候補となる configuration 数を増やし、それらの中か
ら良い評価点を得たものを選別しているという点で、従
来のシステムに対して優位性がある。configuration の
多様性を増すためのステップをまとめると、以下の3つ
となる。
ブジェクトのタイプ(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 を作成することができる。
数を増やす。
ル)個あるとすると、作成される configuration の総
数のオーダは(n×m×l)となる。自動レイアウトの
simmulated annealing 過程においては、ブロック間の
組合せを行なうのでその組合せ数はかなり大きくなる。
と、ブロック内に実際のウイジェットである configura
tion を配置してみる。ブロックは周囲のブロックとの
位置関係により、その configuration のサイズ分より
大きい空間が割り当てられる場合がある。その時は
(1)ウイジェットは中央に配置する、(2)ブロック
内の空間を広げるため以下を行なう。 ・スクロールバー付きのウイジェットはサイズを広げ
る。 ・fieldList および table タイプのウイジェットは表
示オカレンス数を増やす。 こうした最後の調節によりウイジェット配置は見栄えの
よいものとなる。図5及び図8は、図2と同じ操作内容
で、違うスクリーンサイズを指定された場合に生成され
たGUI例を示す図である。これらから configuration
の組合せにより多様なGUI形態が生成できることが
わかる。
よって、アプリケーション開発者がどのような作業によ
りデータベース操作用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 と呼ぶことにする。
とめられる。現システム仕様では各 entity 及び relat
ionship ごとにブロック化している。また定型のデータ
操作用のメニューボタンなどもブロックとなる。relati
onship も entity 同様ブロックになり得るが、フィー
ルドを含まない relationship の場合はブロック化しな
い。システム内部では、ブロックは relationship をた
どり、マスター entity をルートとする木構造として格
納する。システムは、対象E―R全体をトレースし、中
心に据える entity をルートとする entity ブロックの
木構造を作る。これを Block Precedence Tree(BPT) と
呼び、その例を図11に示す。
のノード間の枝は relationship を表している。BPT
のノードブロック中、太線で囲んであるものはマルチ
オカレンスタイプのブロックを示している。また、細い
線で囲んであるものはシングルオカレンスタイプのブロ
ックを示している。対象E―Rが大きいため、1枚の画
面で表現出来ないとシステムが判断した場合は、この木
構造をいくつかのサブツリーに分割して複数画面とす
る。現在の仕様ではルートから3段階までのレベルのブ
ロックを1画面に収め、それ以外のブロックは個々にダ
イアローグスクリーンとしてポップアップ表示するよう
にしている。
定とブロックの定義(Object Type Decision and Block
Definition) 2つの entity ブロック間の relationship が1対多の
場合は、1側を fieldSet タイプとする。多側は複数の
データを同時に表示したいので table 及び、fieldList
とする。 マルチオカレンスタイプ fieldList or table シングルオカレンスタイプ fieldSet さらに、以下に場合は別のブロックを新たに作成する。
となるデータベースフィールドのうち、配列型のフィー
ルドだけは元の fieldSet とは独立に別の fieldList
のブロックを設ける。 ・多対多あるいは1対多の relationship に対して一度
に複数のリンクオカレンスを表示したほうがよい場合が
ある。したがって、多対多あるいは1対多の relationsh
ip のリンクオカレンス数は統計情報を用いて決める。
ブロック“Reviewed paper”の間のrelationship が1
対多になっており、このGUIでは3リンクオカレンス
を同時に表示している。リンクオカレンスを複数表示す
る場合は、図6に示すように、両端のレコードに対応す
るブロックを関係がわかるように隣り合って配置する必
要がある。ひとつの“Revewed Paper”に対して割り当
てられた最大3人の査読者の氏名を表示し、今度はその
関連を逆向きにたどり、査読者に割り当てられた論文名
(一般に複数)を table ウイジットで表示している。
システムはこの例のようにリンクオカレンス数が2以上
の場合、リンク両端の2つのレコードをまとめてひとつ
のブロックとして取り扱うこととする。
るいは E-R―E'―R'―E''… といった長いパスの
検索結果を複数個同一画面に表示したい」というアプリ
ケーション開発者の要求を明示的に記述できる必要もあ
る。したがって本システムではuser preference とし
て、 (<パスデータ>, <データ数>) という指定も許すようにする。
け(Mapping from Database Fields to Physical Graph
ical Objects) 前述の fieldSet, fieldList 及び table は、論理的な
画面オブジェクトタイプであり、次にシステムは論理か
ら物理的画面オブジェクトへのマッピングを行なう必要
がある。これは図4に示したようなマッピングテーブル
に従って行なう。fieldSet内の個々のデータベースフィ
ールドは前述したように、複数の物理的表現が可能であ
る。
決定(Physical Graphical Object Resource Value Dec
ision) また、個々の物理的オブジェクトでもその属性値によっ
て複数通りの形態が考えられる。その属性値決定も、従
来はテンプレートとして候補となるデフォルト値を複数
与えるのみであったが、本発明では属性値の決定にデー
タ辞書から得られた統計情報を使うこととする。配列型
データベースフィールドの要素数や、可変長フィールド
の長さはこれらの統計情報から決める。また統計情報か
ら、フィールド値の数が有限個であることがわかる場合
は、その統計情報を使って出現頻度順に選択候補値をな
らべるなどする。table 型ブロックに対して、同時に何
データ表示するとよいかをシステムが決めるときの判断
基準としても統計情報は使用される。
ut Physical Graphical Objects in afieldSet) さらに、ひとつの fieldSet の中のフィールドレイアウ
トを多様にするため、 カラム数、縦/横方向優先などを変えることによ
り、図7に示すように、ブロック毎に多くの configura
tion を作成する。ブロックごとに複数のconfiguration
をまとめてファイルとする。これは、図1に示すよう
に、Block Definition File(ブロック定義ファイル)
と呼ぶ。
価(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の特定セットに対
応するオブジェクトブロックセットのデータベースイン
ターフェース内のあらゆる潜在的に可能な配置に該当す
る。各反復処理に続き、解の“質"を、前の反復処理中
に得た解の“質"と比較する。一般に、新しい解は、先
の解より改善を示している場合にのみ採択する。但し、
極小値に近似の解空間に拘束されるのを避けるために、
模擬アニーリング関数はある特定のより劣った解を受け
入れる。
順を記述したものである。 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);
置やサイズ、形状を変えては評価をするという作業を繰
り返す。このループ中、ランダムにブロックの形態を
別のconfiguration に置き換える、2つのブロックの
位置を交換する、あるブロックを他の位置に移動させ
る、という3種類の作業が行なわれる。ループを重ねる
に従い、変化量は次第に小さくなるようにして収束に向
かわせる。ループ毎にシステムはレイアウトに評価点を
与える。
ェクトの配置(Physical Graphical Object Assignmen
t) ある評価点を越えるブロックレイアウトに対しては、実
際の物理的オブジェクトを配置してみる。その時、ブロ
ックの間の空白を埋めるように、画面オブジェクトのリ
サイズ可能な部分は、広げるようにオブジェクトの属性
を変えて調節する。生成された個々のレイアウトは評価
システムにより点数をつけられ、一定水準を越えるもの
だけが選択される。
Generator and Compiler) 完成されたGUI画面は、目に見えるようにOSF/Motif
UIL(User Interface Language)によるコードに変
換され、UILコンパイラを通して表示される。
によると、以下のような効果がある。すなわち、本発明
は、データベース操作用GUIの多様性を、データ辞書
の統計情報を使うことで増すものであり、本発明の自動
レイアウトシステムでは、まずブロックごとに、実際に
配置される物理的画面要素(ウイジェット)を複数用意
し、これを configuration と呼ぶ。ひとつのブロック
は複数通りの物理的画面要素表現が可能であり、それは
各ブロックに複数の configuration を対応させること
となる。この物理的画面要素への対応づけにおいて、デ
ータ辞書の統計情報を使用することで、従来の configu
ration よりも多数の configuration を用意できるよう
になった。データ辞書の統計情報は見ための多様性だけ
でなく、デフォルト表示値をアクセス頻度の高いものに
するなど、そのGUIの操作性向上にも役立つ。データ
ベース設計の知識豊富な開発者の場合、適切な数の適切
なタイプのウイジェットを並べてGUIを作成できる。
たとえ不慣れな開発者であってもエキスパートが作成し
たGUIと同じレベルのGUIを作成するシステムが実
現できた。統計情報により使い勝手の良いGUIレイア
ウトを作成するシステムは、そういう意味でエキスパー
トシステムと言える。また、従来、問合せの最適化のた
めにのみ使用されていた統計情報が、GUI の操作性
向上のためにも利用できる。また統計情報の利用によ
り、さらに多様性のあるGUIを自動生成できるように
なった。
るブロックと複数のconfiguration の対応関係を示す図
である。
の1)を示す図である。
例を示す図である。
ングを示す図である。
の2)を示す図である。
カレンスを一度に表示した画面例を示す図である。
びの指定の例を示す図である。
の3)を示す図である。
するためのフローチャート(その1)である。
明するためのフローチャート(その2)である。
(BPT)の例を示す図である。
a〜7c…table ウィジェット、11a〜11e,12
a〜12c,13a,13b,14a〜14e,15
a,15b… configuration。
ト機能はレイアウトパターンが決まっている。本発明の
レイアウト自動生成器では、simmulated a
nnealing(模擬アニーリング)アルゴリズムを
用いることで多様なブロックの配置を生成できる。従来
のシステムでは、候補を複数作成する機能はないし、そ
れらを自動的に配置する機構もなく、それらを組み合わ
せて出来た複数のレイアウトのうち、どれが良いレイア
ウトかを評価する機構もない。本発明は、そのブロック
内に配置されるグラフィカルオブジェクト(X win
dow systemではウイジェット:widget
と呼ぶ)の種類や数を決めるのに、データ辞書の統計情
報を利用する点である。
は、データ辞書内の統計情報を用いることにより、適切
なグラフィカルオブジェクトの種類と数を人間に代わっ
て決定するエキスパートシステムである。本発明のシス
テムは、複数のレイアウト候補をブロックごとに生成し
(これをconfigurationと呼ぶ)、それを
simmulated annealingで配置する
という特徴を有している。なお、レイアウト候補の配置
をsimulated annealingで行うこと
については、先に提案した特願平5−274675に記
載されている。このように、データ設計の専門家であれ
ば、画面に一度に何個のレコードオカレンスやリンクオ
カレンスを並べればよいのか適切に予想できるが、非専
門家には難しいので、非専門家であってもこのGUI自
動生成器の助けにより、操作者が見たいと予測されるG
UIを作成できるようになる。
Claims (9)
- 【請求項1】 意味としてまとまりになるデータベース
フィールドの集合を画面上で矩形領域のブロックに対応
づけ、該ブロックに対して複数のグラフィカルユーザイ
ンタフェース形態を用意してブロック定義ファイルと
し、ブロック内に配置されるグラフィカルオブジェクト
の種類や数をデータ辞書の統計情報により決定する決定
手段を有し、複数のレイアウト候補をブロックごとに生
成し、配置することを特徴とする自動レイアウトシステ
ム。 - 【請求項2】 前記データベースフィールドのうちデー
タ型が配列型である場合、配列要素数の統計情報を用い
て、配列型データベースフィールドに対応するグラフィ
カルオブジェクト数を決定することを特徴とする請求項
1記載の自動レイアウトシステム。 - 【請求項3】 前記配列型データベースフィールド配列
要素数の統計情報として、平均要素数,最小要素数,最
大要素数,標準偏差を保持することを特徴とする請求項
2記載の自動レイアウトシステム。 - 【請求項4】 前記データベースフィールドのドメイン
が離散集合の場合、フィールド値の統計情報を用いて、
データベースフィールドに対応するグラフィカルオブジ
ェクトの形態を決定することを特徴とする請求項1記載
の自動レイアウトシステム。 - 【請求項5】 前記フィールドドメインが離散集合であ
るデータベースフィールドの統計情報として、フィール
ド値と出現確率とを保持することを特徴とする請求項4
記載の自動レイアウトシステム。 - 【請求項6】 前記データベースフィールドのうちデー
タ型が可変長型である場合、データ長の統計情報を用い
て、可変長型データベースフィールドに対応するグラフ
ィカルオブジェクトの形態を決定することを特徴とする
請求項1記載の自動レイアウトシステム。 - 【請求項7】 前記可変長型データベースフィールドの
データ長の統計情報として、平均長,最小長,最大長,
標準偏差を保持することを特徴とする請求項6記載の自
動レイアウトシステム。 - 【請求項8】 前記データベースフィールド間の関係が
多対多関連あるいは1対多関連である場合、データベー
スフィールド間のリンク数の統計情報を用いて、画面表
示するリンクオカレンス数を決定することを特徴とする
請求項1記載の自動レイアウトシステム。 - 【請求項9】 前記データベースフィールド間のリンク
数の統計情報として、最小リンク数,最大リンク数,平
均リンク数を保持することを特徴とする請求項8記載の
自動レイアウトシステム。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334656A (ja) * | 1994-06-14 | 1995-12-22 | Nippon Telegr & Teleph Corp <Ntt> | データベース情報ビジュアル化ap開発支援システム |
-
1994
- 1994-07-14 JP JP16213694A patent/JP3519126B2/ja not_active Expired - Fee Related
Patent Citations (1)
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)
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 |