(57)【要約】ソフトウェアを自動的に補完する方法が提案される。この方法はシステムにおいて実行されるソフトウェアが新たなソフトウェアモジュールによって補完されることに使用される。ソフトウェアモジュールは先ず検査され、このソフトウェアモジュールからアプリケーションモジュールが導出される。アプリケーションモジュールを用いて本来の新たな機能が実施される。ソフトウェアモジュールを有利には無線インタフェースを介して受信することができる。本発明による方法は、車両におけるソフトウェアのアプリケーションに殊に適している。ソフトウェアモジュールからのアプリケーションモジュールの導出は通常の場合継承の原理によって行われる。ソフトウェアモジュールはテストパラメータを用いた呼出によってテストされる。【特許請求の範囲】
【請求項１】
ソフトウェアをソフトウェアモジュールによって補完する、ソフトウェアを自動的に補完する方法において、
ソフトウェアモジュールをソフトウェアの動作中にテストし、
該ソフトウェアモジュールから前記テストの結果に依存して少なくとも１つのアプリケーションモジュールを導出し、
該アプリケーションモジュールを前記ソフトウェアが動作に使用することを特徴とする、ソフトウェアを自動的に補完する方法。
【請求項２】
前記ソフトウェアモジュールを無線インタフェースを介して受信する、請求項１記載の方法。
【請求項３】
前記少なくとも１つのアプリケーションモジュールを前記ソフトウェアモジュールから導出する場合には、テスト固有のファンクションを上書きする、請求項１または２記載の方法。
【請求項４】
前記ソフトウェアモジュールを、テストパラメータを用いる呼出によってテストする、請求項１、２または３記載の方法。
【請求項５】
前記ソフトウェアは前記ソフトウェアモジュールのテストを変数のセットにより監視し、該変数の内容に依存してテストを反復する、請求項１から４のいずれか１項記載の方法。
【請求項６】
請求項１から５のいずれか１項記載の方法を実施する装置において、
該装置は、ソフトウェアを動作させるプロセッサ（１）及びメモリ（２）と、ソフトウェアモジュールをロードするロード装置（５）とを有することを特徴とする、装置。
【請求項７】
前記ロード装置は無線インタフェース（５）として構成されている、請求項６記載の装置。
【請求項８】
装置は車両に設けられている、請求項７記載の装置。
【発明の詳細な説明】
【０００１】
従来技術
本発明は独立請求項の上位概念による、ソフトウェアを自動的に補完する方法に関する。
【０００２】
動作時に既存のソフトウェアをソフトウェアモジュールによって補完することが既に公知である。このソフトウェアモジュールをテストするために、遮蔽されたテスト環境を要するいわゆるテストベクトルを使用することが公知である。
【０００３】
発明の利点
これに対して、独立請求項の利点を有する本発明によるソフトウェアを自動的に補完する方法は、この補完が動作中にユーザから遮蔽され、テストによって実施されるという利点を有する。これによって例えばソフトウェアが更新される際に動作が中断することは回避される。さらに、テストのために使用されるソフトウェアモジュールから少なくとも１つのアプリケーションモジュールが導出され、このアプリケーションモジュールがソフトウェアにおいて最終的に使用されることは有利である。このことはコード並びにリソースを節約し、ソフトウェアモジュールの迅速なロードにつながる。
【０００４】
それに加え、このテストを任意に等級分けできることは有利である。さらに、ソフトウェアの動作を妨害することなく、テストを何度も繰り返すことができる。テストは例えば新たなアプリケーションモジュールが使用される前に実施され、その結果テストされたアプリケーションモジュールのみが使用される。本発明による方法は、ユーザにとって妨害になることなく、ソフトウェアを段階的に拡張することも簡略化する。さらにテストを呼び出されるアプリケーションによって制御することができ、したがってシステム管理が大事にされる。
【０００５】
さらに本発明による方法が、オブジェクト指向のプログラミングから公知の継承原理を使用できることは有利である。この継承原理を用いて、新たに受信されるソフトウェアモジュールからアプリケーションモジュールを簡単に導出することができる。付加的にアプリケーションモジュールに、テストする必要の無いファンクションを付加することができる。これには例えばスクリーンまたはスピーカのような出力媒体へのアクセスが含まれる。
【０００６】
従属請求項に記載されている措置及び構成によって、独立請求項に記載されている、ソフトウェアを補完する有利な改善形態が考えられる。
【０００７】
殊に有利には、ソフトウェアを補完するソフトウェアモジュールが無線インタフェースを介して受信される。したがって本発明による方法は、有利には移動受信に適している。例えばソフトウェアモジュールをＤＡＢ（Ｄｉｇｉｔａｌ Ａｕｄｉｏ Ｂｒｏａｄｃａｓｔｉｎｇ）のようなディジタル放送伝送方式を介して受信することができ、このソフトウェアモジュールが放送受信器ソフトウェアに付加される。しかしながら本発明による方法は放送受信器に制限されるのではなく、放送送信器または、補完可能なソフトウェアを使用し、例えば無線インタフェースのようなロード装置を有する他の全てのシステムにも使用することができる。すなわち、外界へのインタフェースが存在すればよい。したがって本発明による方法を例えばプラットホームに依存しないソフトウェアに適用することができるが、しかしながらコンパイルすなわち実行されるコードの生成は省略される。択一的に、本発明によるソフトウェアアップデートを有線接続を用いるアクセスによっても実施することができる。この例はネットワーク化された計算機である。
【０００８】
さらに、ソフトウェアモジュールから少なくとも１つのアプリケーションモジュールが導出される際に、テスト固有のファンクションが上書きされることは有利である。これはテストにのみ適しており、通常の動作には必要ないまたは不十分であるようなファンクションである。例えばテスト中にはデータファイルへの書き込みはテストされず、書き込みへのアクセス権のみがテストされる。
【０００９】
ソフトウェアモジュールのテストは、有利にはテストパラメータを用いた呼出によって実施される。したがってテストパラメータは、どの状況でソフトウェアモジュールがテストされるかを規定する。したがって例えば危機的な状況を、この状況が僅かな可能性でしか生じないような場合でもテストすることができる。
【００１０】
それに加え、ソフトウェアがソフトウェアモジュールのテストを変数のセットによって監視し、この変数の内容に依存してテストを繰り返すことは有利である。したがってテストに偶発的に誤りがあっても、テストを繰り返し実施することにより検証または否定することができる。
【００１１】
最後に、ソフトウェアを実行し且つ本発明による方法を実施するプロセッサと、データを中間記憶または恒久的に記憶するメモリと、ソフトウェアモジュールをロードするために構成されているロード装置とを備えた、本発明による方法を実施する装置が設けられることは有利である。ロード装置として有利には無線インタフェースを使用することができ、その結果無線信号を介してソフトウェアモジュールを受信することができる。装置が車両内に設けられていることは有利であり、種々のコンポーネントのための車両のソフトウェアが更新ないし補完される。このことは、車両におけるコンポーネントが相互にネットワーク化されているということを前提とする。このために例えばバスシステムを使用することができ、このバスシステムを介してソフトウェアモジュールが個々のコンポーネントに分配される。アンチブロックシステム（ＡＢＳ）のような時間が重要な車両コンポーネントでは、動作中にソフトウェアを補完できることが勿論必要である。ＡＢＳシステムの機能性が中断されることは容認されないので、ここでは本発明による方法が殊に適している。
【００１２】
図面
本発明の実施例を図面に示し、以下詳細に説明する。図１は本発明による装置、ここでは放送受信器のブロック図であり、図２は本発明による方法のフローチャートである。
【００１３】
説明
プロセッサがシステム、例えば車両システムにますます広く普及することによって、またこのシステムの性能がますます拡張されることによって、ソフトウェアをこのプロセッサシステムにおいて規則的に補完ないし置換することが必要となる。例えば車両におけるこれらのシステムの多くは相互にネットワーク化されており、放送受信器または移動電話を介する外界とのインタフェース、例えば無線インタフェースを有する。監視装置または家庭設備系（Ｈａｕｓｔｅｃｈｎｉｋｓｙｓｔｅｍ）のようなシステムも相互にネットワーク化されており、無線インタフェースとして構成されているか、有線接続された通信経路を介して外界と接続されているインタフェースを有する。これらのインタフェースを介して、新たなソフトウェアモジュールを受信して、相応のシステムにもたらすことができ、そのようにしてソフトウェアが更新される。これらのシステムへのアクセスのような安全性の観点を考慮するために、新たなソフトウェアモジュールの機能性がテストされることが必要であり、その結果システム、実行されているソフトウェアは新しいソフトウェアモジュールによる被害を受けない、すなわちこの新たなソフトウェアモジュールによって妨害されない。実行されるシステムが車両のような場合には、このソフトウェアアップデートが動作中に可能であることが必要である。したがってこの新たなソフトウェアモジュールのテストもユーザから遮蔽されて行われなければならない。したがって本発明によればこの新たなソフトウェアモジュールモジュールはソフトウェアの動作中にテストされ、テストの結果に依存して少なくとも１つのアプリケーションモジュールが導出され、このアプリケーションモジュールがソフトウェアによって動作のために使用される。
【００１４】
図１は、本発明によるソフトウェアを自動的に補完する方法を実施するための本発明による装置のブロック図を示す。ここでは一例として放送受信器が示されているが、しかしながら外部へのインタフェースを有し、またソフトウェアでもって動作される他のいかなるシステムを本発明による方法を実施するために使用することもできる。これは例えば少なくとも１つのインタフェースを有する、ネットワーク化された家庭用機器または人工衛星または他の独立したシステムである。
【００１５】
アンテナ５は高周波受信器４の入力側と接続されている。高周波受信器４のデータ出力側は信号処理部３のデータ入力側と接続されている。信号処理部３もまたプロセッサ１のデータ入力側と接続されている。プロセッサ１はデータ入出力側を介してメモリ２と接続されている。第１のデータ出力側を介してプロセッサ１は信号処理部６と接続されている。第２のデータ出力側を介して、プロセッサは信号処理部８と接続されている。信号処理部６はスピーカ７への出力側を有する。信号処理部８は表示部９への出力側を有する。
【００１６】
プロセッサ１は放送受信器を動作させるためのソフトウェアを実行し、このソフトウェアはメモリ２に記憶されている。メモリ２はさらに、ソフトウェアの実行中に生じた中間結果を中間記憶するために使用される。すなわちメモリ２は恒久的なメモリとしても一時的なメモリとしても使用される。メモリ２が異なる物理的な媒体、一時的な記憶用の例えば半導体メモリと、恒久的な記憶用の例えばハードディスクとを有することもできる。新たなソフトウェアモジュールは、ここではディジタルである放送信号でもってアンテナ５を介して受信される。データを伝送するためのディジタル放送伝送方式として、ＤＡＢ（Ｄｉｇｉｔａｌ Ａｕｄｉｏ Ｂｒｏａｄｃａｓｔｉｎｇ）が適しており、しかしながらＤＶＢ（Ｄｉｇｉｔａｌ Ｖｉｄｅｏ Ｂｒｏａｄｃａｓｔｉｎｇ）、ＤＲＭ（Ｄｉｇｉｔａｌ Ｒａｄｉｏ Ｍｏｎｄｉａｌｅ）及び他のディジタル放送伝送方式も適している。何故ならばこれらの放送伝送方式では本来のオーディオプログラム、場合によってはテレビプログラムの他にも、他のマルチメディアデータまたはテキストデータも伝送することができるからである。これらの放送伝送方式は比較的広帯域であるので、本来の放送プログラムの他にも付加的なデータを容易に伝送することができ、またこれらの伝送方式は殆ど任意のデータフォーマットの伝送を許容するフレーム構造を有する。これらのデータには、プロセッサ１において実行されるソフトウェアに付加されるべきソフトウェアモジュールのようなソフトウェア部も属する。
【００１７】
高周波受信器４においてはディジタル放送信号がフィルタリング、増幅され、中間周波数に変換される。次いで、受信した放送信号のディジタル化が行われる。そのようにして生じたディジタルデータストリームは信号処理部３に伝送され、この信号処理部３はチャネル及びソース復号化を行う。ディジタルデータストリームからの有効データがプロセッサ１に伝送される。択一的に、信号処理部１のタスクがプロセッサ１及び高周波受信器４に分配されることも考えられる。さらに、高周波受信器４によるアナログ・ディジタル変換を信号処理部３に委ねることも可能である。
【００１８】
プロセッサ１は受信したデータを処理し、このデータを必要に応じて再生手段、スピーカ７及び表示部９に供給する。相応の復号化によってプロセッサ１は、固有のソフトウェアを更新するためのソフトウェアモジュールもデータに含まれていることを発見する。ここで、このソフトウェアモジュールは本来のソフトウェアが動作している間にテストされる。このために、ソフトウェアモジュールが使用しようとするオブジェクトが呼び出される。例えばソフトウェアモジュールが表示部９の制御を改善する場合には、プロセッサ１はデータの表示を実行するオブジェクトを呼び出す。
【００１９】
テストパラメータを用いてソフトウェアモジュールのテストが実施される。テストが成功すれば相応の変数がメモリ２にセットされ、ソフトウェアモジュールから少なくとも１つのアプリケーションモジュールが導出され、このアプリケーションモジュールは新たなファンクションを実行する。このアプリケーションモジュールがオブジェクトによって実行され、後に繰り返し使用することができる。テストを、例えば最初のテストの経過が不首尾に終わった場合には反復的に行うことができる。
【００２０】
少なくとも１つのアプリケーションモジュールが導出された場合には、ソフトウェアモジュールにおけるテスト固有のファンクションを上書きすることができる。導出は情報処理学から公知の継承の原理により行われる。
【００２１】
図２には、本発明によるソフトウェアを自動的に補完するための方法がフローチャートで示されている。ステップ１０ではソフトウェアがプロセッサ１において始動される。ステップ１１では新たなソフトウェアモジュールがアンテナ５を介して受信され、プロセッサ１にデータストリームとして伝送される。このソフトウェアモジュールが必要とするオブジェクトの呼出によって、このソフトウェアモジュールは新しく、場合によってはテストが必要であることが識別される。ステップ１２では、このテストが必要であるか否かがテストされる。必要である場合には、ステップ１３においてソフトウェアモジュールのテストがテストパラメータを用いて実施される。ステップ１４においてこのテストが上首尾に実施されたことが識別された場合には、ステップ１５においてテストは正常に終わったという変数がメモリ２にセットされる。ステップ１６では、ソフトウェアモジュールから少なくとも１つのアプリケーションモジュールが導出され、このアプリケーションモジュールはソフトウェアによって、新たなファンクションを実行するために使用される。ステップ１７ではアプリケーションがこの新たなアプリケーションモジュールでもって開始される。ステップ１４において、テストが不首尾に終わったことが識別されると、ステップ１８においては変数がメモリ２に相応にセットされ、ステップ１９ではテスト結果が例えば表示部９に送出される。ステップ２０では方法が終了する。ステップ１２においてテストは必要無いことが識別された場合には、ステップ１７にジャンプし、アプリケーションが即座に開始される。導出はもはや必要ないので即座にソフトウェアモジュールを用いてアプリケーションを開始することができる。
【００２２】
図示したように、ソフトウェアモジュールから少なくとも１つのアプリケーションモジュールを導出するために継承の原理が適している。オブジェクト指向の言語ＪＡＶＡが殊に重要であることが実証されている。ここでＪＡＶＡソースコード、いわゆるクラスデータファイルも生成され、これらをＪＡＶＡシステムにおいていわゆるＪＡＶＡ仮想マシンでもって実行することができる。そのようなクラスによってインプリメントされるファンクション及びルーチンはメソッドとも称される。
【００２３】
本発明による方法の重要な特徴は、コードの複数回の伝送を回避するために継承特性を使用することである。既存の実際のソフトウェアのクラスには、相応のテストルーチンを有する１つまたは複数のクラスが割り当てられる。ソフトウェアのインストレーションのために全てのクラス、最も簡単な場合では２つのクラス、すなわちテストクラス及びアプリケーションクラスがロードされる。テストクラスは、ターゲットシステムにおいてテスト可能なアプリケーションの全てのメソッド、例えばデータファイルアクセス権限と、動作時に生じる危機的な状況を事前にテストする付加的なテストメソッドとを包含する。このことは上述したように、相応のテストパラメータを用いた基礎メソッドのテスト呼出によって達成される。テストクラスにおいては実質的に、アプリケーションクラスの基本機能が規定されているので、これらのクラスには基礎クラスの概念も当てはまるであろう。
【００２４】
本来のアプリケーションクラスは、継承によりこれらのクラスから生成される。したがってアプリケーションクラスはテストクラスの全てのメソッドを使用でき、ターゲットシステムにおいてテストできない、またはテストすべきではない付加的なメソッドによって補完される。これらのクラスでは、後者の場合ではテストを実施するという理由から場合によっては完全にインプリメントされなかった、または修正されただけでインプリメントされた、テストクラスからのメソッドも上書きすることができる。アプリケーションクラスはさらに、テストクラスにおいて規定されているテストが必要であるようならばこのテストを開始する。本発明は、アプリケーションクラス及びテストクラスが継承によって相互に論理的に対応付けられており、アプリケーションクラス（アプリケーションモジュール）がテストクラス（ソフトウェアモジュール）のメソッドを広範囲に再利用することを特徴とする。これによってコードが節約され、このことは付加的にロードされた独立したテストモジュールと比べると、ソフトウェアをロードするための時間が減少し、システムリソースも節約される。継承したクラスは継承されるクラスの変数及びファンクションのような特性を受け継ぐ。このことはプログラムコードの不必要な繰り返しを阻止する。
【図面の簡単な説明】
【図１】
本発明による装置のブロック図である。
【図２】
本発明による方法のフローチャートである。
【国際公開パンフレット】
2004518230.tif 000002
2004518230.tif 000003
2004518230.tif 000004
2004518230.tif 000005
2004518230.tif 000006
2004518230.tif 000007
2004518230.tif 000008
2004518230.tif 000009
2004518230.tif 000010
2004518230.tif 000011
2004518230.tif 000012
2004518230.tif 000013
2004518230.tif 000014
2004518230.tif 000015
2004518230.tif 000016
【国際公開パンフレット（コレクトバージョン）】
2004518230.tif 000017
【手続補正書】
【提出日】平成15年4月28日(2003.4.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソフトウェアをソフトウェアモジュールによって補完し、ソフトウェアモジュールをソフトウェアの動作中にテストする、ソフトウェアを自動的に補完する方法において、
該ソフトウェアモジュールから前記テストの結果に依存して、オブジェクト指向プログラミングの継承原理により、少なくとも１つのアプリケーションモジュールを導出し、
該アプリケーションモジュールを前記ソフトウェアが動作に使用することを特徴とする、ソフトウェアを自動的に補完する方法。
【請求項２】
前記ソフトウェアモジュールを無線インタフェースを介して受信する、請求項１記載の方法。
【請求項３】
前記少なくとも１つのアプリケーションモジュールを前記ソフトウェアモジュールから導出する場合には、テスト固有のファンクションを上書きする、請求項１または２記載の方法。
【請求項４】
前記ソフトウェアモジュールを、テストパラメータを用いる呼出によってテストする、請求項１、２または３記載の方法。
【請求項５】
前記ソフトウェアは前記ソフトウェアモジュールのテストを変数のセットにより監視し、該変数の内容に依存してテストを反復する、請求項１から４のいずれか１項記載の方法。
【請求項６】
請求項１から５のいずれか１項記載の方法を実施する装置において、
該装置は、ソフトウェアを動作させるプロセッサ（１）及びメモリ（２）と、ソフトウェアモジュールを同時にロードし、有効データを受信するロード装置（５）とを有することを特徴とする、装置。
【請求項７】
前記ロード装置は無線インタフェース（５）として構成されている、請求項６記載の装置。
【請求項８】
装置は車両に設けられている、請求項７記載の装置。
【国際調査報告】
2004518230.tif 000018
2004518230.tif 000019
2004518230.tif 000020
2004518230.tif 000021