(57)【特許請求の範囲】
【請求項１】
システムに接続可能な表示装置上に表現されたデータを処理するためのデータ処理システムであって、
前記システムに接続可能な入力装置から受け取られた複数の信号に応答でき、ユーザが前記表示装置上に実現された１組のデータ項目を選択できるようにするために、前記表示装置上に表示されたマウス・ポインタ又はキーボード・カーソルを移動するための入力制御手段と、
前記ユーザによって選択された前記データ項目に対して指定の処理動作を実行するための処理手段と、
前記ユーザにとって使用可能な処理動作を表現するオブジェクトと各処理動作を示すために表示されるアイコンに関する情報とを格納するためのオブジェクト記憶手段と、
前記ユーザにとって使用可能な処理動作の各々を前記表示装置上のアイコンとして表現するためのアイコン表示手段であって、前記アイコン表示手段は、アイコンを前記表示装置上に表示する前に各処理動作を示すために表示されるアイコンに関する情報を判定するために前記オブジェクト記憶手段にアクセスする、前記アイコン表示手段と、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別し、選択されたアイコンに関連するオブジェクトにメッセージを送り、前記オブジェクト記憶手段に接続された予約域メモリに前記選択されたアイコンに関連するオブジェクトの情報を格納するように前記選択されたアイコンに関連するオブジェクトに指示するための選択識別手段であって、前記情報はデータを提示するところのアプリケーション・プログラムに関連するオブジェクトのすべての属性を定義する、前記選択識別手段と、
前記アイコン選択を示す視覚表示を前記表示装置上に提供するための視覚表示手段と、
前記予約域メモリ内に前記選択されたアイコンに関連するオブジェクトの情報が存在するか否かを突き止め、前記突き止められたオブジェクトの情報に基づいて前記マウス・ポインタ又はキーボード・カーソルの表示を変更すように前記視覚表示手段に指示するための判定手段と、
を含み、
前記入力制御手段は、前記ユーザが前記１組のデータ項目を選択できるようにするために、前記選択識別手段によって識別されたアイコン選択に続いて前記画面上の前記マウス・ポインタ又はキーボード・カーソルの動きを制御する手段を含み、
前記システムはオブジェクト指向環境を使用し、前記処理手段、前記視覚表示手段及び前記判定手段はオブジェクト・クラスの手順によって実施され、且つ前記使用可能な処理動作のそれぞれが、処理動作のタイプの特性を定義するオブジェクト・クラスのインスタンスとして用意され、前記インスタンスは、前記表示装置上に表現されたデータ項目を管理するところの複数のアプリケーション・プログラムのいずれとも関連して使用するために、前記アプリケーション・プログラムとインタフェースを取り、及び前記インスタンスは、選択されたときに、前記アプリケーション・プログラムとは無関係に、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の前記選択を示す信号に応答して、前記処理手段を使用して前記選択された１組のデータ項目上で前記指定の処理動作を実行し、
前記使用可能な処理動作の少なくとも１つは、前記選択された１組のアプリケーション・データ項目の分析を実行する解釈動作であり、及び前記解釈動作の結果は、前記動作が適用された様々なデータ項目に各種カラーリングまたはシェーディングあるいはその両方を関連付けることによって前記表示装置上に表示される、前記データ処理システム。
【請求項２】
前記視覚表示手段が、前記アイコン選択を示すために前記マウス・ポインタ又はキーボード・カーソルを表示する、請求項１に記載のデータ処理システム。
【請求項３】
前記データが、アプリケーションによって作成されかつシステムによって提供されたグラフィカル・ユーザ・インタフェースを介して前記表示装置上に表現され、
前記システムは、前記アプリケーションが前記クラスのインスタンスを表現するアイコンが選択された時期を判定し、そして選択された前記１組のデータ項目に対して関連処理動作を実行するようにそのインスタンスの前記処理手段に指示する手段をさらに含むことを特徴とする、請求項１または２のいずれかに記載のデータ処理システム。
【請求項４】
前記視覚表示手段が前記アプリケーションによって制御され、ここで前記マウス・ポインタ又はキーボード・カーソルがそのアプリケーションに関連付けされた前記表示装置の１つの領域内に位置決めされたときに、前記入力制御手段がアプリケーションに位置決めされたことを通知する手段を含み、その後前記アプリケーションは前記アイコン選択を示すように前記マウス・ポインタ又はキーボード・カーソルを適応させるために前記視覚表示手段を呼び出す、請求項３に記載のデータ処理システム。
【請求項５】
前記解釈動作の前記結果が前記同一カラーの段階的陰影を使用して前記表示装置上に表示される、請求項１に記載のデータ処理システム。
【請求項６】
前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びこのような処理動作の前記結果は前記表示装置上の所定の位置に表示される、請求項１ないし５のいずれか一項に記載のデータ処理システム。
【請求項７】
前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びデータ生成動作の結果は、前記アプリケーションが関連付けられている前記表示装置の前記領域とは別の前記表示装置上の所定の領域内に表示される、請求項１ないし６のいずれか一項に記載のデータ処理システム。
【請求項８】
前記アイコン表示手段によって表示された前記アイコンが前記ハイライタ・ペン・アイコンの前記形態を取る、請求項１ないし７のいずれか一項に記載のデータ処理システム。
【請求項９】
前記視覚表示手段は、前記ユーザによって選択された前記ハイライタ・ペン・アイコンの表現で前記マウス・ポインタ又はキーボード・カーソルを置き換える、請求項８に記載のデータ処理システム。
【請求項１０】
システムに接続可能な表示装置上に表現されたデータを処理するためのデータ処理システムを操作する方法であって、前記システムはオブジェクト指向環境を使用し、
前記方法が、
オブジェクト・クラスのインスタンスとして、使用可能な処理動作のそれぞれをメモリ内に用意するステップであって、前記オブジェクト・クラスのそれぞれは処理動作のタイプの特性を定義し、前記インスタンスは、前記表示装置上に表現されたデータ項目を管理するところの複数のアプリケーション・プログラムのいずれとも関連して使用するために前記アプリケーション・プログラムとインタフェースを取り、前記インスタンスは、選択されたときに、前記アプリケーション・プログラムとは無関係に、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の選択を示す信号に応答して、前記選択された１組のデータ項目上で前記指定の処理動作を実行する、前記用意するステップと、
前記ユーザにとって使用可能な処理動作の各々を前記表示装置上のアイコンとして表現するステップと、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別して、アイコン選択を示す視覚表示を前記表示装置上に提供するステップと、
ユーザが前記表示装置上に表現された１組のデータ項目を選択できるようにするために、前記システムに接続可能な入力装置から受け取られた複数の信号に応答して前記表示装置上に表示されたマウス・ポインタ又はキーボード・カーソルを移動するステップと、
前記ユーザが前記複数のアプリケ−ション・プログラムのいずれか一つによって管理される前記データ項目から１組のデータ項目を選択できるようにするために、アイコンのユーザ選択に続いて前記画面上の前記マウス・ポインタ又はキーボード・カーソルの動きを制御するステップと、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別し、選択されたアイコンに関連するオブジェクトにメッセージを送り、予約域メモリに前記選択されたアイコンに関連するオブジェクトの情報を格納するように前記選択されたアイコンに関連するオブジェクトに指示するステップであって、前記情報はデータを提示するところのアプリケーション・プログラムに関連するオブジェクトのすべての属性を定義する、前記指示するステップと、
前記予約域メモリ内に前記選択されたアイコンに関連するオブジェクトの情報が存在するか否かを突き止め、前記突き止められたオブジェクトの情報に基づいて前記マウス・ポインタ又はキーボード・カーソルの表示を変更すように指示するステップと、
前記ユーザによって選択された前記１組のデータ項目について前記選択されたアイコンによって表現された指定の処理動作を実行するステップであって、前記指定の処理動作は、前記インスタンスによって、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の選択されたことを示す信号に応答して実行される、前記実行するステップと、
を含み、
前記処理動作を実行するステップ、前記アイコンとして表現するステップ、及び前記オブジェクトに指示するステップは、オブジェクト・クラスの手順によって実施され、
前記使用可能な処理動作の少なくとも１つは、前記選択された１組のアプリケーション・データ項目の分析を実行する解釈動作であり、及び前記処理動作を自動的に実行するステップは、前記動作が適用された様々なデータ項目に各種カラーリングまたはシェーディングあるいはその両方を関連付けることによって前記表示装置上に前記解釈動作の結果を表示するステップを含む、前記方法。
【請求項１１】
前記視覚表示を提供するステップが、前記アイコン選択を示すために前記マウス・ポインタ又はキーボード・カーソルを表示するステップを含む、請求項10に記載の方法。
【請求項１２】
前記データが、アプリケーションによって作成されかつシステムによって提供されたグラフィカル・ユーザ・インタフェースを介して前記表示装置上に表現され、
前記方法は、アプリケーションがクラスのインスタンスを表現するアイコンが選択された時期を判定し、そして選択された前記１組のデータ項目に対して関連処理動作を実行するようにそのインスタンスの前記処理手段に指示することをさらに特徴とする、請求項10または11のいずれかに記載の方法。
【請求項１３】
前記解釈動作の前記結果が前記同一カラーの段階的陰影を使用して前記表示装置上に表示される、請求項10に記載の方法。
【請求項１４】
前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びデータ生成動作の結果は、前記アプリケーションが関連付けられている前記表示装置の、前記領域とは別の、前記表示装置上の所定の領域内に表示される、請求項10ないし13のいずれか一項に記載の方法。
【請求項１５】
前記アイコン表示手段によって表示された前記アイコンが前記ハイライタ・ペン・アイコンの前記形態を取り、前記視覚表示を提供するステップは、前記ユーザによって選択された前記ハイライタ・ペン・アイコンの表現で前記マウス・ポインタ又はキーボード・カーソルを置き換えるステップを含む、請求項10ないし14のいずれか一項に記載の方法。
【発明の詳細な説明】
【０００１】
本発明は、システムに接続可能な表示装置上に表現されるデータを処理するためのデータ処理システムならびにこのようなシステムを操作する方法に関する。
【０００２】
システムによって処理されるデータは、数値データ、文字データ、またはその他のタイプのデータである可能性がある。さらに、データは、各データ項目を行および列で識別できる格子状または表形式に編成するか、あるいは自由形式レイアウトに編成することができる。通常、表形式は、表計算、テーブル、データ・ビューアなどのソフトウェア・アプリケーションで使用するが、自由形式レイアウトは、ワード・プロセッサやエディタなどのテキスト・ベース・アプリケーションを代表するものである。
【０００３】
このようなアプリケーションのユーザは、データの一部分を選択し、選択したデータに所与の処理動作を適用できるようにするための効率のよい技法を必要とする。しかも、提供される技法は、効率がよく、効果的で、ユーザにとって直観的なものであることが好ましい。
一般的に言えば、処理動作は２通りのタイプに分類される。第１のタイプは、本明細書では「解釈」動作と呼ぶが、結果的に追加のデータ項目を生成せず、むしろこのような動作の結果は選択したデータ項目の一部または全部の視覚的適応によって表示される。このような解釈動作は、通常、その動作が処理するデータ値から追加のデータを計算するのではなく、表示されたデータのユーザ解釈を促進することを目的とする。数値データに関連するこのような解釈動作の例としては、各データ値が平均以上であるか平均以下であるかを識別する動作、１組の選択データ値の肯定的傾向および否定的傾向を識別する動作、あるいは処理のために選択したその他のデータ値に対する各データ値の大きさを識別する動作などがある。このような動作は新しいデータ項目を一切生成せず、むしろ動作の結果はデータ値の視覚的適応、たとえば、値を並べ替える（たとえば、最大値が一番上になり、最小値が一番下になるように）かまたは適当な方法でデータ値にマークを付けることによって応用される。文字データに関連するこのような解釈動作としてはスペル・チェック動作が考えられるが、その場合、動作はテキストの選択部分に適用され、どの単語がスペル・チェック動作によって認識されないかを示すことによって動作の結果が表示される。
【０００４】
第２のタイプの処理動作は「データ生成」動作と呼ぶが、何らかの追加データを生成するために選択済みデータ項目に動作を適用するものである。このようなものとしては、たとえば、合計、算術平均、標準偏差、回帰係数などの統計動作が考えられるが、いずれも選択したデータに基づいて追加データを計算するものである。このような「データ生成」動作の結果を構成する新しいデータ項目は、一般に、表示装置上の事前選択位置に表示される。
【０００５】
数値データに関しては、米国特許第5040131号に１つの技法が記載されているが、この技法では、ユーザは表内のデータを操作し、次に表内のデータについて実行可能な潜在的に有効なプロセスに対応するアイコンを表示する機能を選択することができる。ユーザは、表内のデータの一部分にマークを付け、次にアイコンの１つを選択することができる。アイコンの１つを選択すると、システムはマークを付けたデータ用の選択済みアイコンに対応する動作を自動的に実行する。次にユーザは、選択済みアイコンを画面上の所望の位置までドラッグすることにより、表示画面上に動作の結果を乗せることができる。
【０００６】
上記の先行技術の技法により、ユーザは、ユーザが表示し操作しているデータとともに有効な動作の集合を表示することができ、それにより、ユーザは表示したデータに対して実行するために使用可能な動作を確認することができる。本発明の目的は、システムが実行すべき動作のより効率のよい公式化を促進するようなシステムを提供することにある
【０００７】
したがって、本発明は、システムに接続可能な表示装置上に表現されるデータを処理するためのデータ処理システムを提供し、このシステムは、システムに接続可能な入力装置から受け取る信号に応答し、ユーザが表示装置上に表現される１組のデータ項目を選択できるようにするために表示装置上に表示される要素を移動するための入力制御手段と、ユーザが選択したデータ項目に対して指定の処理動作を実行するための処理手段とを含み、システムは、ユーザにとって使用可能な各処理動作を表示装置上のアイコンとして表現するためのアイコン表示手段と、前記アイコンの１つのユーザ選択に対応する入力装置からの信号を識別するための選択識別手段と、アイコン選択を示す視覚表示を表示装置上に提供するための視覚表示手段とを特徴とし、入力制御手段は、ユーザが１組のデータ項目を選択できるようにするために、アイコン選択手段によって識別されたアイコン選択に続いて画面上の要素の動きを制御するように配置され、処理手段は、選択した１組のデータ項目について選択済みアイコンによって表現される処理動作を実行するために、１組のデータ項目が選択されたことを示す信号に応答する。
【０００８】
第２の態様から考察すると、本発明は、システムに接続可能な表示装置上に表現されるデータを処理するためのデータ処理システムを操作する方法を提供し、本方法は、ユーザが表示装置上に表現される１組のデータ項目を選択できるようにするためにシステムに接続可能な入力装置から受け取る信号に応答して表示装置上に表示される要素を移動するステップと、ユーザが選択したデータ項目に対して指定の処理動作を実行するステップとを含み、本方法は、ユーザにとって使用可能な各処理動作を表示装置上のアイコンとして表現するステップと、前記アイコンの１つのユーザ選択に対応する入力装置からの信号を識別し、アイコン選択を示す視覚表示を表示装置上に提供するステップと、ユーザが１組のデータ項目を選択できるようにするために、アイコンのユーザ選択に続いて画面上の要素の動きを制御するステップと、１組のデータ項目が選択されたことを示す信号に応答して、選択した１組のデータ項目について選択済みアイコンによって表現される処理動作を自動的に実行するステップとを特徴とする。
【０００９】
本発明の使用により、実行すべき処理動作のより効率のよい公式化が可能になる。というのは、ユーザが処理すべき１組のデータを選択したときに、そのデータに対して実行すべき処理動作はすでに定義されているからである。ユーザは、現在活動状態の処理動作を示す視覚表示を有するので、データが選択されたときにはその選択が完了したときにどのプロセスが適用されるかを把握している。さらに、ユーザが別の１組のデータに同じ処理動作を適用したいと希望する場合、そのユーザは単にそのデータを選択するだけでよく、さらにユーザ入力を必要とせずに新しい１組のデータに対して自動的に処理動作が適用される。
【００１０】
好ましい実施例の視覚表示手段は、アイコン選択を示すためにその要素（たとえば、マウス・ポインタ）を適応させるように配置されている。このため、ユーザが選択するデータの上を実際に通過する要素は、そのデータに適用される処理動作を示す視覚表示をユーザに対して行う。
【００１１】
好ましい実施例のデータは、アプリケーションによって配置され、システムが提供するグラフィカル・ユーザ・インタフェースにより表示装置上に表現され、グラフィカル・ユーザ・インタフェースはオブジェクト指向環境を使用し、システムは、使用可能な処理動作のそれぞれが様々なタイプの使用可能な処理動作の特性を定義するクラスのインスタンスとして用意され、インスタンスのそれぞれが関連処理動作を実行するための処理手段を含み、アプリケーションはそのクラスのインスタンスを表現するアイコンが選択された時期を判定し、選択した１組のデータ項目に対して関連処理動作を実行するようにそのインスタンスの処理手段に指示するように配置されていることをさらに特徴とする。このため、本発明の技法は、データを提示し操作するために使用するソフトウェア・アプリケーションとは無関係に、システムのユーザにとって使用可能である。
【００１２】
ソフトウェア・アプリケーションがこのようなクラス・インスタンス（または「ツール」）を使用できるようにするため、アプリケーションは、そのツールとのインタフェースを取ることができなければならない。好ましい実施例でこれを達成する方法については以下に詳述する。ツールの処理動作をソフトウェア・アプリケーションから分離することはいくつかの意味を持つ。第１に、アルゴリズムは、複数のソフトウェア・アプリケーション間で複写するのではなく、１つの場所、すなわち、そのツールを定義するコード内に保持するだけでよい。さらに、様々なソフトウェア・アプリケーション間で同じツールを同じように使用し、それにより、ユーザ・インタフェースの整合性と結果の表示を確保することができる。また、すべてのソフトウェア・アプリケーションが使用するために、追加のツールを容易に追加することができる。
【００１３】
前述の好ましい実施例に関連して、視覚表示手段はアプリケーションによって制御することが好ましく、入力制御手段はそのアプリケーションに関連する表示装置の１つの領域内にその要素が位置決めされたときにアプリケーションに通知するように配置され、次にアプリケーションはアイコン選択を示すようにその要素を適応させるために視覚表示手段を呼び出す。
【００１４】
本発明の好ましい実施例では、使用可能な処理動作の少なくとも１つは解釈動作であり、このような動作の結果は、その動作が適用された様々なデータ項目に各種カラーリングまたはシェーディングあるいはその両方を関連付けることによって表示装置上に表示される。たとえば、単一カラーの段階的陰影を使用することができる。この手法は、ユーザによる容易な解釈を促進するように動作の結果を表示するための効率のよい技法を提供する。
【００１５】
本発明の他の実施例では、ユーザが選択したアイコンは、統計処理動作などのデータ生成動作を表現することができ、このような処理動作の結果は表示装置上の所定の位置に表示される。通常、これは、処理動作が結果として単一データ値を生成する場合に該当すると思われる。あるいは、結果がチャートまたはデータ・リストの形態を取る場合、このような結果は、アプリケ−ションが関連付けられている表示装置の領域とは別の表示装置上の所定の領域内に表示することができる。
【００１６】
好ましい実施例では、アイコン表示手段によって表示されるアイコンは、ハイライタ・ペン・アイコンの形態を取る。解釈タイプの処理動作の場合、この表現はユーザにとってより直観的であることが分かっている。というのは、すべての実務専門家は、文書を解釈し、ハイライタ・ペンで重要な情報と例外にマークを付けるという日常活動に精通しているからである。したがって、このタイプの表現は、解釈すべき任意の範囲の値および実行すべき解釈のタイプを識別するための隠喩として機能する。また、視覚表示手段は、ユーザが選択したハイライタ・ペンの表現でその要素（たとえば、マウス・ポインタ）を置き換えることが好ましい。
【００１７】
本発明の好ましい実施例では、数値からなる行と列とを表示し解釈するためにグラフィカル・ユーザ・インタフェースを使用するソフトウェア・アプリケーションを使用するものと想定する。これは、経営情報システム（MIS）や全社的情報システム（EIS）というアプリケーションなどの現在の多くのデータ処理アプリケーションを代表するものである。第１図は、本発明の好ましい実施例によるデータ処理システムを示すブロック図である。
【００１８】
第１図に示すように、データ処理システム10はそこに導入されたソフトウェア・アプリケーション20を有し、そのアプリケーションは表示制御手段40を介して表示装置50上でユーザに対してデータを表示するために使用する。このような表示制御手段40の動作は、一般に当技術分野では既知のものなので、本明細書でこれ以上詳細に説明する必要はない。これは、表示装置に対してデータを渡すために使用する様々なソフトウェアおよびハードウェア構成要素を包含すると言うだけで十分である。IBMのOS/2オぺレーティング・システムでは、このプロセスは、プレゼンテーション・マネージャというOS/2の１つの層を使用してソフトウェア・アプリケーションによって開始される。
【００１９】
既知のように、データが表示されると、ユーザは、必要に応じて表示データを操作するためにソフトウェア・アプリケーションと対話することができる。ソフトウェア・アプリケーション20が使用するデータはメモリ30内に格納されるが、このためにどのタイプのメモリを使用するかは本発明にとって重要ではない。たとえば、メモリは、データ処理システム10内のハード・ディスク装置の形態を取る場合もあれば、データ処理システムに接続された外部記憶装置である場合もある。
【００２０】
本発明の好ましい実施例によれば、データ処理装置10には、データ処理システム10に接続された入力装置70、80から受け取った信号に応答して表示装置50上の図形要素の位置を制御するために入力制御手段60が設けられている。典型的な入力装置としては、マウス70またはキーボード80が考えられるが、それらの関連図形要素はマウス・ポインタまたはキーボード・カーソルになる。当業者には分かるように、入力制御手段60の機能は、通常、システムのオぺレーティング・システム/GUI、たとえば、入力装置がマウスである場合のマウス・ドライバ・コードによって提供される。
【００２１】
また、本発明の好ましい実施例のデータ処理システムは、ソフトウェア・アプリケーションによって表示されるデータに対してユーザが実行可能な様々な処理動作を表現するアイコンを表示装置50上に表示させるアイコン表示手段90も含む。このような処理動作は、ソフトウェア・アプリケーション自体に含まれる１組のルーチンとして用意することができるが、好ましい実施例ではオぺレーティング・システム/GUIがオブジェクト指向環境を提供し、それぞれの処理動作がオブジェクトとして表現され、各オブジェクトがあるクラスのインスタンスになる。このような好ましい実施例については後で詳述する。第１図のため、様々な処理動作を表現するオブジェクトをブロック100で示すが、これは一般にシステム内の１つの記憶領域であり、そのオブジェクトに関連する手順およびデータがそこに格納される。記憶域100は各処理動作を示すために表示されるアイコンに関する情報をさらに含み、アイコン表示手段90は、前記アイコンを表示画面上に表示する前にこの情報を判定するために記憶域100にアクセスする。
【００２２】
表示装置50の画面上のアイコンが表示される位置は、本発明のためには重要ではない。たとえば、アイコンは「デスクトップ」上に個別に表示することができるが、これはGUIが提示する背景表示を記述するために使用する用語であり、そこには、システムのユーザが使用する様々なウィンドウ、オブジェクト、フォルダ、その他の項目が配置される。あるいは、１組のオブジェクト（たとえば、使用可能なすべてのハイライタ・ペン・オブジェクト）をフォルダなどのコンテナ内に配置することができるが、ユーザはコンテナ内のオブジェクトを表現するアイコンを表示するウィンドウを画面上に表示するためにこのコンテナを開くことができる。当業者には分かるように、本質的にコンテナは、１組のオブジェクトを論理的にまとめてグループ化するためにGUI環境で使用する手段である。
【００２３】
アイコン表示手段90が表示するアイコンの形態については後で詳述する。ただし、好ましい実施例では、「ランク」や「トレンド」などの解釈タイプの動作は特定カラーの「ハイライタ・ペン」アイコンで表現され、このような動作の結果は、動作が実行された様々なデータ項目に適切なカラーの段階的陰影を関連付けることによってユーザに対して表示される。統計動作などのデータ生成動作の場合、その動作の結果として追加のデータが作成されるが、そのアイコンは、動作を表象する適当な図形表現の形態を取ることになる。
【００２４】
第１図に示す本発明の好ましい実施例に戻ると、システムのユーザは、入力装置の１つ、たとえば、マウス70を使用して、アイコン表示手段90が表示するアイコンの１つを選択することができる。当業者には分かるように、GUI内で１つのアイコンを選択するための様々な方法があるが、使用する正確なメカニズムは一般にオぺレーティング・システムに異存する。しかし、完全にするため、これは一般に、表示画面上のマウス・ポインタが所望のアイコンの上に位置するまでマウス70を移動させ、マウス・ボタン選択またはキー・ストロークあるいはその両方を使用してそのアイコンを選択することにより、達成される。
【００２５】
ユーザ選択が行われたことを示す信号を入力制御手段60から受け取る選択識別器110が用意されている。次に選択識別器は、画面上の様々なアイコンの位置に関するメモリ30内の情報にアクセスする。ただし、このメモリは、ソフトウェア・アプリケーションが使用するデータが格納されているものと同じメモリの物理的断片である必要はないことに留意されたい。この情報を使用すると、選択識別器110は、入力制御手段60からの信号に含まれる位置情報がアイコンの１つに関する表示装置上の位置と一致するかどうかを判定することができ、このような判定はそのアイコンのユーザ選択を示すものである。
【００２６】
アイコンの１つの選択が検出されると、選択識別器110はそのアイコンに関連するオブジェクトにメッセージを送り、予約域120内の共用メモリの一部分を確立し、メモリのその部分にそれ自体の詳細を格納するようにそのオブジェクトに指示する。この情報はソフトウェア・アプリケーション20が後で使用するが、この情報はアプリケーション20に関連するオブジェクトのすべての属性を定義するものである。たとえば、この情報は、そのオブジェクトの処理動作を実行するために実行されるプログラムを識別する１つのデータを含むことになる。共用メモリに格納されている正確な情報はオブジェクトに依存するが、一例として、ハイライタ・ペン・オブジェクトによって以下の情報が共用メモリ内に置かれている。
【００２７】
Direction       マークを付けたデータを処理するための方向（たとえば、上から下、左から右など）
HelpFile        ヘルプ情報を含むファイル
Name            ハイライタ名
Open            ハイライタが開いているか閉じているかを示すレコード
PenColour       ハイライタのカラー
PenHiDark       淡から濃へまたは濃から淡へのシェーディング
PenLegend       凡例（ユーザに対して表示可能なシェーディングの説明）
PenShades       使用する陰影の数
ProgramName     関連処理動作を定義するプログラム
SupportChar     ハイライタが文字データをサポートするかどうかを示すレコード
SupportNumeric  ハイライタが数値データをサポートするかどうかを示すレコード
ToolType        ツールのタイプ（たとえば、ハイライタ）
【００２８】
他のオブジェクトを選択したい場合、ユーザは、単にアイコン表示手段90によって表示される対応アイコンの上にマウス・ポインタを移動させ、次にそのアイコンを選択するだけである。選択識別器110は、選択したアイコンを識別し、前述のように関連オブジェクトにメッセージを送る。メモリの予約域120内の前に選択したオブジェクトに関する情報は、新たに選択したオブジェクトに関する関連情報によって上書きされる。
【００２９】
選択されたものとしてアイコンが識別されたときに、選択したアイコンの視覚表示が画面上に表示されることが好ましい。たとえば、選択したアイコンは、その選択を示すために陰影付きの四角で囲むことができる。さらに、アイコン自体の形態を変更することができる。たとえば、ハイライタ・ペンを表現するアイコンは、好ましい実施例では一般に、それが閉じた形式で表現される（すなわち、ふたがペン先を覆う）。しかし、アイコンが選択されると、それは新しい形態のアイコンで置き換えられるが、その場合、ハイライタ・ペンはペン先が露出した開いた状態で示される。
【００３０】
アイコンに対して実際に加えられる変更に加え、好ましい実施例では、選択したアイコン（および処理動作）を示す視覚表示を提供するように入力装置に関連する要素（たとえば、マウス・ポインタ）も適応させる。たとえば、「ランク」動作を表現するハイライタ・ペン・アイコンを選択するためにマウスを使用する場合、本発明の好ましい実施例では、マウス・ポインタがそのハイライタ・ペン・アイコンの表現によって置き換えられる。さらにマウスを移動すると、マウス・ポインタの新しいハイライタ・ペン表現がそれに応じて移動する。この形態の表現により、ユーザは、マウスを使用してその後選択するデータに適用される動作を必ず認識することになる。このような適応は、アイコンが選択されたときにオぺレーティング・システム/GUIの制御下で行うことができる。しかし、好ましい実施例では、この適応は、以下に記載するようにソフトウェア・アプリケーションによって管理される。
【００３１】
所望の処理動作を選択すると、ユーザは、入力制御手段60の制御下で画面の周囲でマウス・ポインタを移動させることができ、通常、ソフトウェア・アプリケーション20のデータが表示される画面上のウィンドウに入るようにポインタを移動させる。ポインタがソフトウェア・アプリケーションのウィンドウに入ると、入力制御手段60はソフトウェア・アプリケーション20に通知する。次にソフトウェア・アプリケーションは、処理動作を表現するアイコンが選択されたかどうかを確認するために共用メモリの予約域120を検査するよう判定手段130に要求する。選択された場合、前述のようにそのアイコンが参照するオブジェクトはメモリの予約域120内にそれ自体に関する情報を格納することになり、判定手段130はその情報を突き止める。この情報を使用して判定手段130は、共用メモリ内のオブジェクトに関する情報に基づいて、入力装置に関連する要素（たとえば、マウス・ポインタ）を適当な表現で置き換えるようにポインタ適応手段140に指示する。たとえば、好ましい実施例では、選択したアイコンがハイライタ・ペン・オブジェクトを表現している場合、その要素はそのハイライタ・ペンの図形表現で置き換えられるはずである。通常、適応済み要素を形成するハイライタ・ペンのカラーはハイライタ・ペン・アイコンのカラーと同じになる。ポインタ適応手段140は、マウス・ポインタに対して必要な変更を加え、次に適応済み要素を表現するデータをソフトウェア・アプリケーション20に供給する。次にソフトウェア・アプリケーションは、表示制御手段40により表示装置50上に適応済み要素を表示することができる。
【００３２】
ソフトウェア・アプリケーション20のウィンドウに入ったときにマウス・ポインタを適応させると、ユーザがそのウィンドウ内に表示されたデータの一部分、たとえば、行または列を選択できるようにするために、いくつかの技法を適用することができる。このような技法は、GUIシステムを使用したことがある人であれば誰でも容易に理解できるだろう。一例として、選択すべき第１のデータ項目までマウス・ポインタを移動することができ、次に左マウス・ボタンを押すことができる。このボタンが押された状態になっている間に、ユーザは画面上でマウス・ポインタを移動させることができ、マウス・ポインタが上を移動したすべてのデータ値は選択済みになる。
【００３３】
所望のデータ値が選択済みになると、ユーザは単に左マウス・ボタンから指を離すだけである。マウス・ボタンのこの選択解除により、入力制御手段60は、１組のデータ値が選択されたことを通知する信号をソフトウェア・アプリケーション20に送る。次にソフトウェア・アプリケーション20により、処理動作インタフェース150は、メモリの共用域120内の現在選択済みのオブジェクトによって識別される処理動作を実行するよう自動的に指示する。処理動作インタフェース150は、メモリの共用域120にアクセスし、処理動作を実施するプログラムを識別する情報を取り出し、そのプログラムを実行することにより、これを行う。
【００３４】
一般にプログラムは、処理動作インタフェース150からユーザが選択した１組のデータ値を要求するように構成され、そのプログラムに関連するメモリのローカル部分にそのデータを格納する。次にプログラムは、処理動作をそのデータに適用し、その結果を処理動作インタフェース150に戻す。次に処理動作インタフェース150は、表示装置上に表示するためにソフトウェア・アプリケーションにそれを渡すことができる。
【００３５】
本発明の好ましい実施例では、ユーザが選択した動作が解釈動作である場合、それを表現するアイコンは特定のカラー、たとえば、赤のハイライタ・ペンになる。次に、そのカラーの別の陰影によってその動作の対象となる各データ値の後ろの背景にシェーディングすることにより、動作の結果がユーザに示されることが好ましい。たとえば、ランク動作が青のハイライタ・ペン・アイコンによって表現される場合、動作の結果は、各データ値の後ろの背景に青の各種陰影を使用することによってユーザに表示されるが、その場合、最大データ値は最も濃い青の背景を有し、最小データ値は最も淡い青の背景を有する。この変種が数多く予測可能であることは明らかであり、たとえば、背景ではなく実際のデータ値そのものをカラーリングしたり、同じ、カラーの段階的陰影ではなく各種のカラーを使用することができる。
【００３６】
処理動作が、動作の結果として１つまたは複数の新しいデータ項目を計算するようなデータ生成動作、たとえば、合計、標準偏差などである場合、アイコン表示手段90によって表示されるアイコンは一般にハイライタ・ペンにはならず、むしろ、そのアイコンに関連する処理動作をユーザに示すようなその他の適当なアイコンになる。さらに、動作の結果は、通常、表示画面上の所定の位置にその結果を表示することによりユーザに表示されることになる。あるいは、その結果は単に他の値になる可能性はないが、チャートまたは結果のリストなどになる可能性がある。このような場合、結果は、ソフトウェア・アプリケーションに関連しない表示画面の個別領域内に表示することができる。たとえば、処理動作は、その動作の結果を表示すべき専用ウィンドウをセットアップする場合もある。
【００３７】
第１図に戻ると、判定手段130と、ポインタ適応手段140と、処理動作インタフェース150は、ソフトウェア・アプリケーションの制御下で動作するソフトウェア・ルーチンとして実現することができる。ただし、本発明の好ましい実施例では、その機能は、ソフトウェア・アプリケーション20が使用するオブジェクト・クラスの手順によって実施される。このオブジェクト・クラスは、記憶域100に格納されたオブジェクトによってその使用を促進するためにソフトウェア・アプリケーションが必要とするすべての必要な手順およびデータを含み、第１図には点線ボックス160で表す。このオブジェクト・クラスの一般形式については後で詳述する。
【００３８】
データ処理システム10の上記説明に関連して、システムが使用する特定の各ソフトウェア・アプリケーション20内で様々な処理動作が実現可能であることに留意されたい。ただし、このような場合、処理動作を選択し実行するための上記の技法は、その特定のソフトウェア・アプリケーションに関してのみ使用することができる。このため、好ましい実施例では、すでに前述したように、処理動作は、データ処理システム10に導入可能な独立したソフトウェア・オブジェクトまたは「ツール」として実現される。
【００３９】
現在のGUIの多く、たとえば、IBMのOS/2オペレーティング・システムでは、オブジェクト指向ユーザ・インタフェース（OO  UI）を使用し、フォルダ、シュレッダ、プリンタなどの様々な機構がオブジェクトによって表現される。IBMのOS/2では、「OS/2ワークプレース・シェル」によってOO  UIが提供されている。このようなOO  UIの目的は、アプリケーションが処理する物をデスクトップ上のアイコンとして表現することにより、ソフトウェア・アプリケーションをユーザにとってより容易なものにすることである。ユーザは、マウスなどの入力装置を使用して、アイコンが表現する物の作成、コピー、移動、変更、削除、印刷などを行うことができる。好ましい実施例では、ユーザが選択可能なハイライタ・オブジェクトとその他のツールを表現するアイコンを表示するためにOO  UI手法を利用する。
【００４０】
さらに、本発明の好ましい実施例では、たとえば、ソフトウェア・アプリケーションが好ましい実施例が提供するツールを使用できるようにする機能性を提供するために、オブジェクト指向プログラミング（OOP）技法を利用する。OOプログラミングは、多くのアプリケーションが要求するデータおよび処理をクラスとしてパッケージ化することにより、ソフトウェアを開発しやすく保守しやすいものにするように設計されている。「オブジェクト」に送られる「メッセージ」として必要な機能を実現するのは、特定のソフトウェア開発手法である（各オブジェクトは１つの「クラス」の「インスタンス」になる）。１つのクラスのインスタンスは、関連手順の集合（「メソッド」と呼ぶ場合が多い）とそのインスタンスに関連するデータ（「変数」と呼ぶ場合が多い）とを含むソフトウェア・パッケージである。
【００４１】
一例として、銀行では、銀行預金口座を表現するためのクラスと、口座番号および残高を定義するインスタンス・データと、預金および引出ならびに残高照会のためのメソッドとを作成する可能性がある。その他のクラスも開発できるが、通常、１組の関連クラスがクラス・ライブラリとして編成される。預金口座を操作するためのコードを作成するプログラマは、預金口座を定義し操作するためのコードを個別に開発するのではなく、銀行預金口座クラスを使用するはずである。そのクラスのインスタンスが作成され、そのインスタンスに送られるメッセージとして必要な処理が行われるはずである。メッセージは、１つのクラスのインスタンスに対して発行される通知であり、何らかの事象が発生したことをそれに通知するか、何らかのアクションを行うようにそれに要求するか、あるいはその両方を行うものである。インスタンスはその他のインスタンスに対してメッセージを出すことができ、オブジェクトが存在するメッセージ・ベース環境（たとえば、IBMのOS/2オペレーティング・システム）もそのオブジェクトに対してメッセージを出すことができる。
【００４２】
好ましい実施例では、ａ）ハイライタおよび関連ツールに関して使用可能になっているソフトウェア・アプリケーションと、ｂ）たとえば、ランク・ハイライタ・ペンなど、ツールの特定のインスタンスのための処理手段を提供するために必要なプログラミングとの開発を単純化するためにクラス・ライブラリを提供することにより、OOプログラミングを利用する。
【００４３】
好ましい実施例で使用するオブジェクト指向手法の概要を上記のように示したが、次に好ましい実施例について以下に詳述する。
たとえば、様々なハイライタ・ペン・ツールなど、ツールによって提供される様々な処理動作は、１つのクラスのインスタンスとして実現され、クラス・ライブラリの形態でソフトウェア・アプリケーションに提供される。ハイライタ・ツールという機能を定義するためのハイライタというUIクラスを作成するため、以下の能力を有するUIオブジェクトを作成するためにオペレーティング・システムが提供する機能を使用して、プログラムを作成するはずである。
【００４４】
a.デスクトップ上またはコンテナ内にハイライタを表現するアイコンとしてそれ自体を表示する。
OS/2では、標準のUIクラスWPAbstractから得られるワークプレース・シェル・オブジェクトを作成し、クラス・タイプとアイコンを定義するためにワークプレース・シェル・メソッドを指定変更することにより、これを達成できるはずである。
【００４５】
b.UIクラス・ハイライタの特定のインスタンスを定義する設定（たとえば、名前、カラー、プログラム定義処理）の入力および格納をサポートする。
OS/2では、そのオブジェクト用の設定ページを定義し、インスタンス・データとして設定を格納するためにワークプレース・シェル・メソッドを使用することにより、これを達成できるはずである。
【００４６】
c.開いたハイライタを表現するようにアイコンを適応させ、共用記憶域に設定を入れることにより、その選択に応答する。
OS/2では、オブジェクトのオープンを担当するワークプレース・シェル・メソッドを指定変更することにより、これを達成できるはずである。
【００４７】
ハイライタというUIクラスを作成すると、そのクラスのインスタンスを容易に作成することができる。以下の説明では、UIクラス「ハイライタ」の新しいインスタンスを作成するためにユーザが要求するアクションの例を示す。
【００４８】
1.UIクラス・ハイライタの既存のインスタンスをコピーし、命名する。あるいは、既存のインスタンスではなく、テンプレート（すなわち、そのクラスのマスタ・コピー）を使用することができるが、そのインスタンスは、コピーおよび名前変更によってテンプレートから作成される。
【００４９】
2.以下のプロパティを定義するためにオブジェクト設定を使用する。
a.カラー
b.陰影の数
c.淡から濃または濃から淡へのシェーディング
d.凡例
e.関連処理手段を実現するプログラムの名前
f.関連ヘルプ・ファイルの名前
g.サポートされるデータのタイプ
h.データ・ブロックを処理するための方向
【００５０】
そのクラスの新しいインスタンスごとに定義すべき最も重要な設定は、上記の（ａ）、（ｂ）、（ｃ）に挙げたものである。
【００５１】
UIクラス・ハイライタのインスタンスを表現するアイコンを使用のために選択した場合、そのインスタンスに関連する処理手段を実現する際に以下の段階が必要になる。
1.適当に使用可能になっているソフトウェア・アプリケーションのユーザが選択した複数のデータ項目を読み取る。
2.このようなデータ項目について１組の計算を実行する。このような計算の特徴はハイライタの目的によって決定される。たとえば、平均ハイライタは、データ項目を合計し、平均を計算すべき項目の数でその合計を割り、各データ項目を平均と比較する可能性がある。
3.ステップ１で読み取ったデータ項目のそれぞれに対応する計算結果を返す。ハイライタ・ペン・オブジェクトの場合、このような結果は、通常、様々なカラーまたはカラーの陰影あるいはその両方を表すはずである。
4.任意で、追加のデータ、たとえば、チャートをウィンドウ内に表示する。
【００５２】
ステップ１および３は、使用可能になっているソフトウェア・アプリケーションでユーザがマークを付けたデータを表現するＣ＋＋クラス（ここでは「XIHighlighterClient」と呼ぶ）を使用することにより達成できるが、ステップ２および４は、明らかに実装者の責任である。というのは、ハイライタの特定のインスタンスについてどの計算を実行すべきか、ならびに追加のデータがある場合にどのデータを表示すべきかは、実装者のみが把握することになるからである。
【００５３】
クラス「XIHighlighterClient」は、マークを付けたデータから値を読み取り、結果を返すためのメソッドを有する。以下の表１は、XIHighlighterClientクラスに含まれるメソッドを示すものである。
【００５４】
【表１】
0003565441.tif 000002
【００５５】
ハイライタというUIクラスと、ハイライタUIクラスのインスタンスに関連する処理手段を実現するために好ましい実施例で使用するＣ＋＋クラスとを作成する方法について述べてきたが、次に、好ましい実施例においてそれがこのようなハイライタ・ツールと対話できるようにソフトウェア・アプリケーションを適応させる方法について説明する。
【００５６】
ソフトウェア・アプリケーションがハイライタ・ペンなどのツールと対話できるようにするためには、以下のステップを実行するためのプログラミングが必要である。
1.開いたハイライタの存在をテストする。
2.そのハイライタを表現するようにポインタを適応させる。
3.進行中のマーキング動作を示すようにポインタを適応させる。
4.デフォルトのマーク・カラーの代わりにそのハイライタに関連するカラーを使用する。
5.マークを付けた値を開いたハイライタに渡す。
6.渡された値を処理するよう、ハイライタに指示する。
7.ハイライタが計算した結果を取り出す。
8.たとえば、マークを付けた値に段階的陰影またはカラーを適用するか、または生成したデータを表示することにより、ハイライタが計算した結果を表示する。
【００５７】
ステップ１〜７は、開いたハイライタを表現するＣ＋＋クラスを使用することにより達成できるが、このクラスはここではXIHighlighterという。ステップ８は、ステップ７でそれに渡された結果に基づいてソフトウェア・アプリケーションによって実行される。クラスXIHighlighterは、ソフトウェア・アプリケーションの処理中の適切な時点で呼び出すことができるメソッドを提供する。XIHighlighterクラスに含まれるメソッドを示す表を以下に示す。
【００５８】
【表２】
0003565441.tif 000003
【００５９】
クラスXIHighlighterを用意すると、ソフトウェア・アプリケーションがXIHighlighterクラスを使用できるようにするために、ソフトウェア・アプリケーションに対して以下の変更が必要になる。
【００６０】
1.データのマーキングと選択を担当するコードのセクションを以下のように更新する。
a.ハイライタが開いているかどうかを検査するためにメソッド「isOpen」を呼び出す。
b.開いている場合、
i.開いたハイライタ用のカラーを設定し、デフォルト・マーキング・カラーの代わりにこれを使用するために、メソッド「color」を呼び出す。
ii.マーク動作を開始する前にメソッド「startMark」を呼び出す。
iii.マークの完了時に「endMark」を呼び出し、マークを付けた各データ項目ごとにメソッド「addValue」を呼び出し、さらにメソッド「process」を呼び出す。
c.結果が得られたことをハイライタが通知すると、
i.マークを付けた各データ項目ごとにメソッド「getShade」を呼び出す。
ii.マークを付けた各データ項目の背景カラーを適応させるために「getShade」が返す陰影またはカラーを適用する。
【００６１】
2.マウスの動きの処理を担当するコードのセクションを以下のように更新する。
a.ハイライタが開いているかどうかを検査するためにメソッド「isOpen」を呼び出す。
b.開いている場合、現行位置でのマーキングが許可されているかどうかをハイライタに通知するためにメソッド「allowMark」または「disAllowMark」を呼び出す。
【００６２】
3.マウス・ポインタの変更を担当するコードのセクションを以下のように更新する。
a.ハイライタが開いているかどうかを検査するためにメソッド「isOpen」を呼び出す。
b.開いている場合、マウス・ポインタを適応させるためにメソッド「setPointer」を呼び出す。
好ましい実施例では、すでに前述したように、UIクラス・ハイライタのインスタンスと使用可能になっているソフトウェア・アプリケーションとを実現するために使用するＣ＋＋クラスがクラス・ライブラリとして用意されている。上記の技法を使用することにより、ソフトウェア・アプリケーションがこのようなツールと対話できるようになっているときに、システム上に導入された任意の数のソフトウェア・アプリケーションに関連してこのようなツールを使用することができる。好ましい実施例では、必要なすべての機能性をクラス・ライブラリに提供し、次にそれがこのクラス・ライブラリに定義された機能を使用するようにソフトウェア・アプリケーションの所与の部分を適応させることにより、ソフトウェア・アプリケーションがツールと対話できるようになっている。
【００６３】
第１図に関連して好ましい実施例のデータ処理システムについて述べてきたが、次に第２図に関連して、システムが実行する処理ステップの説明を示す。
【００６４】
第２図は、好ましい実施例によりデータ処理システムを使用して処理動作を公式化し実行する方法を示す流れ図である。ステップ200では、ユーザが使用できる使用可能な処理動作を表現するアイコンをアイコン表示手段90によって表示装置50上に表示する。このようなアイコンは、使用可能なすべての処理動作用のアイコンを含むフォルダに関連するウィンドウ内に表示されることが好ましい。
【００６５】
次にユーザは、たとえば、マウス70を使用して所望のアイコンの上にマウス・ポインタを位置決めし、これらのアイコンのうちの１つを選択することができる。ステップ210では、アイコンが選択されたかどうかについて判定を行う。選択されていない場合、プロセスはアイコンが選択されるまでステップ210からループが戻る。アイコンが選択されると、プロセスの次の段階は、どのアイコン、したがって、どの処理動作をユーザが選択したかを示す図形要素でマウス・ポインタを置き換えることである（ステップ220）。これは、選択したアイコンと同様または同一の図形要素でマウス・ポインタを置き換えることによって行うことが好ましい。たとえば、選択した処理動作が黄色のハイライタ・ペンによって表現されるトレンド動作である場合、好ましいことにマウス・カーソルは黄色のハイライタ・ペン表現によって置き換えられるはずである。この適応を正確にいつ実行するかというと、アイコンが選択されるとただちに行うことができる。しかし、好ましい実施例では、ソフトウェア・アプリケーション20に関連するウィンドウ内にポインタが移動したときにソフトウェア・アプリケーション20の制御下でポインタ適応手段140がこの適応を実行する。
【００６６】
このソフトウェア・アプリケーションのウィンドウ内でマウスをさらに移動させると、プロセス・ステップ230が示すように、従来のマウス・ポインタと同様にこの新しい図形要素が画面上で移動する。したがって、ユーザは、処理のために選択したいと希望する１組のデータ値の先頭まで図形要素を移動させ、たとえば、左マウス・ボタンを押すことによって選択を行うことを示し、その選択を有効にするために関心があるデータ値の上で図形要素を移動させることができる。これは、関心のある領域にマークを付けるためにGUIシステムで使用する従来の方法で行われるはずである。通常、選択した値は、選択した値の後ろのデフォルト背景カラーを別のカラーで置き換えることによって示される。マウスを使用する場合は、通常、データ値の選択中終始、左マウス・ボタンが押されたままの状態になり、選択が行われるとユーザは左マウス・ボタンから指を離すことになる。しかし、当業者には１組のデータ値を選択するための他の技法も明らかになるが、本発明のためにはどの技法を使用するかは無関係である。ソフトウェア・アプリケーションは、通常のデータ選択に使用するように、ツールに渡すデータ値を選択するために同一技法を使用することが好ましい。
【００６７】
ステップ240では、１組の値にマークが付けられたかどうかを判定する。好ましい実施例では、入力制御手段60は、選択が行われたことを示す信号、たとえば、ユーザが左マウス・ボタンから指を離したことを示す信号を受け取る。１組の値にマークが付けられていない場合、プロセスは、選択が行われるまでステップ240からループが戻る。
【００６８】
選択が行われたと判定されると、ステップ250でソフトウェア・アプリケーションにより、選択したデータに対して処理動作が行われる。適用すべき処理動作はユーザには明らかになる。というのは、データを選択するために使用するマウス・ポインタの形態はその処理動作を示す視覚表示になるからである。好ましい実施例では、処理動作は、その処理動作を実現するプログラムを実行するアプリケーションによって開始される。
【００６９】
処理動作が完了すると、適切な方法で表示装置50上に結果を表示する（ステップ260）。たとえば、トレンド動作などの解釈動作の場合、好ましい実施例では、データ値に段階的陰影を付けることによって結果を表示する。しかし、データ生成動作を使用するようなその他の場合では、画面上の事前定義位置に位置決めされた新しいデータ値として結果を表示することができる。あるいは、処理動作は、選択したデータに基づいてチャートを作成するようなタイプにすることもでき、このチャートは表示画面上のウィンドウ内に表示される。
【００７０】
データ生成動作の場合、処理動作の結果を表示すべき場所、たとえば、画面上の位置または表示画面の領域を識別するために処理動作を実施するプログラムによってユーザからの追加の入力が要求される場合もある。あるいは、処理動作を実施するプログラムは、結果を配置する場所を判定するための論理を含むこともできる。たとえば、合計動作は、選択したデータの列の一番下または選択したデータの行の右側に結果を表示するように構成することができる。
【００７１】
次に、プロセスの様々な段階中にユーザが見る表示画面の状態に関連して、好ましい実施例の技法についてさらに説明する。この場合、第3A図〜第3E図、第4A〜第4E図、第5A図〜第5E図を参照する。
【００７２】
第３図の例のデータ処理システムは、画面上に表示された１組のハイライタ・ペン・アイコンの形態でユーザに対して表現される処理オブジェクトの集合を含む。前述のように、このようなペン・アイコンは「デスクトップ」上に配置することができ、あるいは、この１組のアイコンを１つのコンテナに入れて、画面上のウィンドウ内に表示することもできる。第3A図では、１組のアイコンがデスクトップそのものの上に配置されている。
【００７３】
第3A図から分かるように、各ハイライタ・オブジェクトを表現するアイコンは個別のカラーのハイライタ・ペンの形態を取り、ランク、トレンド、平均などの解釈動作を表現するようにラベルが付けられている。このような解釈動作の機能は以下の通りである。
【００７４】
ランク：ランク・ペンは、マークを付けた値のうちの個々の値のランクを強調表示するために使用する。たとえば、ランク・ペンが青である場合、濃い青の背景を使用して最高値を強調表示し、淡い青の背景を使用して最低値を強調表示し、青の段階的陰影の背景を使用して中間値を強調表示するように構成することができる。このタイプの動作を実現するための１つの方法として、すべてのデータ値を帯域別に配置する百分順位ハイライタ・ペンの使用が考えられる。たとえば、各帯域は値の全範囲の10パーセントを表現し、最高10パーセントの値を識別するために最も濃いカラーを使用し、最低10パーセントの値を識別するために最も淡いカラーを使用し、その他の10パーセントずつの帯域を識別するために中間陰影を使用することができる。
【００７５】
トレンド：トレンド・ペンは、それぞれの値と前の値との差を強調表示するために使用する。たとえば、トレンド・ペンがピンクである場合、濃いピンクの背景を使用して肯定的傾向を強調表示し、淡いピンクの背景を使用して否定的傾向を強調表示するように構成することができる。前の値と等しいかほぼ等しい値は、中間のピンクの背景を使用して示すことができる。あるいは、肯定的傾向に緑、否定的傾向に赤、＋／−10パーセントに黄色など、様々なカラーを使用することもできる。
【００７６】
平均：平均ペンは、マークを付けた値の平均以上および平均以下の値を強調表示するために使用する。たとえば、平均ペンが青緑色である場合、濃い青緑色の背景を使用することによって指定の値の平均以上の値を強調表示し、淡い青緑色の背景を使用することによって平均以下の値を強調表示するように構成することができる。その場合、平均と等しい値は、中間の青緑色の背景を使用して示すことができる。その他の例では、段階的陰影を使用して、平均からの差の大きさを表現することも可能である。
【００７７】
第3B図に示すように、表示されたデータを解釈するため、ユーザは、マウスなどの入力装置を使用することにより、所望の解釈動作を表現するハイライタ・ペンを選択するはずである。第3B図では、所望のアイコンの上にマウス・カーソルを位置決めし、左マウス・ボタンを押して選択を示すことにより、選択が行われる。次に、マウス・ポインタがアプリケーション20に関連するウィンドウ内に移動すると、選択した処理動作を表現するようにマウス・ポインタが変更される。
【００７８】
第3C図に示すように、カーソルはハイライタ・ペン表現に置き換えられるが、一般にこれは、選択したハイライタ・アイコン、この場合はランク・ハイライタ・ペン・アイコンのカラーに対応するカラーになる。次に、適応済みカーソルは、ユーザが選択を希望するデータ値の上を移動する。マウスの場合、通常、このデータ値選択段階中、左マウス・ボタンが押されるはずである。さらに好ましい実施例では、閉じたハイライタ・ペン表現をペン先が露出したハイライタ・ペン表現で置き換えることにより、データ値の実際の選択時にポインタがもう一度変更される。これは、そのペンが実際に使用中であることをユーザに示すものである。
【００７９】
第3D図は、ユーザがデータ値の選択を完了した時点の画面の状態を示している。選択した値の後ろの背景は、選択した値をユーザに示すようにハイライタ・ペンのカラーに変更されることが好ましい。選択が行われると、データ値に対する必要な処理を行うためにハイライタ・ペン・オブジェクトの処理動作が実行される。次に第3E図に示すように、データ値の後ろの背景に段階的陰影を付けることにより、その動作の結果がユーザに表示される。好ましい実施例では、選択したハイライタ・ペンに関連するカラーの段階的陰影を使用する。また、好ましい実施例では、結果を表示するために使用する段階的陰影の数をユーザが選択できるようにするための機能を設けることもできる。さらに、１つのカラーの段階的陰影ではなく様々なカラーを使用するマルチカラー・ペンを設けることもできる。
【００８０】
ユーザが単一行または単一列内の任意の範囲の値を選択した場合、その行または列内の選択済みの各値に関連して強調表示が計算される。ユーザが複数行または複数列内の任意の範囲の値を選択した場合、強調表示を行別に決定するか、列別に決定するか、またはデータ全体にわたって決定するかを判定するため、処理動作に関連するパラメータを変更することができる。
【００８１】
ソフトウェア・アプリケーション20の挙動に応じて、行または列タイトルを選択することは、その行または列内のすべての値を選択するのと同等であると見なすことができる。前述のように、ハイライタ・ペンを使用するかどうかにかかわらず、アプリケーションはデータにマークを付けるために同じ機能を提供することが好ましい。
【００８２】
第4A図〜第4E図は、第3A図〜第3E図と同様であるが、解釈動作ではなくデータ生成動作の使い方を示している。この特定の例では、ユーザに対して表示された関連アイコンの選択により、合計動作を実行するための処理オブジェクトが選択されている（第4B図を参照）。第4C図および第4D図に示すように、データ値は、第３図の例に関して前述したのと同じ方法で選択される。しかし、第4E図に示すように、動作の結果は、カラーとシェーディングを使用するのではなく、画面上の適切な位置の別個のデータ値によって表示される。
【００８３】
企図したデータ生成動作は１つのデータ項目だけを生成するわけではないことは、留意するに値することである。たとえば、選択したデータ値に基づいてチャートを作成するためにオブジェクトを作成することができる。このようなチャートは、ディスプレイ上の適当な位置に位置決めされたウィンドウ内に表示されることが好ましい。このタイプの処理動作については第5A図〜第5E図を参照してさらに示すが、これらの図は第4A図〜第4E図に示したものと同等のプロセス段階にある表示画面の状態を示している。第５図の例では、処理動作の結果として分布図が作成される。
【００８４】
上記の好ましい実施例の説明により、好ましい実施例によるシステムは、ソフトウェア・アプリケーションのユーザが処理動作および操作すべき任意の範囲の値を選択できるようにするために効率がよく、効果的で、直観的な技法を提供することは明白である。
【００８５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００８６】
（１）  システムに接続可能な表示装置上に実現されたデータを処理するためのデータ処理システムであって、
前記システムに接続可能な入力装置から受け取られた複数の信号に応答でき、ユーザが前記表示装置上に実現された１組のデータ項目を選択できるようにするために、前記表示装置上に表示されたマウス・ポインタ又はキーボード・カーソルを移動するための入力制御手段と、
前記ユーザによって選択された前記データ項目に対して指定の処理動作を実行するための処理手段と、
前記ユーザにとって使用可能な処理動作を表現するオブジェクトと各処理動作を示すために表示されるアイコンに関する情報とを格納するためのオブジェクト記憶手段と、
前記ユーザにとって使用可能な処理動作の各々を前記表示装置上のアイコンとして表現するためのアイコン表示手段であって、前記アイコン表示手段は、アイコンを前記表示装置上に表示する前に各処理動作を示すために表示されるアイコンに関する情報を判定するために前記オブジェクト記憶手段にアクセスする、前記アイコン表示手段と、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別し、選択されたアイコンに関連するオブジェクトにメッセージを送り、前記オブジェクト記憶手段に接続された予約域メモリに前記選択されたアイコンに関連するオブジェクトの情報を格納するように前記選択されたアイコンに関連するオブジェクトに指示するための選択識別手段であって、前記情報はデータを提示するところのアプリケーション・プログラムに関連するオブジェクトのすべての属性を定義する、前記選択識別手段と、
前記アイコン選択を示す視覚表示を前記表示装置上に提供するための視覚表示手段と、
前記予約域メモリ内に前記選択されたアイコンに関連するオブジェクトの情報が存在するか否かを突き止め、前記突き止められたオブジェクトの情報に基づいて前記マウス・ポインタ又はキーボード・カーソルの表示を変更すように前記視覚表示手段に指示するための判定手段と、
を含み、
前記入力制御手段は、前記ユーザが前記１組のデータ項目を選択できるようにするために、前記選択識別手段によって識別されたアイコン選択に続いて前記画面上の前記マウス・ポインタ又はキーボード・カーソルの動きを制御する手段を含み、
前記システムはオブジェクト指向環境を使用し、前記処理手段、前記視覚表示手段及び前記判定手段はオブジェクト・クラスの手順によって実施され、且つ前記使用可能な処理動作のそれぞれが、処理動作のタイプの特性を定義するオブジェクト・クラスのインスタンスとして用意され、前記インスタンスは、前記表示装置上に表現されたデータ項目を管理するところの複数のアプリケーション・プログラムのいずれとも関連して使用するために、前記アプリケーション・プログラムとインタフェースを取り、及び前記インスタンスは、選択されたときに、前記アプリケーション・プログラムとは無関係に、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の前記選択を示す信号に応答して、前記処理手段を使用して前記選択された１組のデータ項目上で前記指定の処理動作を実行し、
前記使用可能な処理動作の少なくとも１つは、前記選択された１組のアプリケーション・データ項目の分析を実行する解釈動作であり、及び前記解釈動作の結果は、前記動作が適用された様々なデータ項目に各種カラーリングまたはシェーディングあるいはその両方を関連付けることによって前記表示装置上に表示される、前記データ処理システム。
（２）  前記視覚表示手段が、前記アイコン選択を示すために前記要素を適応させるように配置されている、（１）に記載のデータ処理システム。
（３）  前記データが、アプリケーションによって配置されかつシステムによって提供されたグラフィカル・ユーザ・インタフェースを介して前記表示装置上に表現され、
前記システムは、前記アプリケーションが前記クラスのインスタンスを表現するアイコンが選択された時期を判定し、そして選択された前記１組のデータ項目に対して関連処理動作を実行するようにそのインスタンスの前記処理手段に指示するように配置されていることをさらに特徴とする、（１）または（２）のいずれかに記載のデータ処理システム。
（４）  前記視覚表示手段が前記アプリケーションによって制御され、ここで前記要素が前記入力制御手段はそのアプリケーションに関連付けされた前記表示装置の１つの領域内に位置決めされたときにアプリケーションに通知するように配置され、その後前記アプリケーションは前記アイコン選択を示すように前記要素を適応させるために前記視覚表示手段を呼び出す、（３）に記載のデータ処理システム。
（５）  前記結果が前記同一カラーの段階的陰影を使用して前記表示装置上に表示される、（１）に記載のデータ処理システム。
（６）  前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びこのような処理動作の前記結果は前記表示装置上の所定の位置に表示される、（１）ないし（５）のいずれか一に記載のデータ処理システム。
（７）  前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びデータ生成動作の結果は、前記アプリケーションが関連付けられている前記表示装置の前記領域とは別の前記表示装置上の所定の領域内に表示される、（１）ないし（６）のいずれか一に記載のデータ処理システム。
（８）  前記アイコン表示手段によって表示された前記アイコンが前記ハイライタ・ペン・アイコンの前記形態を取る、（１）ないし（７）のいずれか一に記載のデータ処理システム。
（９）  前記視覚表示手段は、前記ユーザによって選択された前記ハイライタ・ペン・アイコンの表現で前記要素を置き換える、（８）に記載のデータ処理システム。
（10）  システムに接続可能な表示装置上に表現されたデータを処理するためのデータ処理システムを操作する方法であって、前記システムはオブジェクト指向環境を使用し、
前記方法が、
オブジェクト・クラスのインスタンスとして、使用可能な処理動作のそれぞれをメモリ内に用意するステップであって、前記オブジェクト・クラスのそれぞれは処理動作のタイプの特性を定義し、前記インスタンスは、前記表示装置上に表現されたデータ項目を管理するところの複数のアプリケーション・プログラムのいずれとも関連して使用するために前記アプリケーション・プログラムとインタフェースを取り、前記インスタンスは、選択されたときに、前記アプリケーション・プログラムとは無関係に、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の選択を示す信号に応答して、前記選択された１組のデータ項目上で前記指定の処理動作を実行する、前記用意するステップと、
前記ユーザにとって使用可能な処理動作の各々を前記表示装置上のアイコンとして表現するステップと、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別して、アイコン選択を示す視覚表示を前記表示装置上に提供するステップと、
ユーザが前記表示装置上に表現された１組のデータ項目を選択できるようにするために、前記システムに接続可能な入力装置から受け取られた複数の信号に応答して前記表示装置上に表示されたマウス・ポインタ又はキーボード・カーソルを移動するステップと、
前記ユーザが前記複数のアプリケ−ション・プログラムのいずれか一つによって管理される前記データ項目から１組のデータ項目を選択できるようにするために、アイコンのユーザ選択に続いて前記画面上の前記マウス・ポインタ又はキーボード・カーソルの動きを制御するステップと、
前記アイコンの１つのユーザ選択に対応する前記入力装置からの信号を識別し、選択されたアイコンに関連するオブジェクトにメッセージを送り、予約域メモリに前記選択されたアイコンに関連するオブジェクトの情報を格納するように前記選択されたアイコンに関連するオブジェクトに指示するステップであって、前記情報はデータを提示するところのアプリケーション・プログラムに関連するオブジェクトのすべての属性を定義する、前記指示するステップと、
前記予約域メモリ内に前記選択されたアイコンに関連するオブジェクトの情報が存在するか否かを突き止め、前記突き止められたオブジェクトの情報に基づいて前記マウス・ポインタ又はキーボード・カーソルの表示を変更すように指示するステップと、
前記ユーザによって選択された前記１組のデータ項目について前記選択されたアイコンによって表現された指定の処理動作を実行するステップであって、前記指定の処理動作は、前記インスタンスによって、前記複数のアプリケーション・プログラムの一つによって管理される１組のデータ項目の選択されたことを示す信号に応答して実行される、前記実行するステップと、
を含み、
前記処理動作を実行するステップ、前記アイコンとして表現するステップ、及び前記オブジェクトに指示するステップは、オブジェクト・クラスの手順によって実施され、
前記使用可能な処理動作の少なくとも１つは、前記選択された１組のアプリケーション・データ項目の分析を実行する解釈動作であり、及び前記処理動作を自動的に実行するステップは、前記動作が適用された様々なデータ項目に各種カラーリングまたはシェーディングあるいはその両方を関連付けることによって前記表示装置上に前記解釈動作の結果を表示するステップを含む、前記方法。
（11）  前記視覚表示を提供するステップが、前記アイコン選択を示すために前記要素を適応させるステップを含む、（10）に記載の方法。
（12）  前記データが、アプリケーションによって配置されかつシステムによって提供されたグラフィカル・ユーザ・インタフェースを介して前記表示装置上に表現され、
前記方法は、アプリケーションがクラスのインスタンスを表現するアイコンが選択された時期を判定し、そして選択された前記１組のデータ項目に対して関連処理動作を実行するようにそのインスタンスの前記処理手段に指示するように配置されていることをさらに特徴とする、（10）または（11）のいずれかに記載の方法。
（13）  前記結果が前記同一カラーの段階的陰影を使用して前記表示装置上に表示される、（10）に記載の方法。
（14）  前記使用可能な処理動作の少なくとも１つはデータ生成動作であり、及びデータ生成動作の結果は、前記アプリケーションが関連付けられている前記表示装置の、前記領域とは別の、前記表示装置上の所定の領域内に表示される、（10）ないし（13）のいずれか一に記載の方法。
（15）  前記アイコン表示手段によって表示された前記アイコンが前記ハイライタ・ペン・アイコンの前記形態を取り、前記視覚表示を提供するステップは、前記ユーザによって選択された前記ハイライタ・ペン・アイコンの表現で前記要素を置き換えるステップを含む、（10）ないし（14）のいずれか一に記載の方法。
【図面の簡単な説明】
第１図は、本発明の好ましい実施例によるデータ処理システムを示すブロック図である。
第２図は、本発明の好ましい実施例のシステムが実行する処理ステップを示す流れ図である。
第3A図〜第3E図は、本発明の好ましい実施例のデータ処理システムを使用する解釈動作の選択および実行中の様々な段階での表示画面の状態を示す。
第4A図〜第4E図は、本発明の好ましい実施例のデータ処理システムを使用するデータ生成動作、特に統計動作の選択および実行中の様々な段階での表示画面の状態を示す。
第5A図〜第5E図は、本発明の好ましい実施例のデータ処理システムを使用するデータ生成動作、特にチャートを作成するタイプの動作の選択および実行中の様々な段階での表示画面の状態を示す。
【図１】
0003565441.tif 000004
【図２】
0003565441.tif 000005
【図３Ａ】
0003565441.tif 000006
【図３Ｂ】
0003565441.tif 000007
【図３Ｃ】
0003565441.tif 000008
【図３Ｄ】
0003565441.tif 000009
【図３Ｅ】
0003565441.tif 000010
【図４Ａ】
0003565441.tif 000011
【図４Ｂ】
0003565441.tif 000012
【図４Ｃ】
0003565441.tif 000013
【図４Ｄ】
0003565441.tif 000014
【図４Ｅ】
0003565441.tif 000015
【図５Ａ】
0003565441.tif 000016
【図５Ｂ】
0003565441.tif 000017
【図５Ｃ】
0003565441.tif 000018
【図５Ｄ】
0003565441.tif 000019
【図５Ｅ】
0003565441.tif 000020