JPH06202837A - オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置 - Google Patents
オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置Info
- Publication number
- JPH06202837A JPH06202837A JP5286260A JP28626093A JPH06202837A JP H06202837 A JPH06202837 A JP H06202837A JP 5286260 A JP5286260 A JP 5286260A JP 28626093 A JP28626093 A JP 28626093A JP H06202837 A JPH06202837 A JP H06202837A
- Authority
- JP
- Japan
- Prior art keywords
- panel
- class
- platform
- display
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】オブジェクト指向プログラミング・システムに
おけるウィンドウ環境を管理する方法及び装置を提供す
る。 【構成】ユーザ・インターフェース・サーバは、ユーザ
が所定のオペレーティング・システムの基で動作してい
るアプリケーションにデータを入力し、対話できるよう
にサービスを提供する。このようなユーザ・インターフ
ェース・サーバは、アプリケーション・プログラムとエ
ンド・ユーザとの間の遅延インターフェース・クラスを
使って双方向の通信を提供する。遅延インターフェース
・クラスは、プラットホームに依存しないクラスとプラ
ットホームに依存するクラスの間で、オブジェクト指向
プログラミング・システムの遺産継承を用いて完全なプ
ログラム・インターフェースを提供する。
おけるウィンドウ環境を管理する方法及び装置を提供す
る。 【構成】ユーザ・インターフェース・サーバは、ユーザ
が所定のオペレーティング・システムの基で動作してい
るアプリケーションにデータを入力し、対話できるよう
にサービスを提供する。このようなユーザ・インターフ
ェース・サーバは、アプリケーション・プログラムとエ
ンド・ユーザとの間の遅延インターフェース・クラスを
使って双方向の通信を提供する。遅延インターフェース
・クラスは、プラットホームに依存しないクラスとプラ
ットホームに依存するクラスの間で、オブジェクト指向
プログラミング・システムの遺産継承を用いて完全なプ
ログラム・インターフェースを提供する。
Description
【0001】
【産業上の利用分野】本発明は、一般的にはオブジェク
ト指向プログラミング・システム(OOPS)に関連す
る。特に本発明は、プラットホームの依存性を最小にす
ることによって複数の異なったオペレーティング・シス
テム及びハードウェア装置にまたがるウィンドウ環境の
管理に関連する。
ト指向プログラミング・システム(OOPS)に関連す
る。特に本発明は、プラットホームの依存性を最小にす
ることによって複数の異なったオペレーティング・シス
テム及びハードウェア装置にまたがるウィンドウ環境の
管理に関連する。
【0002】
【従来の技術】オブジェクト指向プログラミング・シス
テム(OOPS)及び処理は、最新技術のデータ処理分
野における研究と関心の対象になってきた。オブジェク
ト指向プログラミングは、再使用可能で且つ拡張可能な
プログラムを提供するコンピュータ・プログラムの技術
である。新しい機能的要求や、新しいタイプのデータに
容易に対応できない通常のプログラミング技術とは対照
的に、オブジェクト指向プログラミングは、新しい機能
要求が出たときに、再使用可能であり、拡張可能であ
る。コンピュータに基づいたシステムの複雑さが増大す
るにつれて、オブジェクト指向プログラミングは注目を
集め、研究の対象とされるようになった。オブジェクト
指向プログラミングに関するより詳細な説明は、多くの
参照文献に見ることができ、例えば、「Object Oriente
d Computinng Analysis」, S.Shlaer,S.Millor(Yurdon
Press Computing Series, 1988)、「Object Oriented D
esignwith Applications」, G.Booch(The Benjamin/Cum
mings Publishing Company,1990)、及び「Object Orien
ted Software Construction」, B.Meyer(Pretice Hall,
1988)等がある。
テム(OOPS)及び処理は、最新技術のデータ処理分
野における研究と関心の対象になってきた。オブジェク
ト指向プログラミングは、再使用可能で且つ拡張可能な
プログラムを提供するコンピュータ・プログラムの技術
である。新しい機能的要求や、新しいタイプのデータに
容易に対応できない通常のプログラミング技術とは対照
的に、オブジェクト指向プログラミングは、新しい機能
要求が出たときに、再使用可能であり、拡張可能であ
る。コンピュータに基づいたシステムの複雑さが増大す
るにつれて、オブジェクト指向プログラミングは注目を
集め、研究の対象とされるようになった。オブジェクト
指向プログラミングに関するより詳細な説明は、多くの
参照文献に見ることができ、例えば、「Object Oriente
d Computinng Analysis」, S.Shlaer,S.Millor(Yurdon
Press Computing Series, 1988)、「Object Oriented D
esignwith Applications」, G.Booch(The Benjamin/Cum
mings Publishing Company,1990)、及び「Object Orien
ted Software Construction」, B.Meyer(Pretice Hall,
1988)等がある。
【0003】通常のプログラミング技術においては、特
定のデータ・セットを処理する方法に重点が置かれてい
る。しかしながらオブジェクト指向プログラミング・シ
ステムでは、属性とその属性に関して実行すべき行動を
有する現実のオブジェクトに重点が置かれている。オブ
ジェクトは、1つのデータ構造であり、特定のシステム
とそのユーザにとっての関心事に関する情報を含んでい
る。例えば、製造システムにおいて、関心事のオブジェ
クトは「技術変更」(EC)オブジェクトであり、製造
システムにおける部品や工程に対して適用された技術変
更に関連する情報を含んでいる。このECオブジェクト
は,ECのオーナ、ECの数、或いはECが作成された
日付に関する情報を持つことができる。
定のデータ・セットを処理する方法に重点が置かれてい
る。しかしながらオブジェクト指向プログラミング・シ
ステムでは、属性とその属性に関して実行すべき行動を
有する現実のオブジェクトに重点が置かれている。オブ
ジェクトは、1つのデータ構造であり、特定のシステム
とそのユーザにとっての関心事に関する情報を含んでい
る。例えば、製造システムにおいて、関心事のオブジェ
クトは「技術変更」(EC)オブジェクトであり、製造
システムにおける部品や工程に対して適用された技術変
更に関連する情報を含んでいる。このECオブジェクト
は,ECのオーナ、ECの数、或いはECが作成された
日付に関する情報を持つことができる。
【0004】類似の特徴や共通の作用を有するオブジェ
クトは、オブジェクトのクラス(class)のインスタンス
(instance)オブジェクトとして知られている。従って、
インスタンス・オブジェクトは、システムにおける特定
事項に関する情報を持ち、一方クラス・オブジェクト
は、そのクラスの全てのインスタンス・オブジェクトに
関する情報を持っている。オブジェクト指向プログラミ
ング・システムでは、メッセージがオブジェクトに送ら
れる。メッセージは、3つの部分から成っている。第1
の部分は、オブジェクトの識別子(ID)であり、第2
の部分は、実行すべき行動である。特定のメッセージの
オブジェクトIDは、単に特定のオブジェクトすなわ
ち、インスタンスで構成される1つのデータを識別す
る。
クトは、オブジェクトのクラス(class)のインスタンス
(instance)オブジェクトとして知られている。従って、
インスタンス・オブジェクトは、システムにおける特定
事項に関する情報を持ち、一方クラス・オブジェクト
は、そのクラスの全てのインスタンス・オブジェクトに
関する情報を持っている。オブジェクト指向プログラミ
ング・システムでは、メッセージがオブジェクトに送ら
れる。メッセージは、3つの部分から成っている。第1
の部分は、オブジェクトの識別子(ID)であり、第2
の部分は、実行すべき行動である。特定のメッセージの
オブジェクトIDは、単に特定のオブジェクトすなわ
ち、インスタンスで構成される1つのデータを識別す
る。
【0005】メッセージにある行動が、そのデータ又は
インスタンスに関して何をすべきかを規定する。最後
に、第3の部分は、行動によって使用されるオプション
のパラメータから成っている。オブジェクト指向プログ
ラミング・システムにおいて、仕事は、行動要求を、何
らかのデータを持っているか又はカプセル化しているオ
ブジェクトへ送ることによって達成される。オブジェク
トはそれから、そのデータに関する要求された行動を、
発行された仕様書に従って実行する。行動の要求者は、
実際のデータがどんなものか、或いはどのようにしてオ
ブジェクトがそのデータを操作するかについて知る必要
がない。
インスタンスに関して何をすべきかを規定する。最後
に、第3の部分は、行動によって使用されるオプション
のパラメータから成っている。オブジェクト指向プログ
ラミング・システムにおいて、仕事は、行動要求を、何
らかのデータを持っているか又はカプセル化しているオ
ブジェクトへ送ることによって達成される。オブジェク
トはそれから、そのデータに関する要求された行動を、
発行された仕様書に従って実行する。行動の要求者は、
実際のデータがどんなものか、或いはどのようにしてオ
ブジェクトがそのデータを操作するかについて知る必要
がない。
【0006】オブジェクト指向プログラミングの2つの
基本的特徴は、カプセル化と継承である。前述の通り、
オブジェクトはデータ構造であり、データ構造をアクセ
スする動作又は機能のセットである。データ構造は、そ
れぞれがデータの属性を有する多くのスロット(slot)で
構成されるフレーム(frame)によって表すことができ
る。各属性は、基関数すなわち、整数又は記号列、或い
は他のインスタンスを指定するオブジェクト・リファレ
ンスである。データ構造をアクセスすることができるそ
れぞれの動作または機能は、メソッド(method)と呼ばれ
る。フレームは、そのメソッド(method)によってカプセ
ル化されており、データ構造に対する全てのアクセスが
周囲のメソッドによって取り扱われ、従ってデータの独
立性が提供される。
基本的特徴は、カプセル化と継承である。前述の通り、
オブジェクトはデータ構造であり、データ構造をアクセ
スする動作又は機能のセットである。データ構造は、そ
れぞれがデータの属性を有する多くのスロット(slot)で
構成されるフレーム(frame)によって表すことができ
る。各属性は、基関数すなわち、整数又は記号列、或い
は他のインスタンスを指定するオブジェクト・リファレ
ンスである。データ構造をアクセスすることができるそ
れぞれの動作または機能は、メソッド(method)と呼ばれ
る。フレームは、そのメソッド(method)によってカプセ
ル化されており、データ構造に対する全てのアクセスが
周囲のメソッドによって取り扱われ、従ってデータの独
立性が提供される。
【0007】遺産の継承によって、前に書かれたプログ
ラムを、オブジェクトのスーパー・クラスやサブ・クラ
スを作成することによって拡張することができる。各サ
ブ・クラスは、そのスーパー・クラスのフレームとメソ
ッドを継承する。現在のコンピュータ・システムは共通
して、ユーザによるコンピュータ使用の利便性向上のた
め、グラフィック・ユーザ・インターフェース(GU
I)を使用している。グラフィック・ユーザ・インター
フェースは、純粋なテキスト式ユーザインターフェース
に比べて、ユーザにとってコンピュータとの対話が容易
である。グラフィック・ユーザ・インターフェースは、
コンピュータ上で複数のアプリケーションが同時に動作
するようになったので、ますます重要になってきた。
ラムを、オブジェクトのスーパー・クラスやサブ・クラ
スを作成することによって拡張することができる。各サ
ブ・クラスは、そのスーパー・クラスのフレームとメソ
ッドを継承する。現在のコンピュータ・システムは共通
して、ユーザによるコンピュータ使用の利便性向上のた
め、グラフィック・ユーザ・インターフェース(GU
I)を使用している。グラフィック・ユーザ・インター
フェースは、純粋なテキスト式ユーザインターフェース
に比べて、ユーザにとってコンピュータとの対話が容易
である。グラフィック・ユーザ・インターフェースは、
コンピュータ上で複数のアプリケーションが同時に動作
するようになったので、ますます重要になってきた。
【0008】システムのパワーを増大させたグラフィッ
ク・ユーザ・インターフェース或いはテキスト式インタ
ーフェースを利用するこれらコンピュータの1つの局面
は、ビューポート或いはウィンドウの使用である。ウィ
ンドウは、一般にコンピュータ・ディスプレイ上の四角
い領域であり、複数のウィンドウが同時に活性化され、
ウィンドウ上に複数のコンピュータ・アプリケーション
の部分を同時に表示することを可能にしている。ウィン
ドウ環境で動作する最新のコンピュータ・システムで
は、複数のアプリケーションが出力に関して同時に活性
化され、一方1番外側のウィンドウだけが入力に関して
活性化されている。複数ウィンドウのディスプレイにお
いて、エンド・ユーザが現在操作しているウィンドウが
活性化ウィンドウと呼ばれる。
ク・ユーザ・インターフェース或いはテキスト式インタ
ーフェースを利用するこれらコンピュータの1つの局面
は、ビューポート或いはウィンドウの使用である。ウィ
ンドウは、一般にコンピュータ・ディスプレイ上の四角
い領域であり、複数のウィンドウが同時に活性化され、
ウィンドウ上に複数のコンピュータ・アプリケーション
の部分を同時に表示することを可能にしている。ウィン
ドウ環境で動作する最新のコンピュータ・システムで
は、複数のアプリケーションが出力に関して同時に活性
化され、一方1番外側のウィンドウだけが入力に関して
活性化されている。複数ウィンドウのディスプレイにお
いて、エンド・ユーザが現在操作しているウィンドウが
活性化ウィンドウと呼ばれる。
【0009】ウィンドウが活性化されると、ウィンドウ
・ディスプレイの優先順位が変わり、活性ウィンドウが
ディスプレイ上の1番上又は1番前に移る。このように
して、活性ウィンドウ全体が見える状態になり、一方残
りのウィンドウは、活性ウィンドウによって部分的に隠
されたり、場合によっては全体が隠されたりする。通常
ディスプレイ上の複数のウィンドウの中から、望みのウ
ィンドウを選び、前側に移動させて望みの活性ウィンド
ウにするためにマウスのような指示器が使われる。ユー
ザは、ポインタのような指示イメージを望みのウィンド
ウの枠の線やアイコンに位置づける。マウスのボタンを
押すことにより、ウィンドウが選択され、活性ウィンド
ウになる。
・ディスプレイの優先順位が変わり、活性ウィンドウが
ディスプレイ上の1番上又は1番前に移る。このように
して、活性ウィンドウ全体が見える状態になり、一方残
りのウィンドウは、活性ウィンドウによって部分的に隠
されたり、場合によっては全体が隠されたりする。通常
ディスプレイ上の複数のウィンドウの中から、望みのウ
ィンドウを選び、前側に移動させて望みの活性ウィンド
ウにするためにマウスのような指示器が使われる。ユー
ザは、ポインタのような指示イメージを望みのウィンド
ウの枠の線やアイコンに位置づける。マウスのボタンを
押すことにより、ウィンドウが選択され、活性ウィンド
ウになる。
【0010】マウスはまた、各種のウィンドウをディス
プレイ上で動かしたり、他のウィンドウを選択して活性
化するために使うことができる。本発明によれば、この
ような操作は、キーボードだけを使っても実行すること
ができる。しばしば、複数のウィンドウを有するコンピ
ュータ・システムのディスプレイは、デスクにたとえら
れ、ウィンドウは、デスクの上におかれた紙にたとえら
れる。ちょうど、デスク上の紙が動かされ、積み重ねら
れ、入れ替えられて違った紙が表面にでてくるように、
ウィンドウもディスプレイ上で同様に動かすことができ
る。オブジェクト指向のユーザ・インターフェースの1
つの基本的な原則は、「ユーザ制御」の設計前提であ
り、言い換えれば、どの時点においてもシステムがユー
ザに対して、どう応対するかについて命令したり制限し
たりする代わりに、ユーザがシステムの制御を行うとい
うことである。ウィンドウ環境におけるオブジェクト指
向システムにおいて、ユーザは、ディスプレイ上の複数
のウィンドウの中の1つをオープンして使うことによっ
て、システムのどの部分に対しても、またどの時点にお
いても応対できるよう柔軟性を持っている。
プレイ上で動かしたり、他のウィンドウを選択して活性
化するために使うことができる。本発明によれば、この
ような操作は、キーボードだけを使っても実行すること
ができる。しばしば、複数のウィンドウを有するコンピ
ュータ・システムのディスプレイは、デスクにたとえら
れ、ウィンドウは、デスクの上におかれた紙にたとえら
れる。ちょうど、デスク上の紙が動かされ、積み重ねら
れ、入れ替えられて違った紙が表面にでてくるように、
ウィンドウもディスプレイ上で同様に動かすことができ
る。オブジェクト指向のユーザ・インターフェースの1
つの基本的な原則は、「ユーザ制御」の設計前提であ
り、言い換えれば、どの時点においてもシステムがユー
ザに対して、どう応対するかについて命令したり制限し
たりする代わりに、ユーザがシステムの制御を行うとい
うことである。ウィンドウ環境におけるオブジェクト指
向システムにおいて、ユーザは、ディスプレイ上の複数
のウィンドウの中の1つをオープンして使うことによっ
て、システムのどの部分に対しても、またどの時点にお
いても応対できるよう柔軟性を持っている。
【0011】デスクとの類似性のように、ユーザは、極
端に乱雑なデスクを作ることができ、他のウィンドウを
オープンすることによって、ウィンドウを隠すことがで
きるという可能性を秘めている。オブジェクト指向プロ
グラミングは一般に、同じアプリケーション内で、多く
の作業が同時に行われる乱雑なデスク環境を実行する。
オブジェクト指向コンピュータ・システムにおいて、デ
ータを持っているか或いはデータをカプセル化している
オブジェクトに対して、行動要求メッセージを送ること
によって、仕事が実行される。オブジェクトは、データ
に対して要求された行動を、所定のメソッドに従って実
行する。オブジェクトのクラスは、データのタイプと意
味及びオブジェクトが全うする行動要求又はメッセージ
を定義する。データを有する個々のオブジェクトは、ク
ラスのインスタンスと呼ばれ、要求された行動を実行す
るプログラムは、クラスのメソッドと呼ばれる。
端に乱雑なデスクを作ることができ、他のウィンドウを
オープンすることによって、ウィンドウを隠すことがで
きるという可能性を秘めている。オブジェクト指向プロ
グラミングは一般に、同じアプリケーション内で、多く
の作業が同時に行われる乱雑なデスク環境を実行する。
オブジェクト指向コンピュータ・システムにおいて、デ
ータを持っているか或いはデータをカプセル化している
オブジェクトに対して、行動要求メッセージを送ること
によって、仕事が実行される。オブジェクトは、データ
に対して要求された行動を、所定のメソッドに従って実
行する。オブジェクトのクラスは、データのタイプと意
味及びオブジェクトが全うする行動要求又はメッセージ
を定義する。データを有する個々のオブジェクトは、ク
ラスのインスタンスと呼ばれ、要求された行動を実行す
るプログラムは、クラスのメソッドと呼ばれる。
【0012】オブジェクトのクラスは、他のクラスのサ
ブ・クラスとして定義することができる。サブ・クラス
は、全てのデータの性質とその親クラスのメソッドを継
承する。サブ・クラスは、データとメソッドを追加する
ことができ、親クラスのデータ要素やメソッドを再定義
することができる。メッセージは、目標のオブジェクト
がメッセージを取り扱うためのメソッドを定義している
か、或いはそのようなメソッドを定義している親クラス
を持っている限り、オブジェクトのインスタンスのデー
タ及びそのクラス又は親クラスのメソッドを使って取り
扱われる。名称に関しては、パネル又はウィンドウが使
われ、ディスプレイ・ウィンドウのユーザに対して、オ
ブジェクトと行動を見せるインターフェースの構成要素
と関連している。
ブ・クラスとして定義することができる。サブ・クラス
は、全てのデータの性質とその親クラスのメソッドを継
承する。サブ・クラスは、データとメソッドを追加する
ことができ、親クラスのデータ要素やメソッドを再定義
することができる。メッセージは、目標のオブジェクト
がメッセージを取り扱うためのメソッドを定義している
か、或いはそのようなメソッドを定義している親クラス
を持っている限り、オブジェクトのインスタンスのデー
タ及びそのクラス又は親クラスのメソッドを使って取り
扱われる。名称に関しては、パネル又はウィンドウが使
われ、ディスプレイ・ウィンドウのユーザに対して、オ
ブジェクトと行動を見せるインターフェースの構成要素
と関連している。
【0013】例えば、IBM PS/2コンピュータの
OS/2オペレーティング・システムによって提供され
ているマルチ・タスク機能では、OS/2のプレゼンテ
ーション・マネジャを通して、多くのアプリケーション
がターミナル・モニタ・スクリーンを共有することがで
きる。ユーザが現在応対しているウィンドウ又はパネル
は、活性ウィンドウ又は活性パネルと呼ばれる。オブジ
ェクト指向プログラミング・システムにおけるウィンド
ウ環境の実施に関する1つの重要な問題は、多様なディ
スプレイ環境とハードウェア装置をどう取り扱うかであ
る。この問題は、アプリケーション・プログラム・イン
ターフェースを維持保存し、プラットホームに依存しな
いコードの量を最大にしようとするとき、特に深刻にな
る。プラットホームに依存しないコードは、複数のオペ
レーティング・システム及び複数のハードウェア環境で
動作するコードのことである。
OS/2オペレーティング・システムによって提供され
ているマルチ・タスク機能では、OS/2のプレゼンテ
ーション・マネジャを通して、多くのアプリケーション
がターミナル・モニタ・スクリーンを共有することがで
きる。ユーザが現在応対しているウィンドウ又はパネル
は、活性ウィンドウ又は活性パネルと呼ばれる。オブジ
ェクト指向プログラミング・システムにおけるウィンド
ウ環境の実施に関する1つの重要な問題は、多様なディ
スプレイ環境とハードウェア装置をどう取り扱うかであ
る。この問題は、アプリケーション・プログラム・イン
ターフェースを維持保存し、プラットホームに依存しな
いコードの量を最大にしようとするとき、特に深刻にな
る。プラットホームに依存しないコードは、複数のオペ
レーティング・システム及び複数のハードウェア環境で
動作するコードのことである。
【0014】すなわち、1つのオペレーティング・シス
テム又はハードウェア環境に特定されないということで
ある。もしプラットホームに依存しないコードの量を最
大にすることができないとすれば、特定のアプリケーシ
ョンが動作するそれぞれのプラットホームに関して、か
なりの量のコードを書き直さなければならない。完全に
プラットホームに依存しないユーザ・インターフェース
を達成することは可能でないけれども、両者の間で一貫
した、良く定義されたインターフェースを作る際、プラ
ットホームに依存しないコードの割合を最大にし、プラ
ットホームに依存するコードの割合を最小にすることが
望ましい。プラットホームに依存するコードとは、ただ
1つのオペレーティング・システム或いは、ハードウェ
ア環境で動作するコードのことである。
テム又はハードウェア環境に特定されないということで
ある。もしプラットホームに依存しないコードの量を最
大にすることができないとすれば、特定のアプリケーシ
ョンが動作するそれぞれのプラットホームに関して、か
なりの量のコードを書き直さなければならない。完全に
プラットホームに依存しないユーザ・インターフェース
を達成することは可能でないけれども、両者の間で一貫
した、良く定義されたインターフェースを作る際、プラ
ットホームに依存しないコードの割合を最大にし、プラ
ットホームに依存するコードの割合を最小にすることが
望ましい。プラットホームに依存するコードとは、ただ
1つのオペレーティング・システム或いは、ハードウェ
ア環境で動作するコードのことである。
【0015】1例として、1つのアプリケーションがI
BM MVS/TSOのようなオペレーティング・シス
テムのもとで、ノン・インテリジェント・ワークステー
ションであるノン・プログラマブル端末を使って動作中
であると仮定する。もしそのアプリケーションをAIX
オペレーティング・システムのもとで動作させようとす
ると、エンド・ユーザがそのアプリケーションと対話で
きるようにするために、プレゼンテーション・レイヤ全
体を取り替える必要がある。同一のアプリケーションに
関する2つのオペレーティング・システムの間の一貫し
たユーザ・インターフェースを維持し、AIXオペレー
ティング・システムでのプレゼンテーション・レイヤの
新しいコードの量を、最小にすることが最も望ましいこ
とである。
BM MVS/TSOのようなオペレーティング・シス
テムのもとで、ノン・インテリジェント・ワークステー
ションであるノン・プログラマブル端末を使って動作中
であると仮定する。もしそのアプリケーションをAIX
オペレーティング・システムのもとで動作させようとす
ると、エンド・ユーザがそのアプリケーションと対話で
きるようにするために、プレゼンテーション・レイヤ全
体を取り替える必要がある。同一のアプリケーションに
関する2つのオペレーティング・システムの間の一貫し
たユーザ・インターフェースを維持し、AIXオペレー
ティング・システムでのプレゼンテーション・レイヤの
新しいコードの量を、最小にすることが最も望ましいこ
とである。
【0016】
【発明が解決しようとする課題】本発明の目的は、改良
されたオブジェクト指向プログラミング・システムを提
供することである。本発明のもう1つの目的は、オブジ
ェクト指向プログラミングにおける改善されたウィンド
ウ環境を提供することであり、更に別の目的は、複数の
ハードウェア装置及びオペレーティング・システムにわ
たってウィンドウ環境を管理する際、オブジェクト指向
プログラミング・システムにおけるプラットホーム依存
性を最小にすることである。
されたオブジェクト指向プログラミング・システムを提
供することである。本発明のもう1つの目的は、オブジ
ェクト指向プログラミングにおける改善されたウィンド
ウ環境を提供することであり、更に別の目的は、複数の
ハードウェア装置及びオペレーティング・システムにわ
たってウィンドウ環境を管理する際、オブジェクト指向
プログラミング・システムにおけるプラットホーム依存
性を最小にすることである。
【0017】
【課題を解決するための手段】上述の目的を達成するた
めに、オブジェクト指向プログラミング・システムに1
7おけるウィンドウ環境を管理するための方法及び装置
を開示する。ユーザ・インターフェース・サーバがサー
ビスを提供することによって、エンド・ユーザがデータ
を入力し、オペレーティング・システムのもとで動作し
ているアプリケーションと対話することを可能にしてい
る。ユーザ・インターフェース・サーバは、タスク特有
のデータや、ユーザ・インターフェースでの相互作用を
とりまとめるために使用されるインターフェースの構成
要素のライブラリを提供することによって、アプリケー
ションとエンド・ユーザの間の双方向通信を提供する。
めに、オブジェクト指向プログラミング・システムに1
7おけるウィンドウ環境を管理するための方法及び装置
を開示する。ユーザ・インターフェース・サーバがサー
ビスを提供することによって、エンド・ユーザがデータ
を入力し、オペレーティング・システムのもとで動作し
ているアプリケーションと対話することを可能にしてい
る。ユーザ・インターフェース・サーバは、タスク特有
のデータや、ユーザ・インターフェースでの相互作用を
とりまとめるために使用されるインターフェースの構成
要素のライブラリを提供することによって、アプリケー
ションとエンド・ユーザの間の双方向通信を提供する。
【0018】ユーザ・インターフェース・サーバは、エ
ンド・ユーザがオブジェクト指向プログラミング・シス
テムと共通である乱雑なデスク環境で、仕事ができるよ
うにしている。アプリケーション特有のデータは、とり
まとめられてエンド・ユーザのスクリーンに表示され
る。乱雑なデスク環境における複数のパネルやスクリー
ンは、ユーザによって効果的にディスプレイ空間の管理
ができるように、ユーザ・インターフェース・サーバを
用いてスクロールされ、動かされ、或いは大きさを変え
られる。ユーザ・インターフェース・サーバは、3つの
重要分野でその能力を発揮する。
ンド・ユーザがオブジェクト指向プログラミング・シス
テムと共通である乱雑なデスク環境で、仕事ができるよ
うにしている。アプリケーション特有のデータは、とり
まとめられてエンド・ユーザのスクリーンに表示され
る。乱雑なデスク環境における複数のパネルやスクリー
ンは、ユーザによって効果的にディスプレイ空間の管理
ができるように、ユーザ・インターフェース・サーバを
用いてスクロールされ、動かされ、或いは大きさを変え
られる。ユーザ・インターフェース・サーバは、3つの
重要分野でその能力を発揮する。
【0019】第1は、アプリケーション・オブジェクト
とその属性を表示するために使われる。例えば、データ
入力フィールドやエンド・ユーザがアプリケーション・
オブジェクトを選択し、これらオブジェクトの属性を見
たり、修正したりする情報フィールドのリストである。
第2のグループは、パネル又はディスプレイ・スクリー
ンの1番上に表示されるメニュー・バーやそれに対応す
るプル・ダウン・メニューで代表される。このセット
は、アプリケーション・オブジェクトで、実行されるべ
き行動をユーザが指定できるようにするための制御を提
供する。最後に第3のグループは、パネル又はディスプ
レイ・スクリーンの見えるところにあり、常時スクリー
ンの1番下に現れる機能キーの割り当てである。
とその属性を表示するために使われる。例えば、データ
入力フィールドやエンド・ユーザがアプリケーション・
オブジェクトを選択し、これらオブジェクトの属性を見
たり、修正したりする情報フィールドのリストである。
第2のグループは、パネル又はディスプレイ・スクリー
ンの1番上に表示されるメニュー・バーやそれに対応す
るプル・ダウン・メニューで代表される。このセット
は、アプリケーション・オブジェクトで、実行されるべ
き行動をユーザが指定できるようにするための制御を提
供する。最後に第3のグループは、パネル又はディスプ
レイ・スクリーンの見えるところにあり、常時スクリー
ンの1番下に現れる機能キーの割り当てである。
【0020】プラットホーム依存による制約を最小にす
るため、ユーザ・インターフェース・サーバは、遅延イ
ンターフェース・クラスを保有し、オブジェクトのプラ
ットホームに依存しないクラスと依存するクラスとの間
の完全なインターフェースを提供している。オブジェク
トのプラットホーム依存クラスは、オブジェクト指向プ
ログラミング・システムの継承遺産を使って、遅延イン
ターフェース・クラスからの必要な情報を取得して動作
可能にされる。
るため、ユーザ・インターフェース・サーバは、遅延イ
ンターフェース・クラスを保有し、オブジェクトのプラ
ットホームに依存しないクラスと依存するクラスとの間
の完全なインターフェースを提供している。オブジェク
トのプラットホーム依存クラスは、オブジェクト指向プ
ログラミング・システムの継承遺産を使って、遅延イン
ターフェース・クラスからの必要な情報を取得して動作
可能にされる。
【0021】
【実施例】本発明の望ましい実施例を示す添付図面を参
照して、本発明を詳しく説明する。しかしながら、本発
明は多くの異なった形で実施できる可能性があり、ここ
で説明する実施例に限定されるように解釈すべきでな
い。むしろ、この開示によって、当業者に対し発明の範
囲を充分に伝えられるように実施例を説明する、と解釈
すべきである。
照して、本発明を詳しく説明する。しかしながら、本発
明は多くの異なった形で実施できる可能性があり、ここ
で説明する実施例に限定されるように解釈すべきでな
い。むしろ、この開示によって、当業者に対し発明の範
囲を充分に伝えられるように実施例を説明する、と解釈
すべきである。
【0022】図1を参照すると、フレームがそのメソッ
ドの中にカプセル化されたオブジェクトが示されてい
る。オブジェクトは、データ構造であり、そのデータ構
造をアクセスする動作のセットであるということを思い
出していただきたい。データ構造は、多くのスロットを
有するフレームとして表すことができ、各スロットは、
データの属性を持っている。属性は、基関数すなわち、
整数又は記号列又は他のオブジェクトのインスタンスに
対するポインタであるオブジェクト・リファレンスであ
る。データ構造をアクセスし、そのデータ構造に何かを
させるそれぞれの行動又は機能は、メソッドと呼ばれ
る。図2は、オブジェクトの1例であり、データ構造
は、従業員データ及びそのデータ構造を囲む多くのメソ
ッドと関連している。例えば1つのメソッドは、従業員
の年齢を持っている。定義された各オブジェクトは、通
常多くのインスタンスの中に明示される。
ドの中にカプセル化されたオブジェクトが示されてい
る。オブジェクトは、データ構造であり、そのデータ構
造をアクセスする動作のセットであるということを思い
出していただきたい。データ構造は、多くのスロットを
有するフレームとして表すことができ、各スロットは、
データの属性を持っている。属性は、基関数すなわち、
整数又は記号列又は他のオブジェクトのインスタンスに
対するポインタであるオブジェクト・リファレンスであ
る。データ構造をアクセスし、そのデータ構造に何かを
させるそれぞれの行動又は機能は、メソッドと呼ばれ
る。図2は、オブジェクトの1例であり、データ構造
は、従業員データ及びそのデータ構造を囲む多くのメソ
ッドと関連している。例えば1つのメソッドは、従業員
の年齢を持っている。定義された各オブジェクトは、通
常多くのインスタンスの中に明示される。
【0023】各インスタンスは、オブジェクトの特定の
例に関する特定のデータ構造を有する。例えば、ジョン
スミス(John Smith)という名前の一人の従業員のオ
ブジェクトは、従業員オブジェクトの1つのインスタン
スである。オブジェクト指向プログラミング・システム
の基本的特徴は、カプセル化であるといわれている。図
1から分かるように、フレームは、そのメソッド又は機
能によって、各データの周囲に置かれたコードの壁と共
に、カプセル化されている。フレームに対する全てのア
クセスは、周囲のメソッドによって取り扱われる。オブ
ジェクトのデータ構造が、そのメソッドだけによってア
クセスされるので、データの独立性が提供されている。
付随するメソッドだけがオブジェクトの内部データ構造
を知っている。
例に関する特定のデータ構造を有する。例えば、ジョン
スミス(John Smith)という名前の一人の従業員のオ
ブジェクトは、従業員オブジェクトの1つのインスタン
スである。オブジェクト指向プログラミング・システム
の基本的特徴は、カプセル化であるといわれている。図
1から分かるように、フレームは、そのメソッド又は機
能によって、各データの周囲に置かれたコードの壁と共
に、カプセル化されている。フレームに対する全てのア
クセスは、周囲のメソッドによって取り扱われる。オブ
ジェクトのデータ構造が、そのメソッドだけによってア
クセスされるので、データの独立性が提供されている。
付随するメソッドだけがオブジェクトの内部データ構造
を知っている。
【0024】このようなオブジェクト指向プログラミン
グ・システムにおいて、ハイ・レベル・ルーチンが、オ
ブジェクトが何をすべきかを述べているメッセージを、
そのオブジェクトに送ることによって、オブジェクトに
1つのメソッドを実行するよう要求する。受け取ったオ
ブジェクトは、そのメッセージ名を実行するメソッドを
選び、そのメソッドを実行することによってそのメッセ
ージに応答し、メソッドの結果と共に、呼び出したハイ
・レベル・ルーチンに制御を戻す。オブジェクト指向プ
ログラミング・システムは、データベース管理システム
として採用され、大きなデータベース上で動作し、拡張
可能で、融通生に富んだものにすることができるであろ
う。
グ・システムにおいて、ハイ・レベル・ルーチンが、オ
ブジェクトが何をすべきかを述べているメッセージを、
そのオブジェクトに送ることによって、オブジェクトに
1つのメソッドを実行するよう要求する。受け取ったオ
ブジェクトは、そのメッセージ名を実行するメソッドを
選び、そのメソッドを実行することによってそのメッセ
ージに応答し、メソッドの結果と共に、呼び出したハイ
・レベル・ルーチンに制御を戻す。オブジェクト指向プ
ログラミング・システムは、データベース管理システム
として採用され、大きなデータベース上で動作し、拡張
可能で、融通生に富んだものにすることができるであろ
う。
【0025】データベース管理システムとして動作する
オブジェクト指向プログラミング・システムに置いて、
データベースの中のデータは、オブジェクトのインスタ
ンスがデータベースのデータとなるように、オブジェク
トの見地から組織され、カプセル化される。同様に、デ
ータベース・マネジャは、データベースの管理操作が、
1つのオブジェクトから他のオブジェクトへメッセージ
を送ることによって実行されるようにオブジェクトのセ
ットとして組織される。目標の又はメッセージを受け取
ったオブジェクトは、その属性に示された行動を、カプ
セル化されたメソッドを使って実行する。OOPSは、
オブジェクト識別子によって参照され、オブジェクト・
クラスにグループ化されるオブジェクト・インスタンス
を持っている。
オブジェクト指向プログラミング・システムに置いて、
データベースの中のデータは、オブジェクトのインスタ
ンスがデータベースのデータとなるように、オブジェク
トの見地から組織され、カプセル化される。同様に、デ
ータベース・マネジャは、データベースの管理操作が、
1つのオブジェクトから他のオブジェクトへメッセージ
を送ることによって実行されるようにオブジェクトのセ
ットとして組織される。目標の又はメッセージを受け取
ったオブジェクトは、その属性に示された行動を、カプ
セル化されたメソッドを使って実行する。OOPSは、
オブジェクト識別子によって参照され、オブジェクト・
クラスにグループ化されるオブジェクト・インスタンス
を持っている。
【0026】図3は、オブジェクト・インスタンス10
2を図示したものである。オブジェクト・インスタンス
102は、オブジェクト識別子QQQQによって参照さ
れる。オブジェクト・インスタンス102は、属性とし
て知られるデータ114及び機能104、106、10
8、110、112を有し、これら機能はメソッドとし
て知られている。オブジェクト・インスタンス102
は、対話処理中に生成され、対話型ユーザ・メッセージ
を表すオブジェクト・インスタンスを表すことができ
る。また別に、オブジェクト・インスタンス102は、
処理中に生成され、待ち行列に入ったメッセージ要求を
表すこともできる。
2を図示したものである。オブジェクト・インスタンス
102は、オブジェクト識別子QQQQによって参照さ
れる。オブジェクト・インスタンス102は、属性とし
て知られるデータ114及び機能104、106、10
8、110、112を有し、これら機能はメソッドとし
て知られている。オブジェクト・インスタンス102
は、対話処理中に生成され、対話型ユーザ・メッセージ
を表すオブジェクト・インスタンスを表すことができ
る。また別に、オブジェクト・インスタンス102は、
処理中に生成され、待ち行列に入ったメッセージ要求を
表すこともできる。
【0027】図4は、本発明が動作するコンピュータ環
境を図示したものである。一般に、オブジェクト・イン
スタンスは、永続的すなわち不揮発性であっても良い
し、非永続的すなわち揮発性であっても良い。図3に示
すオブジェクト・インスタンス102は、永続的オブジ
ェクト・インスタンスである。このような永続的オブジ
ェクト・インスタンス102に付随したデータ114
は、図4に示すように、外部データベース234に記憶
される。外部データベース234は、2次記憶装置22
4に維持される。永続的オブジェクト・インスタンス1
02は、マテリアライズ(materialize)メソッド106
を有し、外部データベース234からデータ114を読
み出す。永続的オブジェクト・インスタンス102はま
た、デ・マテリアライズ(dematerialize)108を有
し、外部データベース234へデータ114を書き出
す。
境を図示したものである。一般に、オブジェクト・イン
スタンスは、永続的すなわち不揮発性であっても良い
し、非永続的すなわち揮発性であっても良い。図3に示
すオブジェクト・インスタンス102は、永続的オブジ
ェクト・インスタンスである。このような永続的オブジ
ェクト・インスタンス102に付随したデータ114
は、図4に示すように、外部データベース234に記憶
される。外部データベース234は、2次記憶装置22
4に維持される。永続的オブジェクト・インスタンス1
02は、マテリアライズ(materialize)メソッド106
を有し、外部データベース234からデータ114を読
み出す。永続的オブジェクト・インスタンス102はま
た、デ・マテリアライズ(dematerialize)108を有
し、外部データベース234へデータ114を書き出
す。
【0028】データ114を外部データベース234へ
書き出すことと、データ114を外部データベース23
4に委託することは異なることに注意を要する。具体的
には、デ・マテリアライズ・メソッド108を使って外
部データベース234に書き出したデータ114は、委
託メッセージを使ってデータ114がデータベース23
4に委託されるまでは、外部データベース内で見える状
態になっていない。マテリアライズ・メソッド106
は、メソッド104、110及び112による処理のた
め、データ114を主メモリ212へロードするために
使われる。処理中、メソッド104、110及び112
は、デ・マテリアライズ・メソッド108にデータ11
4を外部データベース234へ書くようにさせる。
書き出すことと、データ114を外部データベース23
4に委託することは異なることに注意を要する。具体的
には、デ・マテリアライズ・メソッド108を使って外
部データベース234に書き出したデータ114は、委
託メッセージを使ってデータ114がデータベース23
4に委託されるまでは、外部データベース内で見える状
態になっていない。マテリアライズ・メソッド106
は、メソッド104、110及び112による処理のた
め、データ114を主メモリ212へロードするために
使われる。処理中、メソッド104、110及び112
は、デ・マテリアライズ・メソッド108にデータ11
4を外部データベース234へ書くようにさせる。
【0029】メソッド104、110及び112が、デ
ータ114が一貫した状態であると判定すると、メソッ
ド104、110及び112は、委託メッセージを使っ
てデータ114を外部データベース234に委託する。
非永続的オブジェクト・インスタンスに付随するデータ
114は、外部データベース234に記憶されない。更
に、非永続的オブジェクト・インスタンスは、マテリア
ライズ・メソッド106及びデ・マテリアライズ・メソ
ッド108を含まない。メッセージQQQQ.RUN1
16は、ユーザ232からターミナル経由で、或いは他
のオブジェクト・インスタンスに付随するメソッドか
ら、オブジェクト114に送られる。
ータ114が一貫した状態であると判定すると、メソッ
ド104、110及び112は、委託メッセージを使っ
てデータ114を外部データベース234に委託する。
非永続的オブジェクト・インスタンスに付随するデータ
114は、外部データベース234に記憶されない。更
に、非永続的オブジェクト・インスタンスは、マテリア
ライズ・メソッド106及びデ・マテリアライズ・メソ
ッド108を含まない。メッセージQQQQ.RUN1
16は、ユーザ232からターミナル経由で、或いは他
のオブジェクト・インスタンスに付随するメソッドか
ら、オブジェクト114に送られる。
【0030】メッセージ116のQQQQは、行き先の
オブジェクト・インスタンス102を識別する。メッセ
ージ116のRUNは、実行すべきメソッドを識別し、
オブジェクト・インスタンス102の中でメソッド11
2を発動する。発動されると、メソッド112は別のメ
ッセージ118、120、122を送出し、メッセージ
118は、オブジェクト・インスタンスZZZZの中で
メソッドCALCを発動する。同様にメッセージ120
は、オブジェクト・インスタンスXXXXの中でメソッ
ドSAVEを発動し、メッセージ122は、オブジェク
ト・インスタンスYYYYの中でメソッドDELを発動
する。
オブジェクト・インスタンス102を識別する。メッセ
ージ116のRUNは、実行すべきメソッドを識別し、
オブジェクト・インスタンス102の中でメソッド11
2を発動する。発動されると、メソッド112は別のメ
ッセージ118、120、122を送出し、メッセージ
118は、オブジェクト・インスタンスZZZZの中で
メソッドCALCを発動する。同様にメッセージ120
は、オブジェクト・インスタンスXXXXの中でメソッ
ドSAVEを発動し、メッセージ122は、オブジェク
ト・インスタンスYYYYの中でメソッドDELを発動
する。
【0031】図4に示すとおり、本発明は、コンピュー
タ・プラットホーム202で動作するコンピュータ・ア
プリケーション・プログラム238を含んでいる。プラ
ットホーム202は、中央処理装置(CPU)214、
ランダム・アクセス・メモリ(RAM)212及び入出
力インターフェース216を含むハードウェア装置21
0を含んでいる。RAM212はまた、主メモリ212
と呼ばれる。更に、コンピュータ・プラットホーム20
2は、マイクロコード208、オペレーティング・シス
テム206、及びデータベース・マネジャ204を有す
る。各種の周辺装置がコンピュータ・プラットホーム2
02に接続される。これらは、ターミナル220、デー
タ記憶装置224、及び印刷装置228である。
タ・プラットホーム202で動作するコンピュータ・ア
プリケーション・プログラム238を含んでいる。プラ
ットホーム202は、中央処理装置(CPU)214、
ランダム・アクセス・メモリ(RAM)212及び入出
力インターフェース216を含むハードウェア装置21
0を含んでいる。RAM212はまた、主メモリ212
と呼ばれる。更に、コンピュータ・プラットホーム20
2は、マイクロコード208、オペレーティング・シス
テム206、及びデータベース・マネジャ204を有す
る。各種の周辺装置がコンピュータ・プラットホーム2
02に接続される。これらは、ターミナル220、デー
タ記憶装置224、及び印刷装置228である。
【0032】データ記憶装置224はまた、2次記憶装
置224と呼ばれ、ハード・ディスクとテープ・ドライ
ブを含んでいる。データ記憶装置224は、委託メッセ
ージをサポートし、外部データベース234を含む不揮
発性記憶装置を表す。本発明の望ましい実施例に置い
て、コンピュータ・プラットホーム202は、IBMの
システム370体系を有するコンピュータを含み、そこ
で動作するオペレーティング・システムは、IBM多重
仮想記憶(MVS)でも、或いはIBM AIXオペレ
ーティング・システムでも良い。データベース・マネジ
ャ204は、IBM DB2であり、これはリレーショ
ナル・データベース・マネジャである。
置224と呼ばれ、ハード・ディスクとテープ・ドライ
ブを含んでいる。データ記憶装置224は、委託メッセ
ージをサポートし、外部データベース234を含む不揮
発性記憶装置を表す。本発明の望ましい実施例に置い
て、コンピュータ・プラットホーム202は、IBMの
システム370体系を有するコンピュータを含み、そこ
で動作するオペレーティング・システムは、IBM多重
仮想記憶(MVS)でも、或いはIBM AIXオペレ
ーティング・システムでも良い。データベース・マネジ
ャ204は、IBM DB2であり、これはリレーショ
ナル・データベース・マネジャである。
【0033】最後に、アプリケーション・プログラム2
38は、中間C言語すなわちCコンピュータ言語のオブ
ジェクト指向の派生語で書かれており,IBMのプロダ
クト・マネジャ・アプリケーション・プログラムであ
る。中間C言語は、C++コンピュータ・プログラム言
語と類似していることに注意されたい。IBMのプロダ
クト・マネジャ・プログラムのようなコンピュータ・ア
プリケーション・プログラム238は、アプリケーショ
ン・モジュール230及びオブジェクト指向コンピュー
タ環境モジュール236を有する。それ故アプリケーシ
ョン・モジュール230は、オブジェクト指向コンピュ
ータ環境モジュール236の上で動作し、一方オブジェ
クト指向コンピュータ環境モジュール236は、データ
ベース・マネジャ204の上で動作する。
38は、中間C言語すなわちCコンピュータ言語のオブ
ジェクト指向の派生語で書かれており,IBMのプロダ
クト・マネジャ・アプリケーション・プログラムであ
る。中間C言語は、C++コンピュータ・プログラム言
語と類似していることに注意されたい。IBMのプロダ
クト・マネジャ・プログラムのようなコンピュータ・ア
プリケーション・プログラム238は、アプリケーショ
ン・モジュール230及びオブジェクト指向コンピュー
タ環境モジュール236を有する。それ故アプリケーシ
ョン・モジュール230は、オブジェクト指向コンピュ
ータ環境モジュール236の上で動作し、一方オブジェ
クト指向コンピュータ環境モジュール236は、データ
ベース・マネジャ204の上で動作する。
【0034】図5に示すとおり、オブジェクト指向プロ
グラミング・アプリケーション57は、アプリケーショ
ン・モジュール55や、ユーザ・インターフェース・サ
ーバ51、オブジェクト・マネジャ52、プレゼンテー
ション・サービス53、及びその他のサービス54から
成るオブジェクト指向コンピュータ環境モジュール56
を含む。この例において、オペレーティング・システム
58は、IBM TSOである。ユーザ・インターフェ
ース・サーバ51は、エンド・ユーザがアプリケーショ
ン・モジュール55とパネル又はディスプレイ・スクリ
ーン上で対話できるようにしている。ユーザ・インター
フェース・サーバ51は、TSOオペレーティング・シ
ステム専用であり、他のオペレーティング・システムの
もとでは動作しない。
グラミング・アプリケーション57は、アプリケーショ
ン・モジュール55や、ユーザ・インターフェース・サ
ーバ51、オブジェクト・マネジャ52、プレゼンテー
ション・サービス53、及びその他のサービス54から
成るオブジェクト指向コンピュータ環境モジュール56
を含む。この例において、オペレーティング・システム
58は、IBM TSOである。ユーザ・インターフェ
ース・サーバ51は、エンド・ユーザがアプリケーショ
ン・モジュール55とパネル又はディスプレイ・スクリ
ーン上で対話できるようにしている。ユーザ・インター
フェース・サーバ51は、TSOオペレーティング・シ
ステム専用であり、他のオペレーティング・システムの
もとでは動作しない。
【0035】それ故、もし図6に示すAIXオペレーテ
ィング・システムのような他のオペレーティング・シス
テムを使用したいと思うと、その固有のユーザ・インタ
ーフェース・サーバ61を用意しなければならない。図
5と図6を比較すると、アプリケーション・モジュール
55と65が両方のシステムに共通で、残りの要素51
乃至54、及び61乃至64は、それぞれの動作環境に
固有である。図5及び図6は、固有のオペレーティング
・システムに関して、かなりの量のコードを特別に書か
なければならない典型的な現在のオブジェクト指向プロ
グラミング・システムを示している。プラットホームに
関して独立性を有し、1つの動作環境から他の動作環境
へ移植可能なコードはほとんどない。
ィング・システムのような他のオペレーティング・シス
テムを使用したいと思うと、その固有のユーザ・インタ
ーフェース・サーバ61を用意しなければならない。図
5と図6を比較すると、アプリケーション・モジュール
55と65が両方のシステムに共通で、残りの要素51
乃至54、及び61乃至64は、それぞれの動作環境に
固有である。図5及び図6は、固有のオペレーティング
・システムに関して、かなりの量のコードを特別に書か
なければならない典型的な現在のオブジェクト指向プロ
グラミング・システムを示している。プラットホームに
関して独立性を有し、1つの動作環境から他の動作環境
へ移植可能なコードはほとんどない。
【0036】図7及び図8は、本発明によるオブジェク
ト指向プログラミング・システムを示している。図7
は、TSOオペレーティング・システムに関する動作を
示し、一方図8は、AIXオペレーティング・システム
に関する動作を示す。アプリケーション77は、アプリ
ケーション・モジュール75、プレゼンテーション・レ
イヤ76、ユーザ・インターフェース・サーバ71、遅
延インターフェース・クラス72及びTSOクラス73
を有する。ユーザ・インターフェース・サーバ71にお
けるオブジェクトのクラスは、プラットホームに依存し
ないクラスであり、アプリケーション77に関するアプ
リケーション・プログラム・インターフェースを定義し
ている。
ト指向プログラミング・システムを示している。図7
は、TSOオペレーティング・システムに関する動作を
示し、一方図8は、AIXオペレーティング・システム
に関する動作を示す。アプリケーション77は、アプリ
ケーション・モジュール75、プレゼンテーション・レ
イヤ76、ユーザ・インターフェース・サーバ71、遅
延インターフェース・クラス72及びTSOクラス73
を有する。ユーザ・インターフェース・サーバ71にお
けるオブジェクトのクラスは、プラットホームに依存し
ないクラスであり、アプリケーション77に関するアプ
リケーション・プログラム・インターフェースを定義し
ている。
【0037】アプリケーション・モジュール75におけ
るオブジェクトのクラスは、ユーザ・インターフェース
・サーバ71に見られるプラットホームに依存しないク
ラスのセットから継承している。TSOクラス73は、
TSOオペレーティング・システムに関するプラットホ
ームに依存するクラスのセットである。これらのオブジ
ェクトのクラスは、TSOオペレーティング・システム
に固有であり、AIXの動作環境に見られるAIXのオ
ブジェクト83のクラスとは明白に異なっている。TS
Oオブジェクト・クラス73は、遅延インターフェース
・クラス72から継承している。本発明によれば、エン
ド・ユーザがアプリケーション77と対話できるように
するためにアプリケーション・モジュール75が使用す
る4つの共通なパネルのタイプが存在する。
るオブジェクトのクラスは、ユーザ・インターフェース
・サーバ71に見られるプラットホームに依存しないク
ラスのセットから継承している。TSOクラス73は、
TSOオペレーティング・システムに関するプラットホ
ームに依存するクラスのセットである。これらのオブジ
ェクトのクラスは、TSOオペレーティング・システム
に固有であり、AIXの動作環境に見られるAIXのオ
ブジェクト83のクラスとは明白に異なっている。TS
Oオブジェクト・クラス73は、遅延インターフェース
・クラス72から継承している。本発明によれば、エン
ド・ユーザがアプリケーション77と対話できるように
するためにアプリケーション・モジュール75が使用す
る4つの共通なパネルのタイプが存在する。
【0038】プレゼンテーション・レイヤ76のプラッ
トホームに依存しないクラス71に含まれるこれらのパ
ネルのクラスは、非様式パネル、様式パネル、非様式リ
スト・パネル、及び様式リスト・パネルである。様式パ
ネルは、表示されている限り、エンド・ユーザが他のパ
ネルと対話しないようにするポップアップである。非様
式パネルは、エンド・ユーザが1つのスクリーンから他
のスクリーンへ切り替えることを可能にする。これらの
パネルは、エンド・ユーザが実行している特定のタスク
を継続するために重要な、ユーザの応答を要求するため
に使われる。本発明の体系は、図9に示すように、4つ
のタイプのパネル全ての作用をパネル・クラスのオブジ
ェクト指向階層にカプセル化している。
トホームに依存しないクラス71に含まれるこれらのパ
ネルのクラスは、非様式パネル、様式パネル、非様式リ
スト・パネル、及び様式リスト・パネルである。様式パ
ネルは、表示されている限り、エンド・ユーザが他のパ
ネルと対話しないようにするポップアップである。非様
式パネルは、エンド・ユーザが1つのスクリーンから他
のスクリーンへ切り替えることを可能にする。これらの
パネルは、エンド・ユーザが実行している特定のタスク
を継続するために重要な、ユーザの応答を要求するため
に使われる。本発明の体系は、図9に示すように、4つ
のタイプのパネル全ての作用をパネル・クラスのオブジ
ェクト指向階層にカプセル化している。
【0039】非様式パネル・クラス121は、パネルを
生成し、フォーマットし、表示し、キャンセルし、保存
する知識をカプセル化している。非様式パネル・クラス
121はまた、データ入力、選択及び表示フィールドの
ようなフィールドを処理し、アクション・バーや機能キ
ー選択を処理し、またエラー・メッセージを処理する。
様式型であるポップアップ・パネル・クラス125は、
様式パネルに様式を管理し、実施する能力を与える作用
をカプセル化している。更に、様式型ポップアップ・パ
ネル・クラス125は、パネル・クラス121の特徴と
作用を継承する。リスト・パネル・クラス122は、パ
ネル・クラス121の作用を継承し、動的リストを処理
するために必要な知識をカプセル化している。
生成し、フォーマットし、表示し、キャンセルし、保存
する知識をカプセル化している。非様式パネル・クラス
121はまた、データ入力、選択及び表示フィールドの
ようなフィールドを処理し、アクション・バーや機能キ
ー選択を処理し、またエラー・メッセージを処理する。
様式型であるポップアップ・パネル・クラス125は、
様式パネルに様式を管理し、実施する能力を与える作用
をカプセル化している。更に、様式型ポップアップ・パ
ネル・クラス125は、パネル・クラス121の特徴と
作用を継承する。リスト・パネル・クラス122は、パ
ネル・クラス121の作用を継承し、動的リストを処理
するために必要な知識をカプセル化している。
【0040】リストの処理には、リストの更新すなわ
ち、リスト項目の追加、変更、削除やリストの編集、特
定項目に関するリストのサーチ及び指定された順序でリ
ストを分類すること、が含まれる。リストの編集には、
カット、コピー、ペーストの機能が含まれる。ポップア
ップ・リスト・クラス124は、ポップアップクラス1
23の作用を継承し、リスト・パネル・クラス122の
リスト処理作用をカプセル化する。更に、パネル体系
は、アプリケーション77による全てのパネル・クラス
のサブ・クラス化をサポートする。このサブ・クラス化
は、アプリケーション77が、パネルに対してアプリケ
ーション特有の作用を修正したり、追加したりすること
を可能にしている。
ち、リスト項目の追加、変更、削除やリストの編集、特
定項目に関するリストのサーチ及び指定された順序でリ
ストを分類すること、が含まれる。リストの編集には、
カット、コピー、ペーストの機能が含まれる。ポップア
ップ・リスト・クラス124は、ポップアップクラス1
23の作用を継承し、リスト・パネル・クラス122の
リスト処理作用をカプセル化する。更に、パネル体系
は、アプリケーション77による全てのパネル・クラス
のサブ・クラス化をサポートする。このサブ・クラス化
は、アプリケーション77が、パネルに対してアプリケ
ーション特有の作用を修正したり、追加したりすること
を可能にしている。
【0041】プレゼンテーション・レイヤ76のオブジ
ェクト指向体系は、図10に示すように3つのレイヤに
分解できる。1番上のレイヤ131は、エンド・ユーザ
・インターフェース上に表示される視覚実体の内部表現
であるオブジェクトを有する。中間レイヤ132は、視
覚実体の内部表現を表示プリミティブ(基本体)に変換
するオブジェクトを有する。1番下のレイヤ133は、
エンド・ユーザに対して表示されるように、実際の可視
的インターフェースを与える表示プリミティブで編成さ
れるオブジェクトを有する。それ故、1番上のレイヤ1
31にあるオブジェクトは、パネル、ポップアップ、ア
クション・バー、データ入力フィールド及び静的、動的
選択リストの性質及び作用の知識をカプセル化してい
る。更に、1番上のレイヤ131のオブジェクトは、入
力フィールドのデータの検証のための情報を記憶し、エ
ンドユーザのエラーやヘルプ要求に対する応答を記憶し
ている。
ェクト指向体系は、図10に示すように3つのレイヤに
分解できる。1番上のレイヤ131は、エンド・ユーザ
・インターフェース上に表示される視覚実体の内部表現
であるオブジェクトを有する。中間レイヤ132は、視
覚実体の内部表現を表示プリミティブ(基本体)に変換
するオブジェクトを有する。1番下のレイヤ133は、
エンド・ユーザに対して表示されるように、実際の可視
的インターフェースを与える表示プリミティブで編成さ
れるオブジェクトを有する。それ故、1番上のレイヤ1
31にあるオブジェクトは、パネル、ポップアップ、ア
クション・バー、データ入力フィールド及び静的、動的
選択リストの性質及び作用の知識をカプセル化してい
る。更に、1番上のレイヤ131のオブジェクトは、入
力フィールドのデータの検証のための情報を記憶し、エ
ンドユーザのエラーやヘルプ要求に対する応答を記憶し
ている。
【0042】中間のレイヤ132及び1番下のレイヤ1
33にあるオブジェクトは、視覚実体の内部表現をユー
ザ・インターフェース上に表示できるプリミティブに変
換するために必要な知識を持っている。1番上のレイヤ
131にあるオブジェクトは、プラットホームに独立で
あり、1番下のレイヤ133にあるオブジェクトは、プ
ラットホームに依存する。中間レイヤ132の主な目的
は、1番上のレイヤにある表示可能なオブジェクトの内
部表現と1番下のレイヤ133にあるオブジェクトのプ
レゼンテーション・サービスとの間の通信を管理するこ
とである。図10に示す3層構造は、1番下のレイヤ1
33にあるプラットホームに依存するオブジェクトを、
1番上のレイヤ131にあるプラットホームに依存しな
いオブジェクトから明確に分離する手段を提供する。
33にあるオブジェクトは、視覚実体の内部表現をユー
ザ・インターフェース上に表示できるプリミティブに変
換するために必要な知識を持っている。1番上のレイヤ
131にあるオブジェクトは、プラットホームに独立で
あり、1番下のレイヤ133にあるオブジェクトは、プ
ラットホームに依存する。中間レイヤ132の主な目的
は、1番上のレイヤにある表示可能なオブジェクトの内
部表現と1番下のレイヤ133にあるオブジェクトのプ
レゼンテーション・サービスとの間の通信を管理するこ
とである。図10に示す3層構造は、1番下のレイヤ1
33にあるプラットホームに依存するオブジェクトを、
1番上のレイヤ131にあるプラットホームに依存しな
いオブジェクトから明確に分離する手段を提供する。
【0043】本発明によれば、中間レイヤ132に見ら
れるオブジェクトのクラスが、遅延インターフェース・
クラスである。レイヤ131、132、及び133にお
けるオブジェクトの制御の流れが、図11及び図12に
示すコール(call)のスタック(stack)を通して描かれて
いる。ここでは、オブジェクト・メソッド表記法を使っ
て1つのオブジェクトから他のオブジェクトへの制御の
流れを説明している。以下において、「 」の中は、図
11及び図12に示すオブジェクト、クラス、メソッド
或いはルーチンの名前を示す。1例として、スタックの
1番上のオブジェクトとメソッドの組は、「EKNUUIS.in
itialize」であり、ここで「EKNUUIS」は、オブジェク
トであり、「initialize」は、付随するメソッドであ
る。メソッドは、そのオブジェクトの組によって発動さ
れるルーチンの名前である。中間レイヤ132にある遅
延インターフェース・クラスは、図11及び図12にお
いて大文字で書かれたオブジェクトを有する。
れるオブジェクトのクラスが、遅延インターフェース・
クラスである。レイヤ131、132、及び133にお
けるオブジェクトの制御の流れが、図11及び図12に
示すコール(call)のスタック(stack)を通して描かれて
いる。ここでは、オブジェクト・メソッド表記法を使っ
て1つのオブジェクトから他のオブジェクトへの制御の
流れを説明している。以下において、「 」の中は、図
11及び図12に示すオブジェクト、クラス、メソッド
或いはルーチンの名前を示す。1例として、スタックの
1番上のオブジェクトとメソッドの組は、「EKNUUIS.in
itialize」であり、ここで「EKNUUIS」は、オブジェク
トであり、「initialize」は、付随するメソッドであ
る。メソッドは、そのオブジェクトの組によって発動さ
れるルーチンの名前である。中間レイヤ132にある遅
延インターフェース・クラスは、図11及び図12にお
いて大文字で書かれたオブジェクトを有する。
【0044】アプリケーション・モジュール75の初期
化は、オブジェクト・マネジャが遅延インターフェース
・クラス「EKNUUIS」を呼び出すことによって始まり、
ユーザ・インターフェース・サーバ71の初期化処理を
開始する。「EKNUUIS.initialize」は、それから遅延イ
ンターフェース・クラス「EKNUGM」の初期化されたルー
チンを発動する。「EKNUGM.initialize」は、ユーザ・
インターフェース・サーバ71のシステム・メッセー
ジ、ユーティリティ・キャラクタ、機能キーセット及び
カラー・アレイのようなロード情報を伴った処理の開始
処理に関して責任がある。「EKNUGM.initialize」はま
た、ターミナル・コード・ページ或いはエンド・ユーザ
に指定されたコード・ページに基づいてセッション・コ
ード・ページを設定する。
化は、オブジェクト・マネジャが遅延インターフェース
・クラス「EKNUUIS」を呼び出すことによって始まり、
ユーザ・インターフェース・サーバ71の初期化処理を
開始する。「EKNUUIS.initialize」は、それから遅延イ
ンターフェース・クラス「EKNUGM」の初期化されたルー
チンを発動する。「EKNUGM.initialize」は、ユーザ・
インターフェース・サーバ71のシステム・メッセー
ジ、ユーティリティ・キャラクタ、機能キーセット及び
カラー・アレイのようなロード情報を伴った処理の開始
処理に関して責任がある。「EKNUGM.initialize」はま
た、ターミナル・コード・ページ或いはエンド・ユーザ
に指定されたコード・ページに基づいてセッション・コ
ード・ページを設定する。
【0045】この初期化処理の完了によって、制御は、
オブジェクト・マネジャ41へ返される。この時点で、
オブジェクト・マネジャ41は、「EKNUUIS」の「go」
ルーチンを発動させ、「EKNUUIS」の「go」ルーチン
は、遅延インターフェース・クラス「EKNUGM」の「go」
ルーチンを呼び出す。「EKNUGM.go」は、ポップアップ
を生成して表示し、ユーザがキーボードのエンター・キ
ーを押すことによって図13のメニューを表示すること
が可能になる。アプリケーション・モジュール75にお
けるいかなるパネルの生成及び表示も、「create」メソ
ッド及び「display」メソッドに対するコール(呼び出
し)を伴う。「create」メソッドは、しばしば各パネル
のサブ・クラスに対して別々に再定義し、或いは名前を
変えなければならないけれども、「display」メソッド
は、通常包括的パネル・クラス「EKNUPANL」から直接継
承される。
オブジェクト・マネジャ41へ返される。この時点で、
オブジェクト・マネジャ41は、「EKNUUIS」の「go」
ルーチンを発動させ、「EKNUUIS」の「go」ルーチン
は、遅延インターフェース・クラス「EKNUGM」の「go」
ルーチンを呼び出す。「EKNUGM.go」は、ポップアップ
を生成して表示し、ユーザがキーボードのエンター・キ
ーを押すことによって図13のメニューを表示すること
が可能になる。アプリケーション・モジュール75にお
けるいかなるパネルの生成及び表示も、「create」メソ
ッド及び「display」メソッドに対するコール(呼び出
し)を伴う。「create」メソッドは、しばしば各パネル
のサブ・クラスに対して別々に再定義し、或いは名前を
変えなければならないけれども、「display」メソッド
は、通常包括的パネル・クラス「EKNUPANL」から直接継
承される。
【0046】「create」メソッドは、パネル・オブジェ
クトとそのサブ・オブジェクトを生成し、「display」
メソッドは、パネルのタイプに基づいて、パネル・オブ
ジェクトに対する適切な機能キー・セットを最初に定義
することによって、エンド・ユーザが見られるようにパ
ネルを準備する。「display」メソッドは、それから生
成されるパネル・オブジェクトとそれを生成するものと
の間の親子関係を確立し、パネルの「action router」
ルーチンを発動する。「action router」は、全てのパ
ネルが「EKNUPUIS」から継承するパネル制御ルーチンで
ある。「action router」は、プラットホームに依存し
ないイベント・ループである。「action router」は、
遅延インターフェース・クラスEKNUDBWDの「keyboard h
andler」ルーチンを呼び出し、表示スクリーン上にパネ
ルを表示する。
クトとそのサブ・オブジェクトを生成し、「display」
メソッドは、パネルのタイプに基づいて、パネル・オブ
ジェクトに対する適切な機能キー・セットを最初に定義
することによって、エンド・ユーザが見られるようにパ
ネルを準備する。「display」メソッドは、それから生
成されるパネル・オブジェクトとそれを生成するものと
の間の親子関係を確立し、パネルの「action router」
ルーチンを発動する。「action router」は、全てのパ
ネルが「EKNUPUIS」から継承するパネル制御ルーチンで
ある。「action router」は、プラットホームに依存し
ないイベント・ループである。「action router」は、
遅延インターフェース・クラスEKNUDBWDの「keyboard h
andler」ルーチンを呼び出し、表示スクリーン上にパネ
ルを表示する。
【0047】「keyboard handler」は、プラットホーム
に依存するイベント・ループである。「keyboard handl
er」メソッドは、アプリケーション・モジュール75に
よって要求された変更のために必要となるパネルのリフ
レッシュに関して責任を持つ。パネルを表示した後、
「keyboard handler」ルーチンはエンド・ユーザの入力
を待つ。次の処理ステップにおいて、エンド・ユーザ
は、図13に示すメニュー上でファイル・キャビネット
(File cabinet)のオプションを選ぶことによってファ
イル・キャビネットをオープンする。この時点で、「ke
yboard handler」は、「process event」を呼び出し、
エンド・ユーザの要求を中断する。「processevent」メ
ソッドは、表示スクリーン上でカーソルの位置を決定
し、エンド・ユーザによって要求された行動を判定す
る。
に依存するイベント・ループである。「keyboard handl
er」メソッドは、アプリケーション・モジュール75に
よって要求された変更のために必要となるパネルのリフ
レッシュに関して責任を持つ。パネルを表示した後、
「keyboard handler」ルーチンはエンド・ユーザの入力
を待つ。次の処理ステップにおいて、エンド・ユーザ
は、図13に示すメニュー上でファイル・キャビネット
(File cabinet)のオプションを選ぶことによってファ
イル・キャビネットをオープンする。この時点で、「ke
yboard handler」は、「process event」を呼び出し、
エンド・ユーザの要求を中断する。「processevent」メ
ソッドは、表示スクリーン上でカーソルの位置を決定
し、エンド・ユーザによって要求された行動を判定す
る。
【0048】この時点で「EKNUDBWD」クラスは、エンド
・ユーザによってなされた全ての変更を反映するため、
全てのパネルのサブ・オブジェクトを更新することによ
って、妥当性のチェックを行う。もしエラーがなけれ
ば、遅延インターフェース・クラス「EKNUDBWD」は、エ
ンド・ユーザの要求を処理する。「EKNUDBWD」の「hand
le」メソッドが最初に使われ、エンド・ユーザの要求が
遅延インターフェース・クラス「EKNUDBWD」及び「EKNU
DASH」で処理できるかどうか判定する。もしメッセージ
がこの2つの遅延インターフェース・クラスで処理でき
なければ、制御は次の処理のためにパネルの「action r
outer」ルーチンへ返される。図11及び図12に示す
シナリオにおいて、エンド・ユーザの要求がこの2つの
遅延インターフェース・クラスによって処理できないと
き、制御は「eknupm」の「action router」ルーチンへ
返される。
・ユーザによってなされた全ての変更を反映するため、
全てのパネルのサブ・オブジェクトを更新することによ
って、妥当性のチェックを行う。もしエラーがなけれ
ば、遅延インターフェース・クラス「EKNUDBWD」は、エ
ンド・ユーザの要求を処理する。「EKNUDBWD」の「hand
le」メソッドが最初に使われ、エンド・ユーザの要求が
遅延インターフェース・クラス「EKNUDBWD」及び「EKNU
DASH」で処理できるかどうか判定する。もしメッセージ
がこの2つの遅延インターフェース・クラスで処理でき
なければ、制御は次の処理のためにパネルの「action r
outer」ルーチンへ返される。図11及び図12に示す
シナリオにおいて、エンド・ユーザの要求がこの2つの
遅延インターフェース・クラスによって処理できないと
き、制御は「eknupm」の「action router」ルーチンへ
返される。
【0049】「action router」が制御を取り戻した
後、「action router」はそのパネルが次のメッセージ
のオーナであるかどうか判定する。図11及び図12に
示すように、「FLOPEN」が次のメッセージであり、主メ
ニューが次のメッセージのオーナである。それ故、「ac
tion router」ルーチンは、「eknupm」によって包括的
メニュー・パネル・クラス「EKNUPGME」から継承された
主メニューの「handle」メソッドを発動する。「handl
e」メソッドは次に、選択されたメッセージに関する「p
rocess choice」ルーチンを発動する。「process choic
e」ルーチンは、「EKNUMENU」からの継承であり、「FLO
PEN」メッセージに関して表示すべき次のパネルを決定
する。
後、「action router」はそのパネルが次のメッセージ
のオーナであるかどうか判定する。図11及び図12に
示すように、「FLOPEN」が次のメッセージであり、主メ
ニューが次のメッセージのオーナである。それ故、「ac
tion router」ルーチンは、「eknupm」によって包括的
メニュー・パネル・クラス「EKNUPGME」から継承された
主メニューの「handle」メソッドを発動する。「handl
e」メソッドは次に、選択されたメッセージに関する「p
rocess choice」ルーチンを発動する。「process choic
e」ルーチンは、「EKNUMENU」からの継承であり、「FLO
PEN」メッセージに関して表示すべき次のパネルを決定
する。
【0050】図14に表示されたパネルは、フォルダ選
択基準(Folder selection criteria)のポップアップ
「EKNFPFF2」のインスタンスである。このポップアップ
は、「create」メソッド及び「display」メソッドを使
用する他の全てのパネルと同様の方法で表示される。
「EKNFPFF2」が表示されているとき、「EKNFPFF2」の
「keyboard handler」ルーチンは、ユーザ入力待ちの制
御にあり、ユーザが選択項目(criteria)を指定して、
エンター・キーを押した後、「EKNFPFF2」は、「proces
s event」メソッド、「validate」メソッド及び「handl
e」メソッドを使って、主メニューに関して説明した方
法でユーザ入力を処理する。ポップアップは、ユーザ入
力が検証された後に、クローズ(close)しなければなら
ないファイル・キャビネットが起こしたダイアログであ
るので、「process event」メソッドは、「FEXIT」が次
のメッセージであると判定する。
択基準(Folder selection criteria)のポップアップ
「EKNFPFF2」のインスタンスである。このポップアップ
は、「create」メソッド及び「display」メソッドを使
用する他の全てのパネルと同様の方法で表示される。
「EKNFPFF2」が表示されているとき、「EKNFPFF2」の
「keyboard handler」ルーチンは、ユーザ入力待ちの制
御にあり、ユーザが選択項目(criteria)を指定して、
エンター・キーを押した後、「EKNFPFF2」は、「proces
s event」メソッド、「validate」メソッド及び「handl
e」メソッドを使って、主メニューに関して説明した方
法でユーザ入力を処理する。ポップアップは、ユーザ入
力が検証された後に、クローズ(close)しなければなら
ないファイル・キャビネットが起こしたダイアログであ
るので、「process event」メソッドは、「FEXIT」が次
のメッセージであると判定する。
【0051】このメッセージは、遅延インターフェース
・クラス「EKNUDBWD」及び「EKNUDASH」の中で処理でき
ないので、「keyboard handler」は、制御をパネルの
「action router」メソッドへ返す。「action router」
は、パネルの「handle」メソッドを発動し、「handle」
はそれから「EKNUPANL」から継承してフォルダ選択基準
ポップアップをクローズする「handle exit」メソッド
を呼び出す。制御は、最終的に「EKNFTFF0」の「creat
e」メソッドに帰り、図15に示すように、ファイルキ
ャビネット・リストの「handle」の生成と表示を行う。
次の処理ステップは、最小化(minimize)機能キーを使
ってファイル・キャビネット・リスト・パネルの最小化
を必要とする。
・クラス「EKNUDBWD」及び「EKNUDASH」の中で処理でき
ないので、「keyboard handler」は、制御をパネルの
「action router」メソッドへ返す。「action router」
は、パネルの「handle」メソッドを発動し、「handle」
はそれから「EKNUPANL」から継承してフォルダ選択基準
ポップアップをクローズする「handle exit」メソッド
を呼び出す。制御は、最終的に「EKNFTFF0」の「creat
e」メソッドに帰り、図15に示すように、ファイルキ
ャビネット・リストの「handle」の生成と表示を行う。
次の処理ステップは、最小化(minimize)機能キーを使
ってファイル・キャビネット・リスト・パネルの最小化
を必要とする。
【0052】エンド・ユーザが最小化(minimize)機能
キーを押すと、エンド・ユーザの要求は、「keyboard h
andler」メソッドによって、主メニュー及びフォルダ選
択基準のポップアップに関して前に説明したと同様の方
法で処理される。しかしながらこのとき、機能キーの要
求には検証が付随しないので、「validate」メソッドは
呼び出されない。更に、ファイル・キャビネット・リス
トのパネルを最小化する要求は、遅延インターフェース
・クラス「EKNUDBWD」によって処理できるので、「EKNU
DBWD」の「handle」メソッドがその要求を処理する。フ
ァイル・キャビネット・リストパネルを最小化するエン
ド・ユーザの要求の処理は、「EKNUDBWD.handle」が「E
KNUDASH」の「handle windows」メソッドを呼び出すこ
とから始まる。
キーを押すと、エンド・ユーザの要求は、「keyboard h
andler」メソッドによって、主メニュー及びフォルダ選
択基準のポップアップに関して前に説明したと同様の方
法で処理される。しかしながらこのとき、機能キーの要
求には検証が付随しないので、「validate」メソッドは
呼び出されない。更に、ファイル・キャビネット・リス
トのパネルを最小化する要求は、遅延インターフェース
・クラス「EKNUDBWD」によって処理できるので、「EKNU
DBWD」の「handle」メソッドがその要求を処理する。フ
ァイル・キャビネット・リストパネルを最小化するエン
ド・ユーザの要求の処理は、「EKNUDBWD.handle」が「E
KNUDASH」の「handle windows」メソッドを呼び出すこ
とから始まる。
【0053】このルーチンは、ファイル・キャビネット
・リストの「handle」のアイコンをつくるために呼び出
されるいくつかのCモジュールにインターフェースして
いる。このようなアイコンが作られると、「EKNUDBWD」
の「handle」メソッドは、「EKNUDBFK」の「set up for
icon」メソッドを呼び出す。このメソッドは、アイコ
ンを生成したパネルに関する活性化した機能キーの設定
をリセットする。図16は、ファイル・キャビネット・
リスト・パネルに関するアイコンが、スクリーンの左下
隅に作られたスクリーンの展望を示している。図11及
び図12に示す最後のステップは、図16に示すアイコ
ン化されたパネルから主メニューに帰ることである。そ
うするために、エンド・ユーザは先ず、リストア(rest
ore)機能キーを使ってファイル・キャビネット・リス
ト・パネルを元の大きさに戻し、それからスイッチ(sw
itch)機能キーを押す。
・リストの「handle」のアイコンをつくるために呼び出
されるいくつかのCモジュールにインターフェースして
いる。このようなアイコンが作られると、「EKNUDBWD」
の「handle」メソッドは、「EKNUDBFK」の「set up for
icon」メソッドを呼び出す。このメソッドは、アイコ
ンを生成したパネルに関する活性化した機能キーの設定
をリセットする。図16は、ファイル・キャビネット・
リスト・パネルに関するアイコンが、スクリーンの左下
隅に作られたスクリーンの展望を示している。図11及
び図12に示す最後のステップは、図16に示すアイコ
ン化されたパネルから主メニューに帰ることである。そ
うするために、エンド・ユーザは先ず、リストア(rest
ore)機能キーを使ってファイル・キャビネット・リス
ト・パネルを元の大きさに戻し、それからスイッチ(sw
itch)機能キーを押す。
【0054】スイッチ・メッセージの処理は、最小化機
能と類似しており、「handle window」ルーチンの代わ
りに「handle switch」ルーチンが発動されるところが
異なっている。「handle switch」ルーチンは、先ずパ
ネルのタイトルのリストを作り、スイッチ・ポップアッ
プ上に表示する。このリストは、スイッチ・ポップアッ
プの「create」ルーチンに渡され、図17に示すように
表示される。スイッチ・ポップアップが表示された後、
エンド・ユーザが主メニューを選択し、エンター・キー
を押し、これによって主メニューに切り替えるというエ
ンド・ユーザの要求が完了する。この要求の処理におい
て、スイッチ・ポップアップ「EKNUPSL」の「handle」
メソッドは、「handle exit」メソッドを呼び出し、ポ
ップアップをクローズし、それから制御を「handle swi
tch」ルーチンへ戻す。
能と類似しており、「handle window」ルーチンの代わ
りに「handle switch」ルーチンが発動されるところが
異なっている。「handle switch」ルーチンは、先ずパ
ネルのタイトルのリストを作り、スイッチ・ポップアッ
プ上に表示する。このリストは、スイッチ・ポップアッ
プの「create」ルーチンに渡され、図17に示すように
表示される。スイッチ・ポップアップが表示された後、
エンド・ユーザが主メニューを選択し、エンター・キー
を押し、これによって主メニューに切り替えるというエ
ンド・ユーザの要求が完了する。この要求の処理におい
て、スイッチ・ポップアップ「EKNUPSL」の「handle」
メソッドは、「handle exit」メソッドを呼び出し、ポ
ップアップをクローズし、それから制御を「handle swi
tch」ルーチンへ戻す。
【0055】「EKNUDBWD.handle switch」は、エンド・
ユーザによるスイッチ・ポップアップ上での選択を取
り、主メニューを現在パネルとして割り当てる。制御
が、スイッチ・メッセージが出されたファイル・キャビ
ネット・パネルの「action router」へ戻ると、ファイ
ル・キャビネットは最早現在ウィンドウでなくなり、制
御は、「action router」ルーチンから抜け出る。「ekn
ftff0」の「action router」ルーチンが、現在ウィンド
ウでないためメッセージを取り扱うことができないと
き、メッセージを取り扱う責任は、「eknftff0」のすぐ
上の親である「eknupm」に落ちる。主メニューは、現在
ウィンドウであるので、その「action router」ルーチ
ンは、「EKNUDBWD.keyboard handler」を呼び出し、ウ
ィンドウの境界を強調して輝かせる。これでスイッチ・
メッセージの処理が完了する。
ユーザによるスイッチ・ポップアップ上での選択を取
り、主メニューを現在パネルとして割り当てる。制御
が、スイッチ・メッセージが出されたファイル・キャビ
ネット・パネルの「action router」へ戻ると、ファイ
ル・キャビネットは最早現在ウィンドウでなくなり、制
御は、「action router」ルーチンから抜け出る。「ekn
ftff0」の「action router」ルーチンが、現在ウィンド
ウでないためメッセージを取り扱うことができないと
き、メッセージを取り扱う責任は、「eknftff0」のすぐ
上の親である「eknupm」に落ちる。主メニューは、現在
ウィンドウであるので、その「action router」ルーチ
ンは、「EKNUDBWD.keyboard handler」を呼び出し、ウ
ィンドウの境界を強調して輝かせる。これでスイッチ・
メッセージの処理が完了する。
【0056】図面と明細書によって、本発明の実施例が
開示され、特定の用語が使われているけれども、これら
は例として示されたのであり、限定するためではない。
従って、本発明の範囲は、上に説明した実施例に限定さ
れるものではなく、特許請求の範囲の記載によってのみ
規定されるべきである。
開示され、特定の用語が使われているけれども、これら
は例として示されたのであり、限定するためではない。
従って、本発明の範囲は、上に説明した実施例に限定さ
れるものではなく、特許請求の範囲の記載によってのみ
規定されるべきである。
【0057】
【発明の効果】本発明によって、改良されたオブジェク
ト指向プログラミング・システムを提供され、オブジェ
クト指向プログラミング・システムにおける改善された
ウィンドウ環境が提供される。更に本発明では、複数の
ハードウェア装置及びオペレーティング・システムにわ
たってウィンドウ環境を管理する際、オブジェクト指向
プログラミング・システムにおけるプラットホーム依存
性を最小にすることができる。
ト指向プログラミング・システムを提供され、オブジェ
クト指向プログラミング・システムにおける改善された
ウィンドウ環境が提供される。更に本発明では、複数の
ハードウェア装置及びオペレーティング・システムにわ
たってウィンドウ環境を管理する際、オブジェクト指向
プログラミング・システムにおけるプラットホーム依存
性を最小にすることができる。
【図1】オブジェクトの体系を示す。
【図2】オブジェクトの1例を示す。
【図3】オブジェクト・インスタンスを示す。
【図4】本発明が動作するコンピュータ環境を示す。
【図5】TSOオペレーティング・システムを使用する
コンピュータ環境を示す。
コンピュータ環境を示す。
【図6】AIXオペレーティング・システムを使用する
コンピュータ環境を示す。
コンピュータ環境を示す。
【図7】TSOオペレーティング・システムに一定期間
保留するインターフェース・クラスを導入した本発明に
よるコンピュータ環境を示す。
保留するインターフェース・クラスを導入した本発明に
よるコンピュータ環境を示す。
【図8】AIXオペレーティング・システムに一定期間
保留するインターフェース・クラスを導入した本発明に
よるコンピュータ環境を示す。
保留するインターフェース・クラスを導入した本発明に
よるコンピュータ環境を示す。
【図9】本発明が動作するコンピュータ環境における特
定のクラスの間の階層的関係を示す。
定のクラスの間の階層的関係を示す。
【図10】本発明が動作するユーザ・インターフェース
・サーバの体系を示す。
・サーバの体系を示す。
【図11】本発明が動作するユーザ・インターフェース
・サーバの制御の流れを示す。
・サーバの制御の流れを示す。
【図12】本発明が動作するユーザ・インターフェース
・サーバの制御の流れを示す。
・サーバの制御の流れを示す。
【図13】本発明が動作するパネル又はディスプレイ・
スクリーンを示す。
スクリーンを示す。
【図14】本発明が動作するパネル又はディスプレイ・
スクリーンを示す。
スクリーンを示す。
【図15】本発明が動作するパネル又はディスプレイ・
スクリーンを示す。
スクリーンを示す。
【図16】本発明が動作するパネル又はディスプレイ・
スクリーンを示す。
スクリーンを示す。
【図17】本発明が動作するパネル又はディスプレイ・
スクリーンを示す。
スクリーンを示す。
76、86 プレゼンテーション・レイヤ 102 オブジェクト・インスタンス 131 1番上のレイヤ 132 中間レイヤ 133 1番下のレイヤ 202 プラットホーム 230 アプリケーション・モジュール 236 オブジェクト指向環境モジュール
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラビンドラ シング カンダル アメリカ合衆国 30202 ジョージア州 アルファレッタ メイ アップル コート 310 (72)発明者 スチーブン ポール クロスナ アメリカ合衆国 30062 ジョージア州 マリエッタ イーグル リッジ ロード 2734 (72)発明者 ポール エドウィン ミラー アメリカ合衆国 30306 ジョージア州 アトランタ エヌ イー ナンバー10 バ ージニア アベニュー 1197
Claims (8)
- 【請求項1】 オブジェクト指向プログラミング・シス
テムにおいて、 可視的実体の表現であるオブジェクトを含むユーザ・イ
ンターフェースを有する少なくとも1つのアプリケーシ
ョン・プログラムと、 表示装置上の表示プリミティブ(基本体)であるオブジ
ェクトを表示する手段と、 可視的実体の表現である上記オブジェクトを、表示プリ
ミティブである上記オブジェクトに変換する手段、とを
備えたウィンドウ環境管理装置。 - 【請求項2】 可視的実体の表現である上記オブジェク
トが、1組のプラットホームに依存しないオブジェクト
のクラスで構成され、表示プリミティブである上記オブ
ジェクトが、1組のプラットホームに依存するオブジェ
クトのクラスで構成される請求項1に記載のウィンドウ
環境管理装置。 - 【請求項3】 上記変換する手段が1組の遅延してイン
ターフェースするオブジェクトのクラスで構成される請
求項2に記載のウィンドウ環境管理装置。 - 【請求項4】 可視的実体の表現である上記オブジェク
トが、更にパネル、ポップアップ、及びアクション・バ
ーから構成される請求項1に記載のウィンドウ環境管理
装置。 - 【請求項5】 上記ユーザ・インターフェースが、1組
のアプリケーション・プログラムのオブジェクト・クラ
ス及び1組のプラットホームに依存しないオブジェクト
のクラスから構成される請求項1に記載のウィンドウ環
境管理装置。 - 【請求項6】 上記アプリケーション・プログラムのオ
ブジェクト・クラスが、プラットホームに依存しないオ
ブジェクトのクラスから継承している請求項5に記載の
ウィンドウ環境管理装置。 - 【請求項7】上記1組のプラットホームに依存するオブ
ジェクトのクラスが、1組の遅延してインターフェース
するオブジェクトのクラスから継承している請求項3に
記載のウィンドウ環境管理装置。 - 【請求項8】 可視的実体の表現であるオブジェクトを
含むユーザ・インターフェースから成るアプリケーショ
ン・プログラムを有するオブジェクト指向プログラミン
グ・システムにおいて、 表示装置上の表示プリミティブであるオブジェクトを表
示し、 可視的実体であるオブジェクトを、表示プリミティブで
あるオブジェクトに変換するステップから成るウィンド
ウ環境の管理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US97173892A | 1992-11-05 | 1992-11-05 | |
US07/971,738 | 1992-11-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06202837A true JPH06202837A (ja) | 1994-07-22 |
JP2735780B2 JP2735780B2 (ja) | 1998-04-02 |
Family
ID=25518740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5286260A Expired - Lifetime JP2735780B2 (ja) | 1992-11-05 | 1993-10-22 | オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0603095A3 (ja) |
JP (1) | JP2735780B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147243A (ja) * | 1994-11-21 | 1996-06-07 | Nec Corp | マルチメディアデータ通信方式 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1995012866A1 (en) * | 1993-11-02 | 1995-05-11 | Taligent, Inc. | Object-oriented graphic system |
US5767849A (en) * | 1995-08-18 | 1998-06-16 | International Business Machines Corporation | Personality neutral window management subsystem |
US5774720A (en) * | 1995-08-18 | 1998-06-30 | International Business Machines Corporation | Personality neutral graphics subsystem |
US6578197B1 (en) | 1998-04-08 | 2003-06-10 | Silicon Graphics, Inc. | System and method for high-speed execution of graphics application programs including shading language instructions |
US6282524B1 (en) | 1998-07-20 | 2001-08-28 | Pitney Bowes Inc. | Method and system of printing postage indicia from an envelope design application |
US6384931B1 (en) | 1998-07-20 | 2002-05-07 | Pitney Bowes Inc. | Method and system for capturing destination addresses from label data |
US6342899B1 (en) | 1998-07-20 | 2002-01-29 | Pitney Bowes Inc. | Method and system of displaying database contents in envelope data fields |
US6862735B1 (en) * | 1999-02-11 | 2005-03-01 | Sun Microsystems, Inc. | Mechanism by which platform independent software may bind to and access platform dependent software |
WO2002042908A1 (en) * | 2000-11-27 | 2002-05-30 | Nokia Corporation | Method and system providing a mediation function |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02140859A (ja) * | 1988-11-22 | 1990-05-30 | Mitsubishi Electric Corp | 計算機システムにおける画面制御方式 |
JPH0436864A (ja) * | 1990-05-31 | 1992-02-06 | Toshiba Corp | 絵記号に採用する絵柄の導出方法 |
JPH04303240A (ja) * | 1990-12-31 | 1992-10-27 | Internatl Business Mach Corp <Ibm> | オブジェクト指向インタフェース標準を与えるシステムおよび方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2794339B2 (ja) * | 1990-09-24 | 1998-09-03 | ジオワークス | アプリケーションプログラムのユーザインターフェースを設計するプロセス |
EP0499404A3 (en) * | 1991-02-15 | 1993-05-12 | Texas Instruments Incorporated | Object-oriented graphical user interface |
-
1993
- 1993-10-05 EP EP93480155A patent/EP0603095A3/en not_active Withdrawn
- 1993-10-22 JP JP5286260A patent/JP2735780B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02140859A (ja) * | 1988-11-22 | 1990-05-30 | Mitsubishi Electric Corp | 計算機システムにおける画面制御方式 |
JPH0436864A (ja) * | 1990-05-31 | 1992-02-06 | Toshiba Corp | 絵記号に採用する絵柄の導出方法 |
JPH04303240A (ja) * | 1990-12-31 | 1992-10-27 | Internatl Business Mach Corp <Ibm> | オブジェクト指向インタフェース標準を与えるシステムおよび方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147243A (ja) * | 1994-11-21 | 1996-06-07 | Nec Corp | マルチメディアデータ通信方式 |
Also Published As
Publication number | Publication date |
---|---|
EP0603095A2 (en) | 1994-06-22 |
JP2735780B2 (ja) | 1998-04-02 |
EP0603095A3 (en) | 1995-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6100885A (en) | Supporting modification of properties via a computer system's user interface | |
US6275227B1 (en) | Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor | |
US6469714B2 (en) | Infocenter user interface for applets and components | |
US8296720B2 (en) | Framework to access a remote system from an integrated development environment | |
USRE38270E1 (en) | Multiple level undo/redo mechanism | |
US5596702A (en) | Method and system for dynamically sharing user interface displays among a plurality of application program | |
US7546602B2 (en) | Application program interface for network software platform | |
CA2037750C (en) | Hierarchical inter-panel process flow control | |
US6493006B1 (en) | Graphical user interface having contextual menus | |
US5862395A (en) | Customizable user interfaces for programmed computer systems | |
US5793368A (en) | Method for dynamically switching between visual styles | |
US5613122A (en) | Object-oriented operating system | |
US5713045A (en) | System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer | |
US6836878B1 (en) | Visual programming from a tree structure | |
WO1996015494A1 (en) | Object-oriented operating system | |
EP0622729A2 (en) | A user interface builder for a user interface server | |
US20030081007A1 (en) | Object oriented explorer type environment | |
US20030071860A1 (en) | System and method for managing graphical components | |
US20060265359A1 (en) | Flexible data-bound user interfaces | |
JP2735780B2 (ja) | オブジェクト指向プログラミング・システムにおけるウィンドウ環境の管理方法及び装置 | |
US5604907A (en) | Computer system for executing action slots including multiple action object classes | |
US6216149B1 (en) | Method and system for efficient control of the execution of actions in an object oriented program | |
US6223185B1 (en) | Method for defining composed object methods and attributes by dynamically presenting composite values and options | |
WO1996015493A1 (en) | Object-oriented operating system | |
Dragomirecky et al. | High-level graphical user interface management in the FACE synthesis environment |