(57)【要約】【課題】サブシステムの開発や設計変更が他のサブシステムに与える影響を小さくすることが可能なＨＭＩシステム、及びこれを利用した車載ナビゲーション装置を提供すること。【解決手段】ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）モデルに基づいて構築され、情報処理を行なうモデルと、ユーザーに対する出力を決定するビューと、ユーザーの入力を認識するコントローラーと、をサブシステムとして備えるＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）システムであって、各サブシステム間で用いられるデータ及びイベントの関連付け、及び／又は、各サブシステムが備える関数を呼び出す際の引数設定を行なうシナリオをサブシステムとして備えることを特徴とする、ＨＭＩシステム。【選択図】図１
2008008723.tif 000002
【特許請求の範囲】
【請求項１】
ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）モデルに基づいて構築され、情報処理を行なうモデルと、ユーザーに対する出力を決定するビューと、ユーザーの入力を認識するコントローラーと、をサブシステムとして備えるＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）システムであって、
前記各サブシステム間で用いられるデータ及びイベントの関連付け、及び／又は、前記各サブシステムが備える関数を呼び出す際の引数設定を行なうシナリオをサブシステムとして備えることを特徴とする、ＨＭＩシステム。
【請求項２】
前記サブシステムのうちいずれか２つが一体として構築された請求項１に記載のＨＭＩシステム。
【請求項３】
請求項１又は２に記載のＨＭＩシステムが適用された車載ナビゲーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＶＣモデルに基づいて構築されるＨＭＩシステム、及びこれが適用された車載ナビゲーション装置に関する。
【背景技術】
【０００２】
近年、人と機械設備とのインターフェイスとなるコンピュータ・システムを、ＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）システム等と称している。こうしたシステムの設計思想の一つに、ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）モデルが挙げられる。
【０００３】
ＭＶＣモデルとは、オブジェクト指向プログラミング技法に基づく設計思想であり、システムをオブジェクトの集合であるサブシステムで表現したものである。ＭＶＣモデルにおけるサブシステムは、主たる情報処理を行なうＭｏｄｅｌ、出力を制御するＶｉｅｗ、ユーザーの入力を認識すると共にこれに応じてＭｏｄｅｌやＶｉｅｗに指示するＣｏｎｔｒｏｌｌｅｒからなる。なお、それぞれのサブシステムは単独である必要はない。また、ＶｉｅｗとＣｏｎｔｒｏｌが結合してＭ−ＶＣとなることもあり、これを拡張ＭＶＣと呼ぶ場合があるが、ＭＶＣモデルの概念に含まれるものである。
【０００４】
ＭＶＣモデルにより構築されたシステムは、オブジェクト指向プログラミング技法が有する利点、すなわち、既存のオブジェクトについては、利用に際してその内部構造や動作原理の詳細を知る必要はなく、外部からメッセージを送れば機能するという利点を継承する。従って、開発作業の分業が容易になる利点や、サブシステムの仕様変更が他のサブシステムに与える影響を小さくすることができる利点等を有するものとされている。
【０００５】
拡張ＭＶＣに基づいて構築されたと思われる車載ナビゲーション装置についての発明が開示されている（例えば、特許文献１参照）。この装置は、主な構成として、操作指令の受付及び表示画像の画像処理等を担当するシステムマスタ部（上記ＶＣに相当する）と、ルート検索などのナビゲーション機能を担当するナビゲーションエンジン部（上記Ｍに相当する）と、を備える。そして、この装置においても、表示方式や操作方式、ナビゲーション機能の変更に際して、システムマスタ部又はナビゲーションエンジン部のいずれかを変更すればよく、開発効率が向上するものとしている。
【特許文献１】特開２００５−１６４３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、オブジェクト指向プログラミング技法に基づいて設計されたシステムであっても、サブシステムの変更は他のサブシステムに少なからず影響を与える。例えば、あるサブシステムが変更されると、当該サブシステムに送られるメッセージ（データやイベント情報を含む）の形式を変更する必要が生じ得る。また、関数（メソッド）が呼び出されるサブシステムが変更されると、呼び出す側のサブシステムにおいて関数（メソッド）に与えるべきパラメータを変更する必要が生じ得る。
【０００７】
本発明はこのような課題を解決するためのものであり、サブシステムの開発や設計変更が他のサブシステムに与える影響を小さくすることが可能なＨＭＩシステム、及びこれを利用した車載ナビゲーション装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明の第１の態様は、ＭＶＣ（Ｍｏｄｅｌ−Ｖｉｅｗ−Ｃｏｎｔｒｏｌｌｅｒ）モデルに基づいて構築され、情報処理を行なうモデルと、ユーザーに対する出力を決定するビューと、ユーザーの入力を認識するコントローラーと、をサブシステムとして備えるＨＭＩ（Ｈｕｍａｎ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ）システムであって、各サブシステム間で用いられるデータ及びイベントの関連付け、及び／又は、各サブシステムが備える関数を呼び出す際の引数設定を行なうシナリオをサブシステムとして備えることを特徴とするものである。
【０００９】
この本発明の第１の態様によれば、各サブシステム間で用いられるデータ及びイベントの関連付け、及び／又は、各サブシステムが備える関数を呼び出す際の引数設定を行なうシナリオをサブシステムとして備えるから、サブシステムの開発や設計変更が他のサブシステムに与える影響を小さくすることができる。
【００１０】
また、本発明の第１の態様において、サブシステムのうちいずれか２つが一体として構築されてもよい。
【００１１】
本発明の第２の態様は、本発明の第１の態様のＨＭＩシステムが適用された車載ナビゲーション装置である。
【発明の効果】
【００１２】
本発明によれば、サブシステムの開発や設計変更が他のサブシステムに与える影響を小さくすることが可能なＨＭＩシステム、及びこれを利用した車載ナビゲーション装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１４】
以下、図１〜１４を用いて、本発明に係るＨＭＩシステムを利用した車載ナビゲーション装置の一実施例について説明する。図１は、本発明の一実施例に係る車載ナビゲーション装置１の構成を概念的に示す概念図である。図示する如く、車載ナビゲーション装置１のハードウエア構成は、ＧＰＳ受信機１０と、地図データベース２０と、マルチディスプレイ３０と、音声入出力装置４０と、ナビゲーション装置用ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）５０と、からなる。
【００１５】
ＧＰＳ受信機１０は、ＧＰＳ衛星から衛星の軌道と時刻のデータを含む電波信号を受信する。当該受信されたデータは後述するモデル６０に送信され、電波信号の時間差に基づく演算により自車両の現在位置（緯度、経度、高度）が取得される。また、自車両の現在位置は、モデル６０において、車速センサーやジャイロセンサー等の各種センサーの出力や、ビーコン受信機及びＦＭ多重受信機を介して受信される各種情報に基づいて補正されてよい。
【００１６】
地図データベース２０は、例えば、ハードディスクやＤＶＤ、ＣＤ−ＲＯＭ等の記憶媒体上に実現されるデータベースであって、一定区間毎に設けられたノード点が接続された態様で道路に関する情報が記憶されている。
【００１７】
マルチディスプレイ３０は、例えば、グラフィックシステムとしてＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）を採用して動画を含む画像表示を行なうと共に、タッチパネルとしてユーザーによる種々の入力操作（経路案内に係る目的地入力等）を可能に構成されたディスプレイ装置である。マルチディスプレイ３０は、後述する描画処理部７１により制御される。
【００１８】
音声入出力装置４０は、音声出力を行なうスピーカー及びマイク等からなる。音声入出力装置４０は、後述する音声処理部７３により制御される。
【００１９】
ナビゲーション装置用ＥＣＵ５０は、例えば、ＣＰＵやＲＯＭ、ＲＡＭ等がバスを介して相互に接続されたコンピューターユニットであり、その他、入出力インターフェイスやタイマー、カウンター等を備える。また、こうしたハードウエア構成により、複数のクラスオブジェクト、すなわち、モデル６０と、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｕｎｔｅｒｆａｃｅ）メタデータ処理部７０と、描画処理部７１と、ＶＵＩ（Ｖｏｉｃｅ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）メタデータ処理部７２と、音声処理部７３と、シナリオメタデータ処理部８０と、共有データ８１と、イベントシステム８２と、を実現する。
【００２０】
ここで、モデル６０が、ＭＶＣモデルにおけるサブシステムの一つであるＭｏｄｅｌ（Ｍ）に相当する。また、ＧＵＩメタデータ処理部７０及び描画処理部７１からなるオブジェクト集合が、ＭＶＣモデルにおけるサブシステムの一つであるＶｉｅｗ（Ｖ）とＣｏｎｔｒｏｌｌｅｒ（Ｃ）が結合したもの（ＶＣ）に相当する。ＶＵＩメタデータ処理部７２及び音声処理部７３からなるオブジェクト集合も同様であり、本実施例では、サブシステム（ＶＣ）に相当するオブジェクト集合が２つ存在することとなる。また、シナリオメタデータ処理部８０は、本発明に特徴的な部分であり、特許請求の範囲におけるシナリオに相当する。このように、本実施例のナビゲーション装置用ＥＣＵ５０内のサブシステム構造は、いわゆる拡張ＭＶＣにシナリオ（Ｓ）という新しい概念が付加されて構築されたものである。
【００２１】
シナリオメタデータ処理部８０は、共有データ８１やイベントに関するマッピングを行なうと共に、後述するＧＵＩメタデータやＶＵＩメタデータの状態遷移を制御する。
【００２２】
図２は、本実施例の車載ナビゲーション装置１が起動され、ユーザーの目的地設定入力を受付可能な状態となるまでの処理を表すシーケンス図である。シーケンス図は、オブジェクト間のメッセージ送信を時系列表現することにより、各オブジェクトがどのように協調動作するのかというシステムの動的な振る舞いを規定する。
【００２３】
まず、シナリオメタデータ処理部８０は、シナリオメタデータの解釈を行なう（Ｓ１００）。シナリオメタデータは、例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のメタ言語により記述されている。「解釈」とは、コンパイルないしパーシングと称される処理をいう。
【００２４】
図３は、シナリオメタデータの記載例である。本図において、ｓｃｅｎａｒｉｏ要素はルート要素であり、ｆｉｒｓｔＳｔａｔｅ要素はシナリオの初期状態を定義する要素であり、ｖａｒｉａｂｌｅｓ要素は共有データ８１を定義する要素の親要素であり、ｖａｒｉａｂｌｅ要素は共有データ８１を定義すると共に共有データ８１と各サブシステムが定義する共有データの関連（マッピング）を定義する要素の親要素であり、ｅｖｅｎｔｓ要素はイベントを定義する要素の親要素であり、ｅｖｅｎｔ要素はイベントを定義すると共に各サブシステムが定義するイベントの関連（マッピング）を定義する要素の親要素であり、ｍａｐｐｉｎｇＦｏｒＧＵＩ要素は共有データ８１とＧＵＩメタデータにより定義された共有データとの関連（マッピング）を定義する要素であり、ｍａｐｐｉｎｇＦｏｒＶＵＩ要素は共有データ８１とＶＵＩメタデータにより定義された共有データとの関連（マッピング）を定義する要素であり、ｍｏｄｅｌｓ要素はモデル６０を定義する要素の親要素であり、ｍｏｄｅｌ要素はモデル６０を定義すると共にモデル６０の関数（メソッド）を定義する要素の親要素であり、ｍｅｔｈｏｄ要素はモデル６０の関数（メソッド）を定義すると共に関数（メソッド）の引数を定義する要素の親要素であり、ｐａｒａｍ要素はモデル６０の関数（メソッド）の引数を定義する要素であり、ｓｔａｔｅｓ要素はシナリオの状態を定義する要素の親要素であり、ｓｔａｔｅ要素はシナリオの状態を定義する要素であり、ｅｎｔｒｙＡｃｔｉｏｎｓ要素はその状態に入った直後に実行されるアクションを定義する要素であり、ｅｖｅｎｔｓＡｃｔｉｏｎｓ要素はその状態で発生したイベントを受けて実行されるアクションを定義する要素であり、ｃａｌｌＭｏｄｅｌ要素はモデル６０を呼び出すアクションを定義する要素であり、ｐａｒａｍＶａｒｉａｂｌｅ要素は呼び出すモデル６０に渡す引数を定義する要素であり、ｐａｒａｍＥｖｅｎｔ要素は呼び出すモデル６０に渡すイベントを定義する要素であり、ｉｎｉｔｉａｌＧＵＩ要素はＧＵＩメタデータの読み込み（初期化）を要求するアクションを定義する要素であり、ｉｎｉｔｉａｌＶＵＩ要素はＶＵＩメタデータの読み込み（初期化）を要求するアクションを定義する要素であり、ｔｒａｎｓｆｅｒ要素はその状態から他の状態に遷移するアクションを定義する要素である。
【００２５】
次に、シナリオメタデータ処理部８０は、共有データの領域確保、及びイベントオブジェクト登録を行ない（Ｓ１０２、１０４）、共有データ及びイベントのマッピング情報（これらが記憶されている領域や形式に関する情報をいう）を、ＧＵＩメタデータ処理部７０及びＶＵＩメタデータ処理部７２に提供する（Ｓ１０６、１０８）。図３における（Ａ）部は、共有データ宣言、イベント宣言、及びこれらのマッピング情報の定義の一例である。イベントオブジェクト登録は、具体的には、イベントシステム８２に各イベントを登録する処理である。
【００２６】
そして、状態遷移の登録を行なう（Ｓ１１０）。状態遷移の登録は、具体的には、図３における（Ｂ）部に例示する状態遷移の定義を読み込む処理を行なう。
【００２７】
状態遷移登録を行なうと、シナリオメタデータを実行する（Ｓ１１２）。シナリオメタデータ処理部８０は、初期状態に遷移し（Ｓ１１４）、モデル６０、ＧＵＩメタデータ処理部７０、及びＶＵＩメタデータ処理部７２に初期化依頼を行ない（Ｓ１１６、１２０、１２２）、待機状態となる。
【００２８】
モデル６０は、初期化依頼に応じて初期化処理を行なう（Ｓ１１８）。また、ＧＵＩメタデータ処理部７０、及びＶＵＩメタデータ処理部７２は、初期化依頼に応じて、ＧＵＩメタデータ及びＶＵＩメタデータをそれぞれ解釈し（Ｓ１２４、１２６）、共有データの領域をリンクし（Ｓ１２８、１３０）、イベントリスナー登録を行なう（Ｓ１３２、１３４）。イベントリスナー登録とは、イベントの受け手としてのＧＵＩメタデータ処理部７０、及びＶＵＩメタデータ処理部７２の存在をイベントシステム８２に通知する処理である。
【００２９】
図４は、ＧＵＩメタデータの記載例である。本図において、ＧＵＩ要素はルート要素であり、ｆｉｒｓｔＳｃｅｎｅ要素はＧＵＩの初期画面を定義する要素であり、ｖａｒｉａｂｌｅｓ要素は共有データを定義する要素の親要素であり、ｖａｒｉａｂｌｅ要素は共有データを定義する要素であり、ｅｖｅｎｔｓ要素はイベントを定義する要素の親要素であり、ｅｖｅｎｔ要素はイベントを定義する要素であり、ｓｃｅｎｅｓ要素は画面を定義する要素の親要素であり、ｓｃｅｎｅ要素は画面を定義する要素であり、ｖｂｏｘＬａｙｏｕｔ要素は垂直方向の配置を定義する要素であり、ｌａｂｅｌ要素はラベルを定義する要素であり、ｂｕｔｔｏｎ要素はボタンを定義する要素であり、ｃａｎｖａｓ要素はキャンバスを定義する要素であり、ｉｎｎｅｒＰａｒｔ○要素は文字列の％○の箇所に対して置き換える要素であり、ｔｈｒｏｗＥｖｅｎｔ要素はイベントを発火するアクションを定義する要素であり、ｅｎｔｒｙＡｃｔｉｏｎｓ要素はその画面に入った直後に実行されるアクションを定義する要素であり、ｅｖｅｎｔＡｃｔｉｏｎｓ要素はその画面で発生したイベントを受けて実行されるアクションを定義する要素であり、ｄｒａｗ要素はｎａｍｅ属性に指定された画面の描画を行なう要素であり、ｒｅｄｒａｗ要素はｎａｍｅ属性に指定された画面の再描画を行なう要素である。なお、後述する５０音入力の際の処理やメモリ入力の際の処理、Ｃａｎｖａｓに地図を貼り付ける具体的処理については、本発明の中核をなさないので説明を省略している。
【００３０】
図５は、ＶＵＩメタデータの記載例である。本図において、ＶＵＩ要素はルート要素であり、ｆｉｒｓｔＴａｌｋ要素はＶＵＩの初期対話を定義する要素であり、ｖａｒｉａｂｌｅｓ要素は共有データを定義する要素の親要素であり、ｖａｒｉａｂｌｅ要素は共有データを定義する要素であり、ｅｖｅｎｔｓ要素はイベントを定義する要素の親要素であり、ｅｖｅｎｔ要素はイベントを定義する要素であり、ｔａｌｋｓ要素は対話を定義する要素の親要素であり、ｔａｌｋ要素は対話を定義する要素であり、ｅｎｔｒｙＡｃｔｉｏｎｓ要素はその対話に入った直後に実行されるアクションを定義する要素であり、ｅｖｅｎｔＡｃｔｉｏｎｓ要素はその対話で発生したイベントを受けて実行されるアクションを定義する要素であり、ｏｕｔｐｕｔ要素はｃｏｎｎｔｅｎｔ属性に指定された内容を発話する要素であり、ｉｎｎｅｒＰａｒｔ○要素はｃｏｎｎｔｅｎｔ属性内の文字列の％○の箇所に対して、置き換える内容を定義する（○の箇所には１から始まる数値の連番が入る）要素であり、ｉｎｐｕｔ要素は発話を待ち、発話された内容を、ｖａｒｉａｂｌｅ属性に指定された変数又は共有データを設定すると共に、設定後は個要素に指定されたアクションを実行する要素であり、ｔｈｒｏｗＥｖｅｎｔ要素はイベントを発火するアクションを定義する要素であり、ｔｒａｎｓｆｅｒ要素はその対話から他の対話に遷移するアクションを定義する要素である。
【００３１】
続いて、ＧＵＩメタデータ処理部７０は、画面遷移登録を行なって（Ｓ１３６）、ＧＵＩメタデータを実行する（Ｓ１３８）。その後、画面遷移が開始され（Ｓ１４０）、画面情報が描画処理部７１に提供される（Ｓ１４２）。画面情報が提供された描画処理部７１では、画面情報を描画するようにマルチディスプレイ３０を制御する（Ｓ１４４）。
【００３２】
一方、ＶＵＩメタデータ処理部７２は、対話遷移登録を行なって（Ｓ１４６）、ＶＵＩメタデータを実行する（Ｓ１４８）。その後、対話遷移が開始され（Ｓ１５０）、対話情報が音声処理部７３に提供される（Ｓ１５２）。対話情報が提供された音声処理部７３では、「目的地を設定して下さい」等の音声メッセージを出力するように音声入出力装置４０を制御する（Ｓ１５４）。
【００３３】
以上の処理により、例えば図６の如き画面が表示されると共に上記音声メッセージが出力され、ユーザーによる目的地入力を待つ状態となる。図７は、この状態から音声による目的地入力が選択され、実際に経路案内が開始されるまでの処理を表すシーケンス図である。
【００３４】
ユーザーは、図6の表示画面において設けられている複数のボタン、すなわち、５０音入力ボタン３０Ａ、メモリ入力ボタン３０Ｂ、及び音声入力ボタン３０Ｃのうち、いずれかにタッチ操作する（Ｓ１５６）。ここでは、音声入力ボタン３０Ｃがタッチ操作されたものとする。
【００３５】
描画処理部７１は、タッチ操作されたボタンを判別し（Ｓ１５８）、タッチ操作されたボタンに対応するボタン番号をＧＵＩメタデータ処理部７０に通知する（Ｓ１６０）。ＧＵＩメタデータ処理部７０は、これに応じて音声入力イベントを発火する（Ｓ１６２）。発火とは、イベントシステム８２に登録されたイベントを呼び出す処理である。
【００３６】
音声入力イベントが発火されると、イベントシステム８２は、ＶＵＩメタデータ処理部７２に音声入力イベントを通知する（Ｓ１６４）。ＶＵＩメタデータ処理部７２は、これに応じて対話情報を音声処理部７３に提供し（Ｓ１６６）、音声処理部７３は「目的地をどうぞ」等の音声メッセージを出力するように音声入出力装置４０を制御する（Ｓ１６８）。
【００３７】
ユーザーは、音声メッセージに応じて、目的地を発声して入力する（Ｓ１７０）。音声処理部７３は、発声された語句を判別し（Ｓ１７２）、発声された語句に対応する語句認識番号をＶＵＩメタデータ処理部７２に通知する（Ｓ１７４）。
【００３８】
ＶＵＩメタデータ処理部７２は、語句認識番号から目的地を判別して（Ｓ１７６）、共有データ８１に目的地をセットする（Ｓ１７８）と共に目的地設定イベントを発火する（Ｓ１８０）。
【００３９】
目的地設定イベントが発火されると、イベントシステム８２は、シナリオメタデータ処理部８０に目的地設定イベントを通知する（Ｓ１８２）。シナリオメタデータ処理部８０は、これに応じてモデル６０の目的地設定関数を呼び出し、これに所定の引数を与える処理を行なう（Ｓ１８４）。この引数の内容は、例えば、共有データ８１にセットされた目的地のアドレス、現在地のアドレス、及び現在地変更イベントである。
【００４０】
モデル６０は、共有データ８１に現在地をセットし（Ｓ１８６）、現在地と目的地から最適な経路を地図データベース２０において検索する（Ｓ１８８）。そして、現在地変更イベントを発火する（Ｓ１９０）。モデル６０は、これ以降、車両の走行に応じて現在地が変更される度に、現在地を変更して（Ｓ１９２）現在地変更イベントを発火する処理を繰り返す。
【００４１】
現在地変更イベントが発火されると、イベントシステム８２は、ＧＵＩメタデータ処理部７０及びＶＵＩメタデータ処理部７２に現在地変更イベントを通知する（Ｓ１９４、１９６）。ＧＵＩメタデータ処理部７０は、これに応じて経路案内画面の画面情報を描画処理部７１に提供する（Ｓ１９８）。描画処理部７１では、共有データ８１にセットされた現在地を表示するようにマルチディスプレイ３０を制御する（Ｓ２００）。この際の表示画面の一例を図８に示す。また、ＶＵＩメタデータ処理部７２は、対話情報を音声処理部７３に提供する（Ｓ２０２）。音声処理部７３では、共有データ８１にセットされた現在地を用いて、「現在××を走行中です」等の音声メッセージを出力するように音声入出力装置４０を制御する（Ｓ２０４）。
【００４２】
ここで、シナリオメタデータ処理部８０の如き役割を果たすオブジェクト等を備えないシステムについて考える。例えば、図９に示す如く、モデル６０とＧＵＩメタデータ処理部７０やＶＵＩメタデータ処理部７２が直接的に共有データ８１やイベントシステム８２に関与するような構成の車載ナビゲーション装置である（図示の都合上、共有データ８１とイベントシステム８２を一体として示した）。このような装置においては、共有データ８１やイベントシステム８２に登録されるイベントの態様は、モデル６０やＧＵＩメタデータ処理部７０、ＶＵＩメタデータ処理部７２の設計規格に応じて決定される。換言すると、モデル６０やＧＵＩメタデータ処理部７０、ＶＵＩメタデータ処理部７２のうち一つの仕様が変更された結果、当該変更されたオブジェクトがやり取りする共有データやイベントの態様が変更されることとなった場合、他のオブジェクトも当該変更された共有データやイベントに対応可能なものに設計変更する必要が生じる。また、他のオブジェクトの関数（メソッド）を呼び出す際にも、呼び出される側のオブジェクトにおいて引数の変更等の仕様変更があった場合、呼び出す側においても引数設定の処理を変更する必要が生じる。この結果、例えば、ある車種の車載ナビゲーション装置を他の車種に適用する場面において、車両サイズの違い等に起因してＧＵＩメタデータ処理部７０のみを仕様変更しようとすると、ＧＵＩメタデータ処理部７０がやりとりする共有データやイベント、関数（メソッド）の引数等が変更される結果、モデル６０やＶＵＩメタデータ処理部７２も同様に仕様変更しなければならない場合が生じ得る。
【００４３】
これでは、システムの再利用を促進するのが困難となり、例えば表示画面のみを変更した車載ナビゲーション装置を再開発する際にも、装置全体を再設計することになりかねない。そこで、本実施例の車載ナビゲーション装置１では、シナリオメタデータ処理部８０が、各サブシステムがそれぞれ定義する共有データやイベントの関連付けを行なうと共に関数（メソッド）の必要とする引数が異なる場合の補完や削除を行なっている。これにより、上記の如くいずれかのサブシステムの仕様変更の場面においても、仕様変更を行なったサブシステムとシナリオメタデータのみを変更することで十分となるのである。これにより、サブシステムの開発や設計変更が他のサブシステムに与える影響を小さくする（関係を疎にする）ことができ、ひいてはシステムの再利用を促進することができる。また、シナリオメタデータは，ＸＭＬ等のメタ言語で記述可能であるため、比較的容易に変更可能である。
【００４４】
なお、図１０、１１、１２、及び１３は、それぞれ、以上説明したシーケンス図に対応するシナリオメタデータ処理部８０、ＧＵＩメタデータ処理部７０、ＶＵＩメタデータ処理部７２、及びモデル６０のフローチャートである。各図における動作については、既にシーケンス図に即して説明したものであるため、説明を省略する。
【００４５】
また、図１４は、シナリオメタデータ、ＧＵＩメタデータ、及びＶＵＩメタデータの状態遷移図である。
【００４６】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００４７】
例えば、拡大ＭＶＣに基づいて設計されたシステムに適用された場合を例示したが、通常のＭＶＣに基づいて設計されたシステムにも適用可能である。
【産業上の利用可能性】
【００４８】
本発明は、自動車産業やソフトウエア関連産業等に利用できる。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施例に係る車載ナビゲーション装置１の構成を概念的に示す概念図である。
【図２】本実施例の車載ナビゲーション装置１が起動され、ユーザーの目的地設定入力を受付可能な状態となるまでの処理を表すシーケンス図である。
【図３】シナリオメタデータの記載例である。
【図４】ＧＵＩメタデータの記載例である。
【図５】ＶＵＩメタデータの記載例である。
【図６】ユーザーによる目的地入力を待つ状態におけるマルチディスプレイ３０の表示画面の一例を示す図である。
【図７】ユーザーによる目的地入力を待つ状態から音声による目的地入力が選択され、実際に経路案内が開始されるまでの処理を表すシーケンス図である。
【図８】経路案内を行なっている際のマルチディスプレイ３０の表示画面の一例を示す図である。
【図９】本発明の比較例に相当する車載ナビゲーション装置の構成を概念的に示す概念図である。
【図１０】図３及び７のシーケンス図に対応するシナリオメタデータ処理部８０のフローチャートである。
【図１１】図３及び７のシーケンス図に対応するＧＵＩメタデータ処理部７０のフローチャートである。
【図１２】図３及び７のシーケンス図に対応するＶＵＩメタデータ処理部７２のフローチャートである。
【図１３】図３及び７のシーケンス図に対応するモデル６０のフローチャートである。
【図１４】シナリオメタデータ、ＧＵＩメタデータ、及びＶＵＩメタデータの状態遷移図である。
【符号の説明】
【００５０】
１  車載ナビゲーション装置
１０  ＧＰＳ受信機
２０  地図データベース
３０  マルチディスプレイ
３０Ａ  ５０音入力ボタン
３０Ｂ  メモリ入力ボタン
３０Ｃ  音声入力ボタン
４０  音声入出力装置
５０  ナビゲーション装置用ＥＣＵ
６０  モデル
７０  ＧＵＩメタデータ処理部
７１  描画処理部
７２  ＶＵＩメタデータ処理部
７３  音声処理部
８０  シナリオメタデータ処理部
８１  共有データ
８２  イベントシステム
【図１】
2008008723.tif 000003
【図２】
2008008723.tif 000004
【図３】
2008008723.tif 000005
【図４】
2008008723.tif 000006
【図５】
2008008723.tif 000007
【図６】
2008008723.tif 000008
【図７】
2008008723.tif 000009
【図８】
2008008723.tif 000010
【図９】
2008008723.tif 000011
【図１０】
2008008723.tif 000012
【図１１】
2008008723.tif 000013
【図１２】
2008008723.tif 000014
【図１３】
2008008723.tif 000015
【図１４】
2008008723.tif 000016