(57)【要約】【課題】  無線方式の変更において、柔軟性の高いソフトウェア無線を提供する。【解決手段】  複数の無線方式を使用して通信を行うソフトウェア無線機であって、データを受け渡す受渡手段を有する複数の通信モジュールと、無線方式識別情報に対応づけて、無線方式による通信を実現する為に複数の通信モジュールに必要な複数のソフトウェアの識別情報であるソフトウェア識別情報、及び複数のソフトウェアによる複数の通信モジュールの受渡手段を示すソフトウェアの接続情報を格納するソフトウェア群情報格納部と、選択された無線方式に対応づけてソフトウェア群格納部が格納する複数のソフトウェア識別情報及び接続情報を選択する接続情報選択部と、接続情報選択部が選択した接続情報に基づいて、通信モジュールの受渡手段を設定する接続設定部と、接続設定部により設定された受渡手段を用いて複数の通信モジュール間で通信を行うソフトウェア間通信部とを備える。【選択図】  図１
2005039557.tif 000002
【特許請求の範囲】
【請求項１】
複数の無線方式を選択的に使用して通信を行うソフトウェア無線機であって、
データを受け渡すことができる複数の受渡手段をそれぞれ有する複数の通信モジュールと、
前記無線方式の識別情報である無線方式識別情報に対応づけて、当該無線方式による通信を実現するために前記複数の通信モジュールにそれぞれ必要な複数のソフトウェアの識別情報であるソフトウェア識別情報、及び前記複数のソフトウェアによる前記複数の通信モジュールの前記受渡手段を示す前記ソフトウェアの接続情報を格納するソフトウェア群情報格納部と、
ユーザによって選択された前記無線方式に対応づけて前記ソフトウェア群格納部が格納する前記複数のソフトウェア識別情報及び前記接続情報を選択する接続情報選択部と、
前記接続情報選択部が選択した前記接続情報に基づいて、前記接続情報選択部が選択した前記複数の通信モジュールの前記受渡手段を設定する接続設定部と、
前記接続設定部により設定された前記受渡手段を用いて前記複数の通信モジュール間で通信を行うソフトウェア間通信部と
を備えるソフトウェア無線機。
【請求項２】
前記ソフトウェアが他の前記ソフトウェアにデータを受け渡すためのポート、及び前記ソフトウェアが他の前記ソフトウェアからデータを受け取るためのポートの構成を示す情報であるポート構成情報を前記ソフトウェア毎に格納するソフトウェア情報格納部をさらに備え、
前記ソフトウェア群情報格納部は、前記接続情報として、接続先ポートの前記ポート識別情報である接続先ポート識別情報、及び接続元ポートの前記ポート識別情報である接続元ポート識別情報を対応づけて格納し、
前記接続情報選択部は、前記接続情報として、前記ソフトウェア群情報格納部が格納する前記ソフトウェア識別情報で識別される前記ソフトウェアの前記ポート構成情報を抽出し、
前記接続設定部は、前記接続情報選択部が抽出した前記ポート構成情報を参照して、前記接続元ポートから前記接続先ポートへの通信が行われるべく前記受渡手段を設定する請求項１に記載のソフトウェア無線機。
【請求項３】
前記ソフトウェア情報格納部は、前記接続先ポート識別情報に対応づけて、当該接続先ポート識別情報で識別される前記接続先ポートの名称を格納し、前記接続元ポート識別情報に対応づけて、当該接続元ポート識別情報で識別される前記接続元ポートの名称を格納し、
前記接続情報選択部は、前記ソフトウェア情報格納部が格納する前記接続先ポートの名称に基づいて、当該接続先ポートを有する前記ソフトウェアから前記接続先ポートのオブジェクトリファレンスを抽出し、前記ソフトウェア情報格納部が格納する前記接続元ポートの名称に基づいて、当該接続元ポートを有する前記接続元ポートのオブジェクトリファレンスを抽出し、
前記接続設定部は、前記接続情報選択部が抽出した前記接続先ポートのオブジェクトリファレンスを用いて前記接続先ポートにアクセスし、前記接続元ポートのオブジェクトリファレンスを設定し、前記接続情報選択部が抽出した前記接続元ポートのオブジェクトリファレンスを用いて前記接続元ポートにアクセスし、前記接続先ポートのオブジェクトリファレンスを設定し、
前記ソフトウェア間通信部は、分散配置された複数のオブジェクトである前記ソフトウェア間において、前記接続元ポートから前記接続先ポートへの通信を行う請求項２に記載のソフトウェア無線機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア無線機に関する。特に、本発明は、複数の無線方式を選択的に使用して通信を行うソフトウェア無線機に関する。
【背景技術】
【０００２】
従来のソフトウェア無線機は、機能毎に複数のソフトウェアを有し、これらの複数のソフトウェアのうちから必要なソフトウェアを選択することにより無線方式を変更し、所望の無線方式を実現する。このようなソフトウェア無線機では、例えばＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）等の分散オブジェクト技術を用いてソフトウェア間のデータ通信を行っている（例えば、非特許文献１参照。）。
【非特許文献１】インターネット＜URL:http://www.sdrforum.org/MTGS/mtg_22_feb01/t_0071_v0_00sra_2_overview_01_23_01.ppt＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のソフトウェア無線機の無線方式を変更する場合、無線方式の仕様に合わせてユーザがソフトウェアを選択する必要があるなど、無線方式の変更に手間がかかる場合があった。
【０００４】
そこで本発明は、上記の課題を解決することのできるソフトウェア無線機を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００５】
即ち、本発明の形態によると、複数の無線方式を選択的に使用して通信を行うソフトウェア無線機であって、データを受け渡すことができる複数の受渡手段をそれぞれ有する複数の通信モジュールと、無線方式の識別情報である無線方式識別情報に対応づけて、当該無線方式による通信を実現するために複数の通信モジュールにそれぞれ必要な複数のソフトウェアの識別情報であるソフトウェア識別情報、及び複数のソフトウェアによる複数の通信モジュールの受渡手段を示すソフトウェアの接続情報を格納するソフトウェア群情報格納部と、ユーザによって選択された無線方式に対応づけてソフトウェア群格納部が格納する複数のソフトウェア識別情報及び接続情報を選択する接続情報選択部と、接続情報選択部が選択した接続情報に基づいて、接続情報選択部が選択した複数の通信モジュールの受渡手段を設定する接続設定部と、接続設定部により設定された受渡手段を用いて複数の通信モジュール間で通信を行うソフトウェア間通信部とを備える。
【０００６】
ソフトウェアが他のソフトウェアにデータを受け渡すためのポート、及びソフトウェアが他のソフトウェアからデータを受け取るためのポートの構成を示す情報であるポート構成情報をソフトウェア毎に格納するソフトウェア情報格納部をさらに備え、ソフトウェア群情報格納部は、接続情報として、接続先ポートのポート識別情報である接続先ポート識別情報、及び接続元ポートのポート識別情報である接続元ポート識別情報を対応づけて格納し、接続情報選択部は、接続情報として、ソフトウェア群情報格納部が格納するソフトウェア識別情報で識別されるソフトウェアのポート構成情報を抽出し、接続設定部は、接続情報選択部が抽出したポート構成情報を参照して、接続元ポートから接続先ポートへの通信が行われるべく受渡手段を設定してもよい。
【０００７】
ソフトウェア情報格納部は、接続先ポート識別情報に対応づけて、当該接続先ポート識別情報で識別される接続先ポートの名称を格納し、接続元ポート識別情報に対応づけて、当該接続元ポート識別情報で識別される接続元ポートの名称を格納し、接続情報選択部は、ソフトウェア情報格納部が格納する接続先ポートの名称に基づいて、当該接続先ポートを有するソフトウェアから接続先ポートのオブジェクトリファレンスを抽出し、ソフトウェア情報格納部が格納する接続元ポートの名称に基づいて、当該接続元ポートを有する接続元ポートのオブジェクトリファレンスを抽出し、接続設定部は、接続情報選択部が抽出した接続先ポートのオブジェクトリファレンスを用いて接続先ポートにアクセスし、接続元ポートのオブジェクトリファレンスを設定し、接続情報選択部が抽出した接続元ポートのオブジェクトリファレンスを用いて接続元ポートにアクセスし、接続先ポートのオブジェクトリファレンスを設定し、ソフトウェア間通信部は、分散配置された複数のオブジェクトであるソフトウェア間において、接続元ポートから接続先ポートへの通信を行ってもよい。
【０００８】
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【発明の効果】
【０００９】
上記説明から明らかなように、本発明によれば柔軟に無線方式を変更することができるソフトウェア無線機を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態に係るソフトウェア無線機８００の構成の一例を示す。本実施形態において、ソフトウェア無線機８００は、ソフトウェアの接続関係や設定情報を格納したファイルを予め準備し、変更したい無線方式に応じたソフトウェア同士の接続関係や設定情報を選択することにより、柔軟性を持って無線方式を変更することができるソフトウェア無線を提供することを目的とする。ソフトウェア無線機８００は、複数のＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、コントロール部４０、及びハードウェアバス５７０を備える。ＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、及びコントロール部４０のそれぞれは、ＣｏｍｐａｃｔＰＣＩ、ＰＣＩ、ＶＭＥ等のハードウェアバス５７０を介してそれぞれ接続される。尚、本例においてＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、及びコントロール部４０は、本発明に係る通信モジュールの一例である。このようなモジュール構成により、処理の負荷を分散させている。
【００１２】
ＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、及びコントロール部４０は、ＯＳ（オペレーティングシステム）５５０、ＣＰＵ（図示せず）、及びデバイスドライバ５６０をそれぞれ有し、ＯＳ５５０は、デバイスドライバ５６０を介してハードウェアバス５７０と通信する。ＯＳ５５０は、組み込み型のＯＳであり、例えばＬｉｎｕｘ（登録商標）である。ＡＭ／ＦＭ／ＳＳＢ変復調部１０は、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００により動作し、ベースバンド変復調部２０は、１６ＱＡＭ変復調ソフトウェア２００により動作し、コントロール部４０は、少なくともアプリケーションファクトリソフトウェア４００により動作する。また、外部Ｉ／Ｆ部３０は、ＬＡＮ入出力ソフトウェア３００及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０により動作する。尚、本例において、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０、及びアプリケーションファクトリソフトウェア４００のそれぞれは、予めソフトウェア無線機８００の外部で作成され、それぞれのＯＳ５５０へ置かれる実行形式ファイルである。それぞれのＯＳ５５０には、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０、及びアプリケーションファクトリソフトウェア４００以外にも、それぞれのハードウエアを動作させる為の複数のソフトウェアがインストールされる。
【００１３】
ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０、及びアプリケーションファクトリソフトウェア４００は、ＯＲＢ（Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ）５００を介して互いに通信を行う。ＯＲＢ５００は、ソフトウェア無線機８００に分散して存在するソフトウェア間で、データの処理要求等のデータ通信を行うミドルウェアであり、例えばＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  Ｂｒｏｋｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ）のＯＲＢである。
【００１４】
ＣＯＲＢＡにおいて、スケルトンは、他のソフトウェアによって呼び出されるのを待つインタフェースであり、スタブは、スケルトンを呼び出した他のソフトウェアとの間でデータの送受信を行う。また、スタブは、例えばソフトウェア内で宣言された型とは異なる型のデータをＯＲＢ５００から受け取った場合、当該ソフトウェアが処理できる型へ変換する等のデータ変換を行う。
【００１５】
本例において、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０、及びアプリケーションファクトリソフトウェア４００のそれぞれは、他のソフトウェアから呼び出されるのを待つスケルトンＡ、Ｂ、Ｃ、及びＤをそれぞれ有する。
【００１６】
ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００は、スタブＢ、Ｃ、及びＤを有し、スタブＢ、Ｃ、及びＤのそれぞれにより、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のインタフェースをそれぞれ呼び出す。ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００は、ソフトウェア無線機８００が備えるＲＦ部（図示せず）から受信した中間周波数信号（アナログ）をＡＭ復調、ＦＭ復調、又はＳＳＢ復調を行い、１６ＱＡＭ変復調ソフトウェア２００又はＬＡＮ入出力ソフトウェア３００へ送信する。また、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００は、１６ＱＡＭ変復調ソフトウェア２００又はＬＡＮ入出力ソフトウェア３００からデータを受信し、ＡＭ変調、ＦＭ変調、又はＳＳＢ変調がして得た中間周波数をＲＦ部へ出力する。
【００１７】
１６ＱＡＭ変復調ソフトウェア２００は、スタブＡ及びＣを有し、スタブＡ及びＣのそれぞれにより、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００及びＬＡＮ入出力ソフトウェア３００のインタフェースをそれぞれ呼び出す。１６ＱＡＭ変復調ソフトウェア２００は、必要に応じＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００から受け取ったベースバンド信号（デジタル）を、直交復調（例えば１６ＱＡＭ復調）し、ＬＡＮ入出力ソフトウェア３００へ送信する。また、１６ＱＡＭ変復調ソフトウェア２００は、ＬＡＮ入出力ソフトウェア３００から受信したデータを、例えば１６ＱＡＭ変調し、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００へ送信する。
【００１８】
ＬＡＮ入出力ソフトウェア３００は、スタブＢを有し、スタブＢにより、１６ＱＡＭ変復調ソフトウェア２００のインタフェースを呼び出す。また、ＬＡＮ入出力ソフトウェア３００は、例えばソフトウェア無線機８００の外部に設けられたＬＡＮと接続される。ＬＡＮ入出力ソフトウェア３００は、１６ＱＡＭ変復調ソフトウェア２００から受け取ったデータを、パケットヘッダーを付加する等によりＬＡＮで使用されるプロトコルに変換し、ＬＡＮへ出力する。また、ＬＡＮ入出力ソフトウェア３００は、ＬＡＮから入力されたデータを１６ＱＡＭ変復調ソフトウェア２００へ送信する。
【００１９】
Ａ／Ｄ・Ｄ／Ａソフトウェア３５０は、スタブＡ及びＢを有し、スタブＡ及びＢのそれぞれにより、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００及び１６ＱＡＭ変復調ソフトウェア２００のインタフェースをそれぞれ呼び出す。また、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０は、ソフトウェア無線機８００が備えるマイク及びスピーカに接続される。Ａ／Ｄ・Ｄ／Ａソフトウェア３５０は、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００等から送信されたデータをＤ／Ａ（デジタルアナログ）変換し、スピーカへ送信する。また、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０は、マイクから入力された音声をＡ／Ｄ（アナログデジタル）変換し、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００等へ送信する。
【００２０】
アプリケーションファクトリソフトウェア４００は、スタブＡ、Ｂ、Ｃ、及びＤを有し、スタブＡ、Ｂ、Ｃ、及びＤのそれぞれにより、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０のインタフェースをそれぞれ呼び出す。アプリケーションファクトリソフトウェア４００は、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００及び１６ＱＡＭ変復調ソフトウェア２００に、変復調の開始や停止の指示を行う。また、アプリケーションファクトリソフトウェア４００は、例えばデータを受信する状態から送信データを待つ状態にする等、ＬＡＮ入出力ソフトウェア３００の入出力の状態を制御する。
【００２１】
また、コントロール部４０のＯＳ５５０は、ＸＭＬパーサ７００及びドメインプロファイル６００を備える。ドメインプロファイル６００は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述される。ＸＭＬパーサ７００は、ＸＭＬ文書を構文解釈し、タグ名、属性名等の検索、値の取得等を行う。尚、アプリケーションファクトリソフトウェア４００は、本発明に係る接続設定部の一例であり、ＯＲＢ５００は、本発明に係るソフトウェア間通信部の一例であり、ＸＭＬパーサ７００は、本発明に係る接続情報抽出部の一例である。
【００２２】
ドメインプロファイル６００は、複数のＳＡＤ（Ｓｏｆｔｗａｒｅ  Ａｓｓｅｍｂｌｙ  Ｄｉｓｃｒｉｐｔｏｒ）ファイル６１０、複数のＳＰＤ（Ｓｏｆｔｗａｒｅ  Ｐａｃｋａｇｅ  Ｄｉｓｃｒｉｐｔｏｒ）ファイル６２０、複数のＳＣＤ（Ｓｏｆｔｗａｒｅ  Ｃｏｍｐｏｎｅｎｔ  Ｄｉｓｃｒｉｐｔｏｒ）ファイル６３０、及び複数のＰＤ（Ｐｒｏｐｅｒｔｙ  Ｄｉｓｃｒｉｐｔｏｒ）ファイル６４０を有する。尚、ＳＡＤファイル６１０は、本発明に係るソフトウェア群情報格納部の一例であり、ＳＣＤファイル６３０は、本発明に係るソフトウェア情報格納部の一例である。
【００２３】
ＳＡＤファイル６１０は、無線方式ごとに備えられ、無線方式の名等から成る無線方式識別情報と対応づけて、当該無線方式による通信を実現するためにＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、及びコントロール部４０にそれぞれ必要な複数のソフトウェアのパス名等であるソフトウェア識別情報をまとめて格納する。例えば、ＳＡＤファイル６１０は、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれに対応付けられたＳＰＤファイル６２０、ＳＣＤファイル６３０、及びＰＤファイル６４０のそれぞれのソフトウェア識別情報を格納する。また、ＳＡＤファイル６１０は、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれと同じＯＳ５５０に設けられた複数のソフトウェアのソフトウェア識別情報を格納してよい。
【００２４】
ＳＰＤファイル６２０は、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０の様なソフトウェア毎に設けられ、ソフトウェアの動作環境及び仕様を示す情報であるソフトウェア実装情報を格納する。ＳＰＤファイル６２０は、例えば、ソフトウェアが動作するＯＳの種類、実行コードの所在（パス）、ソフトウェアが開発された言語等をソフトウェア実装情報として格納する。
【００２５】
ＳＣＤファイル６３０は、ソフトウェア毎に設けられソフトウェアが他のソフトウェアにデータを受け渡すためのポート、及びソフトウェアが他のソフトウェアからデータを受け取るためのポートの構成を示す情報であるポート構成情報をソフトウェア毎に格納する。ＰＤファイル６４０は、ソフトウェアがデバイスを動作させる為に必要な情報であるプロパティ情報をソフトウェア毎に格納する。
【００２６】
ソフトウェア無線機８００の無線方式を変更する場合、ＸＭＬパーサ７００は、ユーザによって選択された無線方式に対応づけて、ＳＡＤファイル６１０が格納する複数のソフトウェア識別情報及び接続情報を選択する。アプリケーションファクトリソフトウェア４００は、ＸＭＬパーサ７００が選択した接続情報に基づいて、ＸＭＬパーサ７００が選択した複数の通信モジュールの受渡手段を設定する。ＯＲＢ５００は、アプリケーションファクトリソフトウェア４００により設定された受渡手段を用いて、ＡＭ／ＦＭ／ＳＳＢ変復調部１０、ベースバンド変復調部２０、外部Ｉ／Ｆ部３０、及びコントロール部４０の間で通信を行う。
【００２７】
また、アプリケーションファクトリソフウェア４００は、ＸＭＬパーサが選択したソフトウェア識別情報（ソフトウェアの名称）に基づいて、ＯＳ５５０上に設けられた複数のソフトウェアを選択し、無線方式の変更に従って、これらの複数のソフトウェアと、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれにおける、例えば接続関係を変更する。また、アプリケーションファクトリソフウェア４００は、ソフトウェア識別情報に基づいて、複数のソフトウェアを選択し、ドメインプロファイルに基づき、選択したソフトウェアの設定を変更してよい。これにより、ソフトウェア無線機８００は、ソフトウェア識別情報と接続情報とを用いて無線方式の変更を適切に行い、無線方式に応じて変更された受渡手段を用いて通信を行うことができる。
【００２８】
図２は、アプリケーションファクトリソフトウェア４００が有するインタフェースを説明した説明図である。インタフェースは、データの変換、処理、送受信等の予め定められた動作を指示する、少なくとも１つのオペレーションを含むプログラムの名称である。アプリケーションファクトリソフトウェア４００は、インタフェースＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙ及びインタフェースＡｐｐｌｉｃａｔｉｏｎを有する。インタフェースＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙは、無線方式識別情報（無線方式名）に応じて無線方式を変更するための指示をそれぞれのソフトウェアへ与えるオペレーション（Ｏｂｊｅｃｔ  ｃｒｅａｔｅ（ｎａｍｅ：ｉｎ  ｓｔｒｉｎｇ、ｉｎｉｔＣｏｎｆｉｇｕｒａｔｉｏｎ：ｉｎ  Ｐｒｏｐｅｒｔｉｅｓ））を有する。また、インタフェースＡｐｐｌｉｃａｔｉｏｎは、選択された無線方式によるソフトウェア無線の使用の中止を指示するオペレーション（ｖｏｉｄ  ＲｅｌｅａｓｅＯｂｊｅｃｔ（））を有する。これにより、アプリケーションファクトリソフトウェア４００は、無線方式の変更の指示及び中止を、各ソフトウェアのインタフェースへ与える。
【００２９】
図３は、それぞれのソフトウェアが有するインタフェースを説明した説明図である。ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれは、インタフェースＰｏｒｔ、インタフェースＬｉｆｅＣｙｃｌｅ、インタフェースＴｅｓｔａｂｌｅＯｂｊｅｃｔ、インタフェースＰｏｒｔＳｕｐｐｌｉｅｒ、インタフェースＰｒｏｐｅｒｔｙＳｅｔ、及びインタフェースＲｅｓｏｕｒｃｅを有する。
【００３０】
インタフェースＬｉｆｅＣｙｃｌｅは、ソフトウェアの初期化を行うオペレーション（ｖｏｉｄ  ｉｎｉｔｉａｌｉｚｅ）と、他のソフトウェアとの接続を切断して、ソフトウェアの動作を終了するオペレーション（ｖｏｉｄ  ｒｅｌｅｓｅＯｂｊｅｃｔ）とを有する。インタフェースＰｏｒｔＳｕｐｐｌｉｅｒは、ＳＣＤファイル６３０が有するポート構成情報の中で、接続先ポートの名称等である接続先ポート識別情報と、接続元ポートの名称等である接続元識別情報とに基づいて、当該ソフトウェアが有するポートのオブジェクトリファレンスを与えるオペレーション（Ｏｂｊｅｃｔ  ｇｅｔＰｏｒｔ（ｎａｍｅ：ｉｎ  ｓｔｒｉｎｇ））を有する。
【００３１】
インタフェースＰｏｒｔは、ソフトウェアのオブジェクトリファレンス（ｃｏｎｎｅｃｔｉｏｎ）に基づいて、接続先のソフトウェアと自身のソフトウェアとをｃｏｎｎｅｃｔｉｏｎＩＤの下で接続するオペレーション（ｖｏｉｄ  ｃｏｎｎｅｃｔＰｏｒｔ（ｃｏｎｎｅｃｉｔｏｎ：ｉｎ  Ｏｂｊｅｃｔ、ｃｏｎｎｅｃｔｉｏｎＩｄ：ｉｎ  ｓｔｒｉｎｇ））と、接続されたソフトウェアの接続を切断するインタフェース（ｖｏｉｄ  ｄｉｓｃｏｎｎｅｃｔＰｏｒｔ（ｃｏｎｎｅｃｔｉｏｎＩｄ：ｉｎ  ｓｔｒｉｎｇ））とを有する。また、インタフェースＰｒｏｐｅｒｔｙＳｅｔは、ソフトウェア識別情報に基づいて、ＸＭＬパーサ７００が抽出したプロパティ値を当該ソフトウェアに設定するオペレーション（ｖｏｉｄ  ｃｏｎｆｉｇｕｒｅ（ｃｏｎｆｉｇＰｒｏｐｅｒｔｉｅｓ：ｉｎ  Ｐｒｏｐｅｒｔｉｅｓ））と、当該ソフトウェアに設定されたプロパティ値をソフトウェア識別情報に基づいて出力するオペレーションｖｏｉｄ  ｑｕｅｒｙ（ｃｏｎｆｉｇＰｒｏｐｅｒｔｉｅｓ：ｉｎｏｕｔ  Ｐｒｏｐｅｒｔｉｅｓ））とを有する。ここで、Ｐｒｏｐｅｒｔｉｅｓ型とは、Ｓｔｒｉｎｇ型のｉｄとａｎｙ型のｖａｌｕｅからなる構造体の配列の一種である。
【００３２】
インタフェースＲｅｓｏｕｒｃｅは、当該ソフトウェアの処理を開始するオペレーション（ｖｏｉｄ  ｓｔａｒｔ（））と、当該ソフトウェアの処理を停止するオペレーション（ｖｏｉｄ  ｓｔｏｐ（））とを有する。インタフェースＴｅｓｔａｂｌｅＯｂｊｅｃｔは、ソフトウェアの動作のテストを選択するテスト情報に基づいて当該ソフトウェアのテストを行い、そのテストの結果を出力するオペレーション（ｖｏｉｄ  ｒｕｎＴｅｓｔ（ｔｅｓｔｉｄ：ｉｎ  ｕｎｓｉｇｎｅｄ  ｌｏｎｇ、ｔｅｓｔＶａｌｕｅｓ：ｉｎｏｕｔ  Ｐｒｏｐｅｒｔｉｅｓ））を有する。
【００３３】
ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれのソフトウェアは、図３を用いて説明した６つのインタフェースを備えることにより、アプリケーションファクトリソフトウェア４００が送信する無線方式の変更の指示を適切に受け取ることができる。
【００３４】
図４は、アプリケーションファクトリソフトウェア４００が有するインタフェースを記述したＩＤＬファイルをコンパイルする場合の説明図である。図５は、それぞれのソフトウェアが有するインタフェースを記述したそれぞれのＩＤＬファイルをコンパイルする場合の説明図である。
【００３５】
ＩＤＬファイルは、ＩＤＬ言語によりインタフェースに関する情報が記述されるファイルである。ＩＤＬファイル５０は、アプリケーションファクトリソフトウェア４００が備えるインタフェース情報が記述される。また、ＩＤＬファイル６０、７０、８０、及び９０には、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、ＬＡＮ入出力ソフトウェア３００、及びＡ／Ｄ・Ｄ／Ａソフトウェア３５０のそれぞれが備えるインタフェース情報がそれぞれ記述される。尚、ＩＤＬファイル６０、７０、８０、及び９０のそれぞれは、各ソフトウェアが図３で説明した必須インタフェースのみを備える限り、同じ内容のファイルとなるが、独立ファイル構成とすることにより、容易に独自インタフェースを追加することができる。例えば、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０は、ｄａｔａＩｎオペレーションを有するＤａｔａインタフェースを備え、ｄａｔａＩｎオペレーションによりデジタルデータを音声の変換を行うようにしてもよい。
【００３６】
本例において、ＩＤＬファイル５０は、ソフトウェア無線機８００の外部に設けられた、例えば開発環境用のコンピュータが備えるＩＤＬコンパイラを用いてコンパイルされる。これにより、ＩＤＬファイル５０は、スケルトンファイル５２、スタブファイル５４、及びヘルパークラスファイル５６を生成する。同様にして、ＩＤＬファイル６０、ＩＤＬファイル７０、ＩＤＬファイル８０、及びＩＤＬファイル９０は、スケルトンファイル６２、７２、８２、９２、スタブファイル６４、７４、８４、９４、ヘルパークラスファイル６６、７６、８６、９６を生成する。ここで、生成されたそれぞれのファイルは、例えばＣ＋＋の言語形式を持つ。また、ここで生成されたヘルパークラスファイルは、当該ソフトウェアが受信するオブジェクトリファレンスを、例えばナローすることにより当該ソフトウェア処理できる形式へ変換する。
【００３７】
図６は、アプリケーションファクトリソフトウェア４００の実行形式のファイルを作る動作の一例を示す。図７は、各ソフトウェアの実行形式のファイルを作る動作の一例を示す。ソースファイル５８は、アプリケーションファクトリソフトウェア４００のインタフェースに関する情報以外の情報が記されたファイルである。本例において、ソースファイル５８は、例えばＣ＋＋言語で記述される。
【００３８】
ソースファイル５８は、ソフトウェア無線機８００の外部に設けられた、例えば開発環境用のコンピュータが備えるＣ＋＋コンパイラによりコンパイルされる。この場合、ソースファイル５８は、アプリケーションファクトリソフトウェア４００が呼び出すべきインタフェースに対応するスタブファイルと、コンパイルによりＩＤＬファイル５０より生成されたスケルトンファイル及びヘルパークラスファイルのそれぞれと、ＣＯＲＢＡの機能が予め宣言されたＣＯＲＢＡ．ｈ（ヘッダー）ファイルとを併せて、コンパイルされる。即ち、本例において、ソースファイル５８は、ヘルパークラスファイル５６、スケルトンファイル５２、ＣＯＲＢＡ．ｈファイル５７、スタブファイル６４、７４、８４、及び９４と共にコンパイルされる。これにより、ソースファイル５８は、スタブＡ、Ｂ、Ｃ、及びＤと、スケルトンＥとを有する実行形式ファイルであるアプリケーションファクトリソフトウェア４００を生成する。尚、ＣＯＲＢＡ．ｈファイルは、例えばＣＯＲＢＡのソフトベンダーにより提供される。
【００３９】
同様にして、Ａ／Ｄ・Ｄ／Ａ変換ソフトソフトウェア３５０のインタフェース以外の情報が記述されたソースファイル９８は、Ａ／Ｄ・Ｄ／Ａソフトウェア３５０の通信相手のソフトウェアに対応するスタブファイル６４及び７４と、ＩＤＬコンパイラによって生成されたＡ／Ｄ・Ｄ／Ａソフトウェア３５０のスケルトンファイル９２及びヘルパーファイル９６のそれぞれと、ＣＯＲＢＡの機能が予め宣言されたＣＯＲＢＡ．ｈファイル９７とを併せて、コンパイルされる。これにより、ソースファイル９８は、スタブＡ及びＢと、スケルトンＤとを有する実行形式ファイルであるＡ／Ｄ・Ｄ／Ａソフトウェア３５０を生成する。同様にして、ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア１００、１６ＱＡＭ変復調ソフトウェア２００、及びＬＡＮ入出力ソフトウェア３００の実行形式ファイルは生成される。
【００４０】
図８は、ユーザが無線方式を変更する場合の、アプリケーションファクトリソフトウェア４００の動作の一例を示すフロー図である。図９は、ＸＭＬで記述されたＳＡＤファイル６１０の一部を示す。図１０は、ＸＭＬで記述されたＳＰＤファイル６２０の一例を示す。図１１は、ＸＭＬで記述されたＳＣＤファイル６３０の一例を示す。図１２は、ＸＭＬで記述されたＰＤファイル６４０の一例を示す。
【００４１】
無線方式を変更する場合、ユーザは、例えば無線方式が選択可能なユーザインタフェースを用いて、無線方式識別情報（無線方式名）を選択し、当該無線方式識別情報をアプリケーションファクトリソフトウェア４００へ送信する（Ｓ１００）。
【００４２】
アプリケーションファクトリソフトウェア４００は、受信した無線方式識別情報（対応するＳＡＤファイル６１０と等しい）を引数“ｎａｍｅ”として、インタフェースＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙのオペレーションＯｂｊｅｃｔ  ｃｒｅａｔｅ（図２参照）を呼び出す。その際、必要なデータの抽出をＸＭＬパーサに要求し（Ｓ１０５）ＸＭＬパーサ７００は、ドメインプロファイル６００のそれぞれを参照する（Ｓ１１０）。
【００４３】
以下、Ｓ１１０〜Ｓ１１５の詳細を説明する。ＳＡＤファイル６１０は、無線方式毎に設けられており、無線方式識別情報としてＳＡＤファイルの名称（ｎａｍｅ）２０１を保持する。ＸＭＬパーサ７００は、このＳＡＤファイルの名称２０１に基づいて、参照すべきＳＡＤファイルを選択する。
【００４４】
また、ＳＡＤファイル６１０は、ソフトウェア識別情報２０３に、無線方式に必要なすべてのソフトウェアの構成を格納する。ＳＡＤファイル６１０は、ソフトウェア識別情報２０３として、それぞれのソフトウェアのパス名や識別子（ｃｏｍｐｏｎｅｎｔｆｉｌｅ  ｉｄ）２０６を格納する。一方、ＳＡＤファイル６１０は、無線を構成するソフトウェアについての詳細情報２０２を格納する。ＸＭＬパーサ７００は、詳細情報２０２に格納される識別子（ｃｏｍｐｏｎｅｎｔｆｉｌｅｒｅｆ  ｒｅｆｉｄ）２０８から、識別子２０６と同じ値を持つものを検索し、識別子２０６に対応するソフトウェアを選択する。これにより、ＸＭＬパーサ７００は、各ソフトウェアについての情報を抽出する。例えば、ＸＭＬパーサ７００は、各ソフトウェアについてＣＯＲＢＡのネーミング登録サービスに登録される名称（ｎａｍｉｇｎｓｅｒｖｉｃｅ  ｎａｍｅ）２１０を抽出する。尚、上記識別子２０６をはじめとするそれぞれの識別子のうち、ｉｄ、ｒｅｆｉｄ、ｒｅｐｉｄ等の値は、それぞれの空間において、世界中でユニークになるように設定される。例えば、ＯＳが提供するＵＵＩＤ（Ｕｎｉｖｅｒｓａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）で生成したものを設定する。
【００４５】
また、ＸＭＬパーサ７００は、ソフトウェア識別情報２０３から得たパスに存在するＳPＤファイル６２０を参照し、例えば、ソフトウェアの製作者に関する情報を示したソフトウェア製作者情報２５０、インタフェースを持つＳＣＤファイルのファイル名やパス名を示したＳＣＤインタフェース情報２５２、及びソフトウェアの実装情報を示す実装情報２５４を抽出する。尚、ＸＭＬパーサ７００は、実装情報２５４から、ＰＤファイルのログファイル名とパス名を示したＰＤインタフェース情報２５６、実行されるソフトウェアのファイル名称とファイルの種類（ｔｙｐｅは、ＥｘｅｃｕｔａｂｌｅかＫｅｒｎｅｌ  Ｍｏｄｕｌｅか、Ｓｈａｒｅ  Ｌｉｂｒａｒｙのいずれかである）とを示したコード情報２５８、使用したコンパイラを示したコンパイラ情報２６０、開発に使用した言語に関する情報を示した開発言語情報２６２、使用することが可能なＯＳを示した対応ＯＳ情報２６４、使用することが可能なプロセッサを示した対応プロセッサ情報２６６、及び他のソフトウェアへの依存度と、依存するコンポーネントのＳＰＤファイルの名前及び識別情報を示す依存度情報２６８等を必要に応じて抽出する。また、ＸＭＬパーサ７００は、ＳＣＤインタフェース情報２５２から得たパスに存在するＳＣＤファイル６３０を参照し、対応するＣＯＲＢＡのバージョンを示すＣＯＲＢＡバージョン情報２９０、ＣＯＲＢＡがソフトウェアを管理するために使用する識別子であるリポジトリ識別子２９２、及びＳＣＤファイルが独自に持つインタフェースの名前と識別情報を示すインタフェースサポート情報２９６を抽出する。また、ＸＭＬパーサ７００は、ＰＤインタフェース情報２５６から得たパスに存在するＰＤファイル６４０を参照し、構造体の情報を示す構造体情報３０２、及びインタフェースＴｅｓｔａｂｌｅＯｂｊｅｃｔが行うテストに必要なテスト情報３０６を抽出する。
【００４６】
また、ＳＡＤファイル６１０は、接続情報２０４として、接続先ポートのポート識別情報である接続先ポート識別情報２１６、及び接続元ポートのポート識別情報である接続元ポート識別情報２１８を対応づけて格納する。ＳＡＤファイル６１０は、識別子（ｃｏｎｎｅｃｔｉｎｔｅｒｆａｃｅ  ｉｄ）２２０をそれぞれのポートの接続に対応づけて格納する。
【００４７】
一方、ＳＣＤファイル６３０は、ポート構成情報２９４に、接続先ポートの名称（ｕｓｅｓｎａｍｅ）２８２及び２８４を格納し、接続元ポートの名称（ｐｒｏｖｉｄｅｓｎａｍｅ）２８６及び２８８を格納する。これにより、ＸＭＬパーサ７００は、接続先ポート識別情報２１６（ｕｓｅｓｉｄｅｎｔｉｆｉｅｒ）に対応づけられた（ｕｓｅｒｉｄｅｎｔｉｆｉｅｒと同じ値をｒｅｐｉｄに持つ＜ｕｓｅｓ／＞から）、接続先ポートの名称（ｕｓｅｓｎａｍｅ）２８２又は２８４を抽出し、接続元ポート識別情報（ｐｒｏｖｉｄｅｉｄｅｎｔｉｆｉｅｒ）２１８に対応づけられた、接続元ポート名称（ｐｒｏｖｉｄｅｓｎａｍｅ）２８６又は２８８を抽出する。
【００４８】
以上のように、Ｓ１１０〜Ｓ１１５において、ＸＭＬパーサ７００は、予めドメインプロファイルに記述されたデータを抽出する。ＸＭＬパーサ７００は、これらのデータをアプリケーションファクトリソフトウェア４００へ送信する（Ｓ１２０）。
【００４９】
次に、アプリケーションファクトリソフトウェア４００は、インタフェースＡｐｐｌｉｃａｔｉｏｎ（図２参照）の、インスタンスを生成する（ソースコードにおけるｎｅｗ演算子に相当する）（Ｓ１２５）。これにより、インタフェースＡｐｐｌｉｃａｔｉｏｎは実行状態となる。そして、アプリケーションファクトリソフトウェア４００は、ＯＲＢ５００を介して（図１参照）他のソフトウェアのインタフェースＬｉｆｅｃｙｃｌｅのオペレーション（ｖｏｉｄ  ｉｎｉｔｉａｌｉｚｅ（））を行い、それぞれのソフトウェアを初期化する（Ｓ１３０）。尚、ソフトウェアにオペレーションを実行させるには、そのソフトウェアのオブジェクトリファレンス（アドレスポインタに相当）が必要になるが、Ｓ１５０において必要なソフトウェアの名称（名称２００等）のみ抽出できた場合には、ＣＯＲＢＡのネーミングサービスを利用して、オブジェクトリファレンスを得る。
【００５０】
初期化が終了すると、アプリケーションファクトリソフトウェア４００は、各ソフトウェア（オブジェクトリファレンス）に対し、インタフェースＰｏｒｔＳｕｐｐｌｉｅｒのオペレーション（Ｏｂｊｅｃｔ  ｇｅｔＰｏｒｔ（ｎａｍｅ：ｉｎ  ｓｔｒｉｎｇ））を行う（Ｓ１３５）。その際、オペレーションｇｅｔＰｏｒｔは、接続先ポートの名称２８２を引数（ｎａｍｅ）に与えれば当該接続先ポートを有するソフトウェアから接続先ポートのオブジェクトリファレンスを戻し、接続先ポートの名称２８４を引数に与えれば、当該接続元ポートを有する接続元ポートのオブジェクトリファレンスを戻す。これにより、アプリケーションファクトリソフトウェア４００は、対応するソフトウェアの接続先ポートのオブジェクトリファレンスと、接続元ポートのオブジェクトリファレンスとを得る（Ｓ１４０）。
【００５１】
そして、アプリケーションファクトリソフトウェア４００は、接続元のソフトウェア（オブジェクトリファレンス）に対し、インタフェースＰｏｒｔのオペレーション（ｖｏｉｄ  ｃｏｎｎｅｃｔＰｏｒｔ（ｃｏｎｎｅｃｉｔｏｎ：ｉｎ  Ｏｂｊｅｃｔ、ｃｏｎｎｅｃｔｉｏｎＩｄ：ｉｎ  ｓｔｒｉｎｇ））を指示する。これにより、オペレーションｃｏｎｎｅｃｔＰｏｒｔを指示されたソフトウェアは、接続先ソフトウェアのオブジェクトリファレンス（引数“ｃｏｎｎｅｃｔｉｏｎ”）を用いて引数“ｃｏｎｎｅｃｉｔｏｎＩＤ”の下で接続先ソフトウェアと接続される（Ｓ１４５）。このように、アプリケーションファクトリソフトウェア４００は、接続元ポートから接続先ポートへの通信が行われるべく受渡手段を設定することで、各ソフトウェアは通信可能となる。また、ＯＲＢ５００は、分散配置された複数のオブジェクトであるソフトウェア間において、接続元ポートから接続先ポートへの通信を仲介する。
【００５２】
ここで、アプリケーションファクトリソフトウェア４００は、インタフェースＰｒｏｐｅｒｔｙＳｅｔのオペレーション（ｖｏｉｄ  ｃｏｎｆｉｇｕｒｅ（ｃｏｎｆｉｇＰｒｏｐｅｒｔｉｅｓ：ｉｎ  Ｐｒｏｐｅｒｔｉｅｓ））を行う（Ｓ１５０）。これにより、アプリケーションファクトリソフトウェア４００は、Ｓ１１０〜Ｓ１１５でＸＭＬパーサ７００がＰＤ６４０等から抽出したパラメタの名称や値をＰｒｏｐｅｒｔｉｅｓ型に整えて引数として渡すことで、それぞれのソフトウェアに設定する。
【００５３】
そして、アプリケーションファクトリソフトウェア４００は、インタフェースＲｅｓｏｕｅｃｅのオペレーション（ｖｏｉｄ  ｓｔａｒｔ（））を行う（Ｓ１５５）。これにより、アプリケーションファクトリソフトウェア４００は、各ソフトウェアに、ソフトウェア無線の処理を開始させる。尚、選択した無線方式をリリースできるように、Ｓ１２５で実行状態としたインタフェースＡｐｐｌｉｃａｔｉｏｎのオブジェクトリファレンスをＡｐｐｌｉｃａｔｉｏｎＦａｃｔｏｒｙの呼び出し元（ユーザ）に返す（Ｓ１６０）。
【００５４】
以上のように構成されたソフトウェア無線機８００において、アプリケーションファクトリソフトウェア４００は、ドメインプロファイル６００を利用することで、無線方式の変更に必要な、ソフトウェアの接続先と接続元のポート情報を取得することができる。また、アプリケーションファクトリソフトウェア４００は、取得したポート情報を用いて、ソフトウェアを適切に接続させることができる。また、この場合、ユーザは、無線方式の名前のみをアプリケーションファクトリソフトウェア４００へ与えることで、無線方式を容易に変更することができる。尚、以上の説明では、ドメインプロファイル６００からのデータ等の抽出をＳ１０５からＳ１２０の間でまとめて行ったが、これに限らず必要の都度、抽出することもできる。
【００５５】
図１３は、ユーザが無線方式を解除する場合の、アプリケーションファクトリソフトウェア４００の動作の一例を示すフロー図である。ユーザが、現在使用しているソフトウウェア無線において、データの変復調方式を変更する場合、又はそれぞれのソフトウェアにおけるデータの入出力を止める場合、ユーザは、リリース命令又は停止命令をアプリケーションファクトリソフトウェア４００へ送る。つまり、ユーザは、インタフェースＡｐｐｌｉｃａｔｉｏｎのオペレーション（ｖｏｉｄ  ｒｅｌｅａｓｅＯｂｊｅｃｔ（））を呼び出す（Ｓ１８０）。そして、アプリケーションファクトリソフトウェア４００は、各ソフトウェアのインタフェースＲｅｓｏｕｒｃｅのオペレーション（ｖｏｉｄ  ｓｔｏｐ）を行う（Ｓ１８５）。これにより、アプリケーションファクトリソフトウェア４００は、それぞれのソフトウェアの処理の中止を指示する。そして、アプリケーションファクトリソフトウェア４００は、各ソフトウェアのインタフェースＬｉｆｅｃｙｃｌｅのオペレーション（ｖｏｉｄ  ｒｅｌｅａｓｅＯｂｊｅｃｔ（））を行い、各ソフトウェアに終了シーケンスに移行するように指示する。
【００５６】
以上のように、本実施形態に係るソフトウェア無線機８００によれば、ドメインプロファイル６００を利用することで、無線方式の変更に必要なソフトウェアの接続先と接続元のポート情報を取得することができる。また、取得したポート情報を用いて、ソフトウェアを適切に接続させることができる。また、ユーザは、無線方式の名前を指定することで、無線方式を容易に変更することができ、無線方式を柔軟に変更するソフトウェア無線機を提供することができる。
【００５７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５８】
【図１】本実施形態に係るソフトウェア無線機８００の構成の一例を示す図である。
【図２】アプリケーションファクトリソフトウェア４００が有するインタフェースを説明した説明図である。
【図３】それぞれのソフトウェアが有するインタフェースを説明した説明図である。
【図４】アプリケーションファクトリソフトウェア４００に関する情報を記述したＩＤＬファイルをコンパイルする場合の説明図である。
【図５】それぞれのソフトウェアに関する情報を記述したそれぞれのＩＤＬファイルをコンパイルする場合の説明図である。
【図６】アプリケーションファクトリソフトウェア４００の実行形式のファイルを作る動作の一例を示す図である。
【図７】各ソフトウェアの実行形式のファイルを作る動作の一例を示す図である。
【図８】ユーザが無線方式を変更する場合の、アプリケーションファクトリソフトウェア４００の動作の一例を示すフロー図である。
【図９】ＸＭＬで記述されたＳＡＤファイル６１０の一部を示す図である。
【図１０】ＸＭＬで記述されたＳＰＤファイル６２０の一例を示す図である。
【図１１】ＸＭＬで記述されたＳＣＤファイル６３０の一例を示す図である。
【図１２】ＸＭＬで記述されたＰＤファイル６４０の一例を示す図である。
【図１３】ユーザが無線方式を解除する場合の、アプリケーションファクトリソフトウェア４００の動作の一例を示すフロー図である。
【符号の説明】
【００５９】
１０・・・ＡＭ／ＦＭ／ＳＳＢ変復調部、２０・・・ベースバンド変復調部、３０・・・外部Ｉ／Ｆ部、４０・・・コントロール部、５０、６０、７０、８０、９０・・・ＩＤＬファイル、５４、６４、７４、８４、９４・・・スタブファイル、５２、６２、７２、８２、９２、・・・スケルトンファイル、５６、６６、７６、８６、９６・・・ヘルパークラスファイル、５８、９８・・・ソースファイル、１００・・・ＡＭ／ＦＭ／ＳＳＢ変復調ソフトウェア、２００・・・１６ＱＡＭ変復調ソフトウェア、２０１、２１０・・・名称、２０２・・・詳細情報、２０３・・・ソフトウェア識別情報、２０４・・・接続情報、２０６、２０８、２２０・・・識別子、２１６・・・接続先ポート識別情報、２１８・・・接続元ポート識別情報、２５０・・・ソフトウェア製作者情報、２５２・・・ＳＣＤインタフェース情報、２５４・・・実装情報、２５６・・・ＰＤインタフェース情報、２５８・・・コード情報、２６０・・・コンパイラ情報、２６２・・・開発言語情報、２６４・・・対応ＯＳ情報、２６６・・・対応プロセッサ情報、２６８・・・依存度情報、２８２、２８４・・・接続先ポートの名称、２８６、２８８・・・接続元ポートの名称、２９０・・・ＣＯＲＢＡバージョン情報、２９２・・・リポジトリ識別子、２９４・・・ポート構成情報、２９６・・・インタフェースサポート情報、３００・・・ＬＡＮ入出力ソフトウェア、３０２・・・構造体情報、３０６・・・テスト情報、３５０・・・Ａ／Ｄ・Ｄ／Ａソフトウェア、４００・・・アプリケーションファクトリソフトウェア、５００・・・ＯＲＢ、５５０・・・ＯＳ、５６０・・・デバイスドライバ、５７０・・・ハードウェアバス、６００・・・ドメインプロファイル、６１０・・・ＳＡＤファイル、６２０・・・ＳＰＤファイル、６３０・・・ＳＣＤファイル、６４０・・・ＰＤファイル、７００・・・ＸＭＬパーサ、８００・・・ソフトウェア無線機
【図１】
2005039557.tif 000003
【図２】
2005039557.tif 000004
【図３】
2005039557.tif 000005
【図４】
2005039557.tif 000006
【図５】
2005039557.tif 000007
【図６】
2005039557.tif 000008
【図７】
2005039557.tif 000009
【図８】
2005039557.tif 000010
【図９】
2005039557.tif 000011
【図１０】
2005039557.tif 000012
【図１１】
2005039557.tif 000013
【図１２】
2005039557.tif 000014
【図１３】
2005039557.tif 000015