(57)【要約】【課題】ＵＭＬ図（２００）をナビゲートするためのソリューションを提案すること。【解決手段】このため、対応する図のシーケンス（ＤＩＡ１１〜ＤＩＡ５５）に沿って、複数のナビゲーション・パス（ＮＡＶｋ）を定義するためのグラフィカル・インターフェースが実装される。これらナビゲーション・パスの定義は（図の定義を修正することなく）専用ファイルに格納される。次に、ナビゲーション・パスを呼び出すためのホーム・バーが図のグラフ表現に追加される。読者が特定のナビゲーション・パスを選択すると、その第１の図（ＤＩＡ１１、ＤＩＡ１５）が取り出され、表示される。同時に、シーケンス全体を移動するためのナビゲーション・バーが動的に生成され、トラバースされた各図のグラフ表現に追加される。【選択図】  図２
2009516869.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがグラフ表現（３０７）を有する複数のノード（ＤＩＡｉｊ）を含むグラフ構造（２００）をナビゲートするための方法であって、
それぞれが対応するシーケンスに沿ってノードのセットを含む複数のナビゲーション・パス（ＮＡＶｋ）を定義する（４１５）ステップと、
前記ナビゲーション・パスのうちの１つを選択する（ＣＭＤｋ）ステップと、
前記選択されたナビゲーション・パスのノードをトラバースする（３２５〜３３０）ステップと、
トラバースされた各ノードのグラフ表現を表示する（３０５）ステップと、
を含む方法。
【請求項２】
トラバースされた各ノードについて、
前記トラバースされたノードのグラフ表現（３０７）に加えて、ナビゲーション構造（３１５）を表示するステップであって、前記ナビゲーション構造が、選択されたナビゲーション・パス（ＮＡＶｋ）のノードをトラバースするための少なくとも１つのナビゲーション・コマンド（３２０〜３３０）を含むもの
をさらに含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのナビゲーション・コマンド（３２０〜３３０）が、前記選択されたナビゲーション・パス（ＮＡＶｋ）の次のノード（ＤＩＡｉｊ）に移動するための前進コマンド（３２５）、あるいは、前記選択されたナビゲーション・パスの前のノードに移動するための後退コマンド（３３０）、またはその両方を含む、請求項２に記載の方法。
【請求項４】
前記トラバースされた各ノードのグラフ表現（３０７）がウィンドウ（３０５）に表示され、前記ナビゲーション構造（３１５）を表示するステップが、
前記少なくとも１つのナビゲーション・コマンド（３２０〜３３０）を含むコマンド・バー（３１５）を前記ウィンドウに追加するステップ
を含む、請求項２または３に記載の方法。
【請求項５】
前記グラフ構造の定義が第１のメモリ構造（５１０）に格納され、前記ナビゲーション・パス（ＮＡＶｋ）を定義する（４１５）ステップが、
前記ナビゲーション・パスの定義を、前記第１のメモリ構造とは別個の第２のメモリ構造（５３０）に格納するステップ
を含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
請求項２から４のいずれか一項に従属する請求項５に記載の方法であって、前記トラバースされたノードの前記グラフ表現（３０７）に加えて、前記ナビゲーション構造（３１５）を表示するステップが、
前記第１のメモリ構造（５１０）から前記トラバースされたノードの前記グラフ表現の定義を取り出す（５０５）ステップと、
前記対応するナビゲーション構造の定義を、前記第２のメモリ構造（５３０）内の前記選択されたナビゲーション・パス（ＮＡＶｋ）の定義から取得する（５３５）ステップと、
前記トラバースされたノードの前記グラフ表現の定義を、前記対応するナビゲーション構造の定義を挿入することによって更新する（５５０）ステップと、
前記トラバースされたノードの前記グラフ表現の前記更新された定義をレンダリングする（５５５）ステップと、
を含む方法。
【請求項７】
各ノード（ＤＩＡｉｊ）にグラフ・オブジェクトが関連付けられ、前記ナビゲーション・パス（ＮＡＶｋ）を定義する（４１５）ステップが、
前記グラフ・オブジェクトの少なくとも一部を表示する（４１０）ステップと、
前記対応するシーケンスに従って、各ナビゲーション・パスの前記ノードに関連付けられた前記グラフ・オブジェクトを配置構成する（４１５）ステップと、
前記グラフ・オブジェクトの前記対応する配置構成から、前記各ナビゲーション・パスの定義を決定する（５１５）ステップと、
前記各ナビゲーション・パスの定義を前記第２のメモリ構造（５３０）に格納する（５２５）ステップと、
をさらに含む、請求項５または６に記載の方法。
【請求項８】
各ノード（ＤＩＡｉｊ）がＵＭＬ図を含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
コンピュータ・プログラムがデータ処理システム（１００）で実行される場合、請求項１から８のいずれか一項の方法を実行するためのコンピュータ・プログラム（５００）。
【請求項１０】
請求項１から８のいずれか一項の方法を実行するための手段（５００）を含むシステム（１００）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報技術分野に関する。とりわけ、本発明はグラフ構造のナビゲーションに関する。
【背景技術】
【０００２】
グラフは、一般に、コンピュータ・サイエンスでいくつかの異なる構造を表すために使用される。略式に言えば、グラフは、対応する接続部（孤または縁部）を備えたオブジェクト（ノードまたは頂点）のセットからなる。各孤には方向を割り当てることも可能であり、この場合、孤は（ソース）ノードから（ターゲット）ノードへの移動に使用される。
【０００３】
グラフとして表すことが可能な構造の例は、一般に（大規模ソフトウェア・アプリケーションなどの）コンピュータ・ソフトウェアの開発プロセス中に定義される、モデルの複合体である。各モデルは、構築されることになる対応する実際のアーティファクト（artifact）の単純化された表現を提供する、抽象からなる。好ましくは、モデルは、統一モデリング言語（ＵＭＬ）を使用することによって定義される。ＵＭＬは標準モデリング言語であり、（グラフまたはテキストの）構文と、（特に、オブジェクト指向タイプのコンピュータ・ソフトウェアに関する）開発プロセスに関するすべての態様を指定するための基礎となる意味論とを提供する。このために、当技術分野ではいくつかのモデリング・ツールが使用可能であり、一般に、モデリング・ツールは、各ソフトウェア・アプリケーション（たとえば、その要件定義、アーキテクチャ設計、コード仕様、など）の構築に関する様々な段階をサポートするための統合開発環境（ＩＤＥ）を提供する。非常に普及している商用モデリング・ツールの例は、ＩＢＭ社による「Ｒａｔｉｏｎａｌ  Ｒｏｓｅ」である。
【０００４】
モデルは、ソフトウェア開発者が開発プロセス固有の複雑さを習得するのを支援する。具体的に言えばこのようにして、ソフトウェア・アプリケーションを実際に実現する前に、（対応する開発のリスクを削減するために）これを視覚化、事前評価、および通信することが可能である。さらに、モデルを使用して、非常に単純、安全、および時間効率の良い方法で、ソフトウェア・アプリケーションのコードを作成および維持することができる。
【０００５】
コンピュータ・ソフトウェアのモデル化における問題は、開発プロセス中に生成されるアーティファクトの急増である。実際のところ、複雑なソフトウェア・アプリケーションは一般に、通常は異なる開発者の寄与に基づく複数モデルの定義を含む（機能モデル、オブジェクト・モデル、または動的モデルなど）。次に、各モデルはいくつかの図（ユースケース、クラス、オブジェクト、展開、シーケンス、アクティビティ、コラボレーション、またはステートチャート図など）によって表される。結果として、使用可能な情報が非常に混乱させるものとなる可能性がある。
【０００６】
読者が図面間を移動するのを助けるために、ほとんどのモデリング・ツールは、一般に、図にハイパーリンクを挿入することができる。汎用図内の各ハイパーリンクは、他の図を自動的にフェッチした後、それを表示させる。このようにして、図を（使用可能なハイパーリンクを使用して図から図へとトラバースすることが可能な）グラフに編成することができる。
【０００７】
しかしながら、各図は一般に、（エンドユーザ、設計者、デザイナーおよびプログラマなどの）異なる開発者によって挿入された、（同じモデルまたは他のモデルのいずれかの図への）いくつかのハイパーリンクを含むことになる。したがって、結果として生じる構造は非常に無秩序である。
【０００８】
いずれの場合でも、ハイパーリンクは所望の図内でハードコード化しなければならない。したがって、この動作には時間がかかり、さらに変更した場合には必ず対応する図の定義の更新が必要であり、エラーが発生しやすくなる。
【０００９】
こうした欠点は、（たとえば、分散アーキテクチャを使用するか、他のシステムに統合するために）多層および異種混合環境で実行するように意図される、複雑なソフトウェア・アプリケーションの開発プロセスにおいて特に深刻である。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前述のすべてが、モデリング・プロセスの有効性を低減させるものである。これにより、開発プロセス全体の歩留まり（それによってその長さおよびコストを増加させる）および結果として生じるソフトウェア・アプリケーションの品質に、有害な影響を与える可能性がある。
【課題を解決するための手段】
【００１１】
本発明に従って、グラフ構造をナビゲートする様々な方法を定義するアイデアが提案される。
【００１２】
具体的に言えば、本発明の態様は、グラフ構造をナビゲートするための方法を提案する。グラフ構造は複数のノードを含み、それぞれがグラフ表現を有する。この方法は、（それぞれが対応するシーケンスに沿ってノードのセットを含む）複数のナビゲーション・パスを定義するステップで開始される。次に、ナビゲーション・パスのうちの１つが選択される。この方法は、選択されたナビゲーション・パスのノードをトラバースすることによって続行される。次に、トラバースされた各ノードのグラフ表現が表示される。
【００１３】
本発明の好ましい実施形態では、この結果は、トラバースされた各ノードのグラフ表現に加えて、ナビゲーション構造を（対応するシーケンスのトラバースに関する１つまたは複数のナビゲーション・コマンドと共に）表示することによって達成される。
【００１４】
典型的には、ナビゲーション・コマンドは（次のノードに移動するための）前進コマンドあるいは（前のノードに移動するための）後退コマンドまたはその両方を含む。
【００１５】
特定の実施では、このために、トラバースされた各ノードのグラフ表現を提示するために使用されるウィンドウにナビゲーション・バーが追加される。
【００１６】
好ましくは、グラフおよびナビゲーション・パスの定義は、別個のメモリ構造に格納される。
【００１７】
本発明の好ましい実施形態では、ナビゲーション・バーはトラバースされた各ノードのグラフ表現に動的に追加される。
【００１８】
更なる改善として、ナビゲーション・パスの定義は、グラフィカル・インターフェースを使用して取得される。
【００１９】
たとえば、提案されるソリューションは、ＵＭＬ図に関するアプリケーションを見つける。
【００２０】
本発明の他の態様は、この方法を実行するためのコンピュータ・プログラムを提案する。
【００２１】
本発明の他の態様は、対応するシステムを提案する。
【００２２】
本発明の特徴付けられた機能は、添付の特許請求の範囲に示される。しかしながら、本発明自体、ならびに他の機能およびその利点は、添付の図面に関連して単に非制限的に示された以下の詳細な説明を参照することによって、最もよく理解されるであろう。
【発明を実施するための最良の形態】
【００２３】
具体的に図１を参照すると、コンピュータ１００（たとえばＰＣ）が示される。コンピュータ１００は、その動作を制御する（マイクロプロセッサおよび作業メモリなどの）電子回路を収容した中央ユニット１０５を含む。コンピュータ１００には、ハードディスクおよびＣＤ−ＲＯＭ  １１０用ドライブも提供される。モニタ１１５は、スクリーン１２０上にイメージを表示するために使用される。コンピュータ１００の動作は、従来の様式で中央ユニット１０５に接続されたキーボード１２５およびマウス１３０によって制御される。前述のコンピュータ１００は、ソフトウェア・アプリケーションをモデル化するために使用される。好ましくは、モデルはＵＭＬフォーマットで定義される。具体的に言えば、ＵＭＬは機能モデル（そのエンドユーザの視点からソフトウェア・アプリケーションの動作を指定する）、オブジェクト・モデル（オブジェクト指向に関して、ソフトウェア・アプリケーションの構造を指定する）、および動的モデル（ソフトウェア・アプリケーションの挙動を指定する）をサポートし、通常、これらのモデルは対応する図によってグラフ表現される。たとえば、ユースケース図は、エンドユーザとソフトウェア・アプリケーションとの間の対話を示す（機能モデルに関する）。同様にクラス図は、ソフトウェア・アプリケーションのクラスをそれらの関係と共に示し、オブジェクト図は対応するインスタンスを示し、展開図はソフトウェア・アプリケーションのハードウェア／ソフトウェア構成要素を示す（オブジェクト・モデルに関する）。最後に、シーケンス図はソフトウェア・アプリケーションの異なる構成要素間の経時的な対話を示し、アクティビティ図は構成要素によって実行されるアクティビティのシーケンスを示し、コラボレーション図は構成要素間の経時的な対話を示し、ステートチャート図は構成要素の状態をそれらの遷移と共に示す（動的モデルに関する）。
【００２４】
たとえば、図２に示されるように、汎用ソフトウェア・アプリケーションは５つのモデルＭＯＤｉ（ｉ＝１〜５）で定義されてきた。各モデルＭＯＤｉは、それぞれが円で表された複数の図ＤＩＡｉｊ（それぞれｊ＝１〜５、ｊ＝１〜９、ｊ＝１〜５、ｊ＝１〜３、およびｊ＝１〜５）を含む。図ＤＩＡｉｊは、それぞれが矢印（一方向または双方向）で表された対応するハイパーリンクによって互いに接続される。汎用ハイパーリンクはＨＹＰｉｊ−ｉｊで示され、ここで第１のインデックス・ペアｉｊはソース図ＤＩＡｉｊを示し、第２のインデックス・ペアｉｊはターゲット図ＤＩＡｉｊを示すものであって、たとえば図に示されたハイパーリンクＨＹＰ３５−４３は、図ＤＩＡ３５（モデルＭＯＤ３内）と図ＤＩＡ４３（モデルＭＯＤ４内）とを接続する。
【００２５】
このモデルＭＯＤｉの編成が、結果としてグラフ２００（図ＤＩＡｉｊがノードであり、ハイパーリンクＨＹＰｉｊ−ｉｊが孤である）を生じさせる。したがって、いずれの読者も、同じかまたは別のモデルＭＯＤｉ内にある１つの図ＤＩＡｉｊから他の図ＤＩＡｉｊへと移動することができる。しかしながら、図面からわかるように、グラフ２００は非常に複雑で無秩序である。この構造は実際のシナリオでは管理不能となり、グラフ２００は何千もの図ＤＩＡｉｊで表された何百ものモデルＭＯＤｉを含む可能性がある。
【００２６】
本発明の実施形態に従ったソリューションでは、グラフ２００上に異なるナビゲーション・パスＮＡＶｋ（ｋ≧２）が定義される。各ナビゲーション・パスＮＡＶｋは、所望のシーケンスで順序付けられた選択された図ＤＩＡｉｊのセットによって指定される。たとえば、ナビゲーション・パスＮＡＶ１は開発プロセスの管理に関連する（異なるモデルＭＯＤｉ内の）図ＤＩＡｉｊに接触し、これとは逆に、ナビゲーション・パスＮＡＶ２はソフトウェア・アプリケーションのアーキテクチャ定義に関連する図ＤＩＡｉｊに接触する。
【００２７】
したがって、各ナビゲーション・パスＮＡＶｋは、グラフ２００の読み取り（アリアドネの糸のように、使用可能な情報間での読者の誘導）を容易にする。具体的に言えば、ナビゲーション・パスＮＡＶｋは、異なる偶発的ニーズに従ってグラフ２００内を移動することができる。たとえば、開発者、クライアント、エグゼクティブ（executive）などに対して異なるナビゲーション・パスＮＡＶｋを定義することが可能である（それぞれが、開発中のソフトウェア・アプリケーションの概要を異なる詳細レベルで提供する）。言い換えれば、前述のソリューションでは、いずれの読者も、自分が本当に関心のある図ＤＩＡｉｊに接触するだけという非常に単純な方法で、グラフ２００をトラバースすることができる。したがって、モデルＭＯＤｉのコンサルテーションが、特定の目的に関連しない情報によって妨げられることはない。
【００２８】
図３に移ると、モデルＭＯＤｉがウィンドウ３０５内にグラフで表される。具体的に言えばウィンドウ３０５は、その管理に関する（作成、編集などの）様々なコマンドと共に、各図ＤＩＡｉｊのグラフ図を示す。加えて、ウィンドウ３０５はホーム・バー３１０も含む。ホーム・バー３１０は、使用可能な各ナビゲーション・パスＮＡＶｋに関する選択ボタンＣＭＤｋを示し、問題の例では、選択ボタンＣＭＤ１はナビゲーション・パスＮＡＶ１に関連付けられ、選択ボタンＣＭＤ２はナビゲーション・パスＮＡＶ２に関連付けられる。
【００２９】
読者が特定の選択ボタンＣＭＤｋを（マウスで）クリックすると必ず、対応するナビゲーション・パスＮＡＶｋの第１の図ＤＩＡｉｊが取り出され、表示される。たとえば、図４に示されるように、読者が選択ボタンＣＭＤ１を選択した場合、ナビゲーション・パスＮＡＶ１内の第１の図ＤＩＡ１１のグラフ表現（３０７で示される）がウィンドウ３０５に表示される。同時に、ホーム・バーがナビゲーション・バー３１５に置き換えられる。ナビゲーション・バー３１５は、第１の図ＤＩＡ１１へと直接移動するためのルート・ボタン３２０と、次の図ＤＩＡｉｊへと前進するための前進ボタン３２５と、前の図ＤＩＡｉｊへと戻るための後退ボタン３３０とを含む。このように、読者は（選択されたナビゲーション・パスＮＡＶ１内で）関心のある図ＤＩＡｉｊを、簡単な即時コマンドでトラバースすることができる。たとえば、読者が前進ボタン３２５をクリックすると、図５に示されるように、次の図（この場合はＤＩＡ２２）のグラフ表現３０７が取り出され、ウィンドウ３０５に表示される。さらに、現在のナビゲーション・パスＮＡＶ１が完了すると、対応するナビゲーション・バー３１５が自動的に閉じてホーム・バーに置き換わるが、たとえばこの結果は、最後の図（この場合はＤＩＡ５１）で前進ボタン３２５をクリックすること、第１の図ＤＩＡ１１で後退ボタン３３０をクリックすること、またはナビゲーション・バー３１５を直接閉じることによって、達成される。
【００３０】
次に図６について考察すると、ナビゲーション・パスＮＡＶｋは、通常、ウィンドウ４０５を使用することによってグラフで定義される。具体的に言えば、ウィンドウ４０５は図フレーム４１０を含み、これは対応するグラフ・オブジェクト（問題のこの例では円）によって使用可能な各図ＤＩＡｉｊを示すために使用され、好ましくは、各モデルＭＯＤｉに対する図ＤＩＡｉｊのグラフ・オブジェクトが、要求に応じて伸長可能な他の対応するグラフ・オブジェクトに凝集される。加えて、ウィンドウ４０５は定義フレーム４１５も含む。定義フレーム４１５は選択ボックス４２０を含み、これは新しいナビゲーション・パスを作成するため、または既存のもの（問題のこの例ではナビゲーション・パスＮＡＶ１など）を編集するために使用される。定義フレーム４１５の残りの部分は、（対応するシーケンスでのそれらの順序に従って）選択されたナビゲーション・パスＮＡＶ１に含まれる図ＤＩＡｉｊのグラフ・オブジェクトを示す。ここで開発者は、図ＤＩＡｉｊのグラフ・オブジェクトを単に操作することによって、ナビゲーション・パスＮＡＶ１を定義することができる。たとえば、フレーム４１０内の図ＤＩＡｉｊのグラフ・オブジェクトを選択し、その後、このグラフ・オブジェクトを定義フレーム４１５（所望の位置で）へとドラッグすることが可能であり、さらに、定義フレーム４１５内の図ＤＩＡｉｊのグラフ・オブジェクトを他の位置に移動させること、または同じ定義フレーム４１５内の図ＤＩＡｉｊのグラフ・オブジェクトを削除することも可能である。
【００３１】
この動作によって、異なるナビゲーション・パスＮＡＶｋ内の各図ＤＩＡｉｊの位置を定義する一連のタグが生成される。好ましくは、各図ＤＩＡｉｊの定義は、拡張マークアップ言語（ＸＭＬ）で指定され、これによって任意の所望の目的でカスタマイズされたタグを作成することができる。特定のケースでは、図ＤＩＡｉｊの定義はタグ「ｎｏｄｅＮａｍｅ」（その簡略名の場合）およびタグ「ｉｄ」（その固有識別子ＤＩＡｉｊの場合）で開始される。図ＤＩＡｉｊを通過する各ナビゲーション・パスＮＡＶｋの場合、タグ「ｎａｖｉｇａｔｏｒＩｄ」がその固有識別子ＮＡＶｋを指定し、タグ「ｐｏｓｉｔｉｏｎ」が対応するシーケンス内の図ＤＩＡｉｊの位置を示す。図ＤＩＡｉｊの定義はタグ＜￥ｎｏｄｅＮａｍｅ＞で終了する。たとえば、図２に示された図ＤＩＡ２４は、以下のタグで定義されることになる。
【数１】
2009516869.tif 000003
【００３２】
前述のタグは、すべてのナビゲーション・パスＮＡＶｋのＸＭＬ表現に自動的に変換することができる。このため、各ナビゲーション・パスＮＡＶｋの定義は「Ｎａｖｉｇａｔｏｒ  ｎａｍｅ」（その簡略名の場合）およびタグ「ｉｄ」（その固有識別子ＮＡＶｋの場合）で開始される。ナビゲーション・パスＮＡＶｋに含まれる各図ＤＩＡｉｊの場合、タグ「ｎｏｄｅＮａｍｅ」を使用してこれを識別し、シーケンス内の第１の図に移動するためのハイパーリンクはタグ＜ｈｏｍｅＮａｍｅ＞と＜￥ｈｏｍｅＮａｍｅ＞の間に、次の図に移動するためのハイパーリンクはタグ＜ｎｅｘｔＮａｍｅ＞と＜￥ｎｅｘｔＮａｍｅ＞の間に、および前の図に移動するためのハイパーリンクはタグ＜ｐｒｅｖＮａｍｅ＞と＜￥ｐｒｅｖＮａｍｅ＞（使用可能な場合）の間に入れられる。ナビゲーション・パスＮＡＶｋの定義は、タグ＜￥Ｎａｖｉｇａｔｏｒ＞で終了する。たとえば、図２に示されたナビゲーション・パスＮＡＶ１は、以下のタグで定義されることになる。
【数２】
2009516869.tif 000004
【００３３】
ナビゲーション・パスＮＡＶｋの定義は完全に独立しており、モデルＭＯＤｉの定義とは別であることに留意されたい。したがって、図ＤＩＡｉｊを更新する必要なしに所望の結果が達成できる。これにより、ナビゲーション・パスＮＡＶｋの維持が（モデルＭＯＤｉにいかなるエラーのリスクも招くことなく）非常に簡単になる。
【００３４】
次に図７に移ると、前述のソリューションを実施するためにコンピュータ上で実行されるメイン・ソフトウェア構成要素が、全体として参照番号５００で示されている。情報（プログラムおよびデータ）は、通常、ハードディスクに格納され、プログラムが実行中の場合、オペレーティング・システムおよび他のアプリケーション・プログラム（図には示されていない）と共に、（少なくとも部分的に）コンピュータの作業メモリにロードされる。プログラムは、初期に、たとえばＣＤ−ＲＯＭからハードディスクにインストールされる。
【００３５】
具体的に言えば、コンピュータはモデリング・ツール（たとえば前述の「Ｒａｔｉｏｎａｌ  Ｒｏｓｅ」）を含む。このツールのコア・モジュールはモデル・マネージャ５０５であり、開発中の各ソフトウェア・アプリケーションについて一連のモデルＭＯＤｉを（ＵＭＬフォーマットで）定義するために使用される。（各ソフトウェア・アプリケーションについての）対応する図ＤＩＡｉｊを伴うモデルＭＯＤｉの定義は、リポジトリ５１０に格納される。モデル・マネージャ５０５は、現在の図ＤＩＡｉｊのグラフ表現を、モデル・リポジトリ５１０から作業領域（５１５で示される）へとロードする。
【００３６】
本発明の実施形態では、提案されたナビゲーション機能を実装するために、モデリング・ツールがプラグインで拡張されている。このため、定義ウィザード５１５はモデル・リポジトリ５１０にアクセスする。定義ウィザード５１５は、グラフィカル・ユーザ・インターフェースを実装し、これを使用して前述のように異なるナビゲーション・パスＮＡＶｋを定義する。（モデル・リポジトリ５１０の）各図ＤＩＡｉｊについてこうして取得されたタグは、対応するファイル５２０に格納される。処理エンジン５２５はタグ・ファイル５２０を読み取り、これを使用可能なナビゲーション・パスＮＡＶｋの定義に変換する。その後この情報はナビゲーション・ファイル５３０に保存される。
【００３７】
ブラウザ５３５は、ナビゲーション・ファイル５３０のコンテンツを解釈する。最初に、ブラウザ５３５はホーム・バー（５４０で示される）の定義を生成し、具体的に言えば、ホーム・バーは、ナビゲーション・ファイル５３０内の定義された各ナビゲーション・パスＮＡＶｋについての選択ボタンを含むことになる。さらに、選択されたナビゲーション・パスＮＡＶｋに沿ってトラバースされた各図ＤＩＡｉｊについて、ブラウザ５３５は関連付けられたナビゲーション・バー（５４５で示される）の定義を動的に生成し、具体的に言えば、ナビゲーション・バーは、ナビゲーション・ファイル５３０の対応する部分に指定されたように、（第１の図ＤＩＡｉｊへのハイパーリンクに関連付けられた）ルート・ボタンと、（次の図ＤＩＡｉｊへのハイパーリンクに関連付けられた）前進ボタンと、（前の図ＤＩＡｉｊへのハイパーリンクに関連付けられた）後退ボタンとを含むことになる。
【００３８】
レンダリング・モジュール５５０は、現在の図５１５のグラフ表現を（モデル・マネージャ５０５）受け取り、さらにこのレンダリング・モジュール５５０は、ホーム・バー５４０の定義または現在のナビゲーション・バー５４５の定義も（ブラウザ５３５から）受け取る。レンダリング・モジュール５５０は、前述の用に、受け取った情報をモデリング・ツールのウィンドウにアセンブルする。具体的に言えば、最初にレンダリング・モジュール５５０は、ホーム・バー５４０の定義を現在の図５１５のグラフ表現に追加することになる。読者が（ホーム・バーに示された対応する選択ボタンをクリックすることによって）特定のナビゲーション・パスＮＡＶｋを選択するとすぐに、この選択ボタンに関連付けられたハイパーリンクが呼び出される。これに応答して、モデル・マネージャ５０５は、対応するシーケンスの第１の図ＤＩＡｉｊのグラフ表現を（作業領域５１５内に）自動的にロードする。同時にブラウザ５３５は、ナビゲーション・ファイル５３０で使用可能な関連情報に従って、関連付けられたナビゲーション・バー５４５の定義を生成する。このようにして、レンダリング・モジュール５５０は、必要なナビゲーション・バー５４５の定義を、新しい現在の図５１５のグラフ表現に追加することができることになる。いずれの場合でも、このようにして更新された現在の図のグラフ表現は、その後、それを表示するためにモニタ・ドライブ５５５へと供給される。
【００３９】
選択されたナビゲーション・パスＮＡＶｋのすべての図ＤＩＡｉｊがトラバースされるまで、同じ動作が連続して繰り返される。この時点で、レンダリング・モジュール５５０は、ホーム・バー５４０の定義を現在の図５１５のグラフ表現に再度追加する。任意の他のナビゲーション・パスＮＡＶｋについて、同じプロセスを再反復することができる。
【００４０】
当然のことながら、当業者であれば、ローカルおよび特定の要件を満たすために前述のソリューションに多くの修正および変更を適用することができる。具体的に言えば、本発明について、その好ましい実施形態を参照しながらある程度詳細に説明してきたが、形および細部の様々な省略、置換、および変更、ならびに他の実施形態が可能であること、さらには、本発明の任意の開示された実施形態に関連して説明された特定の要素あるいは方法ステップまたはその両方が、設計選択の全体的な問題として、任意の他の実施形態への組み込みが可能であることが明らかに意図されていることを理解されたい。
【００４１】
たとえば、コンピュータが他の構造を有するか、または（実行時のハードディスクへのアクセスを削減するためにプログラムまたはその一部を一時的に格納するキャッシュ・メモリなどの）同様の要素を含む場合、同様の考察が適用され、いずれの場合も、コンピュータを任意のコード実行エンティティ（ＰＤＡ、携帯電話など）と交換することが可能である。前述の説明では、話を観点にするために単一のコンピュータを参照してきたが、提案されたソリューションが、分散アーキテクチャを伴うデータ処理システムでも適用可能であり、この場合、各開発者は、異なる読者に関して中央サーバで集められたモデリング・プロセスの結果を使用して、対応するワークステーションで作業を行うことが容易に理解されよう。
【００４２】
いずれの場合も、本発明の原理は説明された例（任意の他のモデル、図、ハイパーリンク、およびナビゲーション・パスを備えた適用例を見つけることが可能な同じソリューションを用いる）に限定されるものではなく、より一般的には、グラフは（たとえハイパーリンクから構成されなくとも）任意の等価のノードあるいは孤またはその両方によって定義することができる。
【００４３】
さらに、（たとえばプルダウン・メニューに関する）同様の構造を備えたホーム・バーあるいはナビゲーション・バーまたはその両方の実装を妨げるものはない。選択されたナビゲーション・パスをトラバースするための明示的なコマンドを備えたナビゲーション・バーの提供は、厳密には必要でなく、たとえば、（事前に定義されたタイムアウト後に）各図からシーケンス内の次の図へと自動的に移動することも可能であることも明らかであろう。
【００４４】
選択されたナビゲーション・パスをトラバースするための様々なコマンド（前進コマンドのみなど）も主張できる。
【００４５】
ホーム・バーあるいはナビゲーション・バーまたはその両方が異なる外観を有する場合、同様の考察が適用される。
【００４６】
ＸＭＬフォーマットの参照は単なる例示的なものであることも容易に理解されよう。実際のところ、タグ・ファイルあるいはナビゲーション・ファイルまたはその両方は、他の形式で定義することも可能であり、いずれの場合も、ナビゲーション・パスの定義を（いかなる中間タグ・ファイルもなしに）直接生成する可能性が企図される。
【００４７】
別の方法として、ナビゲーション・パスは他のグラフィカル・インターフェースを使用して定義することができる。たとえば、より高度な実施では、（定義を容易にすることに関して）複数のナビゲーション・パスに共通の図のサブシーケンスを有することが可能であり、さらに、新しい図が特定のナビゲーション・パスに挿入されると必ず、定義ウィザードは、同様の位置への挿入を示唆するために、他のナビゲーション・パス内の最も近い図を自動的に決定することができる。しかしながら、ナビゲーション・パスが（たとえテキスト・エディタを使っても）異なる方法で定義される異なる実施は、本発明の範囲内である。
【００４８】
本発明の技術的考えは、選択されたナビゲーション・パスをトラバースするための異なるボタンが、（別のナビゲーション・バーを追加する代わりに）関連する図の定義に直接挿入される実施形態でも適用可能である。
【００４９】
前述の説明では、サポートされるＵＭＬ図を備えた特定のモデリング・ツールを参照してきたが、これは制限として意図されるものではない。実際には、同様の考察が、いかなるモデリング・ツールまたは任意の他のＵＭＬ図にも適用される。別の方法として、本発明の技術的考えは、（ペトリ・ネットワークなどの）モデルを定義するための様々な形式に等しく適用される。
【００５０】
より一般的には、同じソリューションが他の分野で適用例を見つけることもできる。たとえば、提案された技法は、（たとえば、様々なニーズに応じて複合ウェブ・サイト全体を移動するために）インターネット内の選択されたウェブ・ページを通る好ましいナビゲーション・パスを定義するために有用である。同じソリューションの他の可能な適用例は、プレゼンテーション・ツールにある。このケースでは、様々なプレゼンテーション用のスライドのセットを定義することが可能であり、次に各プレゼンテーションは、選択されたスライドを介した対応するナビゲーション・パスによって指定される。このようにして、対応する人間のグループに対する様々なプレゼンテーションを自動的に生成することができる。
【００５１】
プログラム（本発明の実施に使用可能な）が異なる方法で構造化される場合、または追加のモジュールまたは機能が提供される場合、同様の考察が適用され、同様に、メモリ構造を他のタイプとすることが可能であるか、または等価のエンティティ（必ずしも物理記憶媒体から構成されるとは限らない）と置き換えることが可能である。さらに、提案されたソリューションは、（たとえ順序が異なっても、同様の、または追加のステップを有する）等価の方法で実施されるのに適している。いずれの場合も、プログラムは、外部または常駐ソフトウェア、ファームウェア、または（オブジェクト・コード内またはソース・コード内、いずれかの）マイクロコードなどの、任意のデータ処理システムによって、またはこれらに関連して、使用されるのに好適な任意の形を取ることができる。さらに、プログラムは、任意のコンピュータ使用可能媒体上に提供することが可能であり、この媒体は、プログラムを収容、格納、通信、伝播、または転送するのに好適な、任意の要素とすることができる。こうした媒体の例が、（プログラムを事前にロードすることが可能な）固定ディスク、取り外し可能ディスク、テープ、カード、有線、ファイバ、無線接続、ネットワーク、放送波などであり、たとえば媒体は、電子、磁気、光、電磁、赤外線、または半導体タイプとすることができる。
【００５２】
いずれの場合でも、本発明に従ったソリューションは、（たとえば半導体材料のチップに集積された）ハードウェア構造、またはソフトウェアおよびハードウェアの組み合わせによって実施されるのに適している。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施形態に従ったソリューションが実施可能な、コンピュータを示す階が図である。
【図２】本発明の実施形態に従ったソリューションの例示的な適用例を示す概略図である。
【図３】本発明の実施形態に従ったソリューションの例示的な適用例を示す概略図である。
【図４】本発明の実施形態に従ったソリューションの例示的な適用例を示す概略図である。
【図５】本発明の実施形態に従ったソリューションの例示的な適用例を示す概略図である。
【図６】本発明の実施形態に従ったソリューションの例示的な適用例を示す概略図である。
【図７】本発明の実施形態に従ったソリューションを実施するために使用可能な、主なソフトウェア構成要素を示す図である。
【図１】
2009516869.tif 000005
【図２】
2009516869.tif 000006
【図３】
2009516869.tif 000007
【図４】
2009516869.tif 000008
【図５】
2009516869.tif 000009
【図６】
2009516869.tif 000010
【図７】
2009516869.tif 000011
2009516869.tif 000012
2009516869.tif 000013
2009516869.tif 000014
【手続補正書】
【提出日】平成21年1月29日(2009.1.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
前記トラバースされた各ノードのグラフ表現（３０７）がウィンドウ（３０５）に表示され、前記ナビゲーション構造（３１５）を表示するステップが、
前記少なくとも１つのナビゲーション・コマンド（３２０〜３３０）を含むナビゲーション・バー（３１５）を前記ウィンドウに追加するステップ
を含む、請求項２または３に記載の方法。
【国際調査報告】
2009516869.tif 000015
2009516869.tif 000016
2009516869.tif 000017