(57)【要約】  最適ディスプレイとのユーザ対話の容易さを可能にするために、グラフライクビジュアル言語に基づくグラフィカルダイアグラムを２次元ツリーライク構造に動的にレイアウトすること。ツリーライク構造のルートから始まり、垂直方向および水平方向で変更されるように構成された１つまたは複数のサブ部分を含む、少なくとも１つの分岐を含むグラフィカルツリーライク構造を表示する。サブ部分は、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す。端部分以外のサブ部分のうちの１つまたは複数を変更するユーザ入力を受け取る。ユーザ入力に基づいて、１つまたは複数のサブ部分が、ユーザ対話の容易さ、グラフィカルツリーライク構造のディスプレイの最適化、またはその両方を可能にするために、水平に、垂直に、またはその両方で変更される。
2009532755.tif 000002
【特許請求の範囲】
【請求項１】
システム、サービス、もしくはプロセスなどに関するまたは全体的なオブジェクトシステムを表す、通常は手動の変更および再スケーリングを必要とする、グラフィカルダイアグラムをモデリングするのにグラフライクビジュアル言語（１１０）を使用するコンピューティングシステム（１００）内で、前記ダイアグラムとのユーザ対話の容易さおよび前記ダイアグラムの最適ディスプレイを可能にするために、前記ダイアグラムを２次元ツリーライク構造（２００）に動的にレイアウトする方法であって、
グラフィカルツリーライク構造（２００）のルート（２０１）から始まり、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す１つまたは複数のサブ部分（２３１〜２３７）を含む、少なくとも１つの分岐を含む前記グラフィカルツリーライク構造（２００）を表示すること（９０１）であって、前記１つまたは複数のサブ部分（２３１〜２３７）は、垂直方向および水平方向で変更されるように構成される、表示すること（９０１）と、
前記グラフィカルツリーライク構造の１つまたは複数のサブ部分（２３１〜２３７）を変更するユーザ入力（１８０）を受け取ること（９０２）と、
前記ユーザ対話に基づいて、ユーザ対話の容易さ、前記グラフィカルツリーライク構造（２００）の前記ディスプレイの最適化、またはその両方を可能にするために、前記１つまたは複数のサブ部分（２３１〜２３７）を垂直に、水平に、またはその両方で動的に変更すること（９０３）と
を含むことを特徴とする方法。
【請求項２】
前記１つまたは複数のサブ部分を垂直に、水平に、またはその両方で変更することは、前記サブ部分をスケーリングすること、縮小すること、または拡張することのうちの１つまたは複数を含み、前記１つまたは複数のサブ部分は、斜め方向でスケーリング、縮小、または拡張することができることを特徴とする請求項１に記載の方法。
【請求項３】
第１サブ部分に結合された少なくとも１つのノードを有する第２サブ部分を動的に変更することと、
前記第２サブ部分に対する前記変更は、前記第１サブ部分が変更される場合に隠されるように、前記第２サブ部分を変更することの後に前記第１サブ部分を動的に変更することであって、前記第２サブ部分に対する前記隠される変更は、追加のユーザ対話の受け取りの際に表示することが可能である、動的に変更することと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
新しいサブ部分は、前記グラフィカルツリーライク構造の所望の位置に前記新しいサブ部分を位置決めすることによって前記グラフィカルツリーライク構造に追加され、前記新しいサブ部分は、前記グラフィカルツリーライク構造に自動的に追加されることを特徴とする請求項１に記載の方法。
【請求項５】
前記グラフライクビジュアル言語は、モデリングされる前記システム、サービス、またはプロセス内にどのような物があるのかを強調する構造ダイアグラム、モデリングされる前記システム、サービス、またはプロセス内で発生する物を強調する挙動ダイアグラム、およびモデリングされる前記システム、サービス、またはプロセス内の前記物の間での制御およびデータのフローを強調する対話ダイアグラムのうちの１つまたは複数を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記グラフィカルツリーライク構造の前記ディスプレイの最適化は、ディスプレイデバイスまたはウィンドウのアスペクト比に関して最適化するために、前記１つまたは複数のサブ部分を水平方位から垂直方位に自動的に切り替えること、または１つまたは複数のサブ部分を垂直方位から水平方位に切り替えることを含むことを特徴とする請求項１に記載の方法。
【請求項７】
実行されると請求項１に記載の方法を実施することができるコンピュータ実行可能命令を含むことを特徴とするコンピュータプログラム製品。
【請求項８】
システム、サービス、もしくはプロセスなどに関するまたは全体的なオブジェクトシステムを表す、通常は手動の変更および再スケーリングを必要とする、グラフィカルダイアグラムをモデリングするのにグラフライクビジュアル言語（１１０）を使用するコンピューティングシステム（１００）内で、前記ダイアグラムとのユーザ対話の容易さおよび前記ダイアグラムの最適ディスプレイを可能にするために、前記ダイアグラムを２次元ツリーライク構造（３００）に動的にレイアウトする方法であって、
グラフィカルツリーライク構造（３００）のルート（３０１）から始まり、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す複数のサブ部分（３５０〜３６１）を含む、少なくとも１つの分岐を含むグラフィカルツリーライク構造（３００）を表示すること（６０１）であって、前記サブ部分は、少なくとも１つの端部分（３６１）を含む（３５０〜３６１）、表示すること（６０１）と、
前記少なくとも１つの端部分（３６１）以外の前記グラフィカルツリーライク構造の１つまたは複数のサブ部分（３５０〜３６１）を変更するユーザ対話（１８０）を受け取ること（６０２）と、
前記ユーザ対話に基づいて、前記端部分をも変更することなく、ユーザ対話の容易さ、前記グラフィカルツリーライク構造（３００）の前記ディスプレイの最適化、またはその両方を可能にするために、前記少なくとも１つの端部分（３６１）以外の前記１つまたは複数のサブ部分（３５０〜３６１）をスケーリングすること、拡張すること、または縮小することのうちの１つまたは複数によって動的に変更すること（６０３）と
を含むことを特徴とする方法。
【請求項９】
前記１つまたは複数のサブ部分は、垂直に、水平に、斜めに、またはこれらの任意の組合せで変更することができることを特徴とする請求項８に記載の方法。
【請求項１０】
前記ツリーライク構造をどのように変更して表示しなければならないのかを指定する１つまたは複数の事前定義のルールを受け取ることと、
前記１つまたは複数のルールおよび前記受け取られたユーザ対話に基づいて、前記少なくとも１つの端部分以外のサブ部分を動的にスケーリングすること、拡張すること、または縮小することと
をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１１】
１次元グラフィカルツリーライク構造または変更不能グラフィカルツリーライク構造のうちの１つを２次元グラフィカルツリーライク構造に自動的に変換することをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１２】
２つ以上のサブ部分の接続する線のセグメントを単一の接続する線に組み合わせることをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１３】
ユーザ対話を受け取ることは、
スケーリング、縮小、または拡張のために１つまたは複数のサブ部分を選択すること
を含むことを特徴とする請求項８に記載の方法。
【請求項１４】
縮小することは、
前記サブ部分のうちの少なくとも１つを単一のグラフィカルオブジェクトに自動的にフォーマットすることであって、前記単一のグラフィカルオブジェクトは、追加のユーザ対話の受け取りの際に前記少なくとも１つのサブ部分に戻って拡張可能になるように構成される、自動的にフォーマットすること
を含むことを特徴とする請求項８に記載の方法。
【請求項１５】
拡張することは、
拡張可能なグラフィカルオブジェクトを少なくとも１つのサブ部分に自動的にフォーマットすること
を含むことを特徴とする請求項８に記載の方法。
【請求項１６】
実行されると請求項８に記載の方法を実施することができるコンピュータ実行可能命令を含むことを特徴とするコンピュータプログラム製品。
【請求項１７】
システム、サービス、またはプロセスなどのまたは全体的なオブジェクトシステムを表す、ビジュアルツリーライク構造（２００）として表示されるダイアグラムをモデリングするグラフライクビジュアル言語（１１０）を含むコンピューティングシステム（１００）内で、前記ビジュアルツリーライク構造（２００）を変更するのに使用されるアプリケーション（１２０）がユーザによって終了される場合であっても前記ビジュアルツリーライク構造（２００）のディスプレイに対してユーザによって行われた変更が維持されるように、前記ビジュアルツリーライク構造（２００）の１つまたは複数のサブ分岐（２３１〜２３７）に対する変更をメモリ（１７０）内で永続的に保持する方法であって、
グラフィカルツリーライク構造（２００）のルート（２０１）から始まり、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す複数のサブ分岐（２３１〜２３７）を含む、少なくとも１つの分岐を含む前記グラフィカルツリーライク構造（２００）を表示するアプリケーション（１２０）をアクチベートすること（７０１）と、
前記複数のサブ分岐（２３１〜２３７）のうちの少なくとも１つを変更するユーザ入力（１８０）を受け取ること（７２０）と、
前記ユーザ入力に基づいて、ユーザが前記アプリケーションを終了した後で後ほど再アクチベートする際に、前記グラフィカルツリーライク構造（２００）は、前記アプリケーション（１２０）が終了される前に見えていたとおりに表示されるように、前記変更を永続メモリ（１７０）内で維持すること（７０３）と
を含むことを特徴とする方法。
【請求項１８】
前記変更は、変更される前記サブ分岐を縮小することまたは拡張することを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
第１サブ分岐に結合された少なくとも１つのノードを有する第２サブ分岐の変更を実行するユーザ入力を受け取ることと、
前記第２サブ分岐に対する前記変更は前記第１サブ分岐が変更される場合に隠されるように、前記第１サブ分岐を変更することに先立って前記第２サブ分岐を変更することと、
後で前記アプリケーションを実行する際に、前記第２サブ分岐に対する前記隠される変更を追加のユーザ対話の受け取りの際に表示できるように、前記アプリケーションを終了する際に前記第２サブ分岐の前記隠された変更された状態を前記永続メモリに保存することと
をさらに含むことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム、サービス、もしくはプロセスなどに関するまたは全体的なオブジェクトシステムを表す、通常は手動の変更および再スケーリングを必要とする、グラフィカルダイアグラムをモデリングするのにグラフライクビジュアル言語を使用するコンピューティングシステムに関する。
【背景技術】
【０００２】
コンピューティングシステムは、我々が働き、遊ぶ形を変革してきた。コンピューティングシステムは、ラップトップコンピュータ、デスクトップコンピュータ、携帯情報端末、電話機、ならびにたとえば冷蔵庫および自動車など、従来はコンピューティングシステムに関連しなかったデバイスさえ含むさまざまな形で現れる。コンピューティングシステムは、ネットワークを介して相互接続された複数の構成要素コンピューティングシステムさえ含むものとすることができる。したがって、コンピューティングシステムの中には、掌におさまるほどに小さい物と、地球の大半に広がる物とがある。
【０００３】
ますます人気が高まってきたコンピューティングテクノロジの一領域が、グラフィカルモデリングであり、これは、ユーザが、多数のシステム、サービス、またはプロセスのフローダイアグラムなどのグラフライクダイアグラムをビジュアルに表示することを可能にする。ダイアグラムの例には、ワークフローダイアグラム、データフローダイアグラム、Ｅ−Ｒダイアグラム、ビジネスプロセスダイアグラムなどが含まれる。より具体的には、そのようなグラフライク（図形状、グラフ様、ｇｒａｐｈ−ｌｉｋｅ）ダイアグラムは、ユーザが、さまざまなコンピューティングシステムもしくは他のシステム、ビジネスモデルもしくはプロジェクトモデルなどの機能性、挙動の諸態様、およびさまざまなコンポーネントまたは要素の関係をビジュアルに通信することを可能にし、したがって、しばしば複雑なシステムまたはプロセスの効率的な通信を可能にする。
【０００４】
たとえば、グラフライクダイアグラムは、販売トランザクションのフローをビジュアライズすることができる。フローダイアグラムの要素およびコンポーネントは、所望の製品の選択、発注、配送の手配および支払いなどのイベントを表すことができる。このダイアグラムは、上でリストしたタスクを実行するエンティティをビジュアライズすることもできる。多数のエンティティがかかわる非常に複雑な販売トランザクションについて、トランザクションをグラフィカルに表示することは、他の形より理解するのが簡単である場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
グラフライクダイアグラムは、システムおよびプロセスをビジュアライズするのに有用であるが、その有用性に対する制限がある。たとえば、ダイアグラムが大きく複雑になるにつれて、ディスプレイデバイスのサイズ、解像度、および他の能力に起因して、コンポーネントおよび要素のすべてを表示するのに十分な余地が単純になくなる場合がある。言い換えると、使用可能なディスプレイスペースおよび機能が、一時に表示できるコンポーネントおよびオブジェクトの個数を制限する。これは、ユーザがプロセスの始めと終りとの両方を表示することを望むダイアグラムについて特に問題である。
【０００６】
１つの解決策は、より大きいディスプレイデバイスを使用することである。しかし、これは、これに伴うコストのゆえに、ほとんどのユーザにとって非実用的である。さらに、ダイアグラムが、どの実用的なディスプレイデバイスでもそのダイアグラムの要素のすべてを表示できないほどに大きくなる場合がある。
【０００７】
一般的に使用されている、このディスプレイ制限に対するもう１つの解決策は、ユーザに手動でダイアグラムを再スケーリングさせることである。たとえば、ユーザは、しばしば、新しい要素がダイアグラムに追加されるどの時にも、「ズームアウト」する。この解決策は、少数の要素だけを伴うダイアグラムについては有効である可能性があるが、より大きいダイアグラムについてはうまく働かない。ダイアグラムは、しばしば、複数回ズームアウトされた後に判読しにくくなる。
【０００８】
もう１つの一般的な解決策は、一緒に、判読できるサイズの必要なダイアグラム要素のすべてを含む複数のダイアグラムを作ることである。しかし、これは、しばしば、時間がかかる物になる可能性がある。さらに、ダイアグラムのフローまたは「メンタルマップ」は、しばしば、複数のダイアグラムを使用することによって失われ、これは、ユーザをいらいらさせる可能性がある。
【０００９】
もう１つの解決策は、判読できる形でダイアグラムをスケーリングすることを試みてダイアグラムの要素を自動的にレイアウトするツールを作成することであった。しかし、そのようなツールは、複雑なアルゴリズムを実施し、その計算的複雑さは、これらを、処理するのが非常に遅い物にする。新しい要素がダイアグラムに追加されるどの時にも、これらのツールは、そのアルゴリズムを再処理し、新しいダイアグラムを作成しなければならず、そのようなツールが、対話型エディタに非実用的な物になる。さらに、これらのアルゴリズムのほとんどは、新しい要素が追加される場合に、ダイアグラムのすべての要素を再配置する。その結果、ユーザは、しばしば、そのダイアグラムの「メンタルマップ」を失い、これは、迷惑である可能性がある。
【課題を解決するための手段】
【００１０】
上で識別された現在のダイアグラム生成方法およびダイアグラム表示方法の欠陥および短所は、本明細書で開示される例の実施形態を介して克服される。ここで述べる概要が、以降の「発明を実施するための最良の形態」でさらに説明される概念にしたがって選択さされる物を単純化した形で紹介するために提供されることに留意されたい。この概要は、特許請求される主題の主要な特徴または本質的特徴を識別することを意図された物ではなく、特許請求される主題の範囲を判定する際の助けとして使用されることを意図された物でもない。
【００１１】
１つの例の実施形態は、ユーザ対話の容易さおよび最適ディスプレイを可能にするために、グラフライクビジュアル言語に基づくグラフィカルダイアグラムを２次元ツリーライク（ツリー状、ｔｒｅｅ−ｌｉｋｅ）構造に動的にレイアウトすることを提供する。この実施形態では、グラフィカルツリーライク構造が表示される。グラフィカルツリーライク構造は、グラフィカルツリーライク構造は少なくとも１つの分岐を含む。この分岐はグラフィカルツリーライク構造をルートからスタートさせ、分岐はまた、垂直方向および水平方向で変更されるように構成される１つまたは複数のサブ部分を含む。サブ部分は、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す。次に、サブ部分のうちの１つまたは複数を変更するユーザ入力を受け取る。ユーザ入力に基づいて、１つまたは複数のサブ部分が、ユーザ対話の容易さ、グラフィカルツリーライク構造のディスプレイの最適化、またはその両方のために、垂直に、水平に、またはその両方で動的に変更される。
【００１２】
もう１つの例の実施形態も、ユーザ対話の容易さおよび最適ディスプレイを可能にするために、グラフライクビジュアル言語に基づくフローダイアグラムを２次元ツリーライク(２次元ツリー状の)構造に動的にレイアウトすることを提供する。この実施形態では、グラフィカルツリーライク（図形形状のツリー）構造が表示される。グラフィカルツリーライク構造は、ツリーライク構造のルートから始まり、複数のサブ部分を含む、少なくとも１つの分岐を含む。サブ部分のうちの少なくとも１つは、端部分でもある。サブ部分は、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表す。次に、端部分以外のサブ部分のうちの１つまたは複数を変更するユーザ入力を受け取る。ユーザ入力に基づいて、端部分以外の１つまたは複数のサブ部分が、端部分をも変更することなくスケーリングされ、拡張され、または縮小される。この変更は、ユーザ対話の容易さ、グラフィカルツリーライク構造のディスプレイの最適化、またはその両方を可能にする。
【００１３】
さらなる例の実施形態は、グラフィカルツリーライク構造を表示するアプリケーションが終了される場合にグラフィカルツリーライク構造の１つまたは複数のサブ分岐に対して行われた変更をメモリ内に永続的に保持することを提供する。この実施形態では、グラフィカルツリーライク構造を表示するアプリケーションがアクチベートされる。グラフィカルツリーライク構造は、ツリーライク構造のルートから始まり、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関してシステム、サービス、またはプロセスをモデリングする１つまたは複数のサブ分岐を含む、少なくとも１つの分岐を含む。少なくとも１つのサブ分岐を変更するユーザ入力が受け取られる。このユーザ入力に基づいて、変更が永続メモリ内で維持される。ユーザがアプリケーションを終了した後で後ほどアプリケーションを再アクチベートする際に、グラフィカルツリーライク構造が、そのアプリケーションが終了される前に見えていたとおりに表示される。
【００１４】
本発明のさらなる特徴および利点については、以降の説明で示され、部分的にはその説明から明白になり、あるいは、本発明を実践することによって知ることができる。本発明の特徴および利点は、添付の特許請求の範囲で具体的に指摘される手段および組合せによって実現し、入手することができる。本発明の上記および他の特徴は、以降の説明および添付の特許請求の範囲からさらに十分に明白になり、あるいは、以降で示されるように本発明を実践することによって知ることができる。
【００１５】
本発明の上で列挙された有利な特徴および他の有利な特徴を入手できる形を説明するために、短く上述した本発明のより具体的な説明を、添付図面に示された本発明の特定の実施形態に言及することによって与える。これらの図面が、本発明の通常の実施形態を示すのみであり、したがって本発明の範囲の限定と考えられてはならないことを理解して、本発明を、添付図面の使用を介してさらに具体的および詳細に記述し、説明する。
【発明を実施するための最良の形態】
【００１６】
本発明は、ユーザ対話の容易さおよび最適ディスプレイを可能にするためにグラフライクビジュアル言語を２次元ツリーライク構造に動的にレイアウトする方法、システム、およびコンピュータプログラム製品にわたる。本発明の実施形態は、下で詳細に説明するように、さまざまなコンピュータハードウェアまたはモジュールを含む、特殊目的コンピュータまたは汎用コンピュータを含むことができる。
【００１７】
例の実施形態は、動的な対話および最適なディスプレイを可能にする形で、グラフライクビジュアル言語をレイアウトする現在のツールのさまざまな欠点を克服するように構成された複数のメカニズムを提供する。たとえば、本明細書の一実施形態は、２次元ツリーライク構造内でフローダイアグラムを動的にレイアウトするメカニズムを提供する。グラフライクビジュアル言語は、２次元グラフィカルツリーライク構造として表示される。グラフィカルツリーライク構造は、ツリーライク構造のルートから始まり、サブ部分を含む、少なくとも１つの分岐を含む。サブ部分は、ツリーライク構造の１つまたは複数のオブジェクト、属性、動作、またはアソシエーションの機能的関係および内部挙動に関して全体的なオブジェクトモデルを表すのに使用される。サブ部分は、少なくとも１つの端部分をも含むことができるが、これは、すべての実施形態に必要なわけではない。
【００１８】
ツリーライク構造は、ユーザ対話を実施する形で表示される。たとえば、サブ部分の変更を制御するユーザインターフェース（ＵＩ）要素を表示することができる。端部分ではない１つまたは複数のサブ部分を変更する、ＵＩ要素の選択などのユーザ対話が受け取られる。この変更は、サブ部分のスケーリング、縮小、および拡張を含む。
【００１９】
ユーザ対話に基づいて、２次元ツリーライク構造が動的に変更される。たとえば、いくつかの実施形態で、端部分以外のサブ部分をスケーリングして、使用可能ディスプレイスペース内でのツリーライク構造のディスプレイを最適化することができ、あるいは、サブ部分を縮小または拡張して、ツリーライク構造の大きさに関わりなくツリーライク構造の所望の部分のビューイングを可能にすることができる。他の実施形態では、サブ部分を水平に、垂直に、またはその両方で変更することができる。
【００２０】
他の実施形態は、ツリーライク構造を実行するアプリケーションが終了される場合であってもツリーライク構造に対して行われた変更の永続化を可能にする。たとえば、グラフィカルツリーライク構造を表示し、前の例の形でグラフィカルツリーライク構造を変更するユーザ入力を受け取るアプリケーションが、アクチベートされる。しかし、ユーザ入力に基づいて、ツリーライク構造に対する変更が、永続メモリ内で維持される。さらに、他のサブ部分に対する後続の変更によって隠されるようになる、あるサブ部分に対する変更をも、永続メモリ内で維持することができる。ユーザがそのアプリケーションを終了した後のある時の、そのアプリケーションの再アクチベートの際に、グラフィカルツリーライク構造が、そのアプリケーションが終了される前に見えていたとおりに表示される。可視と隠れとの両方の変更の維持は、アプリケーションが終了され、再始動される場合に常に変更を元に戻すことを必要とせずに、長期にわたってグラフィカルツリーライク構造を表示することを可能にする。さらに、隠れ状態の維持は、アプリケーションが終了される場合にどのサブ部分も失われないことを保証する。
【００２１】
さらなる実施形態は、変更できないグラフライクビジュアル言語およびツリーライク構造の、動的に変更できる２次元ツリーライク構造への変換を可能にする。これらの実施形態は、ツリーライク構造のルートから始まり、システム、サービス、およびプロセスをモデリングする複数のサブ部分を含む１つの分岐を含み、端部分を含む、１次元ツリーライク構造の変換を可能にする。この１次元ツリーライク構造のサブ部分は、端部分をも変更しなければ変更することができず、これは、端部分をも変更することなくサブ部分を変更できる２次元ツリーライク構造と対照的である。これらの構造を２次元ツリーライク構造に変換することによって、ユーザに、２次元ツリーライク構造の動的な変更およびディスプレイ最適化を利用する能力が与えられる。さらに、これは、サブ部分の方位を必要に応じて垂直と水平との間で自動的に切り替えることによる、使用可能なディスプレイスクリーンまたはウィンドウのアスペクト比への自動最適化を可能にする。
【００２２】
有利な特徴へのより具体的な参照を、下で図面に関してより詳細に記述するが、本発明の範囲内の実施形態は、コンピュータ実行可能命令またはデータ構造を担持するかその上に格納されたコンピュータ可読媒体をも含む。そのようなコンピュータ可読媒体は、汎用コンピュータまたは特殊目的コンピュータによってアクセスできるすべての使用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、またはコンピュータ実行可能命令もしくはデータ構造の形で所望のプログラムコード手段を担持するか格納するのに使用でき、汎用コンピュータまたは特殊目的コンピュータによってアクセスできるすべての他の媒体を含めることができる。情報がネットワークまたは別の通信接続（ハードワイヤド、無線、またはハードワイヤドもしくは無線の組合せのいずれか）を介してコンピュータに転送され、または供給される時に、そのコンピュータは、その接続をコンピュータ可読媒体として正しくみなす。したがって、すべてのそのような接続が、正しくコンピュータ可読媒体と呼ばれる。上記の組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
【００２３】
コンピュータ実行可能命令は、たとえば、汎用コンピュータ、特殊目的コンピュータ、または特殊目的処理デバイスにある種の機能または機能のグループを実行させる命令およびデータを含む。本主題を、構造的特徴および／または方法論的行為に固有の言葉で説明してきたが、添付の特許請求の範囲で定義される本主題が、必ずしも上で説明した特定の特徴または行為に限定されないことを理解されたい。そうではなく、上述の特定の特徴または行為は、特許請求の範囲を実施する例の形態として開示された物である。
【００２４】
本明細書で使用される際に、用語「モジュール」または「コンポーネント」は、コンピューティングシステム上で実行されるソフトウェアオブジェクトまたはルーチンを指す。本明細書で説明されるさまざまなコンポーネント、モジュール、エンジン、およびサービスは、コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして（たとえば、別々のスレッドとして）実施することができる。本明細書で説明されるシステムおよび方法は、好ましくはソフトウェアで実施されるが、ハードウェアまたはソフトウェアおよびハードウェアの組合せでの実施も、可能であり、企図されている。この説明では、「コンピューティングエンティティ」は、本明細書で前に定義した任意のコンピューティングシステムまたはコンピューティングシステム上で走行する任意のモジュールもしくは変調の組合せとすることができる。
【００２５】
ここで図面を参照すると、図１は、本明細書で開示されるさまざまな実施形態を実施するのに使用できるコンピューティングシステム１００を示す。コンピューティングシステム１００は、本実施形態を実施する場合に使用できるさまざまなモジュールおよびコンポーネントを示す。コンピューティングシステム１００が、例としてのみ図示されているのであって、これを添付の特許請求の範囲または本明細書で開示されるすべての実施形態の範囲を限定するのに使用してはならないことに留意されたい。言い換えると、本明細書で説明される実施形態を実施するのに使用できる多数の他のコンピューティングシステムおよびコンポーネント構成がある。
【００２６】
コンピューティングシステム１００は、グラフライクビジュアル言語１１０を含み、グラフライクビジュアル言語１１０は、システム、サービス、およびプロセスのフローダイアグラムをモデリングするのに使用することができる。グラフライクビジュアル言語の一般的な例は、モデリングされるシステム、サービス、またはプロセス内に通常はどのような物があるのかを強調する構造ダイアグラム、モデリングされるシステム、サービス、またはプロセス内で一般に発生する物を強調する挙動ダイアグラム、およびモデリングされるシステム、サービス、またはプロセス内の物の間での制御およびデータのフローを強調する対話（ｉｎｔｅｒａｃｔｉｏｎ）ダイアグラムを含む。他の一般的なグラフライクビジュアル言語は、Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ（ＵＭＬ）のさまざまなダイアグラムタイプ、データベースの世界のエンティティリレーションシップダイアグラム、およびビジネスプロセスデザイン用のビジネスプロセスダイアグラムを含む。一般に、本明細書で説明される実施形態は、任意の汎用グラフライクビジュアル言語とすることができるグラフライクビジュアル言語１１０に適用される。したがって、本明細書での、特定のグラフライクビジュアル言語へのすべての言及は、例示のみのためであり、これを本明細書で開示される実施形態の範囲を限定するのに使用してはならない。
【００２７】
コンピューティングシステム１００は、２次元ツリーライク構造１９０としてのグラフライクビジュアル言語１１０の表示を実行するデザインツール／アプリケーション１２０をも含む。デザインツール／アプリケーション１２０は、表示される２次元ツリーライク構造１９０の動的な変更をも実行する。デザインツール／アプリケーション１２０とそのさまざまなモジュールおよび／またはコンポーネントのいずれかを、ソフトウェア、ハードウェア、またはこの２つの任意の組合せとして実施することができ、単一のローカルコンピューティングデバイス上または単一のリモートコンピューティングデバイス上あるいは分散コンピューティング環境内でホスティングすることができる。
【００２８】
デザインツール１２０は、グラフライクビジュアル言語１１０を２次元ツリーライク構造１９０として表示するレイアウト／プレゼンテーションモジュール１３０を含む。いくつかの実施形態で、レイアウト／プレゼンテーションモジュール１３０は、ユーザによってデザイナツール／アプリケーション１２０に入力される要素を表示する。デザイナツール／アプリケーション１２０は、その後、実施されるグラフライクビジュアル言語１１０によって定義される関係に従って、相互接続する線を要素の間に自動的に描く。
【００２９】
他の実施形態では、レイアウトモジュール１３０は、グラフライクビジュアル言語１１０を受け取るか、グラフライクビジュアル言語１１０が受け取られる時に先立って存在するグラフライクビジュアル言語１１０に他の形でアクセスする。既存のグラフライクビジュアル言語１１０は、デザインツール１２０をホスティングするコンピュータ（１つまたは複数）から、または任意のタイプのネットワークを介してコンピューティングシステム１００に接続された、ある他のコンピュータから受け取ることができる。そのような実施形態では、次でより詳細に説明するように、グラフライクビジュアル言語１１０を、変更できないサブ部分を有するツリーライク構造として受け取る場合があり、あるいは、グラフライクビジュアル言語１１０を、１次元でのみ変更できるサブ部分を有する１次元ツリーライク構造として受け取る場合がある。その後、既存のグラフライクビジュアル言語を、やはり次でより詳細に説明するように、２次元ツリーライク構造への変換のために変換モジュール１５０に供給することができる。
【００３０】
グラフライク言語１１０が先在するのかユーザによって作成されるのかに関わりなく、レイアウト／プレゼンテーションモジュール１３０は、そのグラフライク言語を自動的に２次元ツリーライク構造１９０として表示する。ツリーライク構造１９０は、ツリーライク構造のルートから始まる少なくとも１つの分岐を含み、複数のサブ部分またはサブ分岐を含む。サブ部分の１つを、端部分とすることもできる。サブ部分は、グラフライク言語１１０によって表示されるシステム、サービス、またはプロセスを、モデリングされるシステム、サービス、またはプロセスのオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関してモデリングする。
【００３１】
さらに、２次元ツリーライク構造１９０は、そのツリーライク構造のサブ部分をデザイナツール／アプリケーション１２０によって垂直に、水平に、斜めに、またはこの３つのすべてで動的に自動的に変更することを可能にする形で、レイアウト／プレゼンテーションモジュール１３０によって構築され、または変換される。いくつかの実施形態で、端部分でもあるサブ部分は、変更されることから除外される。２次元ツリーライク構造１９０の特定の例を、下で与える。
【００３２】
デザイナツール／アプリケーション１２０は、さらに、変更モジュール１４０を含む。変更モジュール１４０は、ツリーライク構造１９０のサブ部分を変更するユーザ入力１８０をユーザから受け取る。たとえば、ユーザ入力は、縮小、拡張、またはスケーリングのために、変更可能なサブ部分（１つまたは複数）を選択する。ユーザ入力に応答して、変更モジュール１４０は、レイアウトモジュール１３０によって表示されつつあるツリーライク構造のサブ部分のうちの１つまたは複数を動的に自動的に変更する。
【００３３】
たとえば、サブ部分（１つまたは複数）をスケーリングして、使用可能なディスプレイスペースを最適化することができ、あるいは、ツリーライク構造１９０の選択されたサブ部分のフォーカスされたディスプレイを可能にするためにサブ部分（１つまたは複数）を縮小しまたは拡張する。有利なことに、ツリーライク構造１９０の構成は、所与のサブ部分から分岐するいずれかのまたはすべてのサブ部分をも変更することを必要とせずに、その所与のサブ部分を変更することを可能にし、したがって、ユーザが所望のサブ部分をオンザフライで動的に表示することを可能にする。サブ部分は、水平に、垂直に、斜めに（垂直または水平の組合せと考えることができる）、あるいはこの３つの任意の組合せで変更する。
【００３４】
さらに、変更されたサブ部分は、動的に位置決めされ、その結果、表示されるサブ部分は、使用可能なディスプレイスペースを最適化するようになり、これは、有利なことに、フローダイアグラムが最適の外見を維持することを可能にする。いくつかの情況で、水平に表示されていたサブ部分を、ディスプレイのバランスをとるために垂直にまたは斜めに再位置決めする。垂直におよび斜めに表示されるサブ部分に対する変更をも、変更することができる。上の利益は、次の２次元ツリーライク構造の特定の例の議論でより明白になる。
【００３５】
いくつかの実施形態で、変更モジュール１４０は、ツリーライク構造１９０をどのように変更し、および／または表示しなければならないのかを指定する事前定義のルール１６０をも受け取る。そのような実施形態で、変更モジュール１６０は、既に説明したユーザ対話および受け取ったルール１６０に基づいて、少なくとも１つの端部分以外のサブ部分を動的にスケーリングし、拡張し、または縮小する。１つの例のルール１６０は、レイアウトモジュール１３０に、第２グラフィカル要素をフローダイアグラム内で第１グラフィカル要素の右に配置し、すべての追加オブジェクトを第２オブジェクトの下に配置するように指示する。
【００３６】
さらなる実施形態で、デザイナツール／アプリケーション１２０は、永続（ｐｅｒｓｉｓｔｅｎｔ）メモリ１７０へのアクセスを有する。永続メモリ１７０は、任意のタイプの穏当な永続メモリとすることができ、デザイナツール／アプリケーション１２０をホスティングするコンピュータ上に存在することができ、あるいは、任意のタイプのネットワーク接続を介してこれにアクセスすることができる。そのような実施形態で、永続メモリ１７０は、デザイナツール／アプリケーション１２０がユーザによって終了される場合にツリーライク構造１９０のサブ部分に対して行われたすべての変更を維持するのに使用される。ユーザがデザイナツール／アプリケーション１２０を再アクチベートする場合に、ツリーライク構造１９０は、次でより詳細に説明するように、デザイナツール／アプリケーション１２０が終了される前に見えていたとおりに表示される。
【００３７】
図２Ａを参照すると、特定のグラフライクビジュアル言語フローダイアグラム２００が示されている。フローダイアグラム２００は、アクタが注文を行うためにソフトウェアをどのように使用できるかを示すユースケース図（ＵＭＬの一部）である。このダイアグラムに示されているのは、さまざまなオブジェクトおよびコネクタタイプである。たとえば、形状２０１は、アクタタイプの形状である。他の形状は、アクタが行うことまたはプロセスによって行われることを表す。さまざまな形状の間の線は、形状の間の関係を表すコネクタである。図２Ａでは、コネクタは、たとえば、＜ｕｓｅｓ＞タイプまたは＜ｅｘｔｅｎｄ＞タイプならびに他のコネクタタイプである。
【００３８】
たとえば、ユーザ（アクタ）２０１は、注文２０８を行うことができる。発注は、コネクタ２１１によって示されるように、カタログ２０４を要求することに拡張することができる。発注は、コネクタ２１２〜２１４によって示されるように、カスタマデータの供給２０２、製品の注文２０３、および支払いの手配２０５というアクションを使用する。コネクタ２１５および２１６によって示されるように、支払いのタイプを現金とすること２０６ができ、あるいは、信用販売の手配２０７をすることができる。
【００３９】
前に述べたように、デザイナツール／アプリケーション１２０は、フローダイアグラム２００を受け取り、フローダイアグラム２００を、サブ部分２３１〜２３７を含む２次元ツリーライク構造に変換し、サブ部分２３１〜２３７は、前に説明したように、垂直方向と水平方向との両方でおよび潜在的に斜めの方向でスケーリングし、縮小し、拡張することによって変更する。ここで図２Ｂを参照すると、フローダイアグラム２００は、変換および表示プロセスを受けた後に、デザイナツール／アプリケーション１２０で見える可能性がある形で示されている。ダイアグラム２００は、ツリーライク構造１９０に対応するものとすることができ（これは必要ではない）、それでも、前に説明したオブジェクト２０１〜２０８を含むことに留意されたい。また、ユーザ対話（ＵＩ）要素２２１〜２２９も、デザイナツール／アプリケーション１２０によってこのツリーライク構造に追加されていることに留意されたい。ＵＩ要素は、ユーザがツリーライク構造２００のサブ部分を動的に変更することを可能にするのに使用される。
【００４０】
図２Ｂでは、コネクタ２１２、２１３、および２１４は、これらが＜ｕｓｅｓ＞タイプのコネクタであるという共通性に基づいて単一の接続分岐に変換されている。同様の形で、コネクタ２１５および２１６は、これらの共通のコネクタタイプに基づいて単一の接続分岐に変換されている。これらの両方が、マルチコネクタの例であり、ここでは、２次元ツリーライク構造への変換中に、サブ部分の間の複数の接続が、組み合わされたコネクタを表す１つのコネクタに組み合わされる。もちろん、情況がそれを正当化する場合には、異なるタイプのコネクタを単一のコネクタに組み合わせられることも可能である。たとえば、図２では、一般にサブ部分２３７に対応する垂直線は、マルチコネクタであるが、サブ部分２３３および２３４に対応する水平線は、特定のコネクタである。そのような実施形態では、異なるタイプのコネクタが単一コネクタに組み合わされたことの表示を、サブ部分２３３および２３４に対応する水平コネクタのとなりに配置する。
【００４１】
このダイアグラムでは、ユーザ２０１は、ツリーライク構造のルートとして働く。複数のルートがある場合があることに留意されたい。たとえば、「注文を行う」２０８は、それから分岐する２つの分岐のルートとすることができ、「支払いを手配する」２０５は、やはりそれから分岐する分岐のルートとして働く。ツリーライク構造２００は、さらに、分岐の端として働く複数の端部分を含む。たとえば、「カタログを要求する」２０４は、ある分岐の端であるため、端部分とする。類似する形で、「カスタマデータを供給する」２０２、「製品を注文する」２０３、「支払いを手配する」２０７、および「現金を支払う」２０６も、分岐の端であるため、端部分と考える。いくつかの実施形態では、変更を、端部分以外のサブ部分に対して行うことができる。他の実施形態では、変更を、すべてのサブ部分に対して行うことができる。
【００４２】
前に述べたように、デザイナツール／アプリケーション１２０は、ＵＩ要素２２１〜２２９を２次元ツリーライク構造２００に追加する。これらのＵＩ要素は、ユーザがさまざまなサブ部分２３１〜２３７を水平と垂直との両方で動的に変更することを可能にする。これらの変更は、通常は、さまざまなサブ部分のスケーリング、縮小、または拡張のうちの１つである。複数の例を、これから説明する。これらの例は、通常は、示される変更として縮小を使用するが、明示的に言及されない場合であっても、拡張および／またはスケーリングをも実行できることに留意されたい。
【００４３】
たとえば、ＵＩ  ２２２を選択することができ、これは、オブジェクト２０４を含むサブ部分２３２の垂直方向での縮小をもたらす。それと同時に、ＵＩ  ２２３を選択することができ、これは、対応するオブジェクトと共にサブ部分２３３〜２３７の縮小をもたらす。したがって、２次元ツリーライク構造２００は、水平にまたは垂直のいずれかで変更される能力を有する。図２Ｂには示されていないが、２次元ツリーライク構造は、下で図３に関して説明するように、斜め方向で変更することもできる。
【００４４】
さらに、サブ部分を、水平方向と垂直方向との両方で変更することもできる。たとえば、ＵＩ  ２２６を選択することができ、これは、オブジェクト２０６および２０７の垂直方向での縮小をもたらす。逆に、ＵＩ  ２２７および／または２２８を選択することができ、これは、オブジェクト２０６および／または２０７の水平縮小をもたらす。類似する形で、サブ部分２３３、２３４、および２３７を、ＵＩ  ２２３が選択される場合に垂直に変更することができ、それぞれＵＩ  ２２４、２２５、および２２９が選択される場合に水平に変更することもできる。
【００４５】
いくつかの実施形態で、２次元ツリーライク構造２００は、変更されるサブ部分から分岐するサブ部分に対する変更をも自動的に行うことなく、そのツリーライク構造２００のサブ部分に対して変更を行う能力をも有する。たとえば、ＵＩ  ２２５を縮小することができる。これは、オブジェクト２０５を含むサブ部分２３４を縮小するはずである。しかし、サブ部分２３５および２３６は、自動的に縮小はされない。これらは、単純に、使用可能なビューイングスペースを最適化するために再スケーリングされるものとすることができる。もちろん、ユーザがオブジェクト２０６を表示することを望むのみである場合があり、その場合には、この目的のユーザ対話を受け取った際に、オブジェクト２０７をも水平に縮小することができる。
【００４６】
さらなる例として、オブジェクト２０８を含むサブ部分２３１を、ＵＩ  ２２１を選択することによって縮小することができる。多数の従来の１次元ツリーライク構造では、これは、ツリーライク構造の残りを自動的に縮小するはずである。２次元ツリーでは、他のサブ部分は、ユーザ対話がそれらに対する変更を指定するまで表示されるが、いくつかの実施形態では、ディスプレイの最適化を可能にするためにこれらのサブ部分を自動的にスケーリングすることができる。したがって、ユーザは、ユーザに望ましいサブ部分だけを表示するために、ツリーライク構造２００を動的に変更することができる。
【００４７】
図２Ｂならびに続く図３および４では、１つのＵＩ要素だけが、オブジェクトごとまたはサブ部分ごとに図示されていることに留意されたい。図示のＵＩ要素は、サブ部分の縮小および拡張を可能にする。これよりはるかに多数のＵＩ要素を使用することもできることを了解されたい。そのような追加のＵＩ要素は、プロパティフラグ、ユーザコメント、オブジェクトおよび／またはサブ部分の間の追加の関係などを拡張し、縮小するのに使用することができる。したがって、任意の個数のＵＩ要素を実装する２次元ツリーライク構造が、本明細書で開示される実施形態によって企図されている。
【００４８】
デザインツール／アプリケーション１２０によって提供される動的変更能力をさらに示すために、図１のツリーライク構造１９０に対応するものとすることのできる一般化された２次元ツリーライク構造３００を、図３Ａに示す。図３Ａは、さまざまな形状３０１〜３１３を含む。これらの形状が、さまざまなオブジェクト、属性、動作、アソシエーションなどを含むか説明することに留意されたい。形状３０１〜３１３の正確な性質は、本明細書で説明される実施形態に重要ではなく、これを反映するためにさまざまな形状として図示されている。ツリーライク構造３００は、さらに、拡張／縮小メカニズムおよびスケーリングメカニズムを介するツリーライク構造のサブ部分の動的変更を可能にするためにツリーライク構造内に配置されるＵＩ要素３２１〜３３３を含む。ツリーライク構造３００の全体的レイアウトが、例示のためのみであり、本明細書で開示される実施形態を限定するのにこれを使用してはならないことに留意されたい。
【００４９】
形状３０１は、ツリーライク構造のルートとして働くが、他の要素もこのツリーライク構造のルートとすることができる。ルートから分岐しているのが、さまざまなサブ部分３５０〜３６１である。サブ部分のうちのいくつかが、水平方向に配位され、いくつかが垂直方向に配位され、いくつかが斜め方向に配位されていることに留意されたい。ツリーライク構造３００は、２次元であるため、情況に応じてこれらの方向のいずれにおいても変更することができる。前に述べたように、変更は、通常、スケーリング、縮小、または拡張である。
【００５０】
図３Ｂを参照すると、サブ分岐のうちのいくつかが変更された後のツリーライク構造３００が示されている。たとえば、ユーザが、斜めのサブ部分３５０を変更することを望む場合がある。ユーザは、ＵＩ要素３２１を選択する入力を供給することができ、したがって、形状３０２を含むサブ部分３５０を斜め方向で縮小する。いくつかの実施形態では、ＵＩ  ３２１が選択される場合に、サブ部分３５１および３５２をも斜めに縮小することができる。他の実施形態では、２次元ツリーライク構造３００は、まだサブ部分３５１および３５２を表示している間に、斜めのサブ部分３５０だけを縮小する。１次元ツリーライク構造では、サブ部分３５１および３５２は、通常、必ず縮小される。後で、希望に応じてＵＩ  ３２１を選択して、斜めのサブ部分３５０を動的に拡張することができる。
【００５１】
類似する形で、ユーザが、垂直のサブ部分３６０を変更することを望む場合もある。ユーザは、ＵＩ要素３３１を選択する入力を供給し、したがって、形状３１２を含むサブ部分３６０を垂直方向で縮小する。１次元ツリーライク構造では、サブ部分３６０も、通常、必ず縮小される。しかし、いくつかの実施形態では、２次元ツリーライク構造３００は、サブ部分３６１がまだ表示されている間に、垂直のサブ部分３６０だけを縮小する。後で、希望に応じてＵＩ  ３３１を選択して、垂直のサブ部分３６０を動的に拡張することができる。
【００５２】
同様に、ユーザが、水平のサブ部分３５４を変更することを望む場合もある。ユーザは、ＵＩ要素３２６を選択する入力を供給し、したがって、形状３０６を含むサブ部分３５４を水平方向で縮小する。前に説明したように、１次元ツリーライク構造では、サブ部分３５５および３５６も、通常は縮小される。いくつかの実施形態で、２次元ツリーライク構造３００は、サブ部分３０７および３０８がまだ表示されている間に、水平のサブ部分３０６だけを縮小する。斜めおよび垂直の変更と同様に、後で、希望に応じてＵＩ  ３２６を選択して、水平のサブ部分３５４を動的に拡張することができる。
【００５３】
さらに、図３Ｂは、形状３１４およびＵＩ要素３３４を含む新しいサブ部分３６２が２次元ツリーライク構造３００に追加されていることをも示す。デザイナツール／アプリケーション１２０は、ユーザが、ツリーライク構造３００のうちで新しいサブ部分を追加することが望ましい部分を選択することを可能にする。たとえば、ユーザは、ユーザが新しいグラフィカルサブ部分またはオブジェクトを選択し、ドラッグし、ツリーライク構造上の望ましい位置に配置することを可能にするユーザインターフェースを使用することができる。デザイナツール／アプリケーション１２０は、その新しいサブ部分またはオブジェクトを自動的に追加することができ、ツリーライク構造３００は、使用可能なディスプレイスペースを最適化するためにスケーリングされる。したがって、ユーザは、新しいサブ部分またはオブジェクトをツリーライク構造３００に動的に追加することができる。
【００５４】
図３Ｃを参照すると、２次元ツリーライク構造３００に対するさらなる変更が示されている。この図では、ルート形状３０１および形状３１１を含む端部分３５９が示されている。図３Ａのサブ部分３５０およびサブ部分３５０の先のすべてのサブ部分を表す箱３８０も示されている。同様に、箱３９０は、図３Ａのサブ部分３５３およびサブ部分３５３の先のすべてのサブ部分を表す。箱３８０および３９０が、便宜のためのみに使用されており、デザイナツール１２０による実際のディスプレイを暗示することを意図されていないことに留意されたい。
【００５５】
図３Ｃは、変更される部分から分岐するサブ部分をも変更する必要なしに、任意のサブ部分を変更した、２次元ツリーライク構造３００の能力を示す。３つの例の変更だけがツリーライク構造３００に示されているが、図３Ａに示された他のサブ部分のどれであっても、望みどおりに水平に、垂直に、および／または斜めにスケーリングし、縮小し、または拡張することができる。したがって、ユーザは、ユーザによって望ましいと考えられる部分を表示するために、箱３８０および３９０の諸部分を動的に拡張する能力を有する。これは、ユーザが最大の関心を有するサブ部分に焦点を合わせることを有利に可能にする。
【００５６】
さらに、図３Ｃは、ツリーライク構造３００が、望まれる場合にルート形状および端部分を除くすべての要素を縮小する能力を有することを示す。これは、たとえばプロセスの始めおよび終りだけを表示することが望ましい、数百個のサブ部分を有するツリーライク構造に有利である可能性がある。デザイナツール１２０が、変更が図３Ｂおよび３Ｃで行われる場合に使用可能なディスプレイスペースに最適におさまるようにツリーライク構造３００を動的にスケーリングもするが、これが図示されていないことに留意されたい。
【００５７】
本明細書で開示されるいくつかの実施形態が、端部分または変更されるサブ部分から分岐するサブ部分をも変更する必要なしに変更できるサブ部分を有する２次元ツリーライクに関係することを、上で複数回述べた。これは、１次元ツリーライク構造が通常変更される形とは異なる。そのような１次元ツリーライク構造は、一般に、ルートと、主分岐および／または他のサブ部分から分岐するさまざまなサブ部分を含む１つまたは複数の分岐とを有するものとして表示される。１次元ツリーライク構造の例は、コンピュータオペレーティングシステムの周知のファイルおよびフォルダディレクトリを含む。１次元ツリーライク構造は、ユーザがさまざまなサブ部分を縮小し、拡張することを可能にする。しかし、上述の２次元ツリーライク構造のいくつかの実施形態とは非常に対照的に、端部分として働くサブ部分も、通常、その上の別のサブ部分のいずれかが変更される時に必ず変更される。
【００５８】
たとえば、図５に、通常の１次元ツリーライク構造５００を示す。ツリーライク構造５００は、任意のグラフィカルオブジェクトとすることができる形状５０１〜５０４を含む。第２サブ部分５２２は、第１サブ部分５２１および第３サブ部分５２３から分岐し、第３サブ部分５２３は、このツリーライク構造では端部分としても働き、第２サブ部分５２２から分岐する。ユーザが、第１サブ部分５２１を縮小する場合に、形状５０２、５０３、および５０４を含む第２サブ部分５２２および第３サブ部分５２３も、自動的に縮小される。類似する形で、第２サブ部分５２２を縮小すると、形状５０３および５０４を含む第３サブ部分５２３が、自動的に縮小される。ユーザは、単純に、第３サブ部分５２３をまだ表示している間に第２サブ部分５２２を縮小することができず、第２サブ部分５２２および／または第３サブ部分５２３をまだ表示している間に第１サブ部分５２１を縮小することができない。類似する形で、サブ部分５２１および／または５２２を拡張すると、サブ部分５２３も自動的に拡張される。上のシナリオのすべてにおいて、端部分５２３の上のサブ部分に対する変更のすべてが、端部分５２３も変更されることをもたらす。
【００５９】
ここで図４Ａ〜４Ｃを参照すると、２次元ツリーライク構造のいくつかの実施形態の追加の変更態様のさらなる例が示されている。図４Ａでは、図１のツリーライク構造１９０に対応するものとすることができる２次元ツリーライク構造４００が、形状４０１〜４０５と共に示されている。前の例と同様に、形状４０１〜４０５の正確な性質は、重要ではない。この例では、形状４０１は、ツリーライク構造４００のルートを表し、ツリーライク構造４００は、サブ部分４１０〜４１３をも含む。上述のとおり、サブ部分４１１を変更するユーザ入力を受け取ることができる。
【００６０】
図４Ｂを参照すると、サブ部分４１１の変更は、ＵＩ要素４６０をもたらし、ＵＩ要素４６０は、縮小された形状４０２および４０３を表す。ツリーライク構造４００は、形状４０１、４０４、および４０５を含む。さらに、サブ部分４１０、４１２、およびＵＩ要素４６０を含むサブ部分４３０が、その後、作成される。
【００６１】
ここで図４Ｃを参照すると、ユーザがサブ部分４３０を変更したことが示されており、この変更は、縮小された形状４０１および４０４と以前に縮小された形状を表すＵＩ要素４６０とを表すＵＩ要素４６１をもたらす。ＵＩ要素４６０が、図４ＣではＵＩ要素４６１の内部に示されているが、これが、必要な特徴ではない可能性があることに留意されたい。たとえば、いくつかの実施形態で、単一のＵＩ要素が、ユーザによって選択される場合に、ＵＩ要素４６０および４６１のすべての縮小されたサブ部分を拡張させることができる。他の実施形態では、ＵＩ要素４６０を、ＵＩ要素４６１内で隠すことができ、ＵＩ要素４６１が拡張されるまで不可視とすることができる。
【００６２】
もう１つの実施形態で、図４Ｃは、デザイナツール１２０が、隠されたサブ部分の状態を記憶できることを示す。たとえば、ＵＩ要素４６１が、その後にユーザによって拡張される場合に、形状４０１および４０４は表示されるが、形状４０２および４０３は、ＵＩ要素４６０がその後に拡張されるまでは、まだ縮小されており、ＵＩ要素４６０によって表される。
【００６３】
他の実施形態では、前に述べたように、コンピューティングシステム１００は、２次元ツリーライク構造に対して行われる変更を維持するのに使用できる永続メモリ１７０を含む。たとえば、戻って図４Ａ〜４Ｃを参照すると、サブ部分４１１がＵＩ要素４６０に縮小される場合に、この変更を、永続メモリ内で維持することができる。ユーザが、デザイナツール／アプリケーション１２０を終了する場合に、その変更は、失われない。後に、ユーザがデザイナツール／アプリケーション１２０を再アクチベートする場合に、ツリーライクダイアグラム４００が、図４Ｂに示されているように表示される。
【００６４】
同様に、ユーザが、デザイナツール／アプリケーション１２０の終了に先立ってサブ部分４３０をＵＩ要素４６１内に縮小する場合に、サブ部分４３０に対して行われた変更と隠されている可能性があるサブ部分４１１に対して行われた変更との両方が、永続メモリ１７０内で維持される。後に、ユーザがデザイナツール／アプリケーション１２０を再アクチベートする場合に、ツリーライクダイアグラム４００が、図４Ｃに示されているように表示される。有利なことに、ＵＩ要素４６０によって表される変更は、隠されていてもいなくても、やはり保持され、ユーザがＵＩ要素４６１を拡張する場合に、ＵＩ要素４６０が図４Ｂのように表示されるようになる。その後にＵＩ要素４６０が拡張される場合に、ツリーライク構造４００は、図４Ａに示されているように表示される。したがって、ツリーライク構造を実行するアプリケーションを終了する場合であっても隠れ変更および非隠れ変更を永続させる能力は、ユーザに、アプリケーションを終了する際に、行われた変更のすべてを記憶する必要なしに変更を行う能力を与える。これは、数百個のネストしたサブ部分を含むツリーライク構造に特に有用である。変更が永続化されない場合には、ユーザは、アプリケーションが起動されるたびに変更をやり直さなければならない。
【００６５】
本発明を、機能的ステップおよび／または非機能的行為を含む方法に関して説明することもできる。次は、本発明を実践する際に実行できるステップおよび／または行為の説明である。通常、機能的ステップは、達成される結果に関して本発明を説明するが、非機能的行為は、特定の結果を達成するためのより特定のアクションを説明する。機能的ステップおよび／または非機能的行為を、特定の順序で説明し、または主張する場合があるが、本発明は、ステップおよび／または行為の特定の順序付けまたは組合せに必ずしも限定されない。さらに、特許請求の範囲での列挙および図６〜９の流れ図の次の説明におけるステップおよび／または行為の使用は、そのような言葉の所望の特定の使用を示すために使用される。
【００６６】
前に述べたように、図６〜９は、本発明のさまざまな例示的実施形態の流れ図を示す。図６〜９の次の説明は、時々、図１〜４からの対応する要素に言及する。これらの図からの特定の要素に言及する場合があるが、そのような言及は、例示のみのために使用され、明示的に主張されない限り、説明される実施形態の範囲を限定しまたは他の形で狭めることは意味しない。
【００６７】
まず図６に移ると、グラフライクビジュアル言語のフローダイアグラムを、ユーザ対話の容易さおよび最適ディスプレイを可能にする２次元ツリーライク構造に動的にレイアウトする方法６００の流れ図が示されている。方法６００は、ツリーライク構造のルートから始まり、複数のサブ部分を含む、少なくとも１つの分岐を含むグラフィカルツリーライク構造を表示すること６０１を含み、サブ部分は、少なくとも１つの端部分を含む。サブ部分は、１つまたは複数のオブジェクト、属性、動作、またはアソシエーションの機能的関係および内部挙動に関してシステム、サービス、またはプロセスをモデリングする。
【００６８】
たとえば、デザイナツール／アプリケーション１２０のレイアウト／プレゼンテーションモジュール１３０は、２次元ツリーライク構造１９０を表示することができる。ツリーライク構造２００、３００、および４００が、上の定義を満足する２次元ツリーライク構造の例である。
【００６９】
方法６００は、少なくとも１つの端部分以外のグラフィカルツリーライク構造の１つまたは複数のサブ部分を変更するユーザ対話を受け取ること６０２をも含む。たとえば、デザイナツール／アプリケーション１２０の変更モジュール１４０が、ツリーライク構造１９０のサブ部分を変更するユーザ入力１８０を受け取ることができる。いくつかの実施形態で、ユーザ対話は、スケーリング、縮小、または拡張のために１つまたは複数のサブ部分を選択することができる。これは、変更されるサブ部分に関連するＵＩ要素をアクチベートすることによって行うことができる。
【００７０】
いくつかの実施形態で、デザイナツール／アプリケーション１２０の変更モジュール１４０は、ツリーライク構造１９０をどのように変更し、表示しなければならないのかを指定する１つまたは複数の事前定義のルール１６０をも受け取る。ルールおよび受け取られたユーザ対話に基づいて、ツリーライク構造１９０が、動的に変更される。
【００７１】
方法６００は、さらに、端部分を変更することなく、ユーザ対話の容易さ、ディスプレイの最適化、またはこの両方を可能にするために、ユーザ対話に基づいて、端部分以外の１つまたは複数のサブ部分のスケーリング、拡張、または縮小のうちの１つによって動的に変更すること６０３を含む。たとえば、デザイナツール／アプリケーション１２０の変更モジュール１４０は、ツリーライク構造１９０を動的に変更でき、このツリーライク構造１９０は、レイアウトモジュール１３０によって、表示のために最適化することができる。サブ部分は、垂直に、水平に、斜めに、またはこれらの任意の組合せで変更することができる。
【００７２】
たとえば、いくつかの実施形態で、図３Ｂに示されているように、１つまたは複数のサブ部分を、端部分を縮小せずに、垂直に、水平に、斜めに、またはこれらの任意の組合せで縮小することができる。そのような実施形態では、縮小は、サブ部分のうちの少なくとも１つを上述のＵＩ要素などの単一のグラフィカルオブジェクトに自動的にフォーマットすることを含むことができる。この単一のグラフィカルオブジェクトは、一般に、追加のユーザ対話の受け取りの際に少なくとも１つのサブ部分に戻って拡張されるように構成される。追加のユーザ対話は、ユーザがＵＩ要素を拡張すること程度の単純なものとすることができる。
【００７３】
さらなる実施形態では、第１サブ部分に結合された少なくとも１つのノードを有する第２サブ部分を、動的にスケーリングし、縮小し、または拡張することができる。その後、第１サブ部分を、端部分を変更せずに第２サブ部分の後に動的に変更することができる。これは、図４Ａ〜４Ｃに示されたツリーライクデータ構造での隠れ変更を可能にする。
【００７４】
他の実施形態では、サブ部分のうちの１つまたは複数を、端部分を拡張せずに垂直に、水平に、斜めに、またはこれらの任意の組合せで拡張することもできる。そのような実施形態では、拡張は、ＵＩ要素などの拡張可能グラフィカルオブジェクトを少なくとも１つのサブ部分に自動的にフォーマットすることを含むことができる。
【００７５】
さらなる他の実施形態では、動的変更が、ツリーライク構造への新しいサブ部分の追加を含むことができる。たとえば、形状３１４を含むサブ部分３６２が、２次元ツリーライク構造３００に追加される。新しいサブ部分は、ツリーライク構造内の所望の位置を選択することと、デザイナツール／アプリケーション１２０に、ツリーライク構造のバランスを自動的にとることもしながら、新しいサブ部分を自動的に位置決めさせることとによって追加することができる。
【００７６】
ここで図７に移ると、ツリーライク構造のディスプレイに対して行われた変更が、そのツリーライク構造を変更するのに使用されたアプリケーションがユーザによって終了される場合であっても維持されるようにする、ビジュアルツリーライク構造の１つまたは複数のサブ分岐に対する変更をメモリ内で永続的に保持する方法７００の流れ図が示されている。方法７００は、ツリーライク構造のルートから始まり複数のサブ分岐を含む少なくとも１つの分岐を含むツリーライク構造を表示するアプリケーションをアクチベートすること７０１を含む。サブ分岐は、１つまたは複数のオブジェクト、属性、動作、およびアソシエーションの機能的関係および内部挙動に関してシステム、サービス、またはプロセスをモデリングするための物である。
【００７７】
たとえば、デザイナツール／アプリケーション１２０をアクチベートして、ツリーライク構造１９０を表示することができ、その例が、図２〜４に示されている。いくつかの実施形態で、ツリーライク構造は、１次元ツリーライク構造とすることもできる。
【００７８】
方法７００は、複数のサブ分岐のうちの少なくとも１つを変更するユーザ入力を受け取ること７０２をも含む。たとえば、変更モジュール１４０が、ツリーライク構造１９０の１つまたは複数のサブ分岐を変更するユーザ入力１４０を受け取る。いくつかの実施形態で、ユーザ入力は、サブ分岐を拡張しまたは縮小するＵＩ要素を選択することができる。変更は、変更されるサブ分岐をスケーリングすること、縮小すること、および拡張することを含むことができる。
【００７９】
方法７００は、さらに、ユーザがアプリケーションを終了した後で後ほど再アクチベートされた際に、ツリーライク構造を、アプリケーションが終了されたときに見えていたとおりに正確に表示できるように、ユーザ入力に基づいて、サブ分岐に対して行われた変更を永続メモリ内で維持すること７０３を含む。たとえば、ツリーライク構造１９０に対して行われた変更を、永続メモリ１７０内で維持することができる。デザイナツール／アプリケーション１２０が終了され、後に再アクチベートされる場合に、デザイナツール／アプリケーション１２０が終了された場合のツリーライク構造１９０のディスプレイが、もう一度表示される。
【００８０】
いくつかの実施形態で、第１サブ分岐に結合されたノードを有する第２サブ分岐を変更するユーザ入力が受け取られる。第２サブ分岐が変更される。この変更の後に、第１サブ分岐が、第２サブ分岐の変更が隠されるように変更される。その後、第２サブ分岐の隠された変更された状態を、永続メモリ内で保存することができる。アプリケーションが、後で実行される場合に、ＵＩ要素を選択することなどのユーザ入力の受け取りは、隠された第２サブ分岐を表示することを可能にする。
【００８１】
たとえば、図４Ａ〜４Ｃを参照すると、サブ部分４１１をＵＩ要素４１１に縮小することができる。この後に、サブ部分４３０をＵＩ要素４６１に縮小することができ、このＵＩ要素４６１は、上で説明したようにＵＩ要素４１１を隠す。ＵＩ要素４６１を含むツリーライク構造４００を永続メモリ１７０に保存することによって、前に説明したように、アプリケーション１２０が再アクチベートされる場合のサブ部分４１１の回復が可能になる。
【００８２】
図８を参照すると、ビジュアルツリーライク構造を２次元ツリーライク構造に変換する方法８００が示されている。方法８００は、変更できない複数のサブ部分を含む第１ツリーライク構造または第１グラフライクビジュアル言語を受け取ること８０１を含む。代替案では、ツリーライク構造のルートから始まり複数のサブ部分を含む少なくとも１つの分岐を含む第２ツリーライク構造。サブ部分は、１つまたは複数のオブジェクト、属性、動作、またはアソシエーションの機能的関係および内部挙動に関してシステム、サービス、またはプロセスをモデリングする。サブ部分は、１つまたは複数のサブ部分が変更される場合に必ず変更される少なくとも１つの端部分を含む。
【００８３】
たとえば、デザイナツール／アプリケーション１２０のレイアウトモジュール１３０が、グラフライクビジュアル言語１１０を受け取ることができ、このグラフライクビジュアル言語１１０は、変更できない先在するツリーライク構造、端部分が変更される場合に限って変更できる先在する１次元ツリー構造、または先在する任意のグラフライクビジュアル言語とすることができる。グラフライクビジュアル言語１１０は、上述したようにユーザによって作成されたこの３つのうちのいずれかとすることもできる。任意のグラフライクビジュアル言語は、モデリングされるシステム、サービス、またはプロセス内に存在しなければならない物を強調する構造ダイアグラム、モデリングされるシステム、サービス、またはプロセス内で発生しなければならない物を強調する挙動ダイアグラム、およびモデリングされるシステム、サービス、またはプロセス内の物の間での制御およびデータのフローを強調する対話（ｉｎｔｅｒａｃｔｉｏｎ）ダイアグラムのうちの１つを含むことができる。任意のグラフライク言語は、Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ（ＵＭＬ）のさまざまなダイアグラムタイプ、データベースの世界のエンティティリレーションシップダイアグラム、およびビジネスプロセスデザイン用のビジネスプロセスダイアグラムをも含むことができる。
【００８４】
方法８００は、受け取られた第１のまたは第２のツリーライク構造または任意のグラフライクビジュアル言語を２次元ツリーライク構造に変換すること８０２をも含む。２次元ツリーライク構造は、２次元ツリーライク構造のルートから始まり、端部分を含む複数のサブ部分を含む、少なくとも１つの分岐を含み、端部分以外のサブ部分は、端部分をも変更することなくスケーリング、縮小、または拡張によって変更することができる。
【００８５】
たとえば、変換モジュール１５０は、受け取られたツリーライク構造またはグラフライクビジュアル言語を２次元ツリーライク構造１９０に変換することができる。２次元ツリーライク構造は、前に説明したように、垂直に、水平に、斜めに、またはこの３つの任意の組合せで変更することができる。変換された２次元ツリーライク構造は、本明細書で説明する他の方法および実施形態に関する２次元ツリーライク構造に関して前に説明した機能性のすべてを可能にもする。
【００８６】
ここで図９を参照すると、グラフライクビジュアル言語のダイアグラムをユーザ対話の容易さおよび最適ディスプレイを可能にする２次元ツリーライク構造に動的にレイアウトする方法９００の流れ図が示されている。方法９００は、ツリーライク構造のルートから始まり、垂直方向および水平方向で変更されるように構成された複数のサブ部分を含む、少なくとも１つの分岐を含むグラフィカルツリーライク構造を表示すること９０１を含む。サブ部分は、１つまたは複数のオブジェクト、属性、動作、またはアソシエーションの機能的関係および内部挙動に関してシステム、サービス、またはプロセスをモデリングする。サブ部分は、斜めにも変更されるように構成することもできる。
【００８７】
たとえば、デザイナツール／アプリケーション１２０のレイアウト／プレゼンテーションモジュール１３０が、２次元ツリーライク構造１９０を表示することができる。ツリーライク構造２００、３００、および４００が、上の定義を満足する２次元ツリーライク構造の例である。
【００８８】
方法９００は、少なくとも１つ端部分以外のグラフィカルツリーライク構造の１つまたは複数のサブ部分を変更するユーザ対話を受け取ること９０２をも含む。たとえば、デザイナツール／アプリケーション１２０の変更モジュール１４０が、ツリーライク構造１９０のサブ部分を変更するユーザ入力１８０を受け取ることができる。いくつかの実施形態で、ユーザ対話は、垂直に、水平に、および潜在的に斜めにスケーリングし、縮小し、または拡張するために１つまたは複数のサブ部分を選択することができる。これは、変更されるサブ部分に関連するＵＩ要素をアクチベートすることによって行うことができる。
【００８９】
方法９００は、さらに、ユーザ対話に基づいて、ユーザ対話の容易さ、ディスプレイの最適化、またはこの両方を可能にするために水平に、垂直に、またはその両方で動的に変更すること９０３を含む。たとえば、デザイナツール／アプリケーション１２０の変更モジュール１４０が、ツリーライク構造１９０を動的に変更することができ、その後、ツリーライク構造１９０は、レイアウトモジュール１３０によってディスプレイのために最適化することができる。サブ部分を、スケーリングし、拡張し、または縮小することができる。
【００９０】
さらなる実施形態では、第１サブ部分に結合された少なくとも１つのノードを有する第２サブ部分を、動的に変更することができる。その後、第１サブ部分を、第２サブ部分の後に、第２サブ部分に対する変更を隠す形で動的に変更することができる。これは、図４Ａ〜４Ｃに示された、ツリーライクデータ構造での隠れ変更を可能にする。隠れ変更は、その後、追加のユーザ入力を受け取る際に表示することができる。
【００９１】
さらに別の実施形態では、動的変更が、ツリーライク構造への新しいサブ部分の追加を含むことができる。たとえば、形状３１４を含むサブ部分３６２が、２次元ツリーライク構造３００に追加される。新しいサブ部分は、ツリーライク構造内の所望の位置を選択することと、デザイナツール／アプリケーション１２０に、ツリーライク構造のバランスを自動的にとることもしながら、新しいサブ部分を自動的に位置決めさせることとによって追加することができる。複数のコネクタを１つのコネクタに組み合わせることなど、他の変更技法を実装することもできる。
【００９２】
追加の実施形態では、グラフィカルツリーライク構造のディスプレイの最適化は、ディスプレイデバイスまたはウィンドウのアスペクト比に関して最適化するために、１つまたは複数のサブ部分を水平方位から垂直方位に自動的に切り替えること、あるいは１つまたは複数のサブ部分を垂直方位から水平方位に切り替えることを含む。たとえば、いくつかの情況で、グラフィカルツリーライク構造の１つまたは複数の分岐が、グラフィカルツリーライク構造のディスプレイをディスプレイデバイスのアスペクト比に関して最適化されていない物にする場合がある。たとえば、グラフィカルツリーライク構造が、垂直に長すぎる場合があり、その一方で、ディスプレイデバイスまたはウィンドウは、水平に未使用のディスプレイスペースを有する。その場合に、デザイナツール／アプリケーション１２０は、１つまたは複数の垂直のサブ部分を、水平に表示されるように自動的に切り替えることができる。これらのサブ部分は、ディスプレイを最適化された状態に保つために切り替えを必要とする新しい要素がグラフィカルツリーライク構造に追加される場合など、情況がそれを正当化する場合に、後で垂直表示に戻って切り返ることができる。
【００９３】
たとえば、図３Ａを参照すると、いくつかの実施形態で、デザイナツール／アプリケーション１２０は、ディスプレイデバイスのアスペクト比に関して最適化するために、垂直のサブ部分３６０および３６１を要素３１０から水平に分岐するものとして表示するように、サブ部分３６０および３６１のディスプレイを自動的に切り替えることができる。類似する形で、デザイナツール／アプリケーション１２０は、情況がそれを正当化する場合には、水平のサブ部分３５４〜３５６（またはこれらのサブ部分の任意のサブセット）を要素３０５から垂直に分岐するものとして表示するように、サブ部分３５４〜３５６の表示を自動的に切り替えることができる。デザイナツール／アプリケーション１２０が、ディスプレイデバイスまたはウィンドウのアスペクト比に関して最適化する必要に応じて、図３Ａおよび３Ｂの要素のいずれのディスプレイ方位をも自動的に切り替えることができることに留意されたい。
【００９４】
本発明は、その趣旨または本質的特性から逸脱せずに他の特定の形態で実施することができる。説明された実施形態は、すべての面において、例示的であり、制限的ではないものと考えられなければならない。したがって、本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲によって示される。特許請求の範囲の意味および同等性の範囲に含まれるすべての変更は、特許請求の範囲の範囲に含まれなければならない。
【図面の簡単な説明】
【００９５】
【図１】グラフィカル２次元ツリーライク構造としてグラフライクビジュアル言語を動的に表示するコンピューティングシステムを示す図である。
【図２Ａ】グラフライクビジュアル言語の例を示す図である。
【図２Ｂ】例の実施形態によるグラフィカル２次元ツリーライク構造として表示された図２Ａのグラフライクビジュアル言語を示す図である。
【図３Ａ】例の実施形態による例のグラフィカル２次元ツリーライク構造を示す図である。
【図３Ｂ】図３Ａのグラフィカル２次元ツリーライク構造に対して行われる変更を示す図である。
【図３Ｃ】図３Ａのグラフィカル２次元ツリーライク構造に対するさらなる変更を示す図である。
【図４Ａ】例の実施形態によるもう１つの例のグラフィカル２次元ツリーライク構造を示す図である。
【図４Ｂ】図４Ａのグラフィカル２次元ツリーライク構造に対して行われる変更を示す図である。
【図４Ｃ】図４Ａのグラフィカル２次元ツリーライク構造に対するさらなる変更を示す図である。
【図５】グラフィカル１次元ツリーライク構造を示す図である。
【図６】例の実施形態による、グラフライクビジュアル言語のフローダイアグラムをグラフィカル２次元ツリーライク構造に動的にレイアウトする方法を示す流れ図である。
【図７】例の実施形態による、グラフィカルツリーライク構造の１つまたは複数のサブ分岐に対する変更をメモリ内で永続的に保持する方法を示す流れ図である。
【図８】例の実施形態による、グラフィカルツリーライク構造をグラフィカル２次元ツリーライク構造に変換する方法を示す流れ図である。
【図９】例の実施形態による、グラフライクビジュアル言語のフローダイアグラムをグラフィカル２次元ツリーライク構造に動的にレイアウトする方法を示す流れ図である。
【図１】
2009532755.tif 000003
【図２Ａ】
2009532755.tif 000004
【図２Ｂ】
2009532755.tif 000005
【図３Ａ】
2009532755.tif 000006
【図３Ｂ】
2009532755.tif 000007
【図３Ｃ】
2009532755.tif 000008
【図４Ａ】
2009532755.tif 000009
【図４Ｂ】
2009532755.tif 000010
【図４Ｃ】
2009532755.tif 000011
【図５】
2009532755.tif 000012
【図６】
2009532755.tif 000013
【図７】
2009532755.tif 000014
【図８】
2009532755.tif 000015
【図９】
2009532755.tif 000016
【国際調査報告】
2009532755.tif 000017
2009532755.tif 000018
2009532755.tif 000019