JP3136035B2 - データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法 - Google Patents

データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法

Info

Publication number
JP3136035B2
JP3136035B2 JP05274675A JP27467593A JP3136035B2 JP 3136035 B2 JP3136035 B2 JP 3136035B2 JP 05274675 A JP05274675 A JP 05274675A JP 27467593 A JP27467593 A JP 27467593A JP 3136035 B2 JP3136035 B2 JP 3136035B2
Authority
JP
Japan
Prior art keywords
interface
block
layout
database
entity
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
Application number
JP05274675A
Other languages
English (en)
Other versions
JPH06208592A (ja
Inventor
篤志 飯沢
由香利 吉浦
ピザノ アートウロー
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
Publication of JPH06208592A publication Critical patent/JPH06208592A/ja
Application granted granted Critical
Publication of JP3136035B2 publication Critical patent/JP3136035B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/919Designing, planning, programming, CAD, CASE
    • Y10S706/921Layout, e.g. circuit, construction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/967Visual or iconic programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/968Computer process, e.g. operation of computer interface for database querying and retrieval

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、インターフェースディ
スプレイ用レイアウトプランニングシステム、より詳細
には、ユーザインターフェースレイアウト生成用自動シ
ステムとその方法に関する。
【0002】
【従来の技術】周知のように、コンピュータプログラム
は、グラフィカルユーザインターフェースの発展に伴
い、ますます使い易くなっている。グラフィカルユーザ
インターフェースを伴うアプリケーションプログラムの
数の急増は、特にウインドウズのユーザ環境(例えば、
マイクロソフト社のウインドウズ)の出現によるもので
ある。残念なことに、グラフィカルユーザインターフェ
ースの生成には、通常、高熟練プログラマによるユーザ
インターフェース<ツールキット>の利用を要する。こ
のユーザインターフェース・ツールキットによりプログ
ラマは特殊なデータ構成の表示方法を指定出来るが、か
ようなツールキットはインターフェース全体の設計タス
クにまでは関与しない。
【0003】その代りに、インターフェース全体の設計
には、通常、アプリケーションプログラマが、(1)ツー
ルキットとそれに属するプッシュボタンやスクロールウ
インドウなどのインターフェースオブジェクトに関する
知識を備え、(2)アプリケーションの入出力条件に基く
適当なインターフェースオブジェクトを選定し、(3)特
定アプリケーション用インターフェースオブジェクトを
カスタマイズし、(4)インターフェースディスプレイ
上で選択されたインタフェースオブジェクトをレイアウ
トし、(5)インターフェースを開始するコードを書き
込み、それをアプリケーションと共に蓄積することが必
要とされる。
【0004】これにより、現在アプリケーションのため
のインターフェースは創設出来るが、このアプリケーシ
ョンの形式を変更する場合は、インターフェースもそれ
に応じて変更をしなければならない。アプリケーション
とインターフェースを並行して開発するのは、改訂を繰
り返すことになり、費用もかかる。従って、グラフィカ
ルユーザインターフェースの設計を自動化するツールの
開発に対する関心が高まっている。
【0005】データベースの応用分野において、ユーザ
インターフェースの設計を容易にするために使用される
幾つかの種類のツールが存在する。その中には、独立型
フォームマネージャ,第四世代言語,グラフィカルユー
ザ・インターフェースビルダー,グラフィカルユーザ・
インターフェース自動生成システム,及び自動レイアウ
トデザイナー等が含まれている。
【0006】独立型フォームマネージャ 市販されている独立型フォームマネージャ(例えば、AS
K Computer System社のINGRES/QBF,INFORMIX Software
社のINFORMIX/PERFORM,ORACLE社のORACLE/SQL*FORMS)
は、最小のプログラミング努力で完全なデータベースを
生成することが出来る。開発者は、図形エディターでア
プリケーション画面のレイアウトを設計し、対話形装置
またはシンプルスクリプト言語を用いて表示中のフィー
ルドをデータベースの対応部分と連結する。この対話モ
ードにより、ユーザは、ビジネスフォームに似た画面レ
イアウトを介してデータベースにアクセスすることが許
される。フォームマネージャは、データベースの呼出し
自動発生により開発作業を早めるが、これらのソフトは
本来限られた図形表示能力の装置(例えば、ASCII端
末)での使用を予定している。従って、フォームマネー
ジャは、グラフィカルユーザインタフェース環境を利用
出来ない。
【0007】独立型フォームジェネレータのさらなる不
利益は、精巧なアプリケーションを作成する場合には、
経験の浅いユーザにはなじみのないことの方が多い、ス
クリプト言語の使用が要求されることである。加えて、
独立型フォームジェネレータは、アプリケーションの開
発者に各アプリケーションとそれを実行する環境毎にイ
ンターフェースをカスタマイズすることを要求する。
【0008】第四世代言語 第四世代言語は、フォームマネージャの画面レイアウト
機能を、データベースの呼出しを支援し、ユーザとアプ
リケーションインターフェース間の対話を制御し、汎用
計算を可能にするプログラム言語と結合させる。第四世
代言語は(例えば、ASK Computer System社のINGRES/4G
L,INFORMIX Software社のINFORMIX/4GL)は、アプリケ
ーション開発者に特殊なコードを付加することにより、
独立型フォームマネージャの場合の制限の幾つかを取り
除いている。インターフェースのレイアウトを設計する
のにエディターを未だ使用しているが、インターフェー
スディスプレイ間、即ちコンピュータとデータベース間
のデータの流れを制御するためには、コードを使用しな
ければならない。
【0009】第四世代言語は、対話制御コードの部分が
自動的に生成され、コードを書き直すことなく、インタ
ーフェースのレイアウトに修正を加えることが出来る有
利さがある。独立型フォームマネージャと同様に、第四
世代言語システムは、グラフィカルユーザインターフェ
ースビルダールーチンと結合した場合を除き、グラフィ
カルインターフェース機能に欠ける。更に、第四世代言
語は、一般に、独立型フォームマネージャの場合より詳
細なプログラミングを行うことを要求する。
【0010】グラフィカルユーザインターフェースビルダー 最近は、ユーザインターフェース管理システム(UIM
S)や対話型設計ツール(IDT)が開発されている。
一般にグラフィカルユーザインターフェース(GUI)
ビルダーと云われるこれらの開発支援プログラムは、第
四世代言語と組み合わせて、比較的高性能なユーザイン
ターフェースを持つアプリケーションプログラムを作り
出すために使用される。ユーザが典型的なビジネスフォ
ームスタイルにより指示されない方法でデータベースと
対話出来るので、フォームマネージャよりGUIビルダ
ーの方がインターフェースの設計に関しては柔軟性があ
る。
【0011】GUIビルダーは、通常、例えば、What-Y
ou-See-Is-What-You-Get(WYSIWYG)型のエディタのよう
なビジュアルデザインツールを幾つか含んでおり、これ
らを用いて、(1)インターフェースを構成する(widget
と呼ばれる)インターフェースオブジェクトの対話式選
択と配置と、(2)各インターフェースオブジェクトの、
例えば、寸法,色及び字体等の種々の属性に対する付値
が可能である。さらに、UIMSもコールバック機能の
選択,ユーザ定義コードの付加,インターフェース画面
表示を実現するために用いられるコードの生成を考慮し
ている。
【0012】残念なことに、GUIビルダーを用いて設
計したインターフェースの質は、アプリケーション開発
者の経験及び知識に専ら依存している。即ち、設計に関
するノウハウはGUIビルダーには組み込まれていな
い。GUIビルダーを用いて作り出したインターフェー
スレイアウトの品質と整合性は、かなりばらつきがある
ことになる。
【0013】インテリジェントGUI部の生成システム 最近の研究の成果としてグラフィカルユーザインターフ
ェースを有するアプリケーションプログラムを自動的に
生成出来るシステムが幾つか生み出されている。これら
のシステムは、実行可能なプログラムまたはそのプログ
ラムの生成に先立ち、開発者により編集され、洗練され
るべきソースコードのいずれかを生み出すアプリケーシ
ョンプログラム内に含まれるデータオブジェクトの挙動
と発生を高度なレベルで記述したものを使用する。
【0014】上記のインテリジェントGUI生成システ
ムは、汎用アプリケーション用に開発されたもので、か
ようなシステムは特殊なアプリケーションに特有の情報
を利用出来ない傾向がある。例えば、データベースアプ
リケーションにおいては、そのような情報はデータベー
ス辞書内に格納されたパラメタを含むであろう。その結
果、自動GUI生成システムによって生成されたGUI
部のコードは、特定アプリケーションの要求に連合する
ように修正しなければならない。データベース構成の詳
細仕様を自動システムに供給することにより、この問題
は解決可能であろう。
【0015】自動レイアウトジェネレータ これらのシステムは、インターフェース内に表現される
オブジェクト群の適当な配置を決定するために、エキス
パートシステムからの方法論を採用している。自動レイ
アウトジェネレータは、各インターフェース対象物の位
置決めに伴うインターフェース設計プロセスの一部を自
動化するために用いられるが、通常、インターフェース
設計の他の段階においては使用されない。このタイプの
システムの一例が、1987年10月13日に発給された米国特
許第4,700,317号“自動レイアウトプランナー及びレイ
アウトプランの自動生成方法”に開示されている。
【0016】アプリケーション仕様記述言語 アプリケーション仕様記述言語は、アプリケーションと
そのインターフェースを高レベル記述を用いて表現でき
るようにしたものである。これらの言語は標準プログラ
ミング言語、例えば、CまたはC++よりも高レベルの
抽象化された表現を用いることが出来る。これにより、
プログラミング時間を短縮し、アプリケーション開発者
がアプリケーションに関する詳細な仕様を実現する時に
生じるエラーの発生を軽減させる。但し、残念ながら、
現在のアプリケーション仕様記述言語は、例えば、デー
タベースといった特定アプリケーションより、むしろ汎
用アプリケーションの必要に合わせて大体作成されてい
る。従って、現在アプリケーション仕様記述言語は、デ
ータベースアプリケーションのデータ辞書中にある情報
を有効に使用することが出来ない。
【0017】エンティティリレーションシップ(ER)
アプローチに基づくビジュアルツール ER図式は、アプリケーション開発者によってデータモ
デリング用ビジュアルツールとして共通に使用される。
しかしながら、ER図式に基づくデータモデリングが考
案された時点においては、実在コンピュータのグラフィ
ック能力に制限があったため、ER図式の潜在能力を充
分に実現出来るようになったのは、ごく最近になってか
らである。これに関し、ERモデルに基づくソフトウェ
ア工学ツールとデータベーススキーマ設計支援ツールが
最近数多く開発され市販されている。これらのシステム
は、データベーススキーマの図形表現を生成・操作する
ために使用され、ある場合にはデータベースを生成また
は変更するのに必要なコマンド列を生成する。
【0018】ER図式は、グラフィックスを上記システ
ムに対するユーザの要求に答えるために採用するビジュ
アルな問合わせ言語の分野において使用される。特に、
ER図式は、見たい部分のデータを表示するが、しか
し、結果は予め決められた固定形式でしか表示出来な
い。
【0019】
【目的】本発明の目的は、インターフェース、特にデー
タベースアプリケーション用インターフェースをユーザ
仕様記述が最小ですむ方法で生成できるインターフェー
スレイアウト生成プログラムを提供することにある。こ
の発明の目的は、また、グラフィカルユーザインターフ
ェースの設計に関する専門家の知識とデータベース辞書
内情報を用いてかようなインターフェース用の設計基準
をあらかじめ構築し知識として蓄積することにある。
【0020】
【構成】本発明は、上記目的を達成するために、(1)
データベースの指定部分を表現する1組のブロック記述
を指定する手段と;各インターフェース・オブジェクト
が前記ブロック記述の1つに対応し、(複数のレイアウ
トフィールドを含んでいる前記データベースの)インタ
ーフェース内に含まれる前記インターフェース・オブジ
ェクトの生成手段と;前記インターフェース内の前記レ
イアウトフィールドのレイアウトに基づく前記インター
フェース・オブジェクト毎にレイアウト品質パラメータ
を決定する手段と;前記インターフェース・オブジェク
トのセットを前記インターフェース内のブロック構成中
に配置するブロック配置手段と;1セットのブロック配
置ルールと前記レイアウト品質パラメタに基づく前記ブ
ロック構成毎に配置品質パラメタを決定し、該配置品質
パラメタを比較して最終ブロック構成を選定する手段よ
り成ること、更には、(2)前記ブロック配置ルールが
前記ブロック構成の幾何学形状・寸法に関するガイドラ
インを含んでいること、更には、(3)前記ブロック配
置ルールが前記インターフェースの幾何学的形状・寸法
に関連し、前記ブロック構成の幾何学形状・寸法に関す
る制約条件を含んでいること、更には、(4)前記レイ
アウトの品質パラメタを前記インターフェース・オブジ
ェクト内の前記レイアウトフィールドの分布に関するレ
イアウトガイドラインに従って決定すること、更には、
(5)前記レイアウトガイドラインが、前記インターフ
ェース・オブジェクトの1つに含まれている前記レイア
ウトフィールドの第1のセットが1つの前記インタフェ
ース・オブジェクトの内で占拠する面積比に対応した未
使用空間ガイドラインと;前記レイアウトフィールドの
第1のセットの前記インターフェース・オブジェクトの
1つの定義済み領域全体に対する分布の一様性に関する
バランスガイドラインを含んでいること、更には、
(6)前記インターフェース・オブジェクト生成手段が
前記インターフェース・オブジェクトセットに含まれる
前記オブジェクト間の前記レイアウトフィールドの配置
を変えることにより、前記ブロック記述毎にインターフ
ェース・オブジェクトのセットを生成する手段を含んで
いること、更には、(7)前記の各レイアウトフィール
ドが複数のウィジェットタイプの1つに対応し、前記の
各ブロック記述に対し1セットのインターフェース・オ
ブジェクトを生成する前記手段が、前記の各レイアウト
フィールドに1つのウィジェットを割当てる手段を含ん
でいること、更には、(8)模擬アニーリング手順に基
づき、前記ブロック配置手段が前記インターフェース・
オブジェクトセットをブロック構成中に反復配置し、前
記アニーリング手順の連続反復中に生成された前記ブロ
ック構成対に対応する前記配置品質パラメタ対を比較
し、前記配置品質パラメタの対のどちらを前記アニーリ
ング手順の次の反復に用いるかを決定すること、更に
は、(9)摂動関数に従い、前記の模擬アニーリング手
順を摂動させる手段をさらに含んでいること、更には、
(10)前記最終ブロック構成のディスプレイ表示に対
応するコードを生成するコードジェネレータをさらに含
んでいること、更には、(11)1組のブロック記述を
指定する前記手段が前記データベース中に含んでいる情
報に基づき、該データベース中の1組のデータベースエ
ンティティに関係するリレーションシップおよびフィー
ルド属性を表現するスキーマ図を生成する手段を含んで
いること、更には、(12)前記スキーマ図をアプリケ
ーション仕様図に変換するスキーマエディタ手段をさら
に含んでいること、更には、(13)前記アプリケーシ
ョン仕様図に従い、前記ブロック記述を生成するインタ
ープリタ手段をさらに含んでいること、更には、(1
4)前記データベースの指定部分を表現する1組のブロ
ック記述を指定する段階と;各インターフェースオブジ
ェクトが複数のレイアウトフィールドを有し、前記の各
ブロック記述が1組の関係する前記インターフェース・
オブジェクトを有する前記データベースのインターフェ
ース内に含めるインターフェース・オブジェクトを前記
ブロック記述に基づき生成する段階と;前記インターフ
ェースオブジェクト内の前記レイアウトフィールドのレ
イアウトに基づく前記の各インターフェース・オブジェ
クトのレイアウト品質パラメタを決定する手段と;前記
インターフェース・オブジェクトの各セットからの1つ
のインターフェース・オブジェクトを各々含むインター
フェース・オブジェクトの第1グループと第2グループ
を第1と第2のブロック構成中に各々配置するブロック
配置手段と;1セットのブロック配置ルールと前記のレ
イアウト品質パラメタに基づく前記の第1と第2のブロ
ック構成に対し、各々第1と第2の配置品質パラメタを
決定し、第1と第2の配置品質パラメタを比較して最終
ブロック構成を選定する手段より成るデータベース用自
動インターフェースレイアウト・ジェネレータを自動生
成する、更には、(15)1組のブロック記述を指定す
る前記の段階が、前記データベース中の1組の定義され
たデータベース・エンティティと関連するリレーション
シップとフィールド属性を表示するスキーマ図を前記デ
ータベース中に含まれている情報に基づき生成する段階
を含むこと、更には、(16)前記スキーマ図をアプリ
ケーション仕様図に変換するスキーマエディタ手段をさ
らに含んでいること、更には、(17)前記アプリケー
ション仕様図に従い、前記ブロック記述を生成するイン
タープリタ手段をさらに含んでいることを特徴としたも
のである。
【0021】
【作用】要約すると、この発明は、グラフィカルユーザ
インターフェースの生成プロセスを、タスク(例えば、
画面レイアウト設計及びウィジェットと呼ばれるインタ
ーフェースオブジェクトの選択)を人間が介入すること
なく行うことにより、簡素化するのに有効なデータベー
スシステム用の自動インターフェースレイアウトジェネ
レータである。この自動生成プログラムは、データベー
スの指定部分を表現する1組のブロック記述を指定する
仕様ツールを含んでいる。ブロックレイアウト生成プロ
グラムは、データベースのインターフェース内に含まれ
るインターフェースオブジェクトを生成し、各インター
フェースオブジェクトは、ブロック記述の一つに対応
し、複数のレイアウトフィールドを含んでいる。レイア
ウトの品質パラメタは、インターフェースオブジェクト
内のレイアウトフィールドの配置に基づき、インターフ
ェースオブジェクトの各々につき決定される。ブロック
配置生成プログラムは、インターフェースオブジェクト
の各セットをインターフェース内のブロック構成中に配
列する。各ブロック構成についての配置の品質パラメタ
は、ブロック配置規則の集合とレイアウトの品質パラメ
タに基づき決定し、最終的なブロック構成は、特殊ブロ
ック構成に対応する配置品質パラメタと比較して選定す
る。
【0022】好適な実施例において、この仕様記述ツー
ルは、ER図式中の対象オブジェクトセットを識別する
ために動作する。この仕様記述動作は、データベースの
アプリケーションビューを定義することと同様と考えら
れる。特に、この仕様記述ツールはER図式中の対象オ
ブジェクトを、画面生成プログラムにより、即時使用可
能なGUI部の命令文列に変換する。
【0023】
【実施例】序説 図1は、本発明によるデータベースシステム用自動イン
ターフェースレイアウト生成プログラム10の好適な実
施態様のブロック図である。本発明による自動レイアウ
ト生成プログラム10は、一次記憶装置106(即ち、
高速ランダムアクセスメモリー),二次記憶装置107
及び1台以上の入力装置108とシステムバス104で
接続した中央処理装置(CPU)102を有する汎用コ
ンピュータシステム100より成る。各入力装置108
は、キーボード110と項目選択ボタン116付きマウ
スポインター装置114を含んでいる。一次記憶装置1
06には、インターフェース生成プログラム120とG
UI表示コード生成プログラムとそのコンパイラ122
が記憶されている。下述するように、インターフェース
生成プログラム120は、入力装置108を介してユー
ザからの然るべき指命を受け取った時、実動し二次記憶
装置107に記憶されているデータベース用のユーザイ
ンターフェースを自動的に設計する。特に、記憶装置1
07に常駐のデータベースを表示する図式は、データベ
ース辞書に含まれている情報と標準グラフィックレイア
ウト技術を用いてディスプレイ装置128に最初に表示
される。
【0024】インターフェース仕様記述ソフトウェアツ
ール129により、ユーザ、即ちインターフェースの設
計者は、関連データベースの構成部分を選択することが
出来る。この選択は、ユーザが指示装置114を用い、
指示及びクリック操作を繰り返し、データベース図から
ユーザインターフェース内に表示させる予定の無いこれ
らのエンティティ,エンティティの属性及びエンティテ
ィ関係を取り除くことにより実現する。インタプリタモ
ジュール(図示せず)は、インターフェース仕様ツール
129を用い選択したデータベース構成範囲内に含まれ
ている各エンティティとその関係のためのブロック記述
ファイルを生成する。
【0025】図1に戻って説明する。インターフェース
生成プログラム120は、ブロック記述ファイル130
内に定義された各エンティティごとに、変幾何学的形状
のグラフィックオブジェクトブロックの1セットを合成
するためのブロックレイアウト生成プログラム134を
含んでいる。ブロック配置ルーチンの136は、組合わ
せ最適化ルーチンに従って、ユーザインターフェース内
のオブジェクトブロックの好まして配置を決定するのに
使用される。このルーチンにおいては、オブジェクトブ
ロックの種々の組合わせによるユーザインターフェース
の質を予め確定した判断基準に基づいて評価し、各組合
わせは、各ブロック記述ファイル130に対応する1つ
のオブジェクトブロックを含んでいる。最高品質のブロ
ックコンビネーションを最終ブロック配置ファイル14
0中に記憶する。
【0026】図1において、次に、コード生成プログラ
ム122が最終ブロック配置ファイル140により確定
されたユーザインターフェースの設計に基づき、ディス
プレイコードを生成する。このコードは、ディスプレイ
コード記憶装置144に記憶され、ディスプレイ装置1
28にユーザインターフェースを表示中、インターフェ
ースディスプレイドライバー146を用い、アクセスで
きる。
【0027】詳細説明 上述の通り、インターフェース仕様ツール129によ
り、インターフェース設計者は、二次記憶装置107に
記憶されているデータベースのどの部分を、インターフ
ェース生成プログラム120で生成するユーザインター
フェース中に表示するかを指定出来る。アプリケーショ
ンは、(1)関連エンティティ,その関係及び属性のリ
スト,および(2)各エンティティに対し、表示される
実行値の数を記述するインジケータのセットを指定し特
徴づける。
【0028】図2は、上述のインターフェース仕様ツー
ル129をさらに詳細に示している。このインターフェ
ース仕様ツール129は、インタープリタにブロック記
述ファイル130を合成するために必要な情報を提供す
る対話形機構である。これは、意味データベースのスキ
ーマ図(SSD)の概略表現を関連エンティティとその
関係を規定するアプリケーション仕様図(ASD)と称
する第2形式の表現に変換することを可能にする。イン
ターフェース仕様ツール129の下記の説明は、インタ
ーフェースを生成させるデータベースの構造を指定出来
る1つの方法を記述することである。このデータベース
仕様プロセスの終わりに、ブロック記述ファイル130
がインタープリタによって生成される。しかし、かよう
なブロック記述ファイルは、インターフェースを設計す
るデータベース部分の構造に関連する情報の直接入力に
よって生成できることは知られている。
【0029】好適な実施例において、インターフェース
仕様ツール129は、標準プログラミング言語でコード
化され(例えば、CまたはC++)、(i)データベー
ススキーマ(SSD)生成プログラム150と、(ii)
スキーマエディタ152と、(iii)アプリケーション
仕様記述図(ASD)インタープリタ154を含んでい
る。
【0030】前述の通り、所与のデータベーススキーマ
(SSD)は、ERダイアグラムによって表現される。
図3は、会社組織に関するデータベースを表現するSS
DをER図によって表示できる1つの方法を示してい
る。SSD生成プログラム150がデータベースからデ
ータベースの構造に関する情報を抽出し、ER図に変換
する。このSSD生成プログラム150は、ER図中の
各エンティティの位置,関係及び属性を決定するSSD
レイアウト生成プログラム156を含んでいる。図2の
ER図により、インターフェース設計者は、関係エンテ
ィティを表すオブジェクト(例えば、従業員,部門,供
給者,オーダ及び顧客)を選択出来る。
【0031】スキーマエディタ152は、ER図により
表現されるようなデータベースのSSDを図4及び図5
に示すようなアプリケーション仕様図(ASD)に変換
するために、アプリケーション開発者が使用する。この
変換を実行する際に、スキーマエディタは、(1)デー
タオカレンスインジケータの仕様,(2)ER図のトリ
ミング,(3)ER図のラベル付け,及び(4)マスタ
ースレーブ関係の定義という4つの変換操作を行う。操
作(1)に関しては、エンティティは、シングルオカレ
ンス(S)またはマルチオカレンス(M)エンティティ
のいずれかにさらに分類することが出来る。所与のAS
Dにおいて、シングルオカレンスエンティティと規定さ
れると、エンティティのシングルオカレンスが所与のA
SDに基づき生成したインターフェースに出現する。同
様に、所与のASDにおいてマルチオカレンス形である
と、指定されたエンティティのマルチオカレンス値が、
所与のASDに基づき生成したインターフェースに出現
する。以下に記述のように、本発明は、例えば、図4に
示すようなASDに基づき、図5により例示されるグラ
フィカルユーザインターフェース(GUI)生成方法を
提供する。
【0032】図5は、図3及び図4のデータベーススキ
ーマを示す一次記憶装置106のデータ構造の一般化表
現を示す。図6(a)に見られるように複数のエンティ
ティ、即ち、エンティティ_1,エンティティ_2,…
エンティティ_mに関する情報は、エンティティリスト
に保管される。特に、エンティティ_1に対応するデー
タフィールドF1に記憶されるのは、(1)エンティテ
ィ名の文字列(ラベル)標識,(2)エンティティが表
示されるディスプレイ中の(x,y)座標を示す整数対
(位置),(3)仕様定義プロセス中のエンティティの
状態を表わし、スキーマエディタ152とインタープリ
タ154が使用する3つのインジケータ値(AI,M,
O)である。また、エンティティ_1の第1属性、即ち
属性_11と関連するフィールドの記憶場所に対応する
数字ポインターP11は、フィールドF1に含まれてい
る。同様に、数字ポインターP12の数値は、エンティ
ティ_2に関係するフィールドF2のデータ位置を示
す。ヌルポインターNPは、エンティティリストの終り
を示す。
【0033】属性リストは、エンティティリスト内の各
エンティティ属性に対応するデータフィールドセットを
含む。例えば、エンティティ_1が図3のデータベース
スキーマ内のエンティティ“部品”に相当する場合、属
性_11はId(識別)に関し、属性_12は名前に関
する。属性リストにおいて、各エンティティは、属性名
称(ラベル)とディスプレイ中の位置(場所)に関する
テキストに対する数値を含んでいる。
【0034】単独インジケータ値AIは、仕様定義プロ
セス中のエンティティ状態を保持するために、スキーマ
エディタ152とインタープリタ154により使用され
る。属性_11のフィールド内に含まれているポインタ
ーPA11の数値は、属性_12の記憶場所のポインタ
である。図6(a)に示す通り、リレーションシップリ
ストは、スキーマエディタを介し表示されるエンティテ
ィ間の関係を規定する複数のリンクされたデータフィー
ルドを含んでいる。エンティティの場合のように、各リ
レーションシップは、Relationship Attribute List中
に規定された属性の集合を持つことができる。図3のデ
ータベーススキーマを一例にとれば、データフィールド
“リレーションシップ_1”は、“項目”及び“供給
者”間の“供給”関係を規定するために使用される。リ
レーションシップ_1内のラベル,位置及びAI値は、
図3中のテキスト“供給”の位置と状態を指定し、カー
ジナル数M:Nは、“項目”と“供給者”の間のリレー
ションシップは、多対多関係であることを示す。
【0035】スキーマエディタは、インターフェース設
計者の提供する情報に基づき、図6(a)のデータベー
ス構造内のエンティティを修正することにより、図4の
エンティティ関係の選択を容易にする。例えば、図3に
おいて、エンティティ“従業員”がエンティティ_2
(図6(a))に対応すると仮定する。指示してクリッ
クする操作で、“従業員”(図3)に関連する“生年月
日”属性を削除すると、スキーマエディタは、属性_2
3の記憶場所を反映するように属性_21のポインター
PA21の値を変更する。
【0036】インターフェース仕様ツール129は、共
通データベースの操作を表す“ボタン”等の形状をした
図形アイコンをインターフェースの設計者がデータベー
ス仕様プロセス中に利用できるようにした操作パネルを
含む。これらの操作アイコンは、<検索>,<更新>,
<挿入>,<削除>,<前データ>,<次データ>及び
<終了>の機能を含んでいる。これらの操作機能を表す
アイコンは、インターフェースの設計者が特定操作を選
択/選択の取消をするために指示・クリックの操作を行
い、ON/OFFすることが出来る。図6(b)は、操
作パネルの状態を表すのに採用できる操作テーブル形式
のデータ構造を例示している。仕様ツール129は、デ
フォルトにより選択される全ての操作を考慮し、選択操
作の組合わせに対し、下記の制限を加える。
【0037】(1)<終了>は選択取消は出来ない。 (2)<削除>を選択した場合は、次に<検索>を選択
しなければならない。 (3)<更新>を選択した場合は、次に<検索>を選択
しなければならない。
【0038】下述するように、本発明によるレイアウト
生成プログラムとアプリケーション仕様定義ツールは、
ブロック記述ファイル(BDF)130を生成するため
に用いられる選択データベース辞書内に保存された情報
を活用する。BDFの合成方法は、そのようなデータベ
ース辞書の構造を参照すれば、より容易に説明出来よ
う。従って、図7には代表的なデータベース辞書の構造
を図解的に示している。図7の辞書内に含まれている各
レコードの説明は、下記の通りである。
【0039】■ディレクトリ 各ディレクトリ毎に1つのレコードが作成される。 Id ディレクトリの番号 名前 ディレクトリの名称 親 親ディレクトリの番号 領域 データベース関連ファイルが作成される
UNIXディレクトリの領域番号のデフォルト値 一次キー (Id) 二次キー (親,名前)
【0040】■データベース 各データベース毎に1つのレコードが作成される。 Id データベースの番号 名前 データベースの名称 親 親ディレクトリの番号 注 コメント 領域 該データベース関連ファイルが作成され
る領域のためのデフォルト値 一次キー (Id) 二次キー (親,名前)
【0041】■レコード 各レコード形式毎に1つのレコードが作成される。 Id レコード形式の番号 名前 レコード形式の名称 親 データベースの番号 注 コメント ファイル レコードファイル番号 ヒープ ヒープファイル番号 キー 一次キーを構成するフィールド番号配列 一次キー (Id) 二次キー (親,名前)
【0042】■フィールド 各フィールド毎に1つのレコードが作成される。 Id フィールドの番号 名前 フィールドの名称 親 レコード形式の番号 注 コメント オーダ レコード内の論理フィールド番号 タイプ コード化データ形式 Dim 配列中の要素数 オフセット レコード内のフィールド位置 Init 初期値のテスト表現 Integ インテグリティ情報 Nu110k ゼロ値の許容または不可 一次キー (Id) 二次キー (親,名前) (親,オフセット)
【0043】■インデックス 各インデックス毎に1つのレコードが作成される。 Id インデックスの番号 親 レコード形式の番号 注 コメント ファイル インデックスのファイル番号 キー キーを含むフィールド番号の配列 ユニーク 複製許可または不可 一次キー (Id) 二次キー (親) (キー)
【0044】■RLink(リアルリンク) 各リアルリンクタイプ毎に1つのレコードが作成され
る。 Id リアルリンクタイプ番号 名前 リンクの名称(名なし逆リンクタイプの
場合ゼロ値) 親 データベースの番号 注 コメント ファイル リアルリンクファイル番号 インバース 逆方向リンクタイプ番号 Term 終端レコードタイプ番号 Integ インテグリティ情報 一次キー (Id) 二次キー (親,名前) (Term) (Inverse)
【0045】■VLink(バーチャルリンク) 各仮想リンクタイプ毎に1つのレコードが作成される。 Id 仮想リンクタイプの番号 名前 リンクの名称(名なし逆リンクタイプの
場合ヌル値) 親 データベースの番号 注 コメント ファイル リアルリンクファイル番号 インバース 逆方向リンクタイプの番号 Term 終端レコードタイプの番号 Termkey 終端テーブルのキーを含むフィールド番
号の配列 Integ インテグリティ情報 一次キー (Id) 二次キー (親,名前) (Term) (Inverse)
【0046】■領域 ファイルを作成する各領域毎に1つのレコードが作成さ
れる。 Id 領域番号 名前 UNIXファイルシステム内に絶対パス
名 一次キー (Id) 二次キー (名前)
【0047】■ファイル 各ファイル毎に1つのレコードが作成される。 Id ファイル番号 名前 ファイルの論理名(UNIXのファイル
名にはマッチしない) 親 ファイルを保管する領域のID番号 オブジェクト このファイルが規定するレコードタイ
プ,インデックスまたはリアルリンクタイプのID番号 Db データベースの番号 タイプ シーケンシャルファイルまたはB木およ
び固定長または可変ファイルとして分類 FkSize 固定長キーセクションにおけるバイト数 VkSize 可変長キーセクションにおけるバイト数 FvSize 固定長データセクションにおけるバイト
数 VvSize 可変長データセクションにおけるバイト
数 一次キー (Id) 二次キー (親) (Db)
【0048】■ユーザ 各ユーザ毎に1つのレコードが作成される。 Id ユーザ番号 名前 ユーザ名 タイプ UNIXユーザあるいは、UNIXグル
ープメンバーまたはパスワードを使用するリコー社製D
BMS独自の管理方法によるデータベースユーザとして
分類 Osid グループ番号のUNIXユーザ番号 Passwd 符号化されたパスワード 一次キー (Id) 二次キー (タイプ,名前) (タイプ,Osid)
【0049】■アクセスの許可 各認められた許可毎に1つのレコードが作成される。 ユーザ ユーザ番号 オブジェクト アクセスオブジェクトの番号 タイプ ビットタイプのマスクパターンを用い指
示したアクセスのタイプ 一次キー (ユーザ,オブジェクト) 二次キー (ユーザ,オブジェクト)
【0050】■統計 各アクセスオブジェクト毎に1つのレコードが作成され
る。 オブジェクト アクセスオブジェクトの番号 Ctime アクセスオブジェクトに対する最初のデ
ータ定義がなされた日付と時間 Mtime アクセスオブジェクトに対する最後のデ
ータ定義がなされた日付と時間 Acount 各アクセスタイプに対し実施された処理
回数を含む配列 一次キー (オブジェクト)
【0051】図7のデータベースは、ブロック記述ファ
イル130の生成中にインタープリタモジュールからの
問合わせを容易にする下記の仮想リンクを含んでいる。 ■DirectoryDirectory ディレクトリに係属するサブディレクトリ ■DirectoryDatabase ディレクトリに係属するサブデータベース ■DatabaseRecord データベースに係属するレコードタイプ ■RecordField レコードタイプに係属するレコードフィールド ■RecordIndex レコードタイプに係属するインデックス
【0052】■DatabaseRLink データベースに係属するリアルリンクタイプ ■DatabaseVLink データベースに係属する仮想リンクタイプ ■RecordRLink レコードタイプに接続したリアルリンク ■RecordVLink レコードタイプに接続した仮想リンク ■RLinkRLink リアルリンクタイプに対応する逆リンクタイプ ■VLinkVLink 仮想リンクタイプに対応する逆リンクタイプ ■RecordFile レコードタイプに対応するレコードファイル ■IndexFile インデックスに対応するインデックスファイル ■RLinkFile リアルリンクタイプに対応するリンクファイル ■AreaFile ファイル領域に係属するファイル
【0053】■UserAccessRight ユーザに属するアクセス権 ■DirectoryAccessRight ディレクトリへのアクセス権 ■DatabaseAccessRight データベースへのアクセス権 ■RecordAccessRight レコードへのアクセス権 ■FieldAccessRight フィールドへのアクセス権 ■RLinkAccessRight リアルリンクタイプへのアクセス権
【0054】■DirectoryStatistics ディレクトリに関する統計情報 ■DatabaseStatistics データベースに関する統計情報 ■RecordStatistics レコードタイプに関する統計情報 ■FieldStatistics フィールドに関する統計情報 ■IndexStatistics インデックスに関する統計情報 ♀■RLinkStatistics リアルリンクタイプに関する統計情報 ■VLinkStatistics 仮想リンクタイプに関する統計情報 ■AreaStatistics 領域に関する統計情報 ■FileStatistics ファイルに関する統計情報 ■UserStatistics ユーザに関する統計情報
【0055】図6(a)に構造内のエントリは、下記の
通り、図7に示したデータベース辞書と関連する。 (i)エンティティは、図7のRecord(レコード)テー
ブルと関連する。 (ii)関係は、図7のRLink(リアルリンク)とVLink
(仮想リンク)テーブルと関連する。 (iii)属性は、図7のField(フィールド)テーブルと関
連する。
【0056】実施例態様例において、図6(a)のデー
タ構造は、下記手順に従い、前記の関連に基づき構築さ
れる。特に、レコードテーブル中の各エントリにつき、
ノードF1を(図6(a)の)エントリリスト中に生成
する。レコードテーブルの“名前”フィールド中の値
を、次に、前記ノード中のラベル値に割当、値(0,
0)をノード中の座標値に割当てる。さらに、インジケ
ータAI,M及びOは、論理値FALSE(フォールス)に
セットする。次に、エントリリスト中のノードを図6
(a)のように接続する。
【0057】フィールドテーブル中の各エントリ毎に、
ノードを対応エンティティの属性リスト中に生成する
(図6(a))。フィールドの名前は、ノードのラベル
に割当、値(0,0)とFALSEを各々座標値とAI
インジケータに割当てる。各属性リスト中の属性ノード
を、次に、図6(a)のように接続する。リアルリンク
テーブルと仮想リンクテーブル(図7)中の各エントリ
につき、ノードを“関係”リスト中に生成する。“リレ
ーションシップ”テーブルの“ラベル”フィールドに、
対応仮想リンクまたはリアルリンクエントリに名前を書
き込む。さらに、値(0,0)とフォールスを各々“位
置”の値とインジケータAIに割当て、カージナル数を
1:1に設定する。“リレーションシップ”ノードを図
6(a)のように接続する。
【0058】特殊関係により関係づけたエンティティ対
は、イニシャルエンティティ(Initial_Entity)および
ターミナルエンティティ(Terminal_Entity)として識
別される。イニシャルエンティティ判別子は、Rlink.in
it.値かVlink.init.値のいずれかで指定され、ターミナ
ルエンティティ識別子は、Rlink.term.値かVlink.term.
値のいずれかで指定される。イニシャルエンティティに
対応するエンティティリスト中のノードを、第1エンテ
ィティポインタを用いて対応関係ノードに接続する(例
えば、図6(a)のEntity_1x)。ターミナルエンティ
ティに対応するエンティティリスト中のノードを、第2
エンティティポインタを用いて対応関係ノードに接続す
る(例えば、図6(a)のEntity_1y)。
【0059】上述の手順により、図6(a)に示したデ
ータベースの一般構造仕様が得られる。図6(a)のデ
ータベースのSSD(意味スキーマ図)中の各エンティ
ティ,関係及び属性について次に説明する。実施例にお
いて、インターフェースの設計者は、このプロセスをS
SDレイアウトファイル中の種々の位置値を手動指示す
ることにより遂行する。かようなSSDレイアウトファ
イル構造を次に記述する。
【0060】
【0061】 ATTRIBUTE_SECTION ATTRIBUTE <attribute_11> OF <entity_1> AT <x11> <y11> ATTRIBUTE <attribute_12> OF <entity_1> AT <x12> <y12> … ATTRIBUTE <attribute_21> OF <entity_2> AT <x21> <y21> ATTRIBUTE <attribute_22> OF <entity_2> AT <x22> <y22> … ATTRIBUTE <attribute_N1> OF <entity_N> AT <xN1> <yN1> ATTRIBUTE <attribute_N2> OF <entity_N> AT <xN2> <yN2>
【0062】 RELATIONSHIP_SECTION RELATIONSHIP <relationship_1> BETWEEN <entity_1> <entity 1> AT <x1> <y1>
【0063】1例として、図3及び図4,図5を生成す
る際に使用したSSDレイアウトファイルの選定部分に
は下記が対応する。
【0064】
【0065】 ATTRIBUTE_SECTION ATTRIBUTE ID OF Departments AT 50 40 ATTRIBUTE Name OF Departments AT 50 70 ATTRIBUTE Budget OF Departments AT 50 100 ATTRIBUTE Location OF Departments AT 50 130 … ATTRIBUTE ID OF Customers AT 480 320 ATTRIBUTE Name of Customers AT 480 350 ATTRIBUTE Address OF Customers AT 480 350
【0066】 RELATIONSHIP_SECTION RELATIONSHIP process BETWEEN Departments AND Items AT 150 155 … RELATIONSHIP Place BETWEEN Orders AND Customers AT 250 380
【0067】SSDレイアウトファイルに特別に対応す
るSSDの画面表示は、OSF/Motifツールキットを
装備したような通常のグラフィカルパッケージを用いて
生成することが出来る。ディスプレイの生成において、
図6(a)の構造のノードは横断され、各ノードにおい
て規定されたオブジェクトを示すアイコンが生成され
る。実施態様例において、各エンティティ毎に矩形アイ
コンが生成され、各属性毎に楕円形のアイコンがまた各
関係毎にひし形のアイコンが生成される。各アイコン
は、予め定められた寸法を有し、各アイコンの位置はS
SDレイアウトファイル内に指定されている。最後に、
各エンティティとその属性間及び各エンティティとその
関係間に線が表示される。
【0068】実施態様例において、図3のメニューバー
内に指定したコマンドは、インターフェースの設計者が
種々の編集操作を実行するために用いることが出来る。
メニューバー内に提示したコマンドは、“ファイル”,
“編集”,“スキーマ”及び“インタープリタ”と名付
けた4つのプルダウンメニュー中に編成する。
【0069】下記の操作は、“ファイル”プルダウンメ
ニュー中で実行出来る(図10(a)参照)。 New(新規):図形領域をクリアにし、新しいインター
フェースに関連するSSDとASDを格納する内部デー
タ構造を初期化して、新しいアプリケーションファイル
の定義用システムを準備する。 Open(開く):現有アプリケーションファイルの名前を
ユーザに知らせる。各アプリケーションファイルは、図
6(a)を参照し、以下に説明するようなデータベース
構造に従って編成される。
【0070】Save(保管):データスキーマの現在の状
態を外部ファイルにコピーする。 Quit(終了):現在のアプリケーション仕様セクション
を終了させる。 プルダウンメニューの“編集”(図10(b))は、S
SDをASDに変換時に使用する動作の選択を可能にす
る。特に、“Trim(トリミング)”,“Replace-Label
(ラベル置換え)”,“Select-Master(マスター選
択)”及び“オカレンス設定”の動作は、“編集”プル
ダウンメニューから選択出来る。
【0071】Trim(トリミング) “Trim”オペレーションは、SSDデータベースからイ
ンターフェースの開発対象であるアプリケーションと無
関係のオブジェクトを削除することを含んでいる。トリ
ミング動作をサポートするために、アプリケーション中
の各エンティティ,関係及び属性を活動状態または非活
動状態のいずれかに維持する。例えば、スキーマエディ
タにより実動化した状態でトリミングオペレーションを
行い、図3の表現をインターフェース設計者が見る図4
のASDに変換出来る。図4に示すように、スキーマエ
ディタ152は、エンティティ“従業員”,“供給
者”,“顧客”及び“オーダ”を非活動にして、図3の
データベーススキーマからそれらのエンティティを除外
する。
【0072】さらに、ある特定のエンティティ属性(例
えば、従業員の氏名)とエンティティ関係(例えば、部
門と従業員の間の“雇用”)は、図4の表示を得るため
にスキーマエディタ152を用い、第2の表示から切り
とる。図示のように、スキーマエディタ152は、AS
D検査後インターフェースの設計者が非活動オブジェク
トを見るのを妨げないが、その代わりに、活動オブジェ
クトを実線矩形で、非活動オブジェクトを破線矩形で囲
んで表示する。オブジェクトの状態は、通常のマウスク
リック操作等により、2つの状態、即ち、活動と非活動
のいずれかに切り替えることが出来る。
【0073】“編集(Edit)”プルダウンメニューから
トリミング(Trim)オペレーションを選択すると、トリ
ミングモードになり、好適な実施態様においては、全て
のキーボードのストロークが無視される。このトリミン
グモードにおいて、例えば“マウス”のようなユーザの
座標指示器からの入力を用いて、所望ASDの開発時に
SSDから切りとるオブジェクト、即ちエンティティ,
関係または属性を指定する。
【0074】下記の定義と処理段階は、トリミングのた
めにオブジェクトを同定出来るオブジェクト識別手順を
記述したものである。 1)(X,Y)で、ユーザの動作、即ち座標指示器のクリッ
ク動作により指示された表示位置を示す。 2)Pi=(xi,yi)で、図6(a)のエンティティリスト中
のi番目のエンティティ(Ei)の表示位置を表す。 3)WとHは、各々、ASD内のエンティティの表現に
使用されている矩形の幅と高さを表す。 4)エンティティリスト中の各エンティティにつき、下
記のブール演算条件を評価する。 C=(xi-W/2<=X<xi+W/2)及び(yi-H/2=<Y<yi+H/2) もし、Cが真であれば、O=Eiでオブジェクトを決定
し、手順を終了する。 5)図6(a)中の指定関係及び属性について、2回目
及び3回目に上記ステップ1−4を反復する。
【0075】実施例において、座標指示器が、関係オブ
ジェクト、即ち、エンティティ,関係または属性を含ん
でいない図領域に位置するならば、Oの値はゼロであ
る。かような場合、ユーザが行う座標指示動作は無視さ
れる。オブジェクト0がトリミングの対象として同定さ
れれば、次のステップが実行される。 1)オブジェクトOの活動−非活動のインジケータをA
Iで表す。 2)AIが“非活動”であれば“活動”に変え、AIが
“活動”であれば“非活動”に変える。 3)AIが活動であれば実線を用い、オブジェクトOを
示す特殊アイコン(例えば、矩形,菱形,楕円)を再表
示する。非活動の場合は、破線を用いて特殊アイコンを
再表示する。
【0076】実施例において、トリミングオペレーショ
ンは、スキーマエディタにより、下記のデザイン規則に
従って実施される。 (1)全てのオブジェクト、即ちエンティティ,属性及
び関係は、特定SSDを最初に選択した時に活動状態に
設置される。 (2)エンティティを非活動にすると、それに付随する
属性と関係も非活動になる。 (3)属性は、関連エンティティが活動状態になってい
なければ、活動状態に出来ない。 (4)関係は、全ての関連エンティティが活動状態にな
っていなければ、活動状態に出来ない。 (5)2つ以上のエンティティが活動状態である場合、
各活動エンティティは他の活動エンティティと活動関係
を介して接続されねばならない。
【0077】ラベルの置換え(Replace-label) スキーマエディタ152で実行するラベル付け動作は、
アプリケーションを記述したテキストストリングでデー
タベース辞書中に含まれている識別子を置換えるために
用いられる。ラベル付けは、例えばマウスクリック操作
またはドラグテキスト編集のような通常のディスプレイ
編集技法を用いて実行できる。ラベル付け操作で、イン
ターフェースの設計者は、SSD内のデータベースエン
ティティ,関係及び属性に関連するテキストを修正する
ことが出来る。
【0078】“編集”メニューから“ラベル置換え”を
選択すると、下記の動作が実行される。 1)ラベル付け動作により同定されるべきオブジェクト
は、トリミング動作に関連し、前述したオブジェクト同
定手順を用いて選定する。 2)このオブジェクトの同定に引き続き、インターフェ
ースの設計者は新しいオブジェクトラベルの提供を要求
される。図4の特定例において、ラベル置換えオペレー
ションは、データベースエンティティとその関係及び属
性に関するオブジェクトラベルを修正するために用いら
れた。特に、エンティティ“アイテム”の番号,数量及
び最小属性を、図4に示したASD図生成時に、各々
“#”,“オンハンド”及び“レコーダポイント”に各
々変更した。
【0079】マスター選択(Select-Master) インターフェースの設計者が開発したインターフェース
のユーザは、基本的な応用分野の知識に基づき、インタ
ーフェース内に表示されるオブジェクト間の関係を認識
出来る。例えば、図4に示されたデータベースをよく知
っているユーザは、ユーザインターフェースに表示され
るどの“アイテム”も“部門”エンティティで“処理さ
れる”のを知ることが要請される。より一般的には、イ
ンターフェースのユーザは、オブジェクト間に存在する
関係の視覚的な表現の不足を補正出来るほど充分な知識
を有しないであろう。例えば、図8に示すインターフェ
ースにおいて、“アイテム”と“オーダ”のエンティテ
ィの複数のオカレンス(Occurrence)が、相互関係の視
覚表現がなければ同時に示される。これにより、オーダ
とアイテムのエンティティ間の正確な関係が不確かにな
り、かような関係を指定するための機構を設けることが
必要になる。このメカニズムを提供する1つの方法は、
エンティティ間のマスター/スレーブ(MS)関係の仕
様書である。
【0080】実施例において、マスター/スレーブ関係
は、2つ以上のエンティティが同時にインターフェース
に現れるアプリケーションにおいて用いられる。かよう
な場合、エンティティの中の1つ、即ちマスターがアプ
リケーションの中心であると認識される。他のエンティ
ティ、即ちスレーブに関する値は、マスターの値に関連
するものとみなされる。本発明によれば、視覚微分機構
は、インターフェースの設計者がマスターエンティティ
とスレーブエンティティの識別を助けるために採用され
る。例えば、図8中のマスターエンティティ“オーダ1
09”をエンティティ・ハイライターが強調し、スレー
ブエンティティ“アイテム”のオカレンスがエンティテ
ィ“オーダ”に従属することを示唆する。
【0081】エンティティ間のマスター/スレーブ(M
S)関係は、静的または動的のいずれかである。特に、
インターフェースの設計者が開発時にマスターエンティ
ティを指定した場合、その関係は静的である。一方、イ
ンターフェースのユーザがマスターエンティティを指定
する機会を得た時は、動的な関係が生じる。静的なマス
ター/スレーブ関係は、インターフェースの設計者に、
マスターエンティティに関係するフィールドを、例えば
インターフェース表示画面の上方または左上隅に目立つ
ように表示するようなインターフェースを生成する機会
を与える。他方、動的なマスター/スレーブ関係は、イ
ンターフェースのユーザにインターフェース表示画面を
魅力的にできるよう、高い柔軟性を提供している。例え
ば、図8に表示のインターフェースを用いて、種々の
“オーダ”に含まれている“アイテム”をエンティティ
・ハイライターを用いて強調し、マスターエンティティ
として“アイテム”を選択することが出来る。
【0082】マスターエンティティは、図6(a)中の
エンティティリストのノードに関するマスターインジケ
ータ(M)により内部で区別される。各マスターインジ
ケータ(M)は、関連エンティティがマスターエンティ
ティとして選択されているか否かにより、ONまたはO
FFに切替えられる。あるエンティティをマスターエン
ティティとして選択するために、“編集”メニューから
“マスター選択(Select-Master)”動作を選択してエ
ンティティモードを入力する。一旦、このモードになる
と、マスターエンティティとして潜在的に規定され得る
エンティティは、トリミング動作に関連し、前述したオ
ブジェクト同定手順を用いて選定される。
【0083】各潜在マスターエンティティの選択に続い
て実行されるステップを以下に記述する。 1)マスターエンティティMEがすでに存在し、MEが
Eiに等しい場合は、MEのマスターインジケータ
(M)をOFFに変える。 2)マスターエンティティMEがすでに存在するが、M
EがEiに等しくない場合は、エラーが発生する。メッ
セージが表示され、ユーザに第2のマスターエンティテ
ィの定義が許されないことを通知し、動作を終了する。 3)マスターエンティティが存在しない場合、Eiのマ
スターインジケータをONに設定し、新しく選択したマ
スターエンティティを所定のフォーマット(例えば、逆
ビデオ)で表示する。
【0084】オカレンス設定(Set-Occurrence) 下述の通り、ASDインタープリタ154は、インター
フェース内の各活動エンティティに対し反復回数を設定
する。特に、インタープリタ154は、1回出現エンテ
ィティ(S)(例えば、図9中の“アイテム”と“部
門”)をテキストフィールドに割当て、多回オカレンス
エンティティ(M)(例えば、図9中の“オーダ”と
“供給者”)は、データテーブルの形で表示する。図9
の実施例において、1回オカレンスエンティティと多回
オカレンスエンティティは、各々細い枠と太い枠の矩形
ブロックで表示している。
【0085】“編集”メニューから“オカレンス設定”
を選択してから特殊オカレンスインジケータの値を切替
えるために採用される手順を以下に記述する。 1)トリミング動作に関連し、前述したオブジェクト同
定手順により、関係エンティティ(E)を確認する。 2)エンティティEのオカレンスインジケータをQとす
る。 3)Qの値を“一回”(S)にセットされている場合
は、“多回”に変える。逆の場合は、Qの値を“多回”
(M)から“一回”(S)に変える。 4)オカレンスインジケータが(S)に設定された場合
は、細線矩形アイコンを用い、(M)に設定された場合
は、太線矩形アイコンを用いてエンティティEを再表示
する。
【0086】上述の通り、インタープリタモジュール1
54の目的は、インターフェース仕様定義ソフトウェア
ツール129を用いて作成したデータベースの仕様をブ
ロックレイアウト生成プログラム134(図1)で処理
したブロック記述ファイル(BDF)に変換することで
ある。3種類のブロック記述ファイルがある。 (1)メニューBDF:インターフェース仕様定義ソフ
トウェアツール129を用いる所要オペレーションリス
トを内容とする。 (2)データBDF:各データBDFはインターフェー
ス仕様定義ソフトウェアツール129を用いて指定した
データベース中に含まれるエンティティの1つに関する
情報を含む。 (3)関係BDF:各関係BDFはインターフェース仕
様定義ソフトウェアツール129を用いて指定したエン
ティティ間の相互関係の1つに関する情報(例えば、図
3の関係の場合の“配置(Place)”)を含む。
【0087】これらのBDFの構造は次の通りである。 メニューBDF <オペレーション1> <オペレーション2>・・・ <オペレーションN> データBDF <エンティティ_名> <フィールド_名_1><形式><幅><高さ><ラベ
ル> <フィールド_名_2><形式><幅><高さ><ラベ
ル>・・・ <フィールド_名_M><形式><幅><高さ><
ラベル> リレーションシップBDF <リレーションシップ_名> <ラベル><幅><高さ><カージナル数> <フィールド_名_1><形式><幅><高さ><ラベ
ル> <フィールド_名_2><形式><幅><高さ><ラベ
ル>・・・ <フィールド_名_P><形式><幅><高さ><
ラベル>
【0088】インターフェース仕様定義ソフトウェアツ
ール129を用いて指定した各データベース構造用のユ
ニークなメニューBDFがある。同様に、指定アプリケ
ーションに関する関係BDFとデータの数は、インター
フェース仕様定義ソフトウェアツール129を用いて生
成したアプリケーション仕様図中に表示されたエンティ
ティとその関係数に対応する。
【0089】上記の通り、インターフェースの設計者が
Schema(スキーマ)”操作および“Interpreter(イ
ンタープリタ)”操作を、図3のメニューバーから実行
することも可能である。スキーマプルダウンメニューに
より、ロードまたはクリアのいずれかの動作を選択する
ことが出来る(図10(a)参照)。ロード動作を選択
すると、ユーザは、例えば、図11に示すようなグラフ
ィックウィンドウによりデータベース名の指定が要求さ
れる。ユーザが提供したデータベース名は、次に、図7
に示すような目標データ辞書と連結される。この目標デ
ータ辞書の指定により、目標データ辞書に対応するSS
Dの前記生成処理を開始する。クリア動作を選択する
と、図形領域がクリアされ、関連SSDおよびASDが
記憶される内部データ構造が初期化される。
【0090】“Interpret(インタープリタ)”プルダ
ウンメニュー(図12)を選択すると、インタープリタ
154に信号が送られ、ブロックレイアウト生成プログ
ラム134によって処理されたメニュー,データ及び関
係のブロック記述ファイル130への特殊アプリケーシ
ョン仕様図(ASD)に含まれている情報のマッピング
が開始される。本発明によれば、所定ASD中のエンテ
ィティと属性は、合成図形ユーザインターフェース(G
UI)内のフィールドに写像される。エンティティ間の
関係は、インターフェースのレイアウトと仕様オブジェ
クトラベルの意味から推論される。
【0091】先述の通り、インタープリタ154の出力
は、ブロックレイアウト生成プログラム134に供給さ
れたブロック定義ファイル130の形で記憶される。こ
のブロック定義ファイルは、各エンティティに関連する
属性(名前,形式,寸法等)に関する情報を含んでい
る。インタープリタ154は、所定のASD(例えば図
14)を、ノードと分岐が各々ASDのエンティティと
関係に対応するブロック順位木BPT(例えば図15)
に有効に変換する。この変換プロセスは、ASD内のエ
ンティティ間に周期的な関係があるか否かによって異な
って実行される。最初のエンティティがもう1つのエン
ティティとシングル関係パスより多いパスで関係してい
る場合、ASD内において“周期”が存在する。
【0092】図14のASDに関しては、下記の周期が
存在すると見なされる。 (i)SCHOOL(学校)−“employ(雇用する)”−PRIN
CIPALS(校長)−“manage(管理)”−TEACHERS(教
師),および、(ii)SCHOOL(学校)−“educates(教
育する)”−STUDENT(学生)−“taught(教えられ
る)”−TEACHER(教師)
【0093】所定ASD内の各対エンティティ間にただ
一回の関係パスが存在する場合、結果のBPTは下記の
通り生成される。 1)所定ASDに関係するデータベーススキーマ内の最
初および1番目のエンティティを各々EOおよびEIと
する。 2)図15のBPTのルートに対応するノードN(E
O)を生成する。 2)ASD内の各関係R(EO,EI)に対し、ノード
N(EI)を生成しN(EO)をその親とする。関係R
の名前をN(EI)とN(EI)とを結ぶ分岐に割当て
る。 3)各エンティティEIにつきステップ2を繰返す。
【0094】下記の疑似コードは、周期を含むASD関
連BPTの生成に使用した再帰的手順例を記述したもの
である。
【0095】 /* Definitions */ Let AE be the set of active entities in the ASD Let M be the master entity of the ASD If there is no master entity,let M be any member of AE Let P be a set of relationship-types
【0096】
【0097】 /* Function Definition */ create_children(N:node,E:entity,P:ordered-relationship-set){ /* Definitions */ Let AR be the set of active relationship types in the ASD in which E participates Let R be a member of AR Let E′ be the second entity in the relationship-type R(E,E′)
【0098】 /* Procedure Link */ For each R in AR If (R is not in P){ Add R to P N′=create_nose(E′) link(N,N′) create_children(N′,E′,P) } }
【0099】上記の親子関係試験“(RはP内にな
し)”は、1つの関係型が任意の分岐に2回現れないこ
とを確かめることであることが判る。かようにして、関
連ASD範囲内において、エンティティ間の周期関係を
除外するようにBPTを形成する。
【0100】図15は、図14のASDに前記の再帰的
処理手順を適用して得たBPTを表現している。図15
において、BPT中のノード数は活動エンティティと関
係型の数を越えている。これらの場合に、単1画面ユー
ザインターフェースに所望の情報をすぼて含めるのは困
難である。従って、好適な実施態様の場合、インターフ
ェースはBPT内の活動エンティティを示すボタンタイ
プのアイコンセットを表示するメニュー画面を最初にユ
ーザに提示する。各アイコン関係するラベルは、好まし
くは、特定エンティティ名を示して、そのアイコンを選
択した時に表示される対応エンティティに情報を関係付
ける。特定の場合、選択したエンティティと関連する関
係が非常に多く、インターフェースの表示を、種々の連
係ファイル、即ち“リンク(Links)”により連結され
る若干数の画面に分割する。このようにして、ユーザは
マスターエンティティとその最上位の属性と関係に直接
アクセスでき、また、下位の属性と関係にも直接アクセ
スできる。
【0101】図16は、図15のBPTに基づくインタ
ーフェースの画面を示しており、リンクを使用し分割し
た属性を有する複数のエンティティ“School(学校)”
を示すメニュー画面からエンティティ“School”が選択
された。さらに、図16にはグラフィックウィンドウが
示されており、このウィンドウを通し、“Advisor(助
言者)”アイコンを選択すれば“Student(学生)”の
データテーブルから特定の属性、即ち“Advisor”に関
する情報が得られる。
【0102】リンクの導入には、ブロック記述ファイル
をASDインタープリタ154により生成する方法を修
正することが要求される。これは、リンクの定義を含む
ために属性リストを延長させた結果として、また、ブロ
ック定義ファイルを一次または二次ブロックに分割した
結果として生じる。延長属性ブロックは、画面レイアウ
ト生成プログラムにより、リンクを欠く属性リストと同
様の方法で処理出来る。理由は、かような定義は唯一可
能な装置の選択がボタンアイコンに対応している特殊タ
イプのフィールドとして処理できるからである。好適な
実施態様において、分割されたブロック定義ファイル
は、主ブロック用の単一画面レイアウトと各二次ブロッ
ク用の個別画面レイアウトと各二次ブロック用の個別画
面レイアウトを生成することにより処理する。
【0103】インターフェース生成の方法論 図17に、本発明によるインターフェースを生成する好
ましい方法を表示した機能ブロック図を示す。図17に
おいて、ブロック記述ファイル130は、インターフェ
ース仕様定義ソフトウェアツール129で確定したデー
タ構造に従い、インタープリタモジュールにより生成さ
れる。各ブロック記述ファイル130用のインターフェ
ースオブジェクトブロックの1セットが、次に、ブロッ
クレイアウト生成プログラム134により、オブジェク
トブロック内に含まれるデータフィールドの配置,間隔
および図形表現を変えることにより生成される。各デー
タフィールドは、以後“ウィジェット(Widget)”と呼
ぶグラフィック・ソフトウェアのセグメントにより定義
される。
【0104】各インターフェースのオブジェクトブロッ
クには、定義済みブロック構成のガイドラインに基づく
“品質”パラメタを有し、オブジェクトブロック内のウ
ィジェットの位置と選択に関し制約を有する。前記ガイ
ドラインは、品質パラメタの計算時に種々の評点を生み
出す公式であり、他方、前記の制約は、特殊デザインが
許容とみなされる場合に満されるべき条件を記述してい
る。代表的な制約には、“2つのフィールドはオーバー
ラップ出来ない”,“幅と高さは割付スペースを越えて
はならない”および“オブジェクトブロック内のフィー
ルド数はN未満であること”が含まれる。
【0105】図18は、ブロックレイアウトジェネレー
タ134を構成する構成部品の構成図である。このレイ
アウトジェネレータ134は、対応テンプレート180
セット内に含まれている情報に基づき、各ブロック記述
ファイル130対応するインターフェースオブジェクト
のセットを生成するために機能する。各テンプレート1
80は、複数のインターフェースブロックの生成を可能
にする情報を含んでいるデータ構造である。
【0106】さらに詳細には、各テンプレート180
は、オブジェクトブロック内の各データフィールドを、
特殊ウィジェットクラス(例えば、テキスト,スクロー
ルされたテキスト,スケール,ボタン)に割当てる表示
セクションを含んでいる。各ウィジェットクラスに関す
る属性(例えば、フォントサイズ,寸法,色)は、ロー
カル属性セクションで決められる。このローカル属性セ
クションは、また、オブジェクトブロックの周囲とデー
タフィールド間のマージンサイズとデータフィールド間
のスペース等に関する情報を含んでいる。各オブジェク
トブロック内のデータフィールドの配置は、各テンプレ
ート180中に記憶されているレイアウトプランに従っ
て実行される。
【0107】例えば、特殊テンプレート180に含まれ
ているレイアウトプランでは、テンプレートに関係する
最初のオブジェクトブロック内のデータフィールドを1
カラム内に配置し、第2のオブジェクトブロック内のデ
ータフィールドを2つのカラムに配置し、第3のオブジ
ェクトブロック内のデータフィールドを3つのカラムに
配置することを指定出来る。好適な実施例において、各
テンプレート180は下記のように構成される。
【0108】
【0109】 /* Local attributes */ FontSize = #; FontStyle = [P,B,I]; /* P=plain,B=bold,I=italic */ UperMargin = ##;/* separation between the upper border and topmost widget */ LowerMargin = ##; /* separation between the lower border and the lowermost widget */ LeftMargin = ##; /* separation between the left border and the[lowermost]leftmost widget */ RightMargin = ##; /* separation between the right border and the rightmost widget */ FieldSepatation = ##; /* distance between fields */ FieldLabelSeparation = ##; /* distance between a field and its label */ ColumnSeparation = ##: /* distance between columns */ /* Layout plan */ <function>
【0110】各テンプレート180は、個別ファイルで
ある。以下に詳述するように、テンプレートファイルル
は、構成ジェネレータ184(図18)で読み取り翻訳
する。レイアウトプランを例外とし、テンプレートファ
イルに含まれている各パラメタの値は、個別に修正する
ことが出来る。好適な実施態様において、各レイアウト
プランはCコードで書かれ、翻訳後、構成ジェネレータ
184内のソフトウェアに結合される。
【0111】テンプレート180の好適な実施例に含ま
れているレイアウトプランを以下に記述する。 定義 変数: N:配置される“ウィジェット(Widget)”の数 W[i]:i番目のウィジェット W[i].width:ウィジェット幅 W[i].height:ウィジェット高さ W[i].x_pos:(ブロックに対する)ウィジェット位置
のx座標 W[i].y_pos:(ブロックに対する)ウィジェット位置
のy座標
【0112】定数:下記の定数はテンプレートのローカ
ル属性セクションで定義される。 InterButtonWidth 内部ボタン幅 InterButtonHeight 内部ボタン高さ LeftMargin 左マージン RightMargin 右マージン UpperMargin 上マージン LowerMargin 下マージン HorizontalFieldSeparation 横フィールド間隔 VerticalFieldLabelSeparation 縦フィールドラベル間
【0113】 LayoutPlan#1:HorizontalMenue() (レイアウトプランNo.1:横メニュー) /* Menu buttons of identical height are arranged in a single row */ (/*同一高さのメニューボタンを一列に配置*/) = = = = = = = = = = = = = = = = = = = = = = curr_x=0; for(i=1;i<=N;i++){ W[i].x_pos=curr_x; W[i].y_pos=0; curr_x=cur_x+W[i].width +menuInterButtonWidth;}
【0114】 LayoutPlan#2:VerticalMenu() /*Menu buttons of identical width are arranged in a single column*/ = = = = = = = = = = = = = = = = = = = = = = = = curr_y=0; for(i=1;i<=N;i++){ W[i].x_pos=0; W[i].y_pos=curr_y; curr_y=cur_y+W[i].height +InterButtonHeight;}
【0115】
【0116】 total_height=sum(W[i].height); curr_x=0; curr_y=0; first=1; for(i=1;i<=columns;i++){ column_height=total_height/(columns−i+1); residual=total_height−(columns−1+1)*column_height if(residual)>0){ column_height++; } h=0; last=first;
【0117】 while(h<=column_height&&last<=N){ h=W[last].height; k=h; if(last!=first&&(h-column_height)>W[last].height/2) k=k−W[last].height; else last++; } last=last−1; total_height=total_height−k; widest=max{W[i]|first<=i<=last}; for(j=first;j<=last;j++){ W[j].x_pos=curr_x; W[j].y_pos=curr_y; curr_y=curr_y+W[j].height+InterButtonHeight; } curr_y=0; curr_x=curr_x+widest+InterButtonWidth; first=last+1; }
【0118】 LayoutPlan#4:PackedHorizontalTextFieldSet(max_width) /* Fields are sequentially arranged row by row.A new row is initiated when the cumulative width of the fields,associated labels,block margins, and inter-field spacing exceeds a predefined row width denoted by max_ widht */ (レイアウトプランNo.4:テキストフィールドを水平方向につめる /*フィールドは一列ずつ順番に配置する。 フィールド,関連ラベル,ブロックマージンおよびフィールド間間隔の和が指 定された最大幅を越える時は、新しい列より始める。*/) = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = curr_x=0; curr_y=0; max_h=0; for(i=1;i<=N;i++){ if(curr_x+W[i].width>width−LeftMargin){ curr_y=curr_y+max_h+VerticalFieldSeparation; curr_x=0; max_h=0: } W[i].x_pos=curr_x; W[i].y_pos=curr_y; curr_x=curr_x+W[i].width+HorizontalFieldSeparation; max_h=max(max_h,W[i].height); }
【0119】 LayoutPlan#5:ColumnSplit(Columns) /* This routine partitions the data fields of an object block into N columns */ (/*このルーチンは1つのオブジェクトブロックのデータフィールドをN個の カラムに分割する*/) = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = total_height=sum(W[i].height); curr_x=0; curr_y=0; first=1; for(i=1;i<=columns;i++){ column_height=total_height/(columns−i+1); residual=total_height−(columns−1+1)*column_height; if(residual)>0{ column_height++; } h=0; last=first;
【0120】 while(h<=column_height&&last<=N){ h+=W[last].height; k=h; if(last!=first&&(h-column_height)>W[last].height/2) k−=W[last].height; else last++; } last=last−1; total_height=total_height−k; widest=max{W[i]|first<=i<=last}; for(j=first;j<=last;j++){ W[j].x_pos=curr_x; W[j].y_pos=curr_y; curr_y=curr_y+W[j].height+VerticalFieldSeparation; } curr_y=0; curr_x=curr_x+widest+HorizontalFieldSeparation; first=last+1; }
【0121】図19(a)は、レイアウトジェネレータ
134が3つのオブジェクトブロック(図19(b)〜
図19(d))を1セット生成するために、ブロック記
述ファイル130と共に使用するテンプレート180の
例を示す。図19(a)の例の場合、“カラム_スプリ
ット({1,2,3})”で表示したレイアウトプランは、
図19(b)のオブジェクトブロック内の(例えば、氏
名,性別,経験等)各データフィールドを1カラムに配
置し、図17(c)と図17(d)のオブジェクトブロ
ック内のデータフィールドを1対のカラムおよび複数の
カラムに各々配置することを指定する命令を含んでい
る。
【0122】図18(a)に示すように、構成ジェネレ
ータ184は、特殊ブロック記述ファイル130と関係
するオブジェクトブロックのセットを生成するために使
用可能なテンプレートセット180を使用する。好適な
実施態様において、構成ジェネレータ184は、関連レ
イアウトプランに従って、各テンプレート180毎に幾
つかのオブジェクトブロックを生成する。ブロック記述
ファイル130の各々に対応するオブジェクトブロック
セットに関する情報は、ウィジェット(widget)ファイ
ル186内に保管される。このウィジェットファイル1
86は、同ファイルにより定義されたオブジェクトブロ
ック内に含まれているデータの場所と型、即ちウィジェ
ット型を指定する。構成ジェネレータ184は、各ブロ
ック記述ファイル130の処理に応じて発生したオブジ
ェクトブロック情報を、ウィジェットファイル186に
付加する。下記の疑似コードルーチンは、ブロック記述
ファイル130の1つに対応するオブジェクトブロック
セットを構成ジェネレータ184で生成する好ましい方
法を示している。
【0123】各ブロック記述ファイル(BDF)、各テ
ンプレートおよび各フィールドに対し、データ辞書中に
含まれているフィールド特性とテンプレートの表示セク
ションに含まれている情報を用いて1つのウィジェット
記述を生成する。例えば、図20(a)のテンプレート
内の“名前”フィールドにウィジェットTextField(N)を
指定する。ここで、TextFieldは記述子“Text”と関係
するウィジェットの型であり、N値はデータ辞書内に定
義されたフィールド長である。
【0124】テンプレートのレイアウトプランセクショ
ン内に指定レイアウトルーチンを呼び出す。ウィジェッ
ト(Widget)ファイル186の書式は次の通りである。 <Block_description_1> ブロック記述1 <Widget_description_11> ウィジェット記述11 <Widget_description_12> ウィジェット記述12 ・・・ <Widget_description_1M1> ウィジェット記述1M1 <Block_description_2> ブロック記述2 <Widget_description_21> ウィジェット記述21 <Widget_description_22> ウィジェット記述22 ・・・ <Widget_description_2M2> ウィジェット記述2M2 ・・・ <Block_description_N> ブロック記述N <Widget_description_N1> ウィジェット記述N1 <Widget_description_N2> ウィジェット記述N2 ・・・ <Widget_description_NMn> ウィジェット記述NMn
【0125】ここで、<block_descriptor_X>は、ウィ
ジェットファイル186で定義したX番目のオブジェク
トブロックを意味し、<widget_description_K>は、任
意オブジェクトブロック内のK番目のデータフィールド
を意味する。各<block_descriptor_X>の形は、<inte
rnal_name>(内部名),<configuration_id>(構成
id),<number_of_widgets>(ウィジェットの数)
である。
【0126】<widget_description_K>(ウィジェット
記述K)のフォーマットは、関係データフィールドを表
示するために使用するウィジェットの型に依存する。例
えば、メニューボタンとして表示されたデータフィール
ドを定義するウィジェット型のフォーマットは、 <t_up><t_down><t_left><t_right><b_up><b_down> <b_left><b_right><label> であり、ここで、{<t_up><t_down>}は、メニュー
ボタンアイコンのラベルを囲むことが出来る小さな矩形
の上下の横線の位置を決定し、{<t_left><t_right
>}は左右の縦線の位置を指定する。同様に、{<b_up
><b_down><b_left><b_right>}は矩形ボタンア
イコンそのものを規定する。<Label(ラベル)>内の文
字ストリングは、ボタンアイコンを判別するラベル、例
えば、INSERT(挿入)に該当する。
【0127】以下のリストは、図9に示したオブジェク
トブロック(即ち、Menu(メニュー),Items及びDepar
tmentsなどを定義するウィジェットファイル186の一
部に対応する。
【0128】 M DESCR/MENU 00814 00038 00010 00010 0006 B 00005 00033 00082 00186 00 00 CONDITION B 00005 00033 00191 00295 00 00 RETRIEVE B 00005 00033 00300 00404 00 00 UPDATE B 00005 00033 00409 00513 00 00 PREVIOUS B 00005 00033 00518 00622 00 00 NEXT B 00005 00033 00627 00731 00 00 EXIT T DESCR/Items0001 00814 00068 00010 00068 0011 L 00005 00024 00067 00746 02 01 *Items L 00031 00049 00067 00082 01 01 ld T 00031 00063 00087 00153 01 01 - L 00031 00049 00158 00224 01 01 Description T 00031 00063 00229 00407 01 01 - L 00031 00049 00412 00461 01 01 Quantity T 00031 00063 00466 00532 01 01 - L 00031 00049 00537 00588 01 01 Minimum T 00031 00063 00593 00659 01 01 - L 00031 00049 00664 00707 01 01 Picture B 00031 00063 00712 00746 01 01 i T DESCR/Departments0002 00814 00068 00010 00398 0009 L 00005 00024 00093 00721 02 01 Departments L 00031 00049 00093 00108 01 01 Id T 00031 00063 00113 00163 01 01 - L 00031 00049 00168 00204 01 01 Name T 00031 00063 00209 00387 01 01 - L 00031 00049 00392 00434 01 01 Budget T 00031 00063 00439 00521 01 01 - L 00031 00049 00526 00578 01 01 Location T 00031 00063 00583 00721 01 01 - D DESCR/Orders0003 00254 00222 00010 00156 0020 L 00005 00024 00005 00249 02 01 Orders L 00029 00047 00005 00051 01 01 Number T 00049 00081 00005 00071 01 01 - T 00083 00115 00005 00071 01 01 - T 00117 00149 00005 00071 01 01 - T 00151 00183 00005 00071 01 01 - T 00185 00217 00005 00071 01 01 - L 00029 00047 00076 00107 01 01 Date T 00049 00081 00076 00158 01 01 - T 00083 00115 00076 00158 01 01 - T 00117 00149 00076 00158 01 01 - T 00151 00183 00076 00158 01 01 - T 00185 00217 00076 00158 01 01 - L 00029 00047 00163 00229 01 01 Doc_Image B 00049 00081 00163 00197 01 01 i B 00083 00115 00163 00197 01 01 i B 00117 00149 00163 00197 01 01 i B 00151 00183 00163 00197 01 01 i B 00185 00217 00163 00197 01 01 i S 00049 00217 00234 00249 00 00 + D DESCR/Suppliers0004 00540 00222 00284 00156 0032 L 00005 00024 00005 00535 02 01 Suppliers L 00029 00047 00005 00020 01 01 Id T 00049 00081 00005 00055 01 01 - T 00083 00115 00005 00055 01 01 - T 00117 00149 00005 00055 01 01 - T 00151 00183 00005 00055 01 01 - T 00185 00217 00005 00055 01 01 - L 00029 00047 00060 00096 01 01 Name T 00049 00081 00060 00198 01 01 - T 00083 00115 00060 00198 01 01 - T 00117 00149 00060 00198 01 01 - T 00151 00183 00060 00198 01 01 - T 00185 00217 00060 00198 01 01 - L 00029 00047 00203 00246 01 01 Address T 00049 00081 00203 00341 01 01 - T 00083 00115 00203 00341 01 01 - T 00117 00149 00203 00341 01 01 - T 00151 00183 00203 00341 01 01 - T 00185 00217 00203 00341 01 01 - L 00029 00047 00346 00408 01 01 Telephone T 00049 00081 00346 00428 01 01 - T 00083 00115 00346 00428 01 01 - T 00117 00149 00346 00428 01 01 - T 00151 00183 00346 00428 01 01 - T 00185 00217 00346 00428 01 01 - L 00029 00047 00433 00458 01 01 Fax T 00049 00081 00433 00515 01 01 - T 00083 00115 00433 00515 01 01 - T 00117 00149 00433 00515 01 01 - T 00151 00183 00433 00515 01 01 - T 00185 00217 00433 00515 01 01 - S 00049 00217 00520 00535 00 00 +
【0129】ウィジェットファイル186中の値は、制
約及びガイドラインの評価プログラム190により、特
殊ブロック内のフィールド配置が定義済みガイドライン
と制約条件と一致するその程度を示す品質パラメタを決
定するために使用される。
【0130】この品質評価の基礎をなす好適なガイドラ
インには下記が含まれている。 (1)費消スペース(WS:Wasted Space) ここで、WS=Σwidget_area(i)/block area. ブロック領域(Block area)は、オブジェクトブロック
内の各データフィールドを囲むことができる最小矩形面
積にである。但し、各データフィールドと最小矩形枠と
の間に指定マージンを維持する。 (2)オブジェクトブロック内のフィールドのバランス
(B):Bは、(i)ブロック領域を4分割し、(ii)各4
分矩形内のフィールドがカバーする面積を、完全に均衝
のとれたレイアウトの場合のフィールドの期待占拠面積
(即ちΣwidget_area(i)/4)と比較して計算する。 (3)カーソルの移動(C):Cは、フィールドの最後
位置Fiと最初位置Fi+1の間の距離、即ち表示画面の画
素数の合計である。
【0131】各ガイドラインは、オブジェクト指向コー
ド(例えば、C++)で実現することが望ましく、下記形
式の関数として定義する。 (e,g.,C++),and may be defined as a function of the form: score function(block_descriptor,{widget_descriptors}).
【0132】評価器190により好適に使用される制約
条件は、下記を含む。 (1)フィールドはオーバーラップ出来ない。 (2)ブロックの幅はWを越えられない。 (3)ブロックの高さはHを越えられない。 WとHはディスプレイユニット128の表示面積により
決定される定数である。
【0133】制約条件は、関数の形でも定義出来る。但
し、制約条件関数は、その制約条件が満たされればゼロ
に復帰し、その制約条件が犯されれば値Kをとるように
公式化する。Kは、制約条件を犯しているオブジェクト
が以下に記述するブロック配置手順中に考慮されないこ
とを保証するために、任意の大きい値になるように選定
出来る。
【0134】ガイドラインと評価器190により評価さ
れるI番目のオブジェクトブロックの品質(QI)は、
下記の重み付き和に従って決定される。 QI=ΣSg(i) W(i)+Sc(i) ここで、Sg(i)はi番目のガイドラインの評点で、Sc
(i)はi番目の制約条件の評点であり、ΣW(i)=1で
ある。QI値は、オブジェクトブロックのレイアウトが
ガイドラインと制約条件のセットに一致している程度に
反比例する。さらに、重み係数W(i)は所望のデータフ
ィールド配置に対する各ガイドライン値の相対的な重さ
に基づき選定する。
【0135】制約条件とガイドライン評価器190は、
また、各オブジェクトブロック(例えば、幅,高さ,フ
ォントサイズ,色)に対する総合属性(Ai)の値を決
定する。Ai値は、関係品質パラメタ値と共に、編成さ
れたブロックファイル194に次の通り配置する。 <block_1><attr_1><attr_2><attr_3>・・・<attr_N><QI>
【0136】再び図17において、ブロック配置ルーチ
ン136は、オブジェクトブロックセットを初期構成に
配置するための初期ブロック配置ジェネレータ210を
含んでいる。各ブロック記述ファイル130は、初期ブ
ロック配置ジェネレータ210により選択されたオブジ
ェクトブロックセット内の1つのオブジェクトブロック
により表現され、初期ブロック配置ファイル210に保
管される。以下の記述のように、ブロック配置手順中に
特殊記述ファイル130を表示する他のオブジェクト
を、初期ブロック配置ジェネレータ210により最初に
選ばれたブロックに置き替えることが出来る。かような
置き換えはインターフェース内のブロックの最終配置を
最適化するための最終ブロック配置ジェネレータ218
(図17)により実行される処理手順に従い行われる。
【0137】最終ブロック配置ジェネレータ218は、
模擬アニーリングとして知られている反復改善による発
見的方法(例えば、S.Kirkpatrik, C.D. Gelattおよび
M.P.Vecchi著“Optimization by Simulated Annealing
(模擬アニーリングによる最適化)”,Science第20
巻No.4598号,1983年5月,671-680頁)に従って、オブジ
ェクトブロックセットをインターフェースレイアウト中
に配置する。模擬アニーリング処理手順は、解空間を通
して無作為に移動する確率関数の使用に基づいている。
本例の場合、この解空間は、ブロック記述ファイル130
の特定セットに対応するオブジェクトブロックセットの
データベースインターフェース内のあらゆる潜在的に可
能な配置に該当する。各反復処理に続き、解の“質"
を、前の反復処理中に得た解の“質"と比較する。一般
に、新しい解は、先の解より改善を示している場合にの
み採択する。但し、極小値に近似の解空間に拘束される
のを避けるために、模擬アニーリング関数はある特定の
より劣った解を受け入れる。
【0138】下記の疑似コードは、模擬アニーリング手
順を記述したものである。 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);
【0139】図20(a)〜図20(c)について説明
する。好適な実施態様において、分割木データ構造は、
初期および最終ブロック配置ジェネレータ210と21
8により操作されるブロック配置を表現するために使用
される。特に、図20(a)の分割木構造の葉は、図2
0(b)のブロック配置(構成)内に含まれているオブ
ジェクトブロックを表示している。分割木の内部ノード
は、インターフェースレイアウトを隣接矩形構成に分割
する水平及び垂直切断を示す。各葉ノードに対応する記
憶場所に記憶された情報は、対応オブジェクトブロック
の幾何学的形状と寸法を含んでおり、また、周囲切断線
で形成された矩形内のオブジェクトブロックの位置を記
述する位置調整コードを含んでいる。
【0140】図20(c)は、周囲切断線で規定された
矩形に対するオブジェクトブロックの採択できる位置調
整の1つのセットを示している。好適な実施例におい
て、水平ノード(H)の左および右の子を翻訳するため
に、以下の変換が使用される。尚、水平ノードの左の子
は右の子より常に上に位置し、同様に垂直ノード(V)
の左の子は常に右の子の左に位置する。
【0141】初期配置ジェネレータ210は、図21
(a)と図21(b)に示した初期オブジェクトブロッ
ク配置をもたらす方法で初期配置機能を実行するように
実動化するのが好ましい。図21(a)の配置の場合、
N個のブロック記述ファイル130の各々に対応する1
つのオブジェクトブロックがインターフェースに含まれ
ている。N個のオブジェクトブロックは縦に積み重ねて
配置され、図21(b)に示した対応分割木データが付
加される。
【0142】前述の模擬アニーリング処理手順の疑似コ
ードにより示すように、摂動ステップは各反復の間に行
われる評価に先立ち実行する。この摂動ステップの目的
は、構造を変える操作を加え現在の配置に変化を生み出
すことである。このステップを実行するための摂動関数
の構造は次の通りである。
【0143】
【0144】ここで、B1とB2は、インターフェース
中のオブジェクトブロックの現在の構成に含まれている
オブジェクトブロックである。“操作選択”と“ブロッ
ク選択”は、(一様確率分布を用いた)確率的な関数
(Random function)であり、“ブロックカウント”
は、下記のOP操作のいずれかにより影響されるオブジ
ェクトブロックの数を決定する関数である。 Replace(b) オブジェクトブロックbの代わりに第2
のオブジェクトブロックを用いる。 Swap(b1,b2) 2つのブロックb1とb2の位置を取り
替える。 Move(b1,b2) ブロックb2の隣にブロックb1を置
く。
【0145】図22(a)と図22(b)は、“Replac
e(block6)”動作の実行結果として、ブロック構成に
生じた変化を示す。同様に、図23(a)〜(b)と図2
4(a)〜(b)は、“Swap(block3,block6)”および
“Move(block3,block6)”動作の影響を示す。下記の
ステップ順序により、“Move”動作の実行方法は明らか
となろう。 1)ブロックb1とその親を木からとりさる。 2)b1の同位者を親の親に連結する。 3)b2を木からはずし、b1の親に連結する。 4)b1の親を木のb2を取り外した場所に再び連結す
る。
【0146】最終ブロック配置ジェネレータ218は、
コスト評価関数C(i)を計算することにより、模擬ア
ニーリング処理手順を実動化する。C(i)は、i番目
の摂動動作後に存在するブロック構成の“コスト”であ
る。コスト評価関数“Evaluate(評価)”を決定する際
に、次の4つのコスト構成要素を考慮する。 C1=Σ(BQ(i)/N),式中、BQ(i)は、インターフェ
ース内のオブジェクトブロックの現在の構成(配置)に
含まれているN個のオブジェクトブロック中のi番目に
与えられた質の評点である。 C2=Placement Wasted Space(PWS:配置無駄空
間)。PWSは、各ブロックとその割当面積のサイズ間
の差異を決定するために、配置木を測定(traverse)す
る再帰的関数である。
【0147】C3=Vまたは0:配置制約条件が破られ
るとV値となり、それ以外ではゼロになる。Vは、現在
の配置が採択されないことを保証するのに充分なほど大
きい値を選択する。 C4=Σ(G(i)/M),式中、G(i)はi番目のオ
ブジェクトブロックの構成と関係するガイドラインの評
点であり、Mは配置ガイドラインの数である。
【0148】これらの因子は、模擬アニーリング処理手
順のi番目の反復後に存在するブロック構成のコストC
iを決定するために、最終ブロック配置ジェネレータ2
18により、下記の方法で結合させる。 C=C1W1+C2W2+C3W3+C4W4 ここで、ΣWi=1である。コストCiは、評価関数“Eval
uate”により返される値である。
【0149】上記の模擬アニーリング処理手順の好適な
実施例において、コストの削減をもたらすブロック構成
が常に採択される。さらに、コストの増加をもたらすブ
ロック構成は、超過時間を減少させる確率があれば採択
される。アニーリング処理手順のこの面は、下記の受諾
関数(Ac)で記述出来る。 Ac=exp(−Δc/Ti) ここで、△cは前のブロック構成と現在のブロック構成
間のコスト差であり、Tiはi番目の反復の“温度”に
あたる。温度関数は、下記の通り定義される。 Ti+1=α(T)*Ti ここで、α(T)は、呼び出され時に(0,1)の範囲
内に真の値を戻す関数である。好適な実施例において、
この関数α(T)は、模擬アニーリング処理手順を含む
アプリケーションに代表的に用いられるタイプの階段関
数である。
【0150】上記模擬アニーリング処理手順の疑似コー
ド表現に見られる通り、ブロック配置ジェネレータ21
8は、(i)定義済み反復回数(MAX_ITERATIONS)を実行
後か、あるいは(ii)温度Tiが最低温度(MIN_TEMPERA
TURE)より下がった後で、最終ブロック構成を生成す
る。最終ブロック構成は最終ブロック配置ファイル14
0に保管する。
【0151】図13は、インタープリタ154で作成さ
れたブロック記述ファイル130から導き出した最終ブ
ロック配置ファイル140を処理するために動作する、
表示コードジェネレータとコンパイラー122の特殊な
実施例のブロック構造図を示している。図13の実施例
では、“Open Software Foundation,Inc”社が開発し
たユーザインターフェース言語(UIL)を参照して記
述しているが、代案の実施態様においては、他のユーザ
インターフェース言語を使用できることは理解されよ
う。UILコードジェネレータ300は、最終ブロック
配置ファイル140内に記憶されている最終ブロックの
構成に基づき、UILコードを生成する。このUILコ
ードは、インターフェースオブジェクトの画面上表示と
して選択したグラフィックユーザインターフェース(G
UI)のソフト“Widget”の特性を記述する。
【0152】かような、“GUIウィジェット”ソフト
は、例えば、“Open Software Foundation,Inc”社が
開発したOSF/Motifユーザ環境中に含まれているも
のの中から選択することが出来る。UILコードは、固
定UILコード310で指定されるアプリケーションで
ある独立UIL命令文のシリーズでマージされ、完全な
UILプログラムが作成される。このUILプログラム
は、次にUILコンパイラ320で処理し、UIDコー
ドを生成し、これを表示コード記憶装置144に保管す
る。この表示コードは、ディスプレイユニット128に
よりインターフェースレイアウトを生成するために、イ
ンターフェースドライバー146によって使用される。
【0153】本発明は、幾つかの実施例に関し記述して
きたが、記述はこの発明を例示説明するものであり、こ
の発明を限定するものと解釈されるべきではない。種々
の変更を特許請求範囲に記載したこの発明の精神と範囲
にそむくことなく実行できることは当業者には自明であ
ろう。
【図面の簡単な説明】
【図1】本発明によるデータベースシステム用自動イン
ターフェースレイアウト生成プログラムの好適な実施態
様のブロック図である。
【図2】図1の自動インターフェースレイアウト生成プ
ログラムに含まれているインターフェース仕様記述ツー
ルの詳細図である。
【図3】スキーマエディターの表示例を示す。
【図4】スキーマエディターを用いて図3に表示のスキ
ーマを編集して作成したアプリケーション仕様図式(A
SD)を示す。
【図5】代表的なデータベースアプリケーションの画面
レイアウトを示す。
【図6】図3,図4,図5のデータベーススキーマを表
現する一次記憶装置内のデータ構造を示す図(図6
(a))及びGUIのメニューバー部に表示するために
採用可能なオペレーションの構成の一例を示す図(図6
(b))である。
【図7】図6(b)のオペレーション構成と関係するデ
ータベース辞書を示す。
【図8】アイテムとオーダのレコードの多重出現を同時
に示すインターフェースを示している。
【図9】マルチ表示エンティティ間の関連をインターフ
ェースのユーザが推論しなければならないインターフェ
ースを示す。
【図10】実施態様例においてインターフェース設計者
が使用出来るFile(ファイル),Edit(編集)及びSche
ma(データベーススキーマ)に関するプルダウンメニュ
ーを図示したものである。
【図11】データベーススキーマの入っているファイル
を選択するためのグラフィカルウィンドウを示す。
【図12】実施態様例においてインターフェースの設計
者が使用可能なInterpret(解釈)命令に関するプルダ
ウンメニューを示す。
【図13】ブロック記述ファイルから得られる最終ブロ
ック配置ファイルを処理するために実動するコンパイラ
ーと表示コード生成装置の実現例のブロック図である。
【図14】アプリケーション仕様図(ASD)の例であ
る。
【図15】図14のASD中で選択されたエンティティ
とリレーションシップに対応するノードと分岐を有する
ブロック順位木(BPT)である。
【図16】図15のBPTに従い生成されたGUI画面
を示す。
【図17】本発明によるインターフェースレイアウトの
好適な生成方法を代表する機能ブロック線図である。
【図18】本発明の範囲に含まれるブロックレイアウト
生成プログラムを構成する構成部分を示すブロック図で
ある。
【図19】3つのオブジェクト(図19(b)〜図19
(d))及びこれら3つの1セットを生成するために、
ブロック記述ファイルと共に、ブロックレイアウトジェ
ネレータが使用するテンプレート(図19(a))の1
例を示す図である。
【図20】図20(a)は図20(b)に示すブロック
構成内に含まれるオブジェクトブロックセットの分割ツ
リー表示を示す図、又、図20(c)は図20(b)に
示す初期配置の分割ツリー表示に対応する当初のブロッ
ク配置を示す図である。
【図21】N個のブロック記述ファイルの各々に対応す
るオブジェクトブロックの当初配置を示す図(21
(a))、及び図21(a)の当初インターフェース配
置に対応する分割ツリーデータ表示を示す図(21
(b))である。
【図22】模擬アニーリングによるブロック配置手続き
中の置換え動作の実行結果としてブロック構成に変化が
生じる前を示す図(図22(a))及び模擬アニーリン
グによるブロック配置手続き中の置換え動作の実行結果
としてブロック構成に生じた変化を示す図(図22
(b))である。
【図23】スワップ(Swap)動作の結果生じるブロック
構成に対する影響を示す前の図(図23(a))及びス
ワップ(Swap)動作の結果生じるブロック構成に対する
影響を示す図(図23(b))である。
【図24】移動(Move)動作の結果生じるブロック構成
に対する影響を示す前の図(図24(a))、及び移動
(Move)動作の結果生じるブロック構成に対する影響を
示す図(図24(b))である。
【符号の説明】
10…データベースシステム用自動インターフェースレ
イアウト生成プログラム、100…汎用コンピュータシ
ステム、102…中央処理装置、104…記録装置、1
06…一次記憶装置、107…データベース(二次記憶
装置)、108…入力装置、110…キーボード、11
4…指示装置、116…項目選択ボタン、120…イン
ターフェース生成プログラム、122…コンパイラ、1
28…ディスプレイ装置、129…インターフェース仕
様定義ソフトウェアツール、130…ブロック記述ファ
イル、134…レイアウトジェネレータ、136…ブロ
ック配置ルーチン、140…最終ブロック配置ファイ
ル、144…ディスプレイコード記憶装置、146…イ
ンターフェースディスプレイドライバー、150…デー
タベーススキーマ生成プログラム、152…スキーマエ
ディタ、154…インタープリタ、156…SSDレイ
アウト生成プログラム、180…テンプレート、184
…構成(Configuration)ジェネレータ、186…ウィ
ジェットファイル、190…ガイドライン評価器、21
0…初期ブロック配置ジェネレータ、218…最終ブロ
ック配置ジェネレータ、310…固定UILコード、3
20…UILコンパイラ。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 AUDDINO,A et.al." SUPER−Visual Inter action with an Obu ject−based ER Mode l”,Lecture Notes i n Computer Scienc e,Entity−Relations hip Approach−ER”92, Vol.645,pp.340−358,1992 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 G06F 12/00 JICSTファイル(JOIS)

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】 データベースの指定部分を表現する1組
    のブロック記述を指定する手段と;各インターフェース
    ・オブジェクトが前記ブロック記述の1つに対応し、
    (複数のレイアウトフィールドを含んでいる前記データ
    ベースの)インターフェース内に含まれる前記インター
    フェース・オブジェクトの生成手段と;前記インターフ
    ェース内の前記レイアウトフィールドのレイアウトに基
    づく前記インターフェース・オブジェクト毎にレイアウ
    ト品質パラメータを決定する手段と;前記インターフェ
    ース・オブジェクトのセットを前記インターフェース内
    のブロック構成中に配置するブロック配置手段と;1セ
    ットのブロック配置ルールと前記レイアウト品質パラメ
    タに基づく前記ブロック構成毎に配置品質パラメタを決
    定し、該配置品質パラメタを比較して最終ブロック構成
    を選定する手段より成るデータベース用インターフェー
    スのための自動レイアウト・ジェネレータ。
  2. 【請求項2】 前記ブロック配置ルールが前記ブロック
    構成の幾何学形状・寸法に関するガイドラインを含んで
    いることを特徴とする請求項1に記載の自動インターフ
    ェースレイアウト・ジェネレータ。
  3. 【請求項3】 前記ブロック配置ルールが前記インター
    フェースの幾何学的形状・寸法に関連し、前記ブロック
    構成の幾何学形状・寸法に関する制約条件を含んでいる
    ことを特徴とする請求項2に記載の自動インターフェー
    スレイアウト・ジェネレータ。
  4. 【請求項4】 前記レイアウトの品質パラメタを前記イ
    ンターフェース・オブジェクト内の前記レイアウトフィ
    ールドの分布に関するレイアウトガイドラインに従って
    決定することを特徴とする請求項1に記載の自動インタ
    ーフェースレイアウト・ジェネレータ。
  5. 【請求項5】 前記レイアウトガイドラインが、前記イ
    ンターフェース・オブジェクトの1つに含まれている前
    記レイアウトフィールドの第1のセットが1つの前記イ
    ンタフェース・オブジェクトの内で占拠する面積比に対
    応した未使用空間ガイドラインと;前記レイアウトフィ
    ールドの第1のセットの前記インターフェース・オブジ
    ェクトの1つの定義済み領域全体に対する分布の一様性
    に関するバランスガイドラインを含んでいることを特徴
    とする請求項4に記載の自動インターフェースレイアウ
    ト・ジェネレータ。
  6. 【請求項6】 前記インターフェース・オブジェクト生
    成手段が前記インターフェース・オブジェクトセットに
    含まれる前記オブジェクト間の前記レイアウトフィール
    ドの配置を変えることにより、前記ブロック記述毎にイ
    ンターフェース・オブジェクトのセットを生成する手段
    を含んでいることを特徴とする請求項1に記載の自動イ
    ンターフェースレイアウト・ジェネレータ。
  7. 【請求項7】 前記の各レイアウトフィールドが複数の
    ウィジェットタイプの1つに対応し、前記の各ブロック
    記述に対し1セットのインターフェース・オブジェクト
    を生成する前記手段が、前記の各レイアウトフィールド
    に1つのウィジェットを割当てる手段を含んでいること
    を特徴とする請求項6に記載の自動インターフェースレ
    イアウト・ジェネレータ。
  8. 【請求項8】 模擬アニーリング手順に基づき、前記ブ
    ロック配置手段が前記インターフェース・オブジェクト
    セットをブロック構成中に反復配置し、前記アニーリン
    グ手順の連続反復中に生成された前記ブロック構成対に
    対応する前記配置品質パラメタ対を比較し、前記配置品
    質パラメタの対のどちらを前記アニーリング手順の次の
    反復に用いるかを決定することを特徴とする請求項1に
    記載の自動インターフェースレイアウト・ジェネレー
    タ。
  9. 【請求項9】 摂動関数に従い、前記の模擬アニーリン
    グ手順を摂動させる手段をさらに含んでいることを特徴
    とする請求項8に記載の自動インターフェースレイアウ
    ト・ジェネレータ。
  10. 【請求項10】 前記最終ブロック構成のディスプレイ
    表示に対応するコードを生成するコードジェネレータを
    さらに含んでいることを特徴とする請求項1に記載の自
    動インターフェースレイアウト・ジェネレータ。
  11. 【請求項11】 1組のブロック記述を指定する前記手
    段が前記データベース中に含んでいる情報に基づき、該
    データベース中の1組のデータベースエンティティに関
    係するリレーションシップおよびフィールド属性を表現
    するスキーマ図を生成する手段を含んでいることを特徴
    とする請求項1に記載のレイアウトジェネレータ。
  12. 【請求項12】 前記スキーマ図をアプリケーション仕
    様図に変換するスキーマエディタ手段をさらに含んでい
    ることを特徴とする請求項11に記載のレイアウトジェ
    ネレータ。
  13. 【請求項13】 前記アプリケーション仕様図に従い、
    前記ブロック記述を生成するインタープリタ手段をさら
    に含んでいることを特徴とする請求項12に記載のレイ
    アウトジェネレータ。
  14. 【請求項14】 前記データベースの指定部分を表現す
    る1組のブロック記述を指定する段階と;各インターフ
    ェースオブジェクトが複数のレイアウトフィールドを有
    し、前記の各ブロック記述が1組の関係する前記インタ
    ーフェース・オブジェクトを有する前記データベースの
    インターフェース内に含めるインターフェース・オブジ
    ェクトを前記ブロック記述に基づき生成する段階と;前
    記インターフェースオブジェクト内の前記レイアウトフ
    ィールドのレイアウトに基づく前記の各インターフェー
    ス・オブジェクトのレイアウト品質パラメタを決定する
    手段と;前記インターフェース・オブジェクトの各セッ
    トからの1つのインターフェース・オブジェクトを各々
    含むインターフェース・オブジェクトの第1グループと
    第2グループを第1と第2のブロック構成中に各々配置
    するブロック配置手段と;1セットのブロック配置ルー
    ルと前記のレイアウト品質パラメタに基づく前記の第1
    と第2のブロック構成に対し、各々第1と第2の配置品
    質パラメタを決定し、第1と第2の配置品質パラメタを
    比較して最終ブロック構成を選定する手段より成るデー
    タベース用自動インターフェースレイアウト・ジェネレ
    ータを自動生成する方法。
  15. 【請求項15】 1組のブロック記述を指定する前記の
    段階が、前記データベース中の1組の定義されたデータ
    ベース・エンティティと関連するリレーションシップと
    フィールド属性を表示するスキーマ図を前記データベー
    ス中に含まれている情報に基づき生成する段階を含むこ
    とを特徴とする請求項14に記載の方法。
  16. 【請求項16】 前記スキーマ図をアプリケーション仕
    様図に変換するスキーマエディタ手段をさらに含んでい
    ることを特徴とする請求項15に記載の方法。
  17. 【請求項17】 前記アプリケーション仕様図に従い、
    前記ブロック記述を生成するインタープリタ手段をさら
    に含んでいることを特徴とする請求項16に記載の方
    法。
JP05274675A 1992-11-06 1993-11-02 データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法 Expired - Fee Related JP3136035B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/973,057 US5353401A (en) 1992-11-06 1992-11-06 Automatic interface layout generator for database systems
US07/973057 1992-11-06

Publications (2)

Publication Number Publication Date
JPH06208592A JPH06208592A (ja) 1994-07-26
JP3136035B2 true JP3136035B2 (ja) 2001-02-19

Family

ID=25520443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05274675A Expired - Fee Related JP3136035B2 (ja) 1992-11-06 1993-11-02 データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法

Country Status (2)

Country Link
US (2) US5353401A (ja)
JP (1) JP3136035B2 (ja)

Families Citing this family (197)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0812596B2 (ja) * 1991-08-19 1996-02-07 インターナショナル・ビジネス・マシーンズ・コーポレイション 単一のパネル定義ファイルから複数のパネル・バージョンを生成する方法及びシステム
US5555388A (en) * 1992-08-20 1996-09-10 Borland International, Inc. Multi-user system and methods providing improved file management by reading
GB2274182B (en) * 1993-01-09 1996-09-25 Digital Equipment Int Database co-processor
US5594858A (en) * 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
US5808611A (en) * 1993-09-23 1998-09-15 International Business Machines Corporation Positioning for multiple icons in an object-oriented interface
US6525555B1 (en) * 1993-11-16 2003-02-25 Formfactor, Inc. Wafer-level burn-in and test
CA2136367A1 (en) * 1993-12-20 1995-06-21 John Scott Anderson Dynamically specifying invocations in compiled objects
JP3910221B2 (ja) * 1993-12-28 2007-04-25 株式会社日立製作所 オブジェクト指向データベース管理システム及び方法
US6141663A (en) * 1994-03-18 2000-10-31 Unimax Systems Corporation Automatic external data synchronization method
US5602596A (en) * 1994-04-08 1997-02-11 U S West Technologies, Inc. Method for navigating a complex multimedia structure at an interactive user station
US5530961A (en) * 1994-04-21 1996-06-25 Janay; Gad Terminal emulator enhancer with local configurability
US6160549A (en) * 1994-07-29 2000-12-12 Oracle Corporation Method and apparatus for generating reports using declarative tools
TW274135B (ja) * 1994-09-14 1996-04-11 Hitachi Seisakusyo Kk
US5659603A (en) * 1994-09-30 1997-08-19 Lucent Technologies Inc. Method for printing key telephone designation strips
US5581687A (en) * 1994-11-10 1996-12-03 Baxter International Inc. Interactive control systems for medical processing devices
US5717913A (en) * 1995-01-03 1998-02-10 University Of Central Florida Method for detecting and extracting text data using database schemas
US5669006A (en) * 1995-02-23 1997-09-16 International Business Machines Corporation Method for automatically obtaining spatial layout for multimedia presentations
US6307574B1 (en) * 1995-05-08 2001-10-23 Apple Computer, Inc. Graphical user interface with hierarchical structure for customizable menus and control objects
US5717924A (en) * 1995-07-07 1998-02-10 Wall Data Incorporated Method and apparatus for modifying existing relational database schemas to reflect changes made in a corresponding object model
JPH0991113A (ja) * 1995-07-17 1997-04-04 Ricoh Co Ltd 自動レイアウトシステム
US5764226A (en) * 1995-12-29 1998-06-09 International Business Machine Corp. Reusable and modifiable data entry interface part
US5742823A (en) * 1996-01-17 1998-04-21 Nathen P. Edwards Total object processing system and method with assembly line features and certification of results
US5812847A (en) * 1996-02-02 1998-09-22 International Business Machines Corporation Rule-based method for designing user interfaces for applications
US5819042A (en) * 1996-02-20 1998-10-06 Compaq Computer Corporation Method and apparatus for guided configuration of unconfigured network and internetwork devices
US5838907A (en) * 1996-02-20 1998-11-17 Compaq Computer Corporation Configuration manager for network devices and an associated method for providing configuration information thereto
US5796398A (en) * 1996-03-08 1998-08-18 Ncr Corporation Information visualization icons
US5802514A (en) * 1996-04-09 1998-09-01 Vision Software Tools, Inc. Automated client/server development tool using drag-and-drop metaphor
US5786815A (en) * 1996-05-31 1998-07-28 Sun Microsystems, Inc. Configurable runtime graphical user interface widget management
US5875333A (en) * 1996-06-07 1999-02-23 Electronic Data Systems Corporation Automatically generating source code for relating a dialog interface with a business object in a computing application
US5892510A (en) * 1996-07-02 1999-04-06 Sun Microsystems, Inc. Field objects and a method for developing a graphical user interface containing the field objects
US5751613A (en) * 1996-09-03 1998-05-12 Doty; Douglas E. Persistent heap for dynamic picture objects
US5842202A (en) * 1996-11-27 1998-11-24 Massachusetts Institute Of Technology Systems and methods for data quality management
US5950168A (en) * 1996-12-18 1999-09-07 Knowmed Systems Collapsible flowsheet for displaying patient information in an electronic medical record
US5966126A (en) * 1996-12-23 1999-10-12 Szabo; Andrew J. Graphic user interface for database system
US6233726B1 (en) * 1997-02-05 2001-05-15 Sybase, Inc. Development system with reference card and parameter wizard methodologies for facilitating creation of software programs
US5973692A (en) * 1997-03-10 1999-10-26 Knowlton; Kenneth Charles System for the capture and indexing of graphical representations of files, information sources and the like
FI103626B (fi) * 1997-04-16 1999-07-30 Nokia Telecommunications Oy Haluttujen tietojen erottaminen tietovirrasta
US6269475B1 (en) * 1997-06-02 2001-07-31 Webgain, Inc. Interface for object oriented programming language
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
JP2001502096A (ja) * 1997-07-15 2001-02-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子民生機器のグラフィカルユーザインターフェースを設計するための方法とシステム
US6195794B1 (en) * 1997-08-12 2001-02-27 International Business Machines Corporation Method and apparatus for distributing templates in a component system
US6093215A (en) * 1997-08-12 2000-07-25 International Business Machines Corporation Method and apparatus for building templates in a component system
US6182279B1 (en) 1997-08-12 2001-01-30 International Business Machines Corporation Method and apparatus for storing templates in a component system
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6192381B1 (en) * 1997-10-06 2001-02-20 Megg Associates, Inc. Single-document active user interface, method and system for implementing same
US6041325A (en) * 1997-10-09 2000-03-21 Alcatel Usa Sourcing, L.P. System and method for controlling access to a telephony database
US6321374B1 (en) * 1997-11-07 2001-11-20 International Business Machines Corporation Application-independent generator to generate a database transaction manager in heterogeneous information systems
US6188403B1 (en) * 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US6448981B1 (en) 1997-12-09 2002-09-10 International Business Machines Corporation Intermediate user-interface definition method and system
US6249794B1 (en) * 1997-12-23 2001-06-19 Adobe Systems Incorporated Providing descriptions of documents through document description files
US6212536B1 (en) * 1998-01-08 2001-04-03 International Business Machines Corporation Method for generating web browser sensitive pages
US5933831A (en) * 1998-01-09 1999-08-03 Lsi Logic Corporation Viewing entity relationship diagrams using hyperlinks
GB9800900D0 (en) * 1998-01-17 1998-03-11 Philips Electronics Nv Graphic image generation and coding
US6631522B1 (en) * 1998-01-20 2003-10-07 David Erdelyi Method and system for indexing, sorting, and displaying a video database
JP3070678B2 (ja) * 1998-03-24 2000-07-31 日本電気株式会社 図形レイアウト変更システム及び図形レイアウト変更方法
US6167394A (en) * 1998-05-11 2000-12-26 General Electric Company Information management system with remote access and display features
AU4316999A (en) * 1998-05-28 1999-12-13 Telsoft Consultants, Inc. Computer programming system for automatically adjusting operating programs to changes in the data and structure of an associated database
US6405159B2 (en) 1998-06-03 2002-06-11 Sbc Technology Resources, Inc. Method for categorizing, describing and modeling types of system users
US6259448B1 (en) 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
US6694482B1 (en) * 1998-09-11 2004-02-17 Sbc Technology Resources, Inc. System and methods for an architectural framework for design of an adaptive, personalized, interactive content delivery system
US6229538B1 (en) 1998-09-11 2001-05-08 Compaq Computer Corporation Port-centric graphic representations of network controllers
US6381218B1 (en) 1998-09-11 2002-04-30 Compaq Computer Corporation Network controller system that uses directed heartbeat packets
US6272113B1 (en) 1998-09-11 2001-08-07 Compaq Computer Corporation Network controller system that uses multicast heartbeat packets
JP3508915B2 (ja) * 1998-09-18 2004-03-22 シャープ株式会社 データ表示制御方法、データ表示制御装置、及びデータ表示制御プログラムを記録したコンピュータ読み取り可能な記録媒体
FR2785413B1 (fr) * 1998-10-30 2001-08-24 Bull Sa Procede de generation d'interfaces pour la commande par un utilisateur d'un systeme informatique
US6429885B1 (en) * 1998-10-30 2002-08-06 Sony Corporation GUI resource editor for an embedded system
US6452609B1 (en) * 1998-11-06 2002-09-17 Supertuner.Com Web application for accessing media streams
US6993527B1 (en) 1998-12-21 2006-01-31 Adobe Systems Incorporated Describing documents and expressing document structure
JP3211798B2 (ja) * 1999-01-21 2001-09-25 村田機械株式会社 生産機械
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
US6462759B1 (en) * 1999-02-25 2002-10-08 International Business Machines Corporation Adaptive computer display screen window
US6363394B1 (en) * 1999-03-18 2002-03-26 Microsoft Corporation Auto-generation of table neighborhoods
US6389491B1 (en) * 1999-03-23 2002-05-14 Agilent Technologies, Inc. Test instrumentation I/O communication interface and method
US7224790B1 (en) 1999-05-27 2007-05-29 Sbc Technology Resources, Inc. Method to identify and categorize customer's goals and behaviors within a customer service center environment
US7086007B1 (en) * 1999-05-27 2006-08-01 Sbc Technology Resources, Inc. Method for integrating user models to interface design
US6807549B2 (en) * 1999-06-03 2004-10-19 B.I.S. Advanced Software Systems Ltd. General purpose interpreter and database for accessing enterprise servers over an internet protocol network
US8479109B2 (en) * 1999-08-19 2013-07-02 National Instruments Corporation Programmatically generating a graphical program in response to user input
JP3871832B2 (ja) * 1999-08-20 2007-01-24 日本電気株式会社 データ処理プログラム自動生成システム及びその方法並びにコンピュータ可読記録媒体
US6545690B1 (en) * 1999-09-29 2003-04-08 Lucent Technologies Inc. Liaison interface
US6973639B2 (en) * 2000-01-25 2005-12-06 Fujitsu Limited Automatic program generation technology using data structure resolution unit
US7035989B1 (en) 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US7530050B2 (en) * 2000-03-14 2009-05-05 Fusionops Method and system for developing software using nodes
US20040006473A1 (en) * 2002-07-02 2004-01-08 Sbc Technology Resources, Inc. Method and system for automated categorization of statements
US6778643B1 (en) 2000-03-21 2004-08-17 Sbc Technology Resources, Inc. Interface and method of designing an interface
US6631519B1 (en) * 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US6546359B1 (en) 2000-04-24 2003-04-08 Sun Microsystems, Inc. Method and apparatus for multiplexing hardware performance indicators
US6564201B1 (en) * 2000-04-25 2003-05-13 Cook-Hurlbert, Inc. Expert designer system virtual plug-in interface
US6802057B1 (en) 2000-05-03 2004-10-05 Sun Microsystems, Inc. Automatic generation of fortran 90 interfaces to fortran 77 code
US6647546B1 (en) 2000-05-03 2003-11-11 Sun Microsystems, Inc. Avoiding gather and scatter when calling Fortran 77 code from Fortran 90 code
US7139768B1 (en) * 2000-05-04 2006-11-21 Unisys Corporation OLE DB data access system with schema modification features
US7324635B2 (en) * 2000-05-04 2008-01-29 Telemaze Llc Branch calling and caller ID based call routing telephone features
GB2363954A (en) * 2000-06-24 2002-01-09 Ncr Int Inc Displaying a visual decision tree and information buttons
US6986130B1 (en) 2000-07-28 2006-01-10 Sun Microsystems, Inc. Methods and apparatus for compiling computer programs using partial function inlining
US7779359B2 (en) * 2000-08-08 2010-08-17 The United States Of America As Represented By The Secretary Of The Army Multifunction display design tool
US6910107B1 (en) 2000-08-23 2005-06-21 Sun Microsystems, Inc. Method and apparatus for invalidation of data in computer systems
AU2001294555A1 (en) * 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
US6919890B2 (en) * 2000-09-28 2005-07-19 Curl Corporation Grid and table layout using elastics
US6734882B1 (en) * 2000-09-29 2004-05-11 Apple Computer, Inc. Combined menu-list control element in a graphical user interface
US7406681B1 (en) 2000-10-12 2008-07-29 Sun Microsystems, Inc. Automatic conversion of source code from 32-bit to 64-bit
US7885981B2 (en) * 2000-10-31 2011-02-08 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
US6957208B1 (en) 2000-10-31 2005-10-18 Sun Microsystems, Inc. Method, apparatus, and article of manufacture for performance analysis using semantic knowledge
US8161081B2 (en) 2001-03-16 2012-04-17 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
EP1364313A2 (en) * 2000-10-31 2003-11-26 Michael Philip Kaufman System and method for automatically generating user interfaces for arbitrarily complex or large databases
DE10058391C2 (de) * 2000-11-24 2003-06-18 Siemens Ag Vorrichtung zur Objektbearbeitung
US7275220B2 (en) * 2000-12-22 2007-09-25 Epic Systems Corporation System and method for a seamless user interface for an integrated electronic health care information system
US7065201B2 (en) 2001-07-31 2006-06-20 Sbc Technology Resources, Inc. Telephone call processing in an interactive voice response call management system
US7461077B1 (en) 2001-07-31 2008-12-02 Nicholas Greenwood Representation of data records
US7062502B1 (en) * 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
JP3958190B2 (ja) * 2002-01-29 2007-08-15 株式会社リコー パーソナルダイジェスト配信システム
US7305070B2 (en) 2002-01-30 2007-12-04 At&T Labs, Inc. Sequential presentation of long instructions in an interactive voice response system
US7185317B2 (en) * 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6914975B2 (en) * 2002-02-21 2005-07-05 Sbc Properties, L.P. Interactive dialog-based training method
US20030226068A1 (en) * 2002-05-28 2003-12-04 Rule John Scott Run time method of control system interface design and device control
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US8230359B2 (en) * 2003-02-25 2012-07-24 Microsoft Corporation System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
US7536650B1 (en) 2003-02-25 2009-05-19 Robertson George G System and method that facilitates computer desktop use via scaling of displayed objects with shifts to the periphery
US8225224B1 (en) 2003-02-25 2012-07-17 Microsoft Corporation Computer desktop use via scaling of displayed objects with shifts to the periphery
CA2429284A1 (en) * 2003-05-22 2004-11-22 Cognos Incorporated Visual grouping of elements in a diagram
CA2527328C (en) * 2003-05-29 2013-04-02 Eat.Tv, Llc System for presentation of multimedia content
US7958449B2 (en) * 2003-07-02 2011-06-07 International Business Machines Corporation Method and apparatus for displaying and processing input fields from a document
US8301661B2 (en) * 2003-07-28 2012-10-30 Roy Gelbard Generic information system builder and runner
US8639520B2 (en) * 2003-10-06 2014-01-28 Cerner Innovations, Inc. System and method for creating a visualization indicating relationships and relevance to an entity
US20050114361A1 (en) * 2003-11-26 2005-05-26 Brent Roberts Method and apparatus for integrating data repositories and frameworks
US7313756B2 (en) * 2003-12-15 2007-12-25 Microsoft Corporation Schema editor extensions
US7027586B2 (en) * 2003-12-18 2006-04-11 Sbc Knowledge Ventures, L.P. Intelligently routing customer communications
US20050137883A1 (en) * 2003-12-19 2005-06-23 Hiroaki Nohgawa Business form issuing apparatus and electronic business form system
US7543274B2 (en) * 2003-12-22 2009-06-02 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for deriving a process-based specification
JP2005196291A (ja) * 2003-12-26 2005-07-21 Fujitsu Ltd ユーザインタフェースアプリケーション開発プログラム、および開発装置
US8271541B2 (en) * 2004-03-31 2012-09-18 Fusionops Corporation Method and apparatus for developing composite applications
WO2005109189A1 (en) * 2004-05-07 2005-11-17 Telecom Italia S.P.A. Method and system for graphical user interface layout generation, computer program product therefor
MXPA06013286A (es) * 2004-05-21 2007-07-19 Pressco Tech Inc Interfaz de configuracion de usuario de re-inspeccion grafica.
US7599924B2 (en) * 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7711679B2 (en) 2004-07-26 2010-05-04 Google Inc. Phrase-based detection of duplicate documents in an information retrieval system
US7702618B1 (en) 2004-07-26 2010-04-20 Google Inc. Information retrieval system for archiving multiple document versions
US7580929B2 (en) 2004-07-26 2009-08-25 Google Inc. Phrase-based personalization of searches in an information retrieval system
US7599914B2 (en) 2004-07-26 2009-10-06 Google Inc. Phrase-based searching in an information retrieval system
US7580921B2 (en) * 2004-07-26 2009-08-25 Google Inc. Phrase identification in an information retrieval system
US7567959B2 (en) 2004-07-26 2009-07-28 Google Inc. Multiple index based information retrieval system
US8126937B2 (en) * 2004-10-05 2012-02-28 Sap Ag Visual database modeling
US7953767B2 (en) * 2004-10-05 2011-05-31 Sap Ag Developing applications using configurable patterns
JP4890459B2 (ja) * 2004-10-29 2012-03-07 イーエイティー.ティーブイ、インコーポレイテッド ビデオベースインタラクティブアプリケーションを可能にするためのシステム
CA2489628A1 (en) * 2004-12-07 2006-06-07 Ibm Canada Limited - Ibm Canada Limitee System and method for dynamic editing support and validation of application specific information on business objects
US7478079B2 (en) * 2005-01-14 2009-01-13 Microsoft Corporation Method for displaying a visual representation of mapping between a source schema and a destination schema emphasizing visually adjusts the objects such that they are visually distinguishable from the non-relevant and non-selected objects
US20060179067A1 (en) * 2005-02-04 2006-08-10 Bechtel Michael E Knowledge discovery tool navigation
US7634722B2 (en) * 2005-03-08 2009-12-15 Aspect Software, Inc. Reversible logic for widget and markup language generation
US8365086B2 (en) * 2005-05-03 2013-01-29 The Mathworks, Inc. System and method for building graphical instrument panels
US20070100848A1 (en) * 2005-11-01 2007-05-03 Peter Vignet Node index
US7423646B2 (en) * 2005-11-08 2008-09-09 Microsoft Corporation Smart shape insert
WO2007075610A2 (en) * 2005-12-19 2007-07-05 Jennifer Sweeney Information gathering system and method
US7761789B2 (en) 2006-01-13 2010-07-20 Ricoh Company, Ltd. Methods for computing a navigation path
US20070204216A1 (en) * 2006-02-24 2007-08-30 Morgan Brian S System and method for creating layouts using a layout editor
US7613696B2 (en) * 2006-02-24 2009-11-03 International Business Machines Corporation Configuring search results using a layout editor
US7788579B2 (en) * 2006-03-06 2010-08-31 Ricoh Co., Ltd. Automated document layout design
US8880569B2 (en) * 2006-04-17 2014-11-04 Teradata Us, Inc. Graphical user interfaces for custom lists and labels
US8793244B2 (en) * 2006-04-17 2014-07-29 Teradata Us, Inc. Data store list generation and management
US7568162B2 (en) * 2006-06-09 2009-07-28 International Business Machines Corporation Visual helps while using code assist in visual tools
US8683315B2 (en) * 2006-11-06 2014-03-25 Eci Software, Inc. System and method for creating integrated web form and database applications
US20080141148A1 (en) * 2006-12-08 2008-06-12 Ogita Seiya Image forming device and display control method
US8584042B2 (en) 2007-03-21 2013-11-12 Ricoh Co., Ltd. Methods for scanning, printing, and copying multimedia thumbnails
US8812969B2 (en) * 2007-03-21 2014-08-19 Ricoh Co., Ltd. Methods for authoring and interacting with multimedia representations of documents
US20080235564A1 (en) * 2007-03-21 2008-09-25 Ricoh Co., Ltd. Methods for converting electronic content descriptions
US8583637B2 (en) * 2007-03-21 2013-11-12 Ricoh Co., Ltd. Coarse-to-fine navigation through paginated documents retrieved by a text search engine
US7925655B1 (en) 2007-03-30 2011-04-12 Google Inc. Query scheduling using hierarchical tiers of index servers
US8166021B1 (en) 2007-03-30 2012-04-24 Google Inc. Query phrasification
US8086594B1 (en) 2007-03-30 2011-12-27 Google Inc. Bifurcated document relevance scoring
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
US7702614B1 (en) 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
US8166045B1 (en) 2007-03-30 2012-04-24 Google Inc. Phrase extraction using subphrase scoring
US9535810B1 (en) * 2007-04-24 2017-01-03 Wal-Mart Stores, Inc. Layout optimization
US8117223B2 (en) 2007-09-07 2012-02-14 Google Inc. Integrating external related phrase information into a phrase-based indexing information retrieval system
US7908299B2 (en) * 2008-01-31 2011-03-15 Computer Associates Think, Inc. Method and apparatus for pseudo-conversion of table objects
US20090319923A1 (en) * 2008-06-20 2009-12-24 International Business Machines Corporation Method for generating role-based user interfaces utilizing uml models
US9046979B2 (en) * 2008-08-29 2015-06-02 Adobe Systems Incorporated Panel configurator engine
US8924871B2 (en) * 2008-09-29 2014-12-30 Nec Corporation GUI evaluation system, GUI evaluation method, and GUI evaluation program
CA2734038C (en) 2008-12-19 2017-05-09 International Business Machines Corporation Method and system for generating vocal user interface code from a data meta-model
WO2010147453A1 (en) * 2009-06-16 2010-12-23 Emanual System Sdn Bhd System and method for designing a gui for an application program
CN102262622A (zh) * 2010-05-31 2011-11-30 国际商业机器公司 文档处理、模板生成及概念库生成方法和装置
EP2668570A4 (en) * 2011-01-25 2017-11-22 Hewlett-Packard Development Company, L.P. System and method for generation of a layout of document elements
US9330148B2 (en) 2011-06-30 2016-05-03 International Business Machines Corporation Adapting data quality rules based upon user application requirements
US8676864B2 (en) * 2011-08-19 2014-03-18 Salesforce.Com, Inc. Methods and systems for providing schema layout in an on-demand services environment
US9268848B2 (en) 2011-11-02 2016-02-23 Microsoft Technology Licensing, Llc Semantic navigation through object collections
US11461862B2 (en) 2012-08-20 2022-10-04 Black Hills Ip Holdings, Llc Analytics generation for patent portfolio management
US20140108273A1 (en) * 2012-08-20 2014-04-17 Black Hills Ip Holdings, Llc Systems and methods for patent portfolio management and generation of analytics
US9772682B1 (en) 2012-11-21 2017-09-26 Open Text Corporation Method and system for dynamic selection of application dialog layout design
US9864739B1 (en) * 2013-03-13 2018-01-09 EMC IP Holding Company LLC Automatic layout of graphical user interface screens from object data
US9501506B1 (en) 2013-03-15 2016-11-22 Google Inc. Indexing system
US20140298243A1 (en) * 2013-03-29 2014-10-02 Alcatel-Lucent Usa Inc. Adjustable gui for displaying information from a database
US9767190B2 (en) 2013-04-23 2017-09-19 Black Hills Ip Holdings, Llc Patent claim scope evaluator
US9483568B1 (en) 2013-06-05 2016-11-01 Google Inc. Indexing system
WO2015092519A1 (en) * 2013-12-16 2015-06-25 Kronosis Hyper Technologies Private Limited Systems and methods for developing application programs
US20150293947A1 (en) * 2014-04-10 2015-10-15 Raghuvira Bhagavan Validating relationships between entities in a data model
JP6244521B2 (ja) * 2015-10-29 2017-12-13 株式会社ディビイ データベース処理プログラム、データベース処理方法及びデータベース処理装置
US20180060409A1 (en) * 2016-08-26 2018-03-01 Sap Se Multi-dimensional match engine
US10685026B2 (en) 2017-04-11 2020-06-16 Sap Se Database query based match engine
WO2019139911A1 (en) * 2018-01-09 2019-07-18 Justdo, Inc. Scripting language computer program modification methodology, system and software

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4275449A (en) * 1978-04-28 1981-06-23 National Research Development Corporation Modelling arrangements
US4495559A (en) * 1981-11-02 1985-01-22 International Business Machines Corporation Optimization of an organization of many discrete elements
JPS6014292A (ja) * 1983-07-06 1985-01-24 株式会社東芝 文書作成装置
JPS60114968A (ja) * 1983-11-28 1985-06-21 Hitachi Ltd 推論システム
JPH0785249B2 (ja) * 1986-05-16 1995-09-13 株式会社日立製作所 設計支援装置
US4908772A (en) * 1987-03-30 1990-03-13 Bell Telephone Laboratories Integrated circuits with component placement by rectilinear partitioning
US5091868A (en) * 1988-05-09 1992-02-25 Westcorp Software Systems, Inc. Method and apparatus for forms generation
US4965741A (en) * 1988-10-17 1990-10-23 Ncr Corporation Method for providing an improved human user interface to a knowledge based system
US5206815A (en) * 1989-01-13 1993-04-27 Vlsi Technology, Inc. Method for arranging modules in an integrated circuit
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JP2831703B2 (ja) * 1989-06-23 1998-12-02 株式会社東芝 自動フロアプラン演算装置
JP2855797B2 (ja) * 1990-06-15 1999-02-10 富士ゼロックス株式会社 文書処理装置
US5327529A (en) * 1990-09-24 1994-07-05 Geoworks Process of designing user's interfaces for application programs
JPH0756628B2 (ja) * 1990-10-22 1995-06-14 富士ゼロックス株式会社 グラフィカル・ユーザインターフェースの編集装置
JPH064277A (ja) * 1992-06-23 1994-01-14 Hitachi Ltd Gui制御プログラム自動生成方法および装置
US5311443A (en) * 1992-08-13 1994-05-10 Motorola Inc. Rule based floorplanner

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AUDDINO,A et.al."SUPER−Visual Interaction with an Obuject−based ER Model",Lecture Notes in Computer Science,Entity−Relationship Approach−ER"92,Vol.645,pp.340−358,1992

Also Published As

Publication number Publication date
US5495567A (en) 1996-02-27
US5353401A (en) 1994-10-04
JPH06208592A (ja) 1994-07-26

Similar Documents

Publication Publication Date Title
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
JP4177531B2 (ja) ダイナミックオブジェクト視覚化及びコード発生
US5212771A (en) System for establishing concurrent high level and low level processes in a diagram window through process explosion and implosion subsystems
US5249300A (en) System and method of constructing models of complex business transactions using entity-set variables for ordered sets of references to user data
US5195178A (en) Adaptive window system for dynamically modeling information systems
US4888690A (en) Interactive error handling means in database management
US5146591A (en) Dynamic information management system utilizing entity-relationship information model in which the attribute is independent of an entity
US7644370B2 (en) Method of componentisation of a graphically defined formula
US8386919B2 (en) System for displaying an annotated programming file
Alderson Meta-CASE technology
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
US9110870B1 (en) Automated system for assisting the architectural process
EP0811193A2 (en) Graphical environment for managing and developing applications
WO2001001206A2 (en) System dynamics model builder and simulator
US6959429B1 (en) System for developing data collection software applications
Antović et al. Model and software tool for automatic generation of user interface based on use case and data model
Bull Model driven visualization: towards a model driven engineering approach for information visualization
US20060010081A1 (en) Automated system for assisting the architectural process
JPH11102293A (ja) プログラム自動生成方法
STEIGER et al. Functional description of a graph-based interface for network modeling (GIN)
EP0531319A4 (ja)
JPH0588863A (ja) プログラム開発支援システム
Terveen et al. Intelligent assistance for software construction: a case study
Bullinger et al. GENIUS: Generating software‐ergonomic user interfaces
EP0187373A2 (en) Relational database management system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071201

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081201

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081201

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091201

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees