(57)【要約】【課題】ウィジェット中心のコンテキストに基づく層を確立および使用するための、コンピュータが実施可能な方法、システム、およびコンピュータが読み出し可能な媒体を提示する。【解決手段】好ましい一実施の形態において、コンピュータによって実施された本方法は、視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するコンピュータを含む。視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、コンピュータは、視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示し、コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、要素アイコンは、下部要素層からの各要素に関連付けられている。そして、コンピュータは、１つ以上の要素アイコンを選択するユーザ入力を受信することによって、関連要素の編集が可能となる。【選択図】図３
2008282392.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実施可能な方法であって、
視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するステップと、
前記視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、前記視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示するステップであって、前記コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、前記要素アイコンは、前記下部要素層からの各要素に関連付けられている、ステップと、
前記要素アイコンのうちの１つ以上を選択するユーザ入力を受信するステップと、
前記要素アイコンのうちの１つ以上を選択する前記ユーザ入力を受信したことに応答して、特性シートを前記コンテキスト層キャンバス上に提示するステップであって、前記特性シートは、選択された要素アイコンに関連付けられた要素の、ユーザが編集可能な特性を含む、ステップと、
前記ユーザが編集可能な特性を編集するユーザ編集入力を受信するステップと
を含む、方法。
【請求項２】
前記ユーザが編集可能な特性が編集されたことに応答して、前記視覚コントロールの表示を前記視覚層キャンバスへ戻すステップをさらに含む、請求項１に記載のコンピュータが実施可能な方法。
【請求項３】
前記視覚コントロールは、データ入力ウィジェットであり、前記選択された要素アイコンは、前記視覚コントロール用のテーブル要素に関連付けられている、請求項１に記載のコンピュータが実施可能な方法。
【請求項４】
前記視覚コントロール用の前記コンテキスト層は、
前記視覚コントロールを前記コンテキスト層キャンバス上に表示するステップと、
前記視覚コントロールをサポートできる視覚および非視覚要素のパレットを表示するステップと、
１つ以上の前記視覚および非視覚要素を前記視覚コントロールに関連付けるユーザ入力を受信するステップと
によって確立される、請求項１に記載のコンピュータが実施可能な方法。
【請求項５】
プロセッサと、
前記プロセッサに結合されたデータ・バスと、
前記データ・バスに結合されたメモリと、
コンピュータ・プログラム・コードを具体化する、コンピュータが使用可能な媒体と
を備えるシステムであって、前記コンピュータ・プログラム・コードは、前記プロセッサによって実行可能な命令を備え、かつ、
視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するステップと、
前記視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、前記視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示するステップであって、前記コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、前記要素アイコンは、前記下部要素層からの各要素に関連付けられている、ステップと、
前記要素アイコンのうちの１つ以上を選択するユーザ入力を受信するステップと、
前記要素アイコンのうちの１つ以上を選択する前記ユーザ入力を受信したことに応答して、特性シートを前記コンテキスト層キャンバス上に提示するステップであって、前記特性シートは、選択された要素アイコンに関連付けられた要素の、ユーザが編集可能な特性を含む、ステップと、
前記ユーザが編集可能な特性を編集するユーザ編集入力を受信するステップと
を行うために構成される、システム。
【請求項６】
コンピュータが使用可能に具体化されたコンピュータ・プログラムであって、当該コンピュータに、
視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するステップと、
前記視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、前記視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示するステップであって、前記コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、前記要素アイコンは、前記下部要素層からの各要素に関連付けられている、ステップと、
前記要素アイコンのうちの１つ以上を選択するユーザ入力を受信するステップと、
前記要素アイコンのうちの１つ以上を選択する前記ユーザ入力を受信したことに応答して、特性シートを前記コンテキスト層キャンバス上に提示するステップであって、前記特性シートは、選択された要素アイコンに関連付けられた要素の、ユーザが編集可能な特性を含む、ステップと、
前記ユーザが編集可能な特性を編集するユーザ編集入力を受信するステップと
を実行させるための、コンピュータ・プログラム。
【請求項７】
前記コンピュータ・プログラムは、遠隔地にあるサーバからクライアント・コンピュータへ導入可能である、請求項６に記載のコンピュータ・プログラム。
【請求項８】
前記コンピュータ・プログラムは、オン・デマンドに基づいて、サービス・プロバイダによって顧客に対して提供される、請求項６に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータの分野および同様の技術に関し、特に、本分野において使用されるソフトウェアに関する。さらにより特定的には、本開示は、ソフトウェア開発に関する。
【背景技術】
【０００２】
グラフィカル・ユーザ・インターフェース（ＧＵＩ）ビルダは、「キャンバス（Ｃａｎｖａｓ）」をＧＵＩパーツ用の単一のプレースホルダーとして使用する。ユーザは、これらのＧＵＩパーツをキャンバス上に（パレット、ウィザード、または他のソースから）ドロップまたは作成し、様々な視覚的なキュー（またはヘルパービューおよびダイアログ）を使用してこれらの要素を操作および構成する。ＧＵＩパーツは、他のＧＵＩパーツの上に配置されて、完成ＧＵＩを構築する。
【０００３】
Ｊａｖａ  Ｖｉｓｕａｌ  Ｅｄｉｔｏｒ（ＪＶＥ）は、ＧＵＩビルダの一種である。ＪＶＥによって、ユーザは、階層的なビューにおいてキャンバス上にウィジェットをドロップすることによって、Ｊａｖａ  ＧＵＩを構築する。ＪＶＥのＧＵＩパーツは、ウィンドウ、テキスト・フィールド、またはチェック・ボックスなどのコンピュータ・ユーザがやり取りするウィジェット（要素）であってもよい。視覚要素は、特定のウィジェット・ツールキット（例えば、ウィンドウズ（Ｒ）プラットフォーム上のＭｉｃｒｏｓｏｆｔ  Ｆｏｕｎｄａｔｉｏｎ  Ｃｌａｓｓｅｓ（ＭＦＣ）、Ｊａｖａ（商標）用のＳｗｉｎｇ（商標）、およびＥｃｌｉｐｓｅ（商標）のＳｔａｎｄａｒｄ  Ｗｉｄｇｅｔ  Ｔｏｏｌｋｉｔ（ＳＷＴ））に特有のものである。典型的には、これらのウィジェットは、機能的に非常に軽く、プレゼンテーションに関連している。よって、基礎要素によってウィジェットのデータがどのように読み出されるかについての論理を、補助論理によって提供しなければならない。例えば、テーブルは、枠線、背景色、スクロールの視界などの特徴を特定する特性のセットを有する。ただし、ウィジェットをレイアウトして特性を設定した開発者は、それゆえ、テーブルの内容を埋めるコードを書き込まなくてはならない。このコードは、データをウィジェットに結びつけるようなトピックス、データ検証の生じ方、セル編集、カラム・データ変換、フィルタリング、ソート、ページング論理などに関する命令を含む。よって、ウィジェットは上層キャンバス上に提示されるが、ウィジェットをサポートする特徴およびコードは他の下層キャンバス上にあり、どのような機能およびプロトコルが当該特定のウィジェットと共に使用されているかをユーザが知るためには、切り換えが行われなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、図１のＧＵＩ１０２について考える。ＧＵＩ１０２内には、４つのウィジェット１０４ａ〜１０４ｄがあり、これらは、例えば、下層（図示せず）に見出される基礎テーブルにデータを入力するために使用されるダイアログ・ボックスであってもよい。しかしながら、ユーザが下層キャンバスに切り換えて下層から基礎テーブルを見る場合には、下層キャンバス上に示されるどの視覚および非視覚情報が、ＧＵＩ１０２として示された上層キャンバスにおいて表示される特定のウィジェット１０４に関連するかをユーザが知るのは困難である。すなわち、図２に示すように、ＧＵＩ１０６は、様々な基礎コード１０８ａ〜１０８ｄを表示する。しかしながら、どの基礎コード１０８ａ〜１０８ｄが図１に示すウィジェット１０４ａ〜１０４ｄのうちの特定のウィジェットにリンクされているかを記述する明確な手がかりが、コード内にはない。
【課題を解決するための手段】
【０００５】
上述の状態に対処するために、ここに開示するのは、ウィジェット中心のコンテキストに基づく層を確立および使用するための、コンピュータが実施可能な方法、システム、およびコンピュータが読み出し可能な媒体である。好ましい一実施の形態において、コンピュータによって実施された本方法は、視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するコンピュータを含む。視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、コンピュータは、視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示し、コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、要素アイコンは、下部要素層からの各要素に関連付けられている。そして、コンピュータは、１つ以上の要素アイコンを選択するユーザ入力を受信する。そして、１つ以上の要素アイコンを選択するユーザ入力に応答して、コンピュータは、特性シートをコンテキスト層キャンバス上に提示する。特性シートは、選択された要素アイコンに関連付けられた要素の、ユーザが編集可能な特性を含む。そして、コンピュータは、ユーザが編集可能な特性を編集するユーザ編集入力を受信できる。
【０００６】
本発明の上述ならびにさらなる目的、特徴、および利点は、以下の詳細な説明において明確になるだろう。
【発明を実施するための最良の形態】
【０００７】
本発明に特徴的であると思われる新規の特徴を、添付の請求項に記載する。しかしながら、本発明自体は、好ましい使用の態様ならびにそのさらなる目的および利点とともに、例示の実施の形態についての以下の詳細な説明を添付の図面と共に参照することによって、最もよく理解されるだろう。
【０００８】
今度は図３を参照すると、例示のＧＵＩ２０２が、ウィジェットの機能を構築するために使用されるような新規のコンテキスト層キャンバス２０４と共に示されている。本明細書において説明されているように、コンテキスト層キャンバス２０４は、視覚上層からウィジェットを表示および操作することができるのと同時に、特定のウィジェットに関連する視覚および非視覚要素を下層から表示することができる。よって、ウィジェット２０６は、（例えば、図示しないウィジェットのパレットからドラッグ・アンド・ドロップした後に）コンテキスト層キャンバス２０４上に表示される。視覚および非視覚要素のパレット２０８も、ＧＵＩ２０２上に表示される。視覚および非視覚要素のパレット２０８は、視覚および非視覚要素に関連付けられたアイコンを含み、これらは、要素アイコン２１０ａ〜２１０ｄとして例示されている。
【０００９】
例示の目的のために、ウィジェット２０６が、データを基礎データベースへ入力するために受け付けるデータ入力ウィジェットであり、基礎テーブルのいくつかまたはすべてを埋める基礎データベースが使用されると仮定する。この例において、基礎テーブルは、視覚要素（要素アイコン２１０ａによって表される）であってもよい。なぜならば、これは、規定の基準およびプロトコルに従って視覚的に表示可能であるからである。本「テーブル」例において、非視覚要素の例には、テーブルを埋めるために使用される企業従業員のデータベースなどのデータベース（要素アイコン２１０ｃによって表される）と、テーブルをデータベースに結び付ける（論理的に関連付ける）ために使用される命令、パスワード、およびプロトコルを含むバインダとが含まれるが、これらに限定されない。他の種類の非視覚要素には、スキーマ定義を定義づけるかまたは可能にするソフトウェアと、文書用ＣＲＵＤ（作成、検索、更新、削除）方法と、検索機能と、データ形式変換ソフトウェア論理と、ソーティング動作と、文書操作および編集と、イベント処理などが含まれるが、これらに限定されない。要素アイコン２１０ａ、２１０ｃ、および２１０ｄを表示されたウィジェット２０６上にドラッグすることによって、表された要素に関連した機能、情報、プロトコルなどが、ウィジェット２０６に関連付けられる。
【００１０】
図４を参照すると、図３に視覚的に示すステップ例のフローチャートが提示されている。開始ブロック３０２の後、視覚コントロール（例えば、図３に示すウィジェット２０６）が、コンテキスト層キャンバス上に表示される（ブロック３０４）。コンテキスト層キャンバスは、上部視覚層と下部データ／プロトコル層との間の論理的に中間の新規のコンテキスト層から情報を表示可能なので、上部層および下部層の両方に対してアクセスできることに注意されたい。
【００１１】
ブロック３０６に記載されているように、視覚および非視覚要素に関連したアイコンのパレットは、表示されたウィジェットと共に使用されてもよく、共に表示される。これらの視覚および非視覚要素は、Ｍｉｃｒｏｓｏｆｔ（商標）のＤｅｓｉｇｎ  Ｔｉｍｅ  Ｃｏｎｔｒｏｌ（ＤＴＣ）、Ｊａｖａ  Ｎｅｔｗｏｒｋ  Ｄｅｓｋｔｏｐ  Ｃｏｍｐｏｎｅｎｔｓ（ＪＮＤＣ）、またはＪａｖａ  Ｓｅｒｖｅｒ  Ｆａｃｅｓ（ＪＳＦ）コントロールなどのツールキット・ウィジェットの機能を増大させる数多くの要素フレームワークのいずれからのものであってもよい。これらのフレームワークによって、開発者は、忠実度が高く機能的に充実したコントロールをより容易に作成および構築することができる。これらのフレームワークは、元来のウィジェットを装飾し、かつそれらの機能を増大させるラッパーまたはヘルパー要素を提供することによって動作する。一例として、あるＧＵＩフレームワークは、Ｓｔａｎｄａｒｄ  Ｗｉｄｇｅｔ  Ｔｏｏｌ（ＳＷＴ）を元来のウィジェットのツールキットとして提供し、これは、ＪＦａｃｅ要素を論理装飾子として提供する。すなわち、ＳＷＴは、元来のウィンドウ・システムと一体化されるウィジェットのセットおよびグラフィックス・ライブラリであるが、オペレーティング・システム（ＯＳ）から独立したアプリケーション・プログラム・インターフェース（ＡＰＩ）を伴う。ＪＦａｃｅは、ＳＷＴを通じて実施されるユーザ・インターフェース（ＵＩ）ツールキットである。ＪＦａｃｅは、部分的にはＳＷＴの「上に」位置して、共通のプログラミング・タスクを簡素化するものであるが、ＳＷＴを隠すものではない。よって、ＪＦａｃｅ要素は、元来のＳＷＴ要素の機能を拡大し、かつデータ結合、検証、および典型的なビジネス論理アプリケーションに必要な完全な機能を実施するために必要な他の論理のためのサポートを追加する。一例として、ＪＦａｃｅのテーブル・ビューワ要素は、視覚ウィジェット（ウィジェット２０６として図２に示す）と共に、バインダ、データベースなどの非視覚コントローラをも含む。
【００１２】
図４に再び戻ると、その後、ユーザは、表示されたウィジェット上に１つ以上の要素アイコンをドラッグ・アンド・ドロップするので、表示されたウィジェットに対して選択された（複数の）要素の機能を付与する（ブロック３０８）。処理は、終了ブロック３１０で終了する。
【００１３】
今度は図５を参照すると、図３に示すウィジェット２０６と同一であるが上述の要素２１０ａ，２１０ｃ，および２１０ｄの機能が今度は与えられているウィジェット４０６を視覚層キャンバス４０４が表示しているＧＵＩ４０２が示されている。カーソル４０８がウィジェット４０６上にないことに注意されたい。しかしながら、図６に示すように、カーソル４０８がウィジェット４０６上を浮遊する場合には、カーソル４０８は、アクティブなカーソル５０６によって示すように、外観および機能を変化させる。よって、図６に示すように、アクティブなカーソル５０６がウィジェット４０６上を浮遊することによって、ウィジェット４０６の表示は、自動的にコンテキスト層キャンバス５０４へ移動して、その上において、要素アイコン２１０ａ，２１０ｃ，および２１０ｄが、好ましくはウィジェット４０６と様々に示された要素との関連性を示す線と共に表示される。そして、アクティブなカーソル５０６が要素アイコンのうちの１つ（例えば、要素アイコン２１０ａ）の上で浮遊することによって、要素アイコン２１０ａによって表される要素と関連した情報が、特性シート・ウィンドウ５０８内に現れる。例えば、要素アイコン２１０ａが要素アイコン２１０ａに関連付けられたテーブル視覚要素であると仮定する。要素アイコン２１０ａをクリックすることによって、テーブルの編集可能な要素（例えば、サイズ、色、フォーマットなど）が、特性シート・ウィンドウ５０８内に表示される。これらの表示された特性は、コンテキスト層キャンバス５０４から直接編集可能であるので、視覚層キャンバスと、基礎層キャンバスとの間で切り換わる際に特有な問題を回避することができる。
【００１４】
図７を参照すると、図６に示すコンテキスト層キャンバスを使用するために取られるステップ例のフローチャートが提示されている。開始ブロック６０２の後、コンピュータは、図６で説明したウィジェット４０６のような視覚コントロール上をマウスが浮遊することを検出する（ブロック６０４）。クエリ／ブロック６０６に示すように、上を浮遊しているウィジェットがコンテキスト層を有するかどうかについての判断が行われる。すなわち、視覚コントロールが、上述のようなコンテキスト層キャンバスの機能によってサポートされているかどうかについての判断がなされる。もしそうならば、視覚コントロールは、コンテキスト層キャンバス上に表示される（ブロック６０８）。ユーザがカーソルを視覚コントロール上で浮遊させていたことをコンピュータ・システムが検出した場合には、視覚要素または非視覚要素あるいはその両方は、上述のようなやり方でポップ・アップする。ウィジェットとかつて関連付けられた様々な要素をユーザが選択するにつれて（ブロック６１０）、特性シート・ウィンドウが現れるので、ユーザは、選択された要素アイコンと関連付けられた基礎要素に対して編集、構築、削除などを行うことができる（ブロック６１２）。選択された要素の任意の構築をユーザが完了した後に、ウィジェットは、ウィジェットの通常の動作を許可するために、視覚層キャンバス上に再び表示される（ブロック６１４）。処理は、こうして、終了ブロック６１６において終了する。
【００１５】
今度は図８を参照すると、本発明が使用されてもよいような例示のクライアント・コンピュータ７０２のブロック図が示されている。クライアント・コンピュータ７０２は、システム・バス７０６に結合されたプロセッサ・ユニット７０４を含む。ディスプレイ７１０を駆動／サポートするビデオ・アダプタ７０８も、システム・バス７０６に結合されている。ディスプレイ７１０に提示されている内容は、本明細書に記載の任意のＧＵＩまたはＵＩを含むが、それらに限定されない。システム・バス７０６は、バス・ブリッジ７１２を介して入力／出力（Ｉ／Ｏ）バス７１４に結合されている。Ｉ／Ｏバス７１４には、Ｉ／Ｏインターフェース７１６が結合されている。Ｉ／Ｏインターフェース７１６は、キーボード７１８、マウス７２０、コンパクト・ディスク読み出し専用メモリ（ＣＤ‐ＲＯＭ）ドライブ７２２、フレキシブル・ディスク・ドライブ７２４、およびフラッシュ・ドライブ・メモリ７２６を含む様々なＩ／Ｏ装置との通信をもたらす。Ｉ／Ｏインターフェース７１６に接続されたポートのフォーマットは、コンピュータ・アーキテクチャの技術における当業者に周知の任意のものであってもよく、ユニバーサル・シリアル・バス（ＵＳＢ）ポートを含むが、これに限定されない。
【００１６】
クライアント・コンピュータ７０２は、ネットワーク・インターフェース７３０を使用して、ネットワーク７２８を介してサービス・プロバイダ・サーバ７５０と通信することができ、ネットワーク・インターフェース７３０は、システム・バス７０６に結合されている。ネットワーク７２８は、インターネットなどの外部ネットワーク、またはイーサネット（Ｒ）または仮想私設ネットワーク（ＶＰＮ）などの内部ネットワークであってもよい。サービス・プロバイダ・サーバ７５０は、クライアント・コンピュータ７０２について説明したようなのと同様のアーキテクチャ設計を使用してもよい。
【００１７】
ハード・ドライブ・インターフェース７３２も、システム・バス７０６に結合されている。ハード・ドライブ・インターフェース７３２は、ハード・ドライブ７３４のインターフェースとなっている。好ましい一実施の形態において、ハード・ドライブ７３４は、システム・メモリ７３６を埋めており、システム・メモリ７３６も、システム・バス７０６に結合されている。システム・メモリ７３６を埋めるデータは、クライアント・コンピュータ７０２のオペレーティング・システム（ＯＳ）７３８と、アプリケーション・プログラム７４４とを含む。
【００１８】
ＯＳ７３８は、アプリケーション・プログラム７４４などのリソースに対して透明なユーザ・アクセスを提供するためのシェル７４０を含む。一般的に、シェル７４０は、ユーザとオペレーティング・システムとの間のインタプリタおよびインターフェースを提供するプログラムである。より特定的には、シェル７４０は、コマンド・ライン・ユーザ・インターフェースに入力されたコマンド、またはファイルからのコマンドを実行する。よって、（ＵＮＩＸ（Ｒ）において称されるように）シェル７４０は、ウィンドウズ（Ｒ）におけるコマンド・プロセッサとも呼ばれ、オペレーティング・システム・ソフトウェア階層構造のの最上レベルであり、コマンド・インタプリタとして機能する。シェルは、システム・プロンプトを提供し、キーボード、マウス、または他のユーザ入力媒体によって入力されたコマンドを解釈して、当該解釈された（複数の）コマンドをオペレーティング・システム（例えば、カーネル７４２）の適切な下層のレベルへ送信する。シェル７４０は、テキストに基づく行指向のユーザ・インターフェースであるが、本発明は、グラフィカル、音声、ジェスチュアなどの他のユーザ・インターフェース・モードも等しくうまくサポートするであろうことに注意すべきである。
【００１９】
図示のように、ＯＳ７３８は、カーネル７４２も含み、カーネル７４２は、ＯＳ７３８用の機能の下層レベルを含み、メモリ管理、処理およびタスク管理、ディスク管理、ならびにマウスおよびキーボード管理を含む、ＯＳ７３８およびアプリケーション・プログラム７４４の他の部分によって必要な不可欠なサービスを提供することを含む。
【００２０】
アプリケーション・プログラム７４４は、ブラウザ７４６を含む。ブラウザ７４６は、ワールド・ワイド・ウェブ（ＷＷＷ）クライアント（すなわち、クライアント・コンピュータ７０２）がハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージングを使用してインターネットに対してネットワーク・メッセージを送信および受信できるようにするプログラム・モジュールおよび命令を含むので、サービス・プロバイダ・サーバ７５０と通信することができる。
【００２１】
クライアント・コンピュータ７０２のシステム・メモリ内のアプリケーション・プログラム７４４は、コンテキストに基づく層管理プログラム（ＣＢＬＭＰ）７４８も含む。ＣＢＬＭＰ７４８は、図３〜図７において上述のステップおよびＵＩを実施するための論理を含む。好ましい一実施の形態において、サービス・プロバイダ・サーバ７５０は、ＣＢＬＭＰ７４８のコピーも有し、当該コピーは、後述のように、サービス・プロバイダ・サーバ７５０によって実行されてもよいし、またはサービス・プロバイダ・サーバ７５０からダウンロードされてもよい。一実施の形態において、クライアント・コンピュータ７０２は、ＣＢＬＭＰ７４８をサービス・プロバイダ・サーバ７５０からダウンロード可能である。
【００２２】
クライアント・コンピュータ７０２に示すハードウェア要素は、網羅しているわけではなく、本発明によって必要とされる必須要素を強調するための代表的なものである。例えば、クライアント・コンピュータ７０２は、磁気カセット、デジタル多用途ディスク（ＤＶＤ）、ベルヌーイ・カートリッジなどの代替メモリ記憶装置を含んでもよい。これらおよび他の変形が本発明の精神および範囲内であることが意図されている。
【００２３】
上記のように、ＣＢＬＭＰ７４８は、クライアント・コンピュータ７０２へサービス・プロバイダ・サーバ７５０からダウンロードすることができる。この導入は、クライアント・コンピュータ７０２によって必要とされる場合にのみＣＢＬＭＰ７４８が導入されるという「オン・デマンド」に基づくやり方で行われてもよい。さらに注意すべきなのは、本発明の他の好ましい実施の形態において、サービス・プロバイダ・サーバ７５０は、本発明に関連するすべての機能（ＣＢＬＭＰ７４８の実行を含む）を行うので、クライアント・コンピュータ７０２がそのリソースを使用しなくてもよいようにする。他の実施の形態においては、上述の本方法の処理ソフトウェアのサービス・プロバイダ・サーバ７５０への導入は、他のサービス・プロバイダ・サーバ（図示せず）によって行われてもよい。さらに他の実施の形態においては、ＣＢＬＭＰ７４８が、Ｒｉｃｈ  Ｉｎｔｅｒｎｅｔ  Ａｐｐｌｉｃａｔｉｏｎ（ＲＩＡ）などのブラウザに基づくアプリケーションの使用を通じて実施されてもよい。このＲＩＡは、ブラウザ７４６において、好ましくはＡＪＡＸ（ＸＭＬを使用した非同期ＪａｖａＳｃｒｉｐｔ）などのＪａｖａＳｃｒｉｐｔの使用を通じて、実施されてもよい。
【００２４】
本発明の少なくともいくつかの局面は、プログラム製品を含む、コンピュータが使用可能な媒体において代替的に実施されてもよいことが理解されるべきである。本発明における機能を規定するプログラムは、様々な信号搬送媒体を介して、データ記憶システムまたはコンピュータシステムへ配信することができる。本信号搬送媒体は、非書き込み可能な記憶媒体（例えば、ＣＤ‐ＲＯＭ）、書き込み可能な記憶媒体（例えば、ハード・ディスク・ドライブ、読み出し／書き込みＣＤ‐ＲＯＭ、光学媒体）、ならびに、イーサネット（Ｒ）、インターネット、無線ネットワーク、および同様のネットワークシステムなどのコンピュータ・ネットワークおよび電話ネットワークを含むが、これらに限定されない。したがって、そのような信号搬送媒体は、本発明における方法機能を導くコンピュータが読み取り可能な命令を搬送または符号化している場合には、本発明の代替の実施の形態を表していることが理解されるべきである。さらに、本発明は、ハードウェア、ソフトウェア、もしくは本明細書において説明するようなソフトウェアおよびハードウェアまたはそれらの均等物の組み合わせの形態の手段を有するシステムによって実施されてもよいことが理解される。
【００２５】
よって、ここに開示するのは、コンテキストに基づく層を確立および使用するための、コンピュータが実施可能な方法、システム、およびコンピュータが読み出し可能な媒体である。コンテキストに基づく層は、ウィジェット中心であることに注意されたい。なぜなら、コンテキストに基づく層は、本明細書に記載のコンテキストに基づく層によってサポートされた任意のウィジェットによって呼び出すことが可能だからである。好ましい一実施の形態において、コンピュータによって実施された本方法は、視覚層キャンバス上に表示された視覚コントロール上のマウスの浮遊状態を検出するコンピュータを含む。視覚コントロールがコンテキスト層によってサポートされていると判断されたことに応答して、コンピュータは、視覚コントロールおよび要素アイコンを共にコンテキスト層キャンバス上に表示し、コンテキスト層は、上部視覚層および下部要素層の両方からの要素を含み、要素アイコンは、下部要素層からの各要素に関連付けられている。そして、コンピュータは、１つ以上の要素アイコンを選択するユーザ入力を受信する。そして、１つ以上の要素アイコンを選択するユーザ入力に応答して、コンピュータは、特性シートをコンテキスト層キャンバス上に提示する。特性シートは、選択された要素アイコンに関連付けられた要素の、ユーザが編集可能な特性を含む。そして、コンピュータは、ユーザが編集可能な特性を編集するユーザ編集入力を受信できる。
【００２６】
本明細書に説明された方法ステップは、コンピュータ・システムにおいて実施されてもよく、コンピュータが読み出し可能な媒体に記憶された命令によってさらに実行されてもよいことに注意されたい。
【００２７】
他の実施の形態において、本明細書に記載の方法が、コンピュータが読み出し可能な媒体上の記憶されたソフトウェアによって行われ、コンピュータが読み出し可能な媒体は、遠隔サーバの要素であり、コンピュータが実行可能な命令は、遠隔サーバからクライアント・コンピュータまたは監視コンピュータあるいはその両方へ導入可能である。この導入は、オン・デマンドに基づいて、サービス・プロバイダによってクライアント・コンピュータ（例えば、クライアント・コンピュータまたは監視コンピュータあるいはその両方）へ提供されてもよい。
【００２８】
本発明は、好ましい一実施の形態を参照して特に図示および説明してきたが、形式および詳細について様々な変更が本発明の精神および範囲を逸脱することなく行われてもよいことが、当業者によって理解されるだろう。さらに、明細書および添付の請求項において使用されているように、「コンピュータ」または「システム」または「コンピュータ・システム」または「コンピューティング・システム」または「コンピューティング装置」という用語は、任意のデータ処理システムを含み、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワーク・コンピュータ、メイン・フレーム・コンピュータ、ルータ、スイッチ、携帯情報端末（ＰＤＡ）、電話、およびデータを処理、送信、受信、取り込み、または記憶あるいはそれらすべてが可能な任意の他のシステムを含むが、これらに限定されない。
【図面の簡単な説明】
【００２９】
【図１】統合開発環境（ＩＤＥ）の上層視覚層上の複数のウィジェットを示す従来技術のグラフィカル・ユーザ・インターフェース（ＧＵＩ）を示す。
【図２】互いに異なるが明確な相互関係の手がかりを有しない、図１に示すウィジェット用の基礎コードを示すＧＵＩを示す。
【図３】コンテキスト層に基づくソフトウェア開発プログラムにおけるコンテキスト層を示す。
【図４】新規のコンテキスト層に基づくソフトウェア開発プログラムにおいてウィジェットを作成するために取られるステップ例の高レベルのフローチャートである。
【図５】視覚層キャンバス上に表示されている、新規のコンテキスト層に基づくソフトウェア開発プログラムにおいて作成されたウィジェットを示す。
【図６】コンテキスト層キャンバス上に表示されている、新規のコンテキスト層に基づくソフトウェア開発プログラムにおいて作成されたウィジェットを示すと共に、ウィジェットの視覚および非視覚サポート要素を動的に示す。
【図７】ウィジェットのサポート要素を表示および操作するために取られるステップ例の高レベルのフローチャートである。
【図８】本発明が実施されうるコンピュータ例を示す。
【符号の説明】
【００３０】
２０２  ＧＵＩ
２０４  コンテキスト層キャンバス
２０６  ウィジェット
２１０ａ〜２１０ｄ  要素アイコン
【図１】
2008282392.tif 000003
【図２】
2008282392.tif 000004
【図３】
2008282392.tif 000005
【図４】
2008282392.tif 000006
【図５】
2008282392.tif 000007
【図６】
2008282392.tif 000008
【図７】
2008282392.tif 000009
【図８】
2008282392.tif 000010