JP2013546109A - 図の作成、編集およびナビゲーション - Google Patents

図の作成、編集およびナビゲーション Download PDF

Info

Publication number
JP2013546109A
JP2013546109A JP2013544854A JP2013544854A JP2013546109A JP 2013546109 A JP2013546109 A JP 2013546109A JP 2013544854 A JP2013544854 A JP 2013544854A JP 2013544854 A JP2013544854 A JP 2013544854A JP 2013546109 A JP2013546109 A JP 2013546109A
Authority
JP
Japan
Prior art keywords
user
domain
user input
data
computer
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
Application number
JP2013544854A
Other languages
English (en)
Other versions
JP2013546109A5 (ja
JP6027541B2 (ja
Inventor
ケー.ジェーコブセン ジンズ
ハーン サディ
アルン ジョーンズ ガレス
エドワード ギブソン タイラー
ダグラス デ マー スティーブン
ジュード バーン アンドリュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013546109A publication Critical patent/JP2013546109A/ja
Publication of JP2013546109A5 publication Critical patent/JP2013546109A5/ja
Application granted granted Critical
Publication of JP6027541B2 publication Critical patent/JP6027541B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

空間的な意義を有するデータを編成する。方法は、ユーザーインターフェースで、空間的に構造化されたデータの表現をユーザーに対して表示するステップを含む。ユーザー入力は、一つまたは複数のハードウェアユーザーインターフェース装置を通じて、コンピューター実装のユーザーインターフェースで受信される。ユーザー入力は、ドメイン非依存であるが、空間的な意味合いを有する。ユーザーインターフェースで表示された、既存の構造化されたデータに基づいて、ユーザー入力のドメインを決定する。決定されたドメインに基づいて、ユーザー入力はドメイン固有の応答に解釈する。ドメイン固有の応答は、複数のドメインにわたり空間的な意味合いで一致する。

Description

コンピューターおよびコンピューティングシステムは、現代生活のほぼ全ての局面に影響を与えている。コンピューターは、一般的に、仕事、レクリエーション、ヘルスケア、交通、エンターテインメント、家政等に関する。
多くのコンピューターは、コンピューターとの直接のユーザー対話によって使用されることが意図される。そのため、コンピューターは、ユーザー対話を促進するために、入力ハードウェアおよびソフトウェアユーザーインターフェースを有する。例えば、現代の汎用コンピューターは、ユーザーがコンピューターにデータを入力することを可能にするために、キーボード、マウス、タッチパッド、カメラ等を含むことができる。加えて、様々なソフトウェアユーザーインターフェースが利用可能であり得る。
ソフトウェアユーザーインターフェースの例は、グラフィカルユーザーインターフェース、テキストコマンドラインベースのユーザーインターフェース、ファンクションキーまたはホットキーのユーザーインターフェース等を含む。
既存のまたは現在のツールを使用して、システムアーキテクチャ図を作成することは、たいてい時間がかかり、面倒である。コンテンツを作成するために、ユーザーは、マウス(例えば、ノードおよびリンクを作成する等のため)とキーボード(例えば、ノードおよびリンクに名前を付け、メンバーをノードに追加する等のため)の間で絶えず切り替え、再びマウスに戻らなければならない(例えば、図中の他のノードおよびリンクに関してノードおよびリンクの位置を微調整し、または、新しいノードおよび/もしくはリンクの追加に適応させるために、複数のノードおよびリンクを再配置するため)。開発者にとって、このことは、開発者が設計を探求することを試みる間、思考の流れの断続的な妨げとなる可能性がある。
この断続的なモード切り替えに対処するために、システムは、ノードおよびリンクを作成するためのキーボードショートカットを含むことができる。しかしながら、従来のシステムでは、これは非実用的である。第一に、UML等の複雑なドメインにおいては、関係するタイプの膨大な数は、そのタイプ全てについて意味あるキーボードショートカットを作成すること、言うまでもなく覚えること、を難しくしている。第二に、レイアウトはアーキテクチャ図において重要ではなく、それ故、完全に自動的なレイアウトは、たいてい非実用的である。従来のシステムは、ノードおよびリンクの位置調整について、非常にきめ細かい制御をユーザーに提供することによって、これを解決する。しかしながら、ほとんどの場合において、ユーザーは、意味を伝えるために、「上の(above)/下の(below)」、「と共にグループ化された(grouped with)」および「の隣に(next to)」等の、明確な関係を使用して、広義のレイアウトについて考えることを望んでいる。ユーザーにとって、詳細なレイアウトを微調整するための機能は、このためにわずかに有用であり、現在のシステムにおける断続的なモード切り替えの原因の一つである。さらに、これは、手描きのホワイトボードから、より洗練されたコンピューター実装の作図ソリューションへの移行を希望する人々のための、障壁として見られているという形跡がある。
本明細書で特許請求された保護対象は、何れの欠点を解決または上述したような環境においてのみ動作する実施形態に限定されない。むしろ、この背景は、本明細書に記載されるいくつかの実施形態が実施され得る一つの例示的な技術分野を示すためにのみ提供される。
本明細書に示された一つの実施形態は、コンピューティング環境において実施される方法を含む。方法は、空間的な意義を有するデータを編成するための動作を含む。方法は、ユーザーインターフェースに、空間的に構造化されたデータの表現を、ユーザーに対して表示することを含む。ユーザー入力は、一つまたは複数のハードウェアユーザーインターフェース装置を通じて、コンピューター実装のユーザーインターフェースで受信される。ユーザー入力は、ドメインに非依存であるが、空間的な意味合いを持っている。ユーザーインターフェースに表示された既存の構造化されたデータ、または以前のユーザーアクションに基づいて、ドメインは、ユーザー入力に対して決定される。決定されたドメインに基づいて、ユーザー入力は、ドメイン固有の応答に解釈される。ドメイン固有の応答は、複数のドメインにわたる空間的な意味合いで一致する。
この概要は、以下の発明の詳細な説明でさらに説明される概念の選択を簡略化された形式で紹介するために設けられている。この概要は、特許請求された保護対象の重要な特徴または主要な特徴を特定することを意図しておらず、特許請求された保護対象の範囲を決定する際に一補助として使用されることを意図している。
追加の特徴および利点は、以下の発明の詳細な説明に記載され、一部は発明の詳細な説明から明らかとなり、または本明細書の教示を具現化することにより理解することができる。本発明の特徴および利点は、添付の特許請求の範囲において特に指摘された手段および組み合わせによって実現し得ることができる。本発明の特徴は、以下の発明の詳細な説明および添付の特許請求の範囲からより完全に明らかとなるか、または以下に記載される本発明の実施によって理解することができる。
上述ならびに他の利点および特徴を得ることができる態様を説明するために、簡単に上述した本発明のより具体的な説明は、添付された図面において図示される特定の実施形態を参照することによってレンダリングされる。これらの図面は典型的な実施形態のみを示し、そのために本発明の技術的範囲を限定するとみなされるべきではないことを理解し、実施形態は添付の図面の使用を通じて、さらに具体的かつ詳細に記述および説明される。
図1は、様々なジェスチャ、コマンド、および図ドメインのテーブルを示している。 図2Aは、クラス図を示している。 図2Bは、クラス図に対して継承クラスを追加することを示している。 図3Aは、アクティビティ図を示している。 図3Bは、アクティビティ図に対してアクションを追加することを示している。 図4Aは、アクティビティ図を示している。 図4Bは、アクティビティ図における要素タイプを変更する部分を示している。 図4Cは、アクティビティ図における要素タイプを変更する部分を示している。 図4Dは、アクティビティ図における要素タイプを変更する部分を示している。 図4Eは、アクティビティ図における要素タイプを変更する部分を示している。 図5Aは、アクティビティ図におけるリンクを作成する部分を示している。 図5Bは、アクティビティ図におけるリンクを作成する部分を示している。 図5Cは、アクティビティ図におけるリンクを作成する部分を示している。 図5Dは、アクティビティ図におけるリンクを作成する部分を示している。 図6は、アクティビティ図をナビゲートすることを示している。 図7は、空間的な意義を有するデータを編成する方法を示している。
いくつかの実施形態は、詳細なレイアウトを扱うために、ユーザーの作業を中断することなく、ユーザーが図を作成する流れに留まることを可能にするために、ドメインおよび/またはコンテキストに基づいて、スマートキーボードショートカット、半自動レイアウトならびに自動制約ガイダンスヒントの組み合わせを使用することができる。一つの実施形態のシステムは、ユーザーにピクセル毎のレイアウトを管理する負担をかけることなく、現在のノードの上、下、内のような意味的に重要な位置に、新しいノードを配置する一貫性のある方法を、ユーザーに提供するコマンドの組み合わせを実現することができる。これは、名前や署名を入力している間、要素タイプを設定するために、インテリセンス(IntelliSense)等の、指示コンテキストおよび/またはドメイン固有の制約ガイダンスと組み合わされ、詳細なレイアウトを扱うために、ユーザーが自身の作業を中断する必要なく、図を作成する流れの中に留めさせるシステムに、結果的になる。追加的または代替的に、実施形態は、リンクを介して図を簡単にナビゲートする機能を含むことができる。
いくつかの実施形態は、様々なジェスチャを通じてアクセス可能である、標準方向コマンドが、図または他の空間的に構造化されたデータ内において、現在の要素の、上、下、左、右、または内部の要素を作成するために使用されることができる機能を実装する。方向コマンドは、コマンドと関連付けられた方向に普遍的な意味があるので、ドメインに関係なく、同じまま留まり、例えば、デフォルトで作成された要素タイプを決定するために、ドメインナレッジと組み合わされることができる。
いくつかの実施形態は、図および/または他の空間的に構造化されたデータに適用することができる。上述の通り、実施形態は、例えば、システムアーキテクチャの青写真を、UML図を使用して作成するために使用されることができる。実施形態は、フローチャート図が使用されてもよい。特に、実施形態は、図においてノードとコネクタを配置するために使用されることができる。実施形態は、物理的オブジェクト空間レイアウトのために、使用されることができる。例えば、実施形態は、物理的オブジェクトを、他の既存の物理的オブジェクトに関して図示するために使用されることができる。実施形態は、データベースまたは他のテーブルのために使用されることができる。例えば、実施形態は、データベースオブジェクトの依存関係または相互関係を定義するために使用されることができる。
上述の通り、実施形態は、様々なジェスチャを使用しても良く、当該ジェスチャはドメインに関係なく同じである。例えば、いくつかのジェスチャは、キーボードジェスチャを使用して実装されることができる。キーボードジェスチャ例は、インフォーカスエンティティ(in focus entity)の下に、新しいノードまたはオブジェクトを作成するために「Enter」、インフォーカスエンティティの左に新しいオブジェクトを作成するために「Ctrl−L」、インフォーカスエンティティの右に新しいオブジェクトを作成するために「Ctrl−R」、インフォーカスエンティティの上に新しいオブジェクトを作成するために「Ctrl−U」、インフォーカスエンティティの内側に新しいオブジェクトを作成するために「Ctrl−N」を含むことができる。特に、キーボードジェスチャ(または、下記のように他のジェスチャ)は「方向」に類似する感覚はあるものの、異なるドメインで異なる結果を生成する。例えば、自動車の場合の電気回路レイアウトを設計する際に、Ctrl+Uはその自動車のフロントヘッドライト用の直交レイアウトに回路を追加することができるが、UMLクラス図の場合には、Ctrl+Uはベースクラスを追加することができる。双方の場合においても、図の要素は適切に配置される。一つの共通性は、実施形態が、方向の意味合いを取り、それを特定のドメインに適用し、ユーザーにピクセル毎の変化を作らなければならない負担を軽減することである。
代替的な実施形態において、マウスジェスチャを使用することができ、当該ジェスチャはドメインに関係なく同じである。マウスジェスチャの例は、インフォーカスエンティティの下に新しいノードまたはオブジェクトを作成するために下向きのマウスフリック、インフォーカスエンティティの左に新しいオブジェクトを作成するために左のマウスフリック、インフォーカスエンティティの右に新しいオブジェクトを作成するために右のマウスフリック、インフォーカスエンティティの上に新しいオブジェクトを作成するために上向きのマウスフリック、インフォーカスエンティティの内側にオブジェクトを作成するためにエンティティについてほぼ円の動きを含むことができる。
代替的な実施形態において、タッチパッドまたはタッチスクリーンのジェスチャを使用することができ、当該ジェスチャはドメインに関係なく同じである。タッチパッドまたはタッチスクリーンのジェスチャの例は、インフォーカスエンティティの下に新しいノードまたはオブジェクトを作成するために下向きのタッチパッドまたはタッチスクリーンフリック、インフォーカスエンティティの左に新しいオブジェクトを作成するために左のタッチパッドまたはタッチスクリーンフリック、インフォーカスエンティティの右に新しいオブジェクトを作成するために右のタッチパッドまたはタッチスクリーンフリック、インフォーカスエンティティの上に新しいオブジェクトを作成するために上向きのタッチパッドまたはタッチスクリーンフリック、インフォーカスエンティティの内側にオブジェクトを作成するためにエンティティについてほぼ円の動きを含むことができる。
代替的な実施形態において、人体追跡ジェスチャを使用することができ、当該ジェスチャはドメインに関係なく同じである。例えば、様々なツールは、コンピューティングシステムによって追跡することができるハンドヘルドコントローラの使用のように、腕の動きを追跡するために存在する。ジェスチャは、例えば、赤外線移動追跡装置等の、加速度計および/またはコントローラ追跡装置によって感知されるように、コントローラの動きに基づいてもよい。
あるいはまた、他のコンピューティングシステムは、人間の手足および四肢を認識し、その動きを追跡するために、カメラを使用することができる。当該手足または四肢の動きのジェスチャの例は、インフォーカスエンティティの下に新しいノードまたはオブジェクトを作成するために下向きの手足または四肢の動きをフリック、インフォーカスエンティティの左に新しいオブジェクトを作成するために左の手足または四肢の動きをフリック、インフォーカスエンティティの右に新しいオブジェクトを作成するために右の手足または四肢の動きをフリック、インフォーカスエンティティの上に新しいオブジェクトを作成するために上向きの手足または四肢の動きをフリック、インフォーカスエンティティの内側にオブジェクトを作成するためにエンティティについてほぼ円の手足または四肢の動きを含むことができる。
ジェスチャは、コンピューティング装置において、加速度計によって感知されるように、コンピューティング装置の動きに基づくことができる。例えば、多くのタブレットコンピューティング装置は、二つまたはそれ以上の軸について動きの速度および方向を測定するために、加速度計を含む。タブレットを後部のレベル位置へ傾けることによって上向きとなったタブレットのトップの突然の傾きは、インフォーカスエンティティの下に新しいノードまたはオブジェクトを作成するために使用することができる。レベリングによって起きた突然の左への傾きは、インフォーカスエンティティの左に新しいオブジェクトを作成するために使用することができる。レベリングによって起きた突然の右への傾きは、インフォーカスエンティティの右に新しいオブジェクトを作成するために使用することができる。レベリングによって起きたタブレットのトップの突然の下向きの傾きは、インフォーカスエンティティの上にオブジェクトを作成するために使用することができる。タブレットの振動または多少の円の動きは、インフォーカスエンティティ内部にオブジェクトを作成するために使用することができる。
さらに他の実施形態は、オブジェクト作成のための、音声コマンドを使用することができる。例えば、一つの非限定的な例において、当該音声コマンドの例は、インフォーカスエンティティの下に新しいノードまたはオブジェクトを作成するために「ダウン(Down)」、インフォーカスエンティティの左に新しいオブジェクトを作成するために「左(Left)」、インフォーカスエンティティの右に新しいオブジェクトを作成するために「右(Right)」、インフォーカスエンティティの上に新しいオブジェクトを作成するために「アップ(Up)」、インフォーカスエンティティの内部にオブジェクトを作成するために「追加(Add)」を含むことができる。
前述のように、コマンドは、多数の方法で呼び出すことができる。コマンドは、位置および方向に関して集中しているが、マウス、ペン、タッチ、マルチタッチ、またはコマンドが簡単に、適切なジェスチャにマッピングされることができる他のコマンドモードを可能にするシステムであり、これらのコマンドモードは、ドメインを横断することができる自然なジェスチャを作成することに非常に適している。例えば、ユーザーは、形状から上向きのフリックを作り、その上に関係した形状を作成するために指を使用することができ、またはアクティブなノードのおおよそ上の位置にノードを描くために、まさに実際にジェスチャをすることができる。
前述のように、実施形態は、ドメインから独立したコマンドまたはジェスチャを使用し、およびそれらをドメイン固有の方法に適用することができる。例えば、図1を参照すると、テーブル100には、異なる種類の図、図中で選択され得るエンティティ、ドメインから独立しているキーボードのジェスチャ、ならびに特定の図および選択を与えられた、所定のキーボードジェスチャを使用する結果の例が示されている。
実施形態は、発生する可能性のある競合を解決しながら、ユーザーが作成したように、要素の配置や間隔を微調整する、半自動レイアウトのための機能を、さらに含むことができる。ユーザーは、次いで、手作業で自由にレイアウトを変更することができるが、システムによって、そのようにする必要性を大幅に減らすことができる。図2を参照すると、この機能の例が示されている。図2Aは、「動物」クラス202を示している。継承「猫」クラス204は、「IS−A」関係を通じて動物クラス202に関連付けられる。ユーザーは、望むなら、動物クラス202の下に「犬」継承クラスを作成することもできる。これを行うために、ユーザーは、動物クラス202にフォーカスをもたらすように、動物クラス202を選択することができる。図2Bに示されるように、ユーザーは、次いで、選択されたオブジェクトの下に、新しいオブジェクトを配置するためのコマンドとして解釈され得る「Enter」キーを押下すること等によって、動物クラス202の下に、新しいクラス206を作成するジェスチャを行うことができる。このように、クラス図のドメインのために、および動物クラス202を選択したコンテキストにおいて、新しい継承クラス206を、動物クラス202の下に作成することができる。図2Bに示されるように、猫クラス204は、新しい継承クラス206のための領域を確保するために、自動的に移動されることができる。
実施形態は、ある特定の形状を移動させることができない場合、またはジェスチャ自体が、簡単なバンプ(bump)ではなく、むしろ追加されることが必要である形状の複雑なセットである場合に、様々なスタイルで様々な方法において、形状のセットをルーティングすることが可能なエッジ接続を確実化するために、エッジのインテリジェントルーティングを実行することができる。例えば、実施形態はスプラインルーティング、直交ルーティング等を実装することができる。
加えて、いくつかの実施形態は、増分レイアウトを実行するように実装することができる。具体的には、変化が段階的に発生し、そして最小限の変化のセットがグラフ化される。いくつかの実施形態においては、これを実行することができ、故に、ユーザーは、レイアウトがかなり安定していることを認識する。
図2Bは、唯一のユーザー入力がオブジェクトを移動、配置、または接続すべき場所を指定する、何れの追加入力をすることのないコンテキスト独立コマンド(すなわち、Enterキーの押下)の使用であった場合の例を示している。ユーザーがそのように望む場合、実施形態は、その後、自動移動での移動を可能にすることができる。
上述の例において示されるように、新たに作成された要素は、コンテキストに基づいて、自動的にタイプを付与されることができる。例えば、図2Aおよび2Bに示された例においては、動物クラス204が選択されたので、システムは、ジェスチャが、クラスのコンテキストにおけるクラス図のドメインにおいて、解釈されるべきであることを認識している。したがって、Enterキーの押下によって、継承クラス206が、選択された動物クラス202の下に作成される。これは、ドメインに基づいて、新たな要素が「タイプ」「クラス」であることを示す。さらに、実施形態は、元の要素と新しい要素との間の関係を推測し、ならびに関係が追加の一つであることを示すために、リンクを追加することができる。
様々な他の特徴は、以下でより詳細に示されるように、様々な実施形態において実装されることができる。しかしながら、そのような特徴の部分的な列挙は、ユーザーが、キーボードで入力してその名前にタイプを加えることにより、簡単に要素のタイプを変えること、名前を入力する間にタイプを選択することにおいてユーザーを支援する、インテリセンス(IntelliSense)またはニーモニックス(mnemonics)等の、ガイドおよび制限付きのヒント、インテリセンスのような、ガイドおよび制限付きのヒントを使用するリンク作成、ならびに、ノードを作成することと同様に、一貫したスキームを使用してキーボードでそれらリンクを介して図をナビゲートすること、を可能にすることを含む。実施形態は、コードのドメインにおける、インテリジェントなジェスチャの使用を可能にするために、コードの固有ドメイン用のカスタムデータベースバックエンドを使用する機能を含んでもよい。例えば、ジェスチャは、示されたクラスの継承、メソッド間のポリモーフィズム(多様性)等において使用されることができる。
様々な例が示される。第一の例は、自動タイプシステムおよび増分レイアウトによってサポートされた、要素を作成するための空間コンテキストを有する、ドメイン非依存のコマンドの使用を示す。この例では、コンテキストは、ノードおよびリンクを含むユーザー作成図を含む。この特定の例では、UMLアクティビティ図が示されるが、本例においても、何れのノードおよびリンク図に一般化されることができる。
実施形態は、現在の選択に関連する、意味論的に(semantically)意味ある位置において要素を作成するために、キーボード、マウス、および/または他のジェスチャからアクセス可能な標準的なコマンドのセットを含むことができる。例として、意味論的に意味のある位置が含まれるかもしれないが、現在の要素の上、下、左、右または内に制限されない。実施形態は、ソース要素(例えば、選択された要素またはインフォーカス要素)および他の既存の要素に関連するジェスチャを使用して、コマンド起動によって作成されることとなった新しい要素を、レイアウトするための機能を含んでも良い。実施形態は、ドメインおよび固有のコンテキストによって引き起こされた要素に対して、タイプを自動的に割り当てることができる。
実施形態は、ユーザーコマンドが、ドメインに関係なく同じ状態で実装されることができる。なぜならば、各ドメインにおいて必ずしも同じである必要はないが、方向は普遍的に意味があるためである。この方法では、ユーザーが、多くのドメインにわたって同様のタスクを実行する、一貫した方法を有する。上記した様に図1は、コマンドおよびジェスチャの標準セットは、異なるドメインにわたって同様のタスクを実行するために使用されることができることを示している。
図3は、一つのシナリオ例の一部を例示する。図3Aにおいて、ユーザーは、通常のツールボックスを使用して、ノード302を作成することができる。本明細書に示された例において、ノードは単一ノード、ノードのセット、子ノードのセットを有するコンテナ、コンパートメント形状等のコンポジット形状、当該コンパートメント形状は、その中にメソッド毎に行(row)を有するクラス形状であるが、上記の組み合わせ等であってもよい。ツールボックスは、ユーザーに対して提示するユーザーインターフェース要素を含むことができ、当該ユーザーインターフェース要素では、ユーザーは、ユーザーインターフェースとの対話をするために、マウスおよびキーボード等のハードウェア装置との対話をすることができる。ユーザーは、ノード302のために、図タイプおよび要素タイプを選択することができる。ユーザーは、望むなら、元のノード302の下に直接、次のノードを作成することができる。図3Aは、ユーザーが対話することができる、一つのユーザーインターフェース表示を示す。図示された例において、ユーザーは、ノードの周囲で各方向を指す4つのコントロール304−1、304−2、304−3および304−4を見る。図示された例において、ユーザーは、下向きを指すコントロール304−4の上に、マウスポインタ306を置く。ツールチップ308は、ユーザーが、コントロール上でクリックする代わりに、Enterキーを使用できることをユーザーに伝える。本例において、コントロール304−1上にマウスポインタを置くことは、「Ctrl−R」を押下することによって、新しいアクションが作成され得ることを、ツールチップによってユーザーに示すことができる。コントロール304−2上にマウスポインタを置くことは、「Ctrl−R」を押下することによって、新たなアクションが作成され得ることを、ツールチップによってユーザーに示すことができる。コントロール304−3上にマウスポインタを置くことは、「Ctrl−L」を押下することによって、新たなアクションが作成され得ることを、ツールチップによってユーザーに示すことができる。ユーザーは、コントロール上にマウスを置く必要はないかも知れないが、ジェスチャが何の動作をするかを、既に知っている可能性がある。さらに、タッチスクリーン、マウス、モーションセンシングシステム等の、他のインターフェースを用いて、ツールチップは、インターフェース環境に依存する、異なるジェスチャを示すことができる。
本実施例において、ユーザーがEnterを押下し、および新しいノード310が、図3Bに示されるように、連結関係の有無にかかわらず作成される。どのタイプの要素および関係が作成されたかは、図のタイプ、ジェスチャがどこから開始されたか、ジェスチャが開始されたノード、コマンドの方向、および/またはユーザーのお気に入りおよび/または最近のアクティビティから派生する。この例において、ドメインはアクティビティ図であり、故に新しいノード310のためのデフォルト要素はアクションである。アクションは、ほとんどの場合、コントロールフローによって接続されるが、コントロールフローは自動的に作成される。アクティビティ図において、最も一般的なフロー方向は下向きなので、コントロールフローは、新しい要素を指している。代替の実施形態において、この場合における、方向を決定する一つの方法は、フローが、既存のノードから新たしく作成されたノードに対して、常に向かうということである。これにより、デフォルトのリンク方向が、ドメイン、選択、ジェスチャ等によっても決定される実施形態を実装することができる。
いくつかの実施形態においては、一旦ノードまたはリンクが置かれると、ユーザーは、方向またはリンクのタイプを変更するための、非常に簡単な方法が与えられ得る。例えば、ユーザーは、スマートタグ等を使用または変更することができる。
様々な実施形態において、要素ノード310の配置に係る自動配置は、様々な要因によって決定されることができる。例えば、コマンドの方向によって、配置が決定されることができる。自動アライメントおよび間隔のための追加の考慮事項は、図のタイプおよびそのドメインおよび/またはユーザーのお気に入りに基づいた、レイアウトエンジンにおける制約に基づくことができる。ユーザーお気に入りは、ユーザー設定において予め指定されることができる。あるいはまた、ユーザーお気に入りは、過去のユーザー対話に基づいて推定されることもできる。自動レイアウトは、手作業でレイアウトを定義しなければならないことから、ユーザーを解放することができる。しかしながら、実施形態は、ユーザーが、自動レイアウトを使用して配置された要素の配置を、さらに修正または「微調整(tweak)」することを可能にする機能を含むことができる。
実施形態は、以前のシステムと区別される、様々な新規な特徴を有することができる。
具体的には、実施形態は、コンテンツおよびダイアグラムタイプにわたる、コマンドおよびジェスチャの一貫したセットを実装することができる。実施形態は、システムが、多数のドメインにわたって一貫しておよび有用であることが可能なように、ドメイン、ターゲット、方向、ユーザーお気に入り等に基づいて、どの要素を作成するかおよびそのタイプを決定するための、自動システムを含むことができる。実施形態は、ドメイン固有の制約の下に動作される、自動増分レイアウトを含むことができるが、当該自動増分レイアウトにより、コマンドが、図のタイプに応じて、類似しているものの、ドメイン固有の結果を与えることができる。
他の機能を示す、別の例を図示すると、実施形態は、現在のドメインによって制限されるプロンプトを使用して、要素のタイプを迅速に設定する、システムを実装することができる。例えば、ユーザーは、図を設計することができる。ユーザーは、コマンドおよびジェスチャを使用すると、場合によっては、ユーザーは要素のタイプを変更し、またはさらに指定することを望む。あるいはまた、設計プロセスの一部として、ユーザーが最初に作成したタイプを変更する必要があることを発見するかもしれない。
実施形態は、現在のコンテキスト、およびこのコマンドに対する新規のエントリポイントのセットに基づいて、要素のタイプを設定するために、コマンドを実行する機能を含むことができる。いくつかの実施形態は、ニーモニックス、またはインテリセンス等の、制約ヒントモジュールを使用して、その名前をタイピングする間に、ユーザーが、要素のタイプを指定することができるシステムを実装することができる。実施形態は、さらに、マウスホイールまたはコンテキストメニューのようなジェスチャが、この機能を呼び出すために使用されることができるように、実装され得る。
図4Aを参照すると、一例が示されている。図4Aに示された例は、ユーザーが、下方作成コマンドを使用するために、入力ハードウェアとの対話によって、現在のノード402の下に、新しいアクションノード404を作成したことを示す。ユーザーは、このノードを決定形状とすることを望む。図4Bに示されたように、ユーザーは、新しいアクションノードが選択されているか、および/またはインフォーカスの間、タイピングを開始する。ドロップダウン406は、一つまたは複数のドメイン制約のヒント、あるいは提案を提供するように現れる。ユーザーが、タイピングした最初の文字は「d」であるが、リストは、このドメインにおいて「d」で始まる使用可能なタイプまで、フィルタリングされる。上述の通り、提案リストは、ドメインに基づいて制約されてもよい。このように、この例において、図4Aおよび図4Bにおいて示された特定のドメインのために、唯一の適切な提案が提供される。
上述の通り、ユーザーは、要素のタイプを決定するように変更することを望み、そしてTabキーを押下すると、図4Cに示されるように、これにより自動的に単語を完成させることができる。ユーザーは、次いで、図4Dに示されるように、この例では形状フー(Fuu)の名前を追加し、そしてReturnまたはEnterを押下する。この時点で、図4Eに示されるように、形状は決定形状に変換される。
タイプ選択のために、代替的なジェスチャを使用することができる。例えば、ユーザーがマウスを使用することを好む場合は、ユーザーは、その形状の上でクリックし、およびマウスのスクロールホイールを使用して、このコンテキストのために使用可能なタイプのセット内をスクロールすることによって、タイプ選択コマンドをキーストロークの代わりに呼び出すことができる。
実施形態はまた、より簡単な機能を実装することができる。例えば、システムは、決定(Decision)のためのd等のニーモニックスを入力する、ワードプロセッサにおけるように、オートコンプリートシステムを使用して構築されることができ、アクション(Action)のためのa等は、ユーザーが、「d<name>」とタイピングすることによって、要素のタイプを変更し、次いで、「Decision<name>」として自動的に解釈させ、およびこれにより、タイプを変更させることを可能にする。いくつかのこのような実施形態はまた、新しい要素がグラフ上でどのように見えるかのプレビューを表示する機能を、含むことができる。例えば、ユーザーが「d」をタイピングするとき、および「d」の選択を永続的なものとする前に、決定要素のプレビューは、決定要素が適切な所望のタイプであるか否かを決定する際に、ユーザーの助けとなるように、適切な場所に、グラフ上に表示されてもよい。
リンク作成は、しばしば、現在のツールでマウスを使用してよくサポートされる。しかしながら、現在実装された多くのシステムは、リンクが長い距離にわたって作成される必要があるとき、またはユーザーが、キーボードを使用して図を編集する流れにあるときに関連する欠点を有する。
いくつかの実施形態は、ユーザーが、リンク作成ツールを起動し、そして、キーボードのみを使用して、新しいリンクを定義することができる。システムは、インテリセンス等の制約された提案システムを使用して、ユーザーがタイピングするコンテキストのための、ドメイン固有のタイプ、方向およびターゲットのリストをユーザーに提供し、ユーザーが、どのようにリンクが定義されるかをすぐに特定することを可能とする。
図5Aを参照すると、一例が示されている。図5Aにおいて、ユーザーは、キーボードまたは他の入力装置から、ジェスチャを使用して、ノード502について「add link」コマンドを呼び出す。コントロール504は、既に展開された、ドメイン制約ドロップダウン506と共に現れる。図5Bに示されるように、ユーザーがタイピングすると(この場合、文字L)、リストは、ドメイン制約提案を使用して、通常通りにフィルタリングされ、そしてTabを押下することによって、ユーザーは、図5Cにおいて示されたように、選択された要素をオートコンプリートすることができる。ユーザーは、リンクのタイプ、方向、およびどの他のノードへのリンクか/他のノードからのリンクかをタイピングすることができる。ステートメントが完了され、およびユーザーがEnterを入力すると、リンクは図5Dにおいて示されるように作成される。
実施形態はさらに、サーチおよびリンクナビゲーションを使用して、図の迅速なナビゲーションを含むことができる。コードからエンジニアリング図にリバースしてコードの設計および解析のためにエンジニアリング図を使用するためのシステムは、より活用できるようになっており、より一般的になってきているので、ソフトウェアアーキテクチャ図は、多くの要素の数を伴い、より大きくなる傾向にある。既存のシステムを使用して作成された図は、図が大きくなるにつれて、ナビゲートすることが難しくなる。ナビゲーションはたいてい、リストまたはフォームをナビゲートするために、従来のキーボードスキームに基づいている。これは、小さな図において隣接するノードにナビゲートするときには適切かもしれないが、ユーザーはたいてい、現在の位置から大きくジャンプする必要があるか、または、ユーザーは、その点について言えば、それらのノードが隣同士でなくとも、もしくはお互いに近接していても、一つのノードから別のノードへのリンクを辿ることを望む。
いくつかの実施形態は、上述のノードを作成するためのシステムからの原理を使用して、リンクをナビゲートするシステムを実装することによって、これらの課題を克服することができる。例えば、実施形態は、上、下、左、右に続くリンクをナビゲートするコマンドのセットを含むことができる。システムは、次いでその方向に進むノードに接続された、最初のリンクを選択する。もう一度同じコマンドを発行することによって、リンクの他端のノードが選択される。
ノードが、コマンドの方向に接続された複数のリンクを有する場合、ドロップダウンが現れ、ユーザーが、それらのリンクまたは所望されるそれらのターゲットノードの、別の一つを選択することを可能にする。図6Aを参照すると、一つの例が示されている。図6Aにおいて示された例において、ユーザーは、決定形状602からアクション3(604)に対して、ナビゲートすることを望むことができる。例えば、ジェスチャを使用することによってなど、ユーザーは、右へのリンクをナビゲートするためにコマンドを呼び出すことができる。本例において、ユーザーは、「Ctrl−−>」キーボードジェスチャを使用して、右へのナビゲーションを示すことができる。ユーザーが、右へのリンクをナビゲートするコマンドを呼び出す時、アクション1(606)に対するリンクは、選択される最初のリンクであることが起こり得る。しかし、アクション3(604)はまた、決定形状602と同じ側から接続されているので、ドロップダウン606においても現れる。ユーザーは、次いでキーボードまたは他のジェスチャを使用して、アクション3(604)を選択し、およびそれを選択したことをコミットすることができる。
実施形態は、キーボードまたは他のハードウェア入力装置を使用して、名前または他のコンテンツ(操作の名前またはクラス形状内部の属性等)によって、ノードに対して直接ナビゲートするための機能を含むことができる。実施形態は、増分サーチを使用することができ、名前を付与された要素に対して直ちに向かうための方法として、図の中で使用することができる。例えば、ユーザーは増分サーチコマンドを呼び出す。すると、サーチコントロールが現れる。ユーザーがタイピングすると、現在の文字列を包含するノードが強調表示される。ユーザーがさらにタイピングすると、ユーザーは、ユーザーが探しているノードに絞り込んで、リターンキーを押下すことができる。そしてこのノードが選択される。同様の機能は、リンクラベル、およびコンテナに同様に適用されることができる。
以下の検討は、実行され得る多くの方法や方法動作を参照する。当該方法動作は、ある特定の順序で検討され、または特定の順番において発生するとしてフローチャートに示されることができるが、動作は、その動作が実行される以前に完了される、別の動作に依存するので、特定の順序は、特に言及または要求がない限り必要とされない。
図7を参照すると、方法700が示されている。方法700は、コンピューティング環境において実施されることができ、および空間的な意義を有するデータを編成する動作を含むことができる。例えば、グラフや図は、空間的な意義を有するデータの一例である。お互いのノードの位置および/またはノードを接続するコネクタは、ノードによって表されるデータの意味を定義するために役立つ。空間的な意義を有する他のデータは、空間的な位置決めが階層内における位置を示す、階層データを含むことができる。このような階層データは、データベース、テーブル等に含まれることができる。ここでは列挙されないが、他のタイプのデータは、空間的な意義を有してもよく、およびここでの例は包括的であることを意図するものではない。
方法700は、ユーザーインターフェースで、空間的に構造化されたデータの表現をユーザーに対して表示することを含む(動作702)。例えば、図2Aは、空間的に構造化されたデータを表す、クラスノード202および204を伴う、クラス図を表示するユーザーインターフェース表示を示す。図3Bは、空間的な意義がアクションの順序を示す、フローコネクタによって接続された、アクションノード302およびアクションデータ310を伴う、アクティビティ図でユーザーインターフェースを示す。
方法700はさらに、一つまたは複数のハードウェアユーザーインターフェース装置を通じて、コンピューター実装のユーザーインターフェースでのユーザー入力を受信することを含む(動作704)。ユーザー入力はドメイン非依存であるが、空間的な意味合いを有する。例えば、図示したように、空間的な意味合いは上に、下に、左に、右に、および内側にあってもよい。これらは、空間的な意味合いを持っているが、特定のドメインおよび/またはコンテキストの間で、多少異なってもよい。図示したように、ユーザー入力は、多くの異なるタイプの入力のうち、一つまたは複数のものであってもよい。本明細書に示された例は、制限されないが、マウス、ペン、タッチ、マルチタッチ、ジェスチャ、カメラまたはハンドヘルドコントローラによって追跡されるような手足もしくは四肢ジェスチャ、コントローラもしくはコンピューティングシステムにおける、加速度計によって追跡されるようなコントローラもしくはコンピューティングシステムの動きフリックジェスチャ、またはいくつかの他のユーザー入力を含む。
方法700はさらに、ユーザーインターフェースまたは以前のユーザー対話で表示された、既存の構造化されたデータに基づいて、ユーザー入力のドメインを決定することを含む(動作706)。例えば、図2Aにおいて、クラスノード202の存在は、ドメインがクラス図であることを示すことができる。図3Aにおいて、アクションノード302の存在は、ドメインがアクティビティ図であることを示すことができる。あるいはまた、予め入力されたユーザーのお気に入り、またはユーザーの以前の図構成アクションは、ユーザー入力のドメインを決定するために使用されることができる。
方法700はさらに、決定されたドメインに基づいて、ユーザー入力をドメイン固有の応答に解釈することを含むが(動作708)、ドメイン固有の応答は、複数のドメインにわたり空間的な意味合いで一致する。例えば、図2Bにおいて、Enterキーを押下することにより、新しい継承クラス206が、動物クラスノード202の下に置かれる。一方で、図3Bにおいて、Enterキーを押下することにより、新しいアクションノード310が、アクションノード302の下に置かれる。したがって、どちらのドメインにおいても、空間的な意味合いは下に作成されることであり、各々ドメイン固有の応答として、下に作成されることに関する。
方法700の実施形態は、一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を受信することを含む、ユーザー入力を受信することを実行することができる。例えば、図5A−5Dは、ジェスチャが使用され、およびヒントモジュールは制約されたヒントを提供する例を示す。ヒントは、ドメインおよび/またはコンテキストに基づいて制約されてもよい。例えば、ヒントは、何のタイプの図が作成されているか、および何のエンティティが図内においてインフォーカスであるかに基づいて、制約されてもよい。
方法700の実施形態は、ユーザー入力を受信することは、一つまたは複数の制約されたヒントを提供するニーモニックスモジュールの支援で生成されたユーザー入力を受信することを、実行することができる。図4Aおよび図4Bは、ブロックのタイプを判断するために、どのようにニーモニックスモジュールが使用されることができるかを示す。
方法700はさらに、ユーザー入力をドメイン固有の応答に解釈することの結果として、空間的に構造化されたデータに対して、新しいデータタイプのオブジェクトを自動的に追加することを含む。例えば、図3Aおよび図3Bにおいて、図はアクティビティ図であるため、アクションブロックが自動的に追加される。いくつかの実施形態は、マウスボタンまたはスクロール機能の少なくとも一つを使用して、追加された新しいデータタイプのタイプを変更することを含むことができる。例えば、ユーザーは、新しく追加されたデータタイプを選択することができ、および様々な利用可能なデータタイプをスクロールすることができる。例えば、ユーザーは、決定データタイプに自動的に追加された、アクションデータタイプを変更することを可能にしてもよい。いくつかの実施形態において、追加された新しいデータタイプのタイプを変更することは、一つまたは複数の制約されたヒントを提供する、ニーモニックスモジュールの支援で生成された、ユーザー入力を使用して実行されることができる。さらに、別の代替的な実施形態は、追加された新しいデータタイプのタイプを変更することは、インテリセンスのような、一つまたは複数の制約されたヒントを提供する、ヒントモジュールの支援で生成された、ユーザー入力を使用して行われることができる。
方法700の実施形態はさらに、一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を使用して、構造化されたデータオブジェクト間のリンクを作成することを含むことができる。例えば、図5A−5Dは、特に、ヒントモジュールを使用してリンクが作成される例を示す。これらのリンクは、実際にはかなり複雑になり得る。例えば、実施形態は、一つのクラスAを選択し、そしてそれをクラスBに接続するために、キーボードジェスチャを使用することができる。これは、クラスAおよびクラスBとがどのような関連しているかを、正確に識別するために生成される必要がある、一連の中間クラスならびにリンクという結果になる。例えば、それらの二つのクラスは、中間のクラスC、DおよびEを通じて接続される必要がある可能性がある。それにもかかわらず、実施形態は、適切なヒントを提供し、および適切なリンクを作ることができる。
方法700の実施形態は、空間的に構造化されたデータが、視覚的に観察可能であり、および意味ある空間レイアウトを有するデータを、含むことを実行することができる。例えば、フローチャート、アクティビティ図等が、ユーザーによって視覚的に観察可能なレイアウトを有する。
方法700の実施形態は、空間的に構造化されたデータの表現におけるデータオブジェクト間のリンクをナビゲートするためのユーザー入力を受信することができる。例えば、図6において示されたように、図を通じてナビゲートするために、ユーザーのジェスチャが使用されることができる。いくつかの実施形態において、図6に示されるように、ドメインに基づいて、可能性があるナビゲーションの目的地の制約リストをユーザーに提供することができる。
さらに、方法は、一つまたは複数のプロセッサ、およびコンピューターメモリ等のコンピューター可読媒体を含む、コンピューターシステムによって実行されることができる。具体的には、コンピューターメモリは、一つまたは複数のプロセッサによって実行された時に、実施形態において記載された動作等の様々な機能を行う、コンピューター実行可能命令を格納することができる。
本発明の実施形態は、後述でより詳細に検討されるように、コンピューターハードウェアを含む、専用または汎用コンピューターを備えるか、または利用することができる。また、本発明の範囲内の実施形態はまた、コンピューター実行可能命令および/またはデータ構造を保有しまたは格納するための、物理的および他のコンピューター可読媒体を含む。このようなコンピューター可読媒体は、汎用または専用コンピューターシステムによってアクセスされることができる、任意の利用可能な媒体とすることができる。コンピューター実行可能命令を格納する、コンピューター可読媒体は、物理的記憶媒体である。コンピューター実行可能命令を担う、コンピューター可読媒体は伝送媒体である。これにより、例として、および限定されないが、本発明の実施形態は、明確に異なる少なくとも二種類のコンピューター可読媒体である、物理的なコンピューター可読記憶媒体および伝送コンピューター可読媒体を含むことができる。
物理的なコンピューター可読ストレージ媒体は、RAM、ROM、EEPROM、CD−ROMまたは、他の光ディスク記憶装置(例えば、CD、DVD等)、磁気ディスクストレージ装置または、他の磁気ストレージ装置、あるいはコンピューター実行可能命令または、データ構造の形式において、所望のプログラムコード手段を格納するために使用されることができ、および汎用または専用コンピューターによってアクセスされることができる、任意の他の媒体を含む。
「ネットワーク」は、コンピューターシステムおよび/またはモジュールおよび/または他の電子装置間の、電子データの移送を可能とする、一つまたは複数のデータリンクとして定義される。情報が、ネットワーク、あるいは別の通信接続(結線接続、無線のいずれかまたは、結線接続もしくは無線の組み合わせ)を経由して伝送あるいは提供されるとき、コンピューターは、当該接続を適切に伝送媒体としてみなす。伝送媒体は、コンピューター実行可能命令またはデータ構造の形式で、所望のプログラムコード手段を保持するために使用されることができ、および汎用または専用コンピューターによってアクセスされることができる、ネットワークならびに/あるいはデータリンクを含むことができる。上述の組み合わせも、コンピューター可読媒体の範囲に含まれる。
さらに、様々なコンピューターシステムコンポーネントに到達すると、コンピューター実行可能命令またはデータ構造の形式におけるプログラムコード手段は、伝送コンピューター可読媒体から、物理コンピューター可読ストレージ媒体に(またはその逆に)、自動的に伝送されることができる。例えば、ネットワークまたはデータリンクを経由して受信された、コンピューター実行可能命令またはデータ構造は、ネットワークインターフェースモジュール(例えば、NIC)内のRAMにバッファされることができ、次いで最終的に、コンピューターシステムRAMおよび/またはコンピューターシステムにおける低揮発性の物理的なコンピューター可読ストレージ媒体に伝送することができる。このように、物理的なコンピューター可読ストレージ媒体は、伝送媒体も利用する(または主に利用する)コンピューターシステムコンポーネントに、含まれることができる。
コンピューター実行可能命令は、例えば、汎用コンピューター、専用コンピューター、または専用処理装置にある特定の機能または機能群を実行させる、命令およびデータを備える。
コンピューター実行可能命令は、例えば、バイナリ、アセンブリ言語等の中間フォーマット命令、またはソースコードであることができる。本発明の技術的範囲は、構造的特徴および/または方法論的動作に特有の言葉で説明されたが、添付の特許請求の範囲において定義される技術的範囲は、必ずしも上述の特徴または動作に限定されないことを理解されたい。むしろ、上述の特徴および動作は、特許請求の範囲を実施する例示的形態として開示される。
本技術分野における当業者であれば、本発明は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース、またはプログラム可能な家電、ネットワークPC、ミニコンピューター、メインフレームコンピューター、携帯電話、PDA、ページャー、ルーター、スイッチ等を含む、多くの種類のコンピューターシステム構成を伴う、ネットワークコンピューティング環境において実施できることを理解することができる。本発明はまた、ネットワークを経由して(結線接続されたデータリンク、無線データリンクによって、または結線接続および無線データリンクの組み合わせによって)リンクされた、ローカルおよびリモートコンピューターシステムの双方がタスクを処理する、分散システム環境において実施されることができる。分散システム環境において、プログラムモジュールは、ローカルおよびリモートの両方のメモリストレージ装置に配置することができる。
本発明は、その技術思想または特徴から逸脱することなく、他の特定の形態で具体化されることができる。説明された実施形態は、単に例示的であり、および限定的ではないものとして、全ての項目において考慮される。本発明の技術的範囲は、したがって、前述の説明によってよりもむしろ、添付された特許請求の範囲によって示される。特許請求の範囲と均等な意味および範囲内におけるすべての変更は、その範囲内に包含される。

Claims (15)

  1. コンピューティング環境において、データを編成する方法であって、前記データは空間的な意義を有し、
    ユーザーインターフェースで、空間的に構造化されたデータの表現をユーザーに対して表示するステップと、
    一つまたは複数のハードウェアユーザーインターフェース装置を通じて、コンピューター実装のユーザーインターフェースでのユーザー入力を受信するステップであって、前記ユーザー入力はドメイン非依存であるが、空間的な意味合いを有する、ステップと、
    前記ユーザーインターフェースまたは以前のユーザー対話で表示された、既存の構造化されたデータの少なくとも一つに基づいて、前記ユーザー入力のドメインを決定するステップと、
    前記決定されたドメインに基づいて、前記ユーザー入力をドメイン固有の応答に解釈するが、前記ドメイン固有の応答は、複数のドメインにわたり空間的な意味合いで一致するステップとを備えることを特徴とする方法。
  2. 一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を受信するステップをさらに備えることを特徴とする請求項1記載の方法。
  3. 前記ヒントは、前記ドメインに基づいて制約されることを特徴とする請求項2記載の方法。
  4. 前記ヒントは、コンテキストに基づいて制約されることを特徴とする請求項2記載の方法。
  5. ユーザー入力を受信するステップは、一つまたは複数の制約されたヒントを提供するニーモニックスモジュールの支援で生成されたユーザー入力を受信するステップを備えることを特徴とする請求項1記載の方法。
  6. 前記ユーザー入力をドメイン固有の応答に解釈するステップの結果として、前記空間的に構造化されたデータに対して、新しいデータタイプのオブジェクトを自動的に追加するステップをさらに備えることを特徴とする請求項1記載の方法。
  7. マウスボタンまたはスクロール機能性の少なくとも一つを使用して、前記追加された新しいデータタイプのタイプを変更するステップをさらに備えることを特徴とする請求項6記載の方法。
  8. 一つまたは複数の制約されたヒントを提供するニーモニックスモジュールの支援で生成されたユーザー入力を使用して、前記追加された新しいデータタイプのタイプを変更するステップをさらに備えることを特徴とする請求項6記載の方法。
  9. 一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を使用して、前記追加された新しいデータタイプのタイプを変更するステップをさらに備えることを特徴とする請求項6記載の方法。
  10. 一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を使用して、構造化されたデータオブジェクト間のリンクを作成するステップをさらに備えることを特徴とする請求項1記載の方法。
  11. 前記空間的に構造化されたデータは、視覚的に観察可能な空間レイアウトを有するデータを備えることを特徴とする請求項1記載の方法。
  12. 空間的に構造化されたデータの前記表現におけるデータオブジェクト間のリンクをナビゲートするための追加的なユーザー入力を受信するステップをさらに備えることを特徴とする請求項1記載の方法。
  13. 前記ドメインに基づいて、可能性があるナビゲーション目的地の制約リストをユーザーに提供するステップをさらに備えることを特徴とする請求項12記載の方法。
  14. 一つまたは複数のプロセッサによって実行される場合に、一つまたは複数のプロセッサにデータをナビゲートするために以下の動作を実行させるように構成されるコンピューター実行可能命令を備えるコンピューター可読媒体であって、前記データは空間的な意義を有し、
    ユーザーインターフェースで、空間的に構造化されたデータの表現をユーザーに対して表示するステップと、
    一つまたは複数のハードウェアユーザーインターフェース装置を通じて、コンピューター実装のユーザーインターフェースでのユーザー入力を受信し、前記ユーザー入力はドメイン非依存であるが、空間的な意味合いを有する、受信するステップと、
    前記ユーザーインターフェースまたは以前のユーザー対話で表示された、既存の構造化されたデータの少なくとも一つに基づいて、前記ユーザー入力のドメインを決定するステップと、
    前記決定されたドメインに基づいて、ユーザー入力をドメイン固有の応答に解釈するが、前記ドメイン固有の応答は、複数のドメインにわたり空間的な意味合いで一致するステップとを、一つまたは複数のプロセッサに実行させるように構成されるコンピューター実行可能命令を備えることを特徴とするコンピューター可読媒体。
  15. ユーザー入力を受信するステップは、一つまたは複数の制約されたヒントを提供するヒントモジュールの支援で生成されたユーザー入力を受信するステップを備えることを特徴とする請求項14記載のコンピューター可読媒体。
JP2013544854A 2010-12-17 2011-12-16 図の作成、編集およびナビゲーション Active JP6027541B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/972,060 2010-12-17
US12/972,060 US9436437B2 (en) 2010-12-17 2010-12-17 Creation, editing and navigation of diagrams
PCT/US2011/065664 WO2012083268A2 (en) 2010-12-17 2011-12-16 Creation, editing and navigation of diagrams

Publications (3)

Publication Number Publication Date
JP2013546109A true JP2013546109A (ja) 2013-12-26
JP2013546109A5 JP2013546109A5 (ja) 2015-02-05
JP6027541B2 JP6027541B2 (ja) 2016-11-16

Family

ID=46233714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544854A Active JP6027541B2 (ja) 2010-12-17 2011-12-16 図の作成、編集およびナビゲーション

Country Status (8)

Country Link
US (1) US9436437B2 (ja)
EP (1) EP2652576A4 (ja)
JP (1) JP6027541B2 (ja)
KR (1) KR101831476B1 (ja)
CN (1) CN102566916B (ja)
AU (1) AU2011343428B2 (ja)
CA (1) CA2820923A1 (ja)
WO (1) WO2012083268A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014133533A1 (en) * 2013-02-28 2014-09-04 Hewlett-Packard Development Company, L.P. An interface for creating a plan artifact
US10929008B2 (en) * 2015-06-05 2021-02-23 Apple Inc. Touch-based interactive learning environment
CN108319577B (zh) * 2017-01-18 2021-09-28 阿里巴巴集团控股有限公司 一种图表的处理方法、装置及电子设备
CN108229016A (zh) * 2017-12-29 2018-06-29 杭州杉石科技有限公司 基于顺序图模型的电子系统排布方法和装置
CN114153536B (zh) * 2021-11-12 2024-04-09 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 兼容触摸屏的物理按键的web页面焦点控制方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092109A1 (en) * 2006-10-17 2008-04-17 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
JP2008269272A (ja) * 2007-04-20 2008-11-06 Meidensha Corp ソフトウェア開発支援システム、開発支援方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656603A (en) 1984-03-01 1987-04-07 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US6556878B1 (en) 1999-04-07 2003-04-29 Randall Jon Fielding Method and user interface for representing architectural plan diagrams
US6970844B1 (en) 1999-08-27 2005-11-29 Computer Sciences Corporation Flow designer for establishing and maintaining assignment and strategy process maps
US7420573B1 (en) * 2001-11-09 2008-09-02 The Mathworks, Inc. System and method for merging electronic diagrams
US7231395B2 (en) 2002-05-24 2007-06-12 Overture Services, Inc. Method and apparatus for categorizing and presenting documents of a distributed database
US7765529B1 (en) * 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
CN100390791C (zh) 2004-05-31 2008-05-28 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
US7770148B2 (en) 2005-05-25 2010-08-03 Microsoft Corporation Methods and apparatus enabling diagram customization retention
US20080109235A1 (en) * 2006-11-03 2008-05-08 Business Objects, S.A. Apparatus and method for creating business process workflows within business intelligence systems
CN101281522B (zh) 2007-04-06 2010-11-03 阿里巴巴集团控股有限公司 一种处理相关关键词的方法及系统
US8225278B2 (en) 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
CN100507845C (zh) 2007-09-24 2009-07-01 北大方正集团有限公司 一种可设置多值域区间的编辑控件的创建方法
US8762871B2 (en) 2008-02-03 2014-06-24 Microsoft Corporation Dynamic preview of diagram elements to be inserted into a diagram
US8717383B2 (en) 2008-08-27 2014-05-06 International Business Machines Corporation Automatic management of diagram elements
US20100251211A1 (en) 2009-03-26 2010-09-30 Microsoft Corporation Generating and using code-based diagrams

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080092109A1 (en) * 2006-10-17 2008-04-17 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
JP2008269272A (ja) * 2007-04-20 2008-11-06 Meidensha Corp ソフトウェア開発支援システム、開発支援方法およびプログラム

Also Published As

Publication number Publication date
AU2011343428A1 (en) 2013-07-18
US20120154283A1 (en) 2012-06-21
KR20140005180A (ko) 2014-01-14
AU2011343428B2 (en) 2016-07-14
WO2012083268A2 (en) 2012-06-21
CN102566916B (zh) 2018-04-27
WO2012083268A3 (en) 2013-01-17
CA2820923A1 (en) 2012-06-21
CN102566916A (zh) 2012-07-11
US9436437B2 (en) 2016-09-06
KR101831476B1 (ko) 2018-02-22
JP6027541B2 (ja) 2016-11-16
EP2652576A2 (en) 2013-10-23
EP2652576A4 (en) 2014-07-09

Similar Documents

Publication Publication Date Title
Paterno' et al. MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments
US10474352B1 (en) Dynamic expansion of data visualizations
US7461355B2 (en) Navigational interface for mobile and wearable computers
JP5922598B2 (ja) マルチタッチ利用、ジェスチャ及び実装
US10551990B2 (en) Contextual browser frame and entry box placement
US6462760B1 (en) User interfaces, methods, and computer program products that can conserve space on a computer display screen by associating an icon with a plurality of operations
RU2366006C2 (ru) Динамическая обратная связь для жестов
US20160342779A1 (en) System and method for universal user interface configurations
Oulasvirta User interface design with combinatorial optimization
US20140055381A1 (en) System and control method for character make-up
KR102310648B1 (ko) 상황 정보 탐색 및 내비게이션 기법
JP6027541B2 (ja) 図の作成、編集およびナビゲーション
US20070214436A1 (en) Positional navigation graphic link system
JP2011221790A (ja) 情報処理装置、情報処理方法およびプログラム
US20140145945A1 (en) Touch-based input control method
Anam et al. Usability study of smart phone messaging for elderly and low-literate users
WO2020146145A1 (en) Techniques for multi-finger typing in mixed-reality
Boudreaux Programming the iphone user experience: Developing and designing cocoa touch applications
Vermeulen et al. Intelligibility required: How to make us look smart again
US20220365642A1 (en) Metabolic network explorer
Feuerstack et al. Designing and executing multimodal interfaces for the web based on state chart XML
US20130290896A1 (en) Symbol Disambiguation
JP6349705B2 (ja) 語学学習装置、表示方法、およびプログラム
Hartmann et al. Tailoring the interface to individual users
Mishra Improving Graphical User Interface using TRIZ

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130827

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141212

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141212

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161014

R150 Certificate of patent or registration of utility model

Ref document number: 6027541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250