(57)【特許請求の範囲】
【請求項１】
ノードおよび該ノードの各コネクションに関するグラフのレイアウトを、該グラフに対する変更が生じた際に部分的に更新するための方法であって、
各ノードは、ノードにおけるポートを用いて各ノードに連結された接続線によって、別のノードにリンクされている、方法において、
該方法は、データ処理システムによって実行され、
ノードまたは接続線の追加、ノードまたは接続線の移動、もしくはノードのリサイズを含む、前記レイアウトの更新についてのユーザ入力を受信することと、
前記ポートを、前記更新の影響を受けるノードおよび該影響を受けるノードに接続されているノードにおいてのみ位置決めすることと、
ポートの更新された位置に基づいて、前記影響を受けるノードと、該影響を受けるノードに接続されているノードとの間の接続線の経路指定を行うことと、
を含み、
ノードの収縮によって、該ノードの境界の外側に少なくとも１つのポートが位置することがない限り、前記影響を受けるノードまたは該影響を受けるノードに接続されているノードにおいては、既存のポートの位置を変更せずに維持する、
方法。
【請求項２】
前記接続線の経路指定を、１セグメント型の経路指定、３セグメント型の経路指定および５セグメント型の経路指定の優先順で行う、請求項１に記載の方法。
【請求項３】
前記１セグメント型の経路指定は、線がいずれのノードとも重ならずに、１つの直線で２つのポートを接続することを含む、請求項２に記載の方法。
【請求項４】
３セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、３つの直線で２つのポートを接続することを含み、１つの線は、前記ポートから延びる他の２つの線と垂直に接続されている、請求項２に記載の方法。
【請求項５】
５セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、５つの直線で２つのポートを接続することを含み、１つの線は、２つの線と垂直に接続されており、該２つの線はそれぞれ、１つのポートから延びる線に垂直に接続されている、請求項２に記載の方法。
【請求項６】
プロセッサおよびアクセス可能なメモリを備えた、データ処理システムにおいて、
前記データ処理システムは、特に、ノードおよび該ノードの各コネクションに関するグラフのレイアウトを、該グラフに対する変更が生じた際に部分的に更新するように構成されており、各ノードは、ノードにおけるポートを用いて各ノードに連結された接続線によって、別のノードにリンクされており、
前記データ処理システムは、さらに、
ノードまたは接続線の追加、ノードまたは接続線の移動、もしくはノードのリサイズを含む、前記レイアウトの更新についてのユーザ入力を受信し、
前記ポートを、前記更新の影響を受けるノードおよび該影響を受けるノードに接続されているノードにおいてのみ位置決めし、
ポートの更新された位置に基づいて、前記影響を受けるノードと、該影響を受けるノードに接続されているノードとの間の接続線の経路指定を行う、
ように構成され、
ノードの収縮によって、該ノードの境界の外側に少なくとも１つのポートが位置することがない限り、前記影響を受けるノードまたは該影響を受けるノードに接続されているノードにおいては、既存のポートの位置は変更されない、
データ処理システム。
【請求項７】
前記接続線の経路指定は、１セグメント型の経路指定、３セグメント型の経路指定および５セグメント型の経路指定の優先順で行われる、請求項６に記載のデータ処理システム。
【請求項８】
前記１セグメント型の経路指定は、線がいずれのノードとも重ならずに、１つの直線で２つのポートを接続する、請求項７に記載のデータ処理システム。
【請求項９】
３セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、３つの直線で２つのポートを接続することを含み、１つの線は、前記ポートから延びる他の２つの線と垂直に接続されている、請求項７に記載のデータ処理システム。
【請求項１０】
５セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、５つの直線で２つのポートを接続することを含み、１つの線は、２つの線と垂直に接続されており、該２つの線はそれぞれ、１つのポートから延びる線に垂直に接続されている、請求項７に記載のデータ処理システム。
【請求項１１】
実行可能な命令が符号化されている非一時的なコンピュータ可読媒体において、
前記命令が実行されると、１つまたは複数のデータ処理システムは、ノードおよび該ノードの各コネクションに関するグラフのレイアウトを、該グラフに対する変更が生じた際に部分的に更新し、ここで、各ノードは、ノードにおけるポートを用いて各ノードに連結された接続線によって、別のノードにリンクされており、
さらに、前記１つまたは複数のデータ処理システムは、
ノードまたは接続線の追加、ノードまたは接続線の移動、もしくはノードのリサイズを含む、前記レイアウトの更新についてのユーザ入力を受信し、
前記ポートを、前記更新の影響を受けるノードおよび該影響を受けるノードに接続されているノードにおいてのみ位置決めし、
ポートの更新された位置に基づいて、前記影響を受けるノードと、該影響を受けるノードに接続されているノードとの間の接続線の経路指定を行い、
ノードの収縮によって、該ノードの境界の外側に少なくとも１つのポートが位置することがない限り、前記影響を受けるノードまたは該影響を受けるノードに接続されているノードにおいては、既存のポートの位置は変更されない、
コンピュータ可読媒体。
【請求項１２】
前記接続線の経路指定は、１セグメント型の経路指定、３セグメント型の経路指定および５セグメント型の経路指定の優先順で行われる、請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
前記１セグメント型の経路指定は、線がいずれのノードとも重ならずに、１つの直線で２つのポートを接続する、請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
３セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、３つの直線で２つのポートを接続することを含み、１つの線は、前記ポートから延びる他の２つの線と垂直に接続されている、請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
５セグメント型の経路指定は、いずれの線もいずれのノードと重ならずに、５つの直線で２つのポートを接続することを含み、１つの線は、２つの線と垂直に接続されており、該２つの線はそれぞれ、１つのポートから延びる線に垂直に接続されている、請求項１２に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、コンピュータ支援による設計（「ＣＡＤ」）、視覚化および製造システム、製品ライフサイクル管理（「ＰＬＭ」）システム、ならびに製品および他の項目のデータを管理する同等のシステム（これらをまとめて「製品情報管理」システムまたはＰＤＭシステムと称する）に関する。種々の実施形態は、特に、複合部品のためのＣＡＤシステムおよびプロセスに関する。
【０００２】
背景技術
製品情報管理（ＰＤＭ）システムは、製品ライフサイクル管理（ＰＬＭ）システムおよび他のデータを管理する。改善されたシステムが所望されている。
【０００３】
発明の概要
開示する種々の実施形態は、ノードおよびそれらノードの各コネクションに関するグラフのレイアウトを、そのグラフに対する変更が生じた際に部分的に更新するための方法を含み、ここで、各ノードは、ノードにおけるポートを用いて各ノードに連結された接続線によって、別のノードにリンクされている。方法は、レイアウトの更新についてのユーザ入力を受信することを含む。更新は、ノードまたは接続線の追加、ノードまたは接続線の移動、もしくはノードのリサイズを含む。方法は、更新の影響を受けるノードおよびその影響を受けるノードに接続されているノードにおいてのみポートを位置決めすることをさらに含む。方法は、影響を受けるノードと、その影響を受けるノードに接続されているノードとの間の接続線の経路指定を行うことをさらに含む。
【０００４】
上記においては、本開示の特徴および技術的な利点の概略をより広範に述べたので、当業者であれば、下記の詳細な説明をよりよく理解するであろう。各請求項の対象を成す本開示の付加的な特徴および利点を下記において説明する。当業者であれば、開示された着想および特定の実施形態を、本開示の目的と同じ目的を達成するための修正または他の構造の設計の基礎として、容易に使用できることを理解するであろう。また当業者であれば、そのような等価の構造が最も広い形態での開示の精神および範囲から逸脱しないことを認識するであろう。
【０００５】
以下の詳細な説明に入る前に、本明細書全体にわたり使用される特定の単語および語句の定義を挙げることは有利であると考えられる。すなわち、「を含む」および「を備える」という表現、ならびにそれらの派生語は、限定を意図しない包含を意味している。「または」という表現は、「および／または」の意味も含んでいる。「と関連付けられた」および「それと関連付けられた」、ならびにそれらの派生語は、「を含む」、「に含まれる」、「と相互接続する」、「を含有する」、「に含有される」、「に接続する」または「と接続する」、「に結合する」または「と結合する」、「と連携可能である」、「と共働する」、「を介在する」、「に並置する」、「に近接する」、「に結び付けられる」または「と結び付けられる」、「を有する」、「の性質を有する」などを意味する場合もある。さらに「コントローラ」という用語は、ハードウェア、ファームウェア、ソフトウェア、またはそれらのうちの少なくとも２つの組み合わせで実装されていようと、少なくとも１つのオペレーションを制御する任意のデバイス、システムまたはそれらの一部を意味している。任意の特定のコントローラに関連付けられた機能を、ローカルであれリモートであれ、集中させてもよいし分散させてもよい、ということに留意されたい。特定の単語および語句に関する定義は、本明細書全体にわたり規定されており、当業者であれば、そのような定義は、大分部でなくとも、多くの事例において、そのような定義した単語および語句の以前の使用にも将来の使用にも適用されると理解するであろう。一部の用語は、多種多様な実施形態を含むことができるが、添付の特許請求の範囲では、それらの用語が特定の実施形態に明確に制限されてもよい。
【０００６】
本開示およびその利点のより完全な理解のために、添付の図面と関連させた以下の説明を参照されたい。図面において、類似の参照番号は、類似の対象を表している。
【図面の簡単な説明】
【０００７】
【図１】実施形態を実現することができるデータ処理システムのブロック図を示す。
【図２】例えばＰＬＭシステムまたはＰＤＭシステムによって、実施例によるグラフのレイアウトを部分的に更新するための方法のフローチャートを示す。
【図３】グラフのレイアウトの１つの例を示す。
【図４】本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例を示す。
【図５】本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例を示す。
【図６】本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例を示す。
【図７】本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例を示す。
【図８】本開示の実施形態による、部分的な更新が行われた後の接続線の経路指定の例を示す。
【図９】経路指定に誤りがある例を示す。
【図１０】経路指定に誤りがある例を示す。
【図１１】経路指定に誤りがある例を示す。
【図１２】本開示の実施形態による、部分的な更新が行われた後の接続線の経路指定の例を示す。
【図１３】本開示の実施形態による、部分的な更新が行われた後の接続線の経路指定の例を示す。
【発明を実施するための形態】
【０００８】
下記において説明する図１から図１３、および本明細書における本開示の基本原理を説明するために用いられる種々の実施形態は例示を目的としたものに過ぎず、いかなる点においても本開示の範囲を限定するものではないと解されるべきである。当業者であれば、本開示の基本原理を、適切に構成された任意の装置において実現できることを理解するであろう。本発明の数多くの革新的な教示を、例示的で非限定的な実施形態を参照しながら説明する。
【０００９】
ソートレイアウトと呼ばれるレイアウトタイプが存在する。組織的に離間されたグラフィカル要素は、種々の項目を表すために使用される。例えば、ノードは、プロセス、機能または要件を表すことができ、線は、一方のノードと他方のノードとのコネクションを示すために、それらのノードを接続することができる。レイアウトのグラフにおける接続線は直交している。グラフィカル要素を、構造的かつ／または階層的に配置することができる。またグラフィカル要素を、プロセスに基づいて、またはユーザが所望するように位置決めすることができる。
【００１０】
レイアウトにおけるグラフのさらなる修正、例えばレイアウトにおける１つ以上のグラフィカル要素の移動、リサイズまたは追加が必要になる場合がある。したがって、グラフの美観は維持することができるが、しかしながら計算量は少なくて済む、レイアウトを部分的に更新するための方法を提供することが必要である。
【００１１】
開示する実施形態は、ノードのレイアウトを部分的に更新するための方法を説明する。
【００１２】
図１には、１つの実施形態を実現することができるデータ処理システムのブロック図が示されており、このデータ処理システムは、例えば、特に下記において説明するようなプロセスを実行するためのソフトウェアまたは他の手段によってコンフィギュレートされたＰＤＭシステムとして実現することができ、また特に、下記において説明するような、相互接続されて通信を行う複数のシステムのうちの各々１つとして実現することができる。図示されているデータ処理システムは、レベル２キャッシュ／ブリッジ１０４に接続されたプロセッサ１０２を含むことができ、このキャッシュ／ブリッジ１０４自体は、ローカルシステムバス１０６に接続されている。例えば、ローカルシステムバス１０６は、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔ）アーキテクチャのバスであってよい。図示した実施例においては、ローカルシステムバスに、メインメモリ１０８およびグラフィックアダプタ１１０も接続されている。グラフィックアダプタ１１０を、ディスプレイ１１１に接続することができる。
【００１３】
ローカルエリアネットワーク（ＬＡＮ）／ワイドエリアネットワーク／ワイヤレス（例えばＷｉＦｉ）アダプタ１１２などの他の周辺機器も、ローカルシステムバス１０６に接続することができる。拡張バスインタフェース１１４によって、ローカルシステムバス１０６は、入力／出力（Ｉ／Ｏ）バス１１６に接続されている。Ｉ／Ｏバス１１６は、キーボード／マウスアダプタ１１８、ディスクコントローラ１２０、およびＩ／Ｏアダプタ１２２に接続されている。ディスクコントローラ１２０を記憶装置１２６に接続することができ、この記憶装置１２６は、機械使用可能または機械可読の任意の適切な記憶媒体であってよい。このような記憶媒体には、リードオンリメモリ（ＲＯＭ）などの不揮発性でハードコーディング型の媒体、または消去可能で電気的にプログラミング可能なリードオンリメモリ（ＥＥＰＲＯＭ）、磁気テープ媒体、およびユーザ記録可能型の媒体、例えばフロッピディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリメモリ（ＣＤ−ＲＯＭ）もしくはディジタル多目的ディスク（ＤＶＤ）、ならびに他の周知の光学的、電気的または磁気的な記憶デバイスが含まれるが、記憶媒体は、上記のものに限定されるものではない。
【００１４】
図示した実施例において、Ｉ／Ｏバス１１６にはオーディオアダプタ１２４も接続されており、このオーディオアダプタ１２４には、サウンド再生のためにスピーカ（図示せず）を接続することができる。キーボード／マウスアダプタ１１８は、マウス、トラックボール、トラックポインタ、タッチスクリーンなどのポインティングデバイス（図示せず）のためのコネクションを提供する。
【００１５】
当業者であれば、図１に図示したハードウェアを特定の実現形態のために変更できることを理解するであろう。例えば、図示したハードウェアに加えて、またはその代わりに、光ディスクドライブなどの他の周辺機器も使用することができる。図示した実施例は、例示を目的として呈示したものに過ぎず、本開示に関して構造上の制限を暗示することを意図したものではない。
【００１６】
本開示の１つの実施形態によるデータ処理システムは、グラフィックユーザインタフェースを用いるオペレーティングシステムを含む。オペレーティングシステムによって、同時に複数のディスプレイウィンドウをグラフィックユーザインタフェースに表示することができ、各ディスプレイウィンドウによって、異なるアプリケーションに対するインタフェース、または同一のアプリケーションの異なるインスタンスに対するインタフェースが提供される。ユーザは、ポインティングデバイスによって、グラフィックユーザインタフェースにおけるカーソルを操作することができる。カーソルの位置を変更することができる、かつ／または、所望のレスポンスを生じさせるために、マウスボタンのクリックなどのイベントを発生させることができる。
【００１７】
適切に修正が行われていれば、種々の市販のオペレーティングシステムのうちの１つ、例えばＷａｓｈｉｎｇｔｏｎ州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ社の製品であるＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）の１つのバージョンを採用することができる。オペレーティングシステムは、上述したような本開示に従い変更または作成される。
【００１８】
ＬＡＮ／ＷＡＮ／ワイヤレスアダプタ１１２を（データ処理システム１００の一部ではない）ネットワーク１３０に接続することができ、このネットワークは、当業者には周知であるように、公用または専用の任意のデータ処理システムネットワークもしくはインターネットも含めた複数のネットワークの組み合わせであってよい。データ処理システム１００は、ネットワーク１３０を介してサーバシステム１４０と通信することができ、このサーバシステム１４０は、やはりデータ処理システム１００の一部ではないが、しかしながら例えば別個の異なるデータ処理システム１００として実現することができる。
【００１９】
図２は、実施例によるレイアウトを部分的に更新するための方法２００のフローチャートを示す。ここで、方法２００の各ブロックの概要を説明し、その後、さらに説明する。本明細書に記載の種々のブロックは、異なる時間に実施することができるが、連続して実施する必要はないことは自明である。ブロック２１０において、コンピュータシステムは、ノードまたは接続線の追加、ノードまたは接続線の移動、もしくはノードのリサイズを含む、レイアウトの更新についてのユーザ入力を受信する。ブロック２２０において、コンピュータシステムは、更新の影響を受けるノードおよびその影響を受けるノードに接続されているノードにおいてポートを位置決めする。ブロック２３０において、コンピュータシステムは、そのようなポートの更新された位置に基づいて、影響を受けるノードと、その影響を受けるノードに接続されているノードとの間の接続線の経路指定を行う。
【００２０】
図３には、レイアウトの１つの例が図示されている。ノードＮ１０、Ｎ１１、Ｎ１２、Ｎ１３、Ｎ１４、Ｎ２１、Ｎ２２、Ｎ２３、Ｎ２４、Ｎ３１、Ｎ３２は矩形である。ノードをリサイズすることが可能であり、例えば、Ｎ２４はその他のノードよりも大きくリサイズされている。接続線は、種々のノードを接続してまとめるために使用されている。グラフにおいて各接続線は直交する。例えば、線Ｌ１３２１は、Ｎ１３とＮ２１とを接続しており、また線Ｌ２１３１は、Ｎ２１とＮ３１とを接続している。複数のコネクションがノード間に延びることも可能である。例えば、Ｌ１０１１およびＬ１０１４を含めて、４本の線がノードＮ１０と他のノードとを接続している。
【００２１】
コネクションとノードとの間の連結部がポートである。ポートは、特別な形状であってもよいし、それどころか、線とノードとの接続点と視覚的に一致していてもよい。例えば、線Ｌ１０１１は、ポートＰ１０１１においてノードＮ１０に接続されており、ポートＰ１１１０においてノードＮ１１に接続されており、また線Ｌ１０１４は、ポートＰ１０１４においてノードＮ１０に接続されており、ポートＰ１４１０においてノードＮ１４に接続されている。
【００２２】
レイアウトの拡張方向を設定することが可能である。図３において、レイアウトは、左から右に拡張されているが、レイアウトを右から左、上から下、または下から上にも拡張できることは自明である。
【００２３】
あるノードを別のノードに接続する線の方向は、レイアウトの拡張方向に依存する。図３において、線は、例えば線Ｌ１０１１、Ｌ１０１４、Ｌ１３２１およびＬ２１３１のように、常にあるノード（ソース）の矩形の右側から始まって、別のノード（ターゲット）の左側において終わっている。ソースがターゲットの右側にある場合であっても、線はやはり、例えば線Ｌ３２２２のように、ソースノードの矩形の右側から始まって、ターゲットノードの左側において終わる。
【００２４】
上述したように、ノード、接続線およびポートを含むグラフ要素の追加、移動またはリサイズによって、レイアウトの更新が必要になる場合がある。
【００２５】
種々の実施形態を、受信したユーザ入力（または他の入力）に起因する種々の更新に関して詳細に説明する。
【００２６】
図４には、本開示の実施形態による、部分的な更新が行われる前の論理モデルの例および部分的な更新が行われた後の論理モデルの例が図示されている。レイアウト４Ａは、部分的な更新が行われる前のレイアウトである。ユーザ入力がＮ１４の下に２つのノードＮ２２およびＮ２３を追加することである場合、コンピュータシステムは、そのような入力を受信し、相応に（１つまたは複数の）ポートを位置決めする。
【００２７】
レイアウト４Ｂは、部分的な更新が行われた後のレイアウトである。この例では、更新の影響を受けるノード（Ｎ２２、Ｎ２３）およびその影響を受けるノードに接続されているノード（Ｎ１４）のみが更新される。他のノードＮ１０、Ｎ１１、Ｎ１２、Ｎ１３およびＮ２４、並びにそれらのノードの接続線は更新されない。さらに、Ｎ２２およびＮ２３より以前に存在しているノードＮ１４におけるポート（Ｐ１４１３、Ｐ１４２４）も変更されない。
【００２８】
Ｎ１４と新たに追加された２つのノードＮ２２およびＮ２３とを接続するために、Ｎ１４において２つの新たなポートを位置決めする必要がある。続いて、Ｎ１４とＮ２２、Ｎ２３とを接続する接続線の経路は、本明細書において説明する経路指定アルゴリズムに従うことができる。
【００２９】
図４においては、ノードＮ１４における新たなポートＰ１４２２およびＰ１４２３が、ポートＰ１４１３とＰ１４２４との間に位置している。新たなノードＮ２２およびＮ２３におけるポート（Ｐ２２１４、Ｐ２３１４）は、接続線が考えられる最小数のセグメントを有することを保証するように位置決めされる。Ｎ１４に接続されている１つのノードＮ２４が既に存在しているので、Ｎ２２およびＮ２３は、異なるレベルに位置決めされなければならず、それによって接続線Ｌ１４２２およびＬ１４２３は、少なくとも３つのセグメントを有する。
【００３０】
新たなノードＮ２２、Ｎ２３およびそれらに接続されているノードＮ１４を更新することだけが必要とされ、他のノード、接続線ならびに既存のポートは影響を受けない。グラフ全体の従来の再経路指定に比べて、性能はより高い効率を有するよう改善されている。
【００３１】
図５には、本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例が図示されている。レイアウト５Ａは、部分的な更新が行われる前のレイアウトである。ユーザ入力がノードＮ１２を別の位置に移動させることである場合、コンピュータシステムは、そのような入力を受信し、Ｎ１２において発見された（１つまたは複数の）ポートを相応に位置決めする。
【００３２】
変更されなかった他の既存のノードにおけるポートは影響を受けない。レイアウト５Ｂにおいては、ノードＮ１２が移動されており、したがって、Ｎ１２に接続されているノードＮ１１およびＮ１０が影響を受ける。しかしながら、追加された新たな接続線は存在しないので、Ｎ１０におけるポート（Ｐ１０１２、Ｐ１０１１、Ｐ１０１３、Ｐ１０１４）、Ｎ１１におけるポート（Ｐ１１１２）、Ｎ１２におけるポート（Ｐ１２１１、Ｐ１２１０）は影響を受けず、このことは、それらのポートの位置が変更されていないことを意味している。しかしながら、接続線Ｌ１１１２およびＬ１０１２の経路指定は、下記において説明する経路指定アルゴリズムに従い、更新されるべきである。
【００３３】
図６には、本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例が図示されている。レイアウト６Ａは、部分的な更新が行われる前のレイアウトである。ユーザ入力がノードＮ１４のサイズを拡大することである場合、コンピュータシステムは、そのような入力を受信し、更新されたノード内で発見された（１つまたは複数の）ポートを相応に位置決めする。
【００３４】
変更されなかった他の既存のノードにおけるポートは影響を受けない。レイアウト６Ｂにおいては、ノードＮ１４が拡大されており、したがって、Ｎ１４に接続されているノードＮ１０およびＮ１３が影響を受けると考えられる。しかしながら、追加された新たな接続線は存在しないので、Ｎ１４におけるポート（Ｐ１４１０、Ｐ１４１３）、Ｎ１０におけるポート、Ｎ１３におけるポートは影響を受けず、このことは、それらのポートの位置が変更されていないことを意味している。さらに、接続線Ｌ１０１４およびＬ１４１３は変更されていない。
【００３５】
図７には、本開示の実施形態による、部分的な更新が行われる前のグラフの例および部分的な更新が行われた後のグラフの例が図示されている。レイアウト７Ａは、部分的な更新が行われる前のレイアウトである。ユーザ入力がノードＮ１３のサイズを縮小させることである場合、コンピュータシステムは、そのような入力を受信し、（１つまたは複数の）ポートを相応に位置決めする。
【００３６】
収縮後、Ｎ１３のサイズは、以前よりも小さくなっている。ポートＰ１０１３は依然としてＮ１３にあるが、レイアウト７Ｃに示されているように、一番下にあるポートであるポートＰ１４１３は、もはやＮ１３に連結されていない。したがって、ポートＰ１４１３は、レイアウト７Ｂに示されているように、Ｎ１３に再位置決めされ、それによってポートＰ１４１３はノードＮ１３のサイズに比例してとどまる。ポートＰ１０１３の位置は変更されないままである。新たなコネクションは生じておらず、また収縮に起因するいずれかのノードの移動も生じていないので、他のノードおよび接続線は影響を受けず、このことは、それらの他のノードおよび接続線に対して更新は行われないことを意味している。
【００３７】
更新後のポートの位置決めを説明するために、上記においては種々の実施形態を紹介した。コネクションの経路指定に関するさらなる詳細を紹介する。
【００３８】
グラフの美観を維持するために、接続線の経路指定は、１セグメント型の経路指定、３セグメント型の経路指定および５セグメント型の経路指定の優先順で行われる。１セグメント型の経路指定を適用できない場合には、３セグメント型の経路指定が適用される。３セグメント型の経路指定が成功しない場合には、５セグメント型の経路指定が適用されるものとする。図８には、本開示の実施形態による、接続線の例が図示されている。レイアウト８Ａにおいては、ポートＰ１２１３が、直線Ｌ１２１３によってポートＰ１３１２に接続されている。レイアウト８Ｂにおいては、ポート１０１１が、Ｌ１０１１によってポートＰ１１１０に接続されているが、Ｌ１０１１は、３つのセグメント、すなわちＬ１０１１Ａ、Ｌ１０１１ＢおよびＬ１０１１Ｃを含んでいる。Ｌ１０１１Ａは、ソースノードＮ１０のポートＰ１０１１から延びる直線であり、またＬ１０１１Ｃは、ターゲットノードＮ１１のポートＰ１１１０から延びる直線である。Ｌ１０１１Ｂは、Ｌ１０１１ＡおよびＬ１０１１Ｃに垂直に接続されている直線である。レイアウト８Ｃにおいては、ポートＰ１１１２が、Ｌ１１１２によってポートＰ１２１１に接続されているが、Ｌ１１１２は、５つのセグメント、すなわちＬ１１１２Ａ、Ｌ１１１２Ｂ、Ｌ１１１２Ｃ、Ｌ１１１２ＤおよびＬ１１１２Ｅを含んでいる。Ｌ１１１２Ａは、ソースノードＮ１１のポートＰ１０１１から延びる直線であり、またＬ１１１２Ｅは、ターゲットノードＮ１２のポートＰ１２１１から延びる直線である。
【００３９】
直線とは、レイアウト延在方向に平行である方向か、またはレイアウト延在方向に垂直である方向に、線が延びていることを意味している。図８においては、直線Ｌ１２１３、Ｌ１０１１Ａ、Ｌ１０１１Ｃ、Ｌ１１１２Ａ、Ｌ１１１２Ｃ、Ｌ１１１２Ｅは、レイアウト延在方向ＤＲに平行であり、それに対し直線Ｌ１０１１Ｂ、Ｌ１１１２Ｂ、Ｌ１１１２Ｄは、レイアウトの延在方向ＤＲに垂直である。
【００４０】
いずれのノードとも重ならずに、２つのポートを１つの直線で接続することができる場合には、図８に示したレイアウト８Ａのように、１セグメント型の経路指定が選択される。ただし、２つのノードを直接的に接続しているが、上記において説明した方向では接続していない線は、直線ではない。図９には、線ＬＸ１０１２が図示されているが、この線ＬＸ１０１２は、レイアウト延在方向ＤＲに対して傾斜しているので直線ではない。グラフの美観を変更することなく、１セグメント型の経路指定を適用することはできないので、３セグメント型の経路指定が試みられる。図８に示したように、レイアウト８Ｂは、３セグメント型の経路指定を表している。
【００４１】
３セグメント型の経路指定が適用される場合には、直線がポートから延びる。２つの直線は、レイアウト延在方向に垂直な第３の直線に接続され、この際、いずれの線も、他のいずれのノードとも重ならない。他の既存の線が存在する場合には、それとの重なりを回避するために、ポートから延びる直線の長さを調整することができる。
【００４２】
２つのノードを、図１０に示したように１つの直線ＬＸ１４１２で接続できるにもかかわらず、または図１１に示したように３セグメント型の線ＬＸ１１１２で接続できるにもかかわらず、線は、図１０においてはノードＮ１５と重なっており、またノードＮ１１と重なっている。これらの２つのシナリオにおいては、グラフの美観を維持するために、５セグメント型の経路指定を適用することができる。
【００４３】
図８におけるレイアウト８Ｃに示したように、線Ｌ１１１２Ａは、ソースノードＮ１１におけるポートＰ１１１２から延びており、また線Ｌ１１１２Ｅは、ターゲットノードＮ１２におけるポートＰ１２１１から延びている。いずれのノードとも重ならずにＬ１１１２ＡおよびＬ１１１２Ｅと垂直に接続することができる直線は存在しないので、線Ｌ１１１２Ａは、線Ｌ１１１２Ｂに垂直に接続され、また線Ｌ１１１２Ｅは、線Ｌ１１１２Ｄに垂直に接続され、最終的に、線Ｌ１１１２ＢおよびＬ１１１２Ｅは、線Ｌ１１１２Ｃに垂直に接続される。
【００４４】
図１２には、この５セグメント型の経路指定の別の例が示されている。ソースノードＮ１０およびターゲットノードＮ１２は、ノードＮ１３に重ならないＬ１０１２によって接続されている。
【００４５】
図１３に示したように、２つのノードが所定の距離を置いて位置決めされている場合、ソースノードＮ１１の近くに線Ｌ１１１２Ｃをセットすることが提案される。しかしながら、この規則は、変更することができ、アルゴリズムの最終的な実現形態を基礎とすることは自明である。例えば、線Ｌ１１１２Ｃは、Ｎ１２の方に近くてもよいし、Ｎ１１とＮ１２とのちょうど真ん中にあってもよい。
【００４６】
レイアウトのグラフ全体に関する経路指定アルゴリズムを一貫して実行することに比べると、開示した実施例は、コンピュータメモリの使用を増大させることなく、性能を改善することができる。
【００４７】
これらの例において使用されるグラフィカル要素は、構造的かつ／または階層的に配置される。それらのグラフィカル要素をプロセスに基づいて、またはユーザが所望するように位置決めすることができることは自明である。
【００４８】
当業者であれば、簡潔かつ明瞭にするために、本開示による使用に適したあらゆるデータ処理システムのあらゆる構造および動作が本明細書に記載または説明されているわけではないことを認識するであろう。その代わりに、本開示にとって一意であるか、または本開示の理解にとって必要とされるようなデータ処理システムのみが記載または説明されている。データ処理システム１００の構成および動作のその他の部分は、当該技術分野において周知である種々の目下の実現形態および実践のいずれかに準拠することができる。
【００４９】
本開示は、完全な機能的なシステムのコンテキストにおける説明を含むが、当業者には、本開示のメカニズムの少なくとも一部を、種々の形態のうちのいずれかの形態の機械使用可能、コンピュータ使用可能、またはコンピュータ可読な媒体に含まれている命令の形態で配布することができ、また本開示は、配布を実際に実行するために利用される特定のタイプの命令または信号担持媒体またはストレージ媒体に関係なく等しく適用される、ということは自明であるということに留意することは重要である。機械使用可能／機械可読またはコンピュータ使用可能／コンピュータ可読の媒体の例には以下のものが含まれる：リードオンリメモリ（ＲＯＭ）などの不揮発性でハードコーディング型の媒体、または消去可能で電気的にプログラミング可能なリードオンリメモリ（ＥＥＰＲＯＭ）、ユーザ記録可能型の媒体、例えばフロッピディスク、ハードディスクドライブ、およびコンパクトディスク型リードオンリメモリ（ＣＤ−ＲＯＭ）もしくはディジタル多目的ディスク（ＤＶＤ）。
【００５０】
本開示の１つの実施例を詳細に説明したが、当業者であれば、本発明の最も一般的な思想および範囲から逸脱することなく、種々の変更、置換、変形および改善を行えることを理解するであろう。
【００５１】
本願明細書の記載事項はいずれも、いずれかの特定の構成要素、ステップまたは機能が、特許請求の範囲に含まれるべき本質的な要素であることを暗示するものであると解されるべきではなく、特許権を主張する対象の範囲は、特許査定時の特許請求の範囲によってのみ定義される。
【図１】
0006847238.tif 000002
【図２】
0006847238.tif 000003
【図３】
0006847238.tif 000004
【図４】
0006847238.tif 000005
【図５】
0006847238.tif 000006
【図６】
0006847238.tif 000007
【図７】
0006847238.tif 000008
【図８】
0006847238.tif 000009
【図９】
0006847238.tif 000010
【図１０】
0006847238.tif 000011
【図１１】
0006847238.tif 000012
【図１２】
0006847238.tif 000013
【図１３】
0006847238.tif 000014