| 【発明の名称】 |
プログラム開発装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体 |
| 【発明者】 |
【氏名】福士 辰雄
【氏名】江上 慎一
【氏名】藤井 正行
|
| 【要約】 |
【課題】複数のアプリケーションプログラムが連携して動作するような場合でも、動作検証を行うことが可能なプログラム開発装置を提供すること。
【解決手段】情報機器に組込まれるアプリケーション部21が動作するプロセスと、アプリケーション部21がプログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部22が動作するプロセスとが生成される。そして、メモリ管理部24は、通信制御部23を介して受信したアプリケーション部21によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理する。したがって、アプリケーション部21に含まれる複数のアプリケーションプログラムが共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となる。 |
【特許請求の範囲】
【請求項1】 情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発装置であって、前記情報機器に組込まれるアプリケーション部を動作させるための第1の動作手段と、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるための第2の動作手段と、前記アプリケーション部と前記エミュレータ部との間で情報の送受信を行なうための通信手段と、前記通信手段を介して受信した前記アプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するためのメモリ管理手段とを含む、プログラム開発装置。 【請求項2】 前記アプリケーション部は、複数のアプリケーションプログラムを含み、前記メモリ管理手段は、前記複数のアプリケーションプログラムによるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理する、請求項1記載のプログラム開発装置。 【請求項3】 前記第1の動作手段および前記第2の動作手段は、それぞれ前記プログラム開発装置上で生成された別々のプロセスである、請求項1または2記載のプログラム開発装置。 【請求項4】 前記通信手段は、プロセス間通信である、請求項3記載のプログラム開発装置。 【請求項5】 前記プログラム開発装置はさらに、前記情報機器のハードウェア仕様情報が格納される第1の格納手段を含み、前記第2の動作手段によって動作するエミュレータ部は、前記第1の格納手段に格納されたハードウェア仕様情報を参照して、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートする、請求項1〜4のいずれかに記載のプログラム開発装置。 【請求項6】 前記プログラム開発装置はさらに、動作検証を行なうアプリケーション情報が格納される第2の格納手段を含み、前記第2の動作手段によって動作するエミュレータ部は、前記第2の格納手段に格納されたアプリケーション情報を参照して、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートする、請求項1〜5のいずれかに記載のプログラム開発装置。 【請求項7】 前記エミュレータ部は、前記情報機器の表示画面を模擬した画面を前記プログラム開発装置の画面上に表示する、請求項1〜6のいずれかに記載のプログラム開発装置。 【請求項8】 情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法であって、前記情報機器に組込まれるアプリケーション部を動作させるステップと、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、前記アプリケーション部からメモリアクセス要求を受信するステップと、前記アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む、プログラム開発方法。 【請求項9】 情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法をコンピュータに実行させるためのコンピュータ・プログラムであって、前記プログラム開発方法は、前記情報機器に組込まれるアプリケーション部を動作させるステップと、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、前記アプリケーション部からメモリアクセス要求を受信するステップと、前記アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む、コンピュータ・プログラム。 【請求項10】 情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取可能な記録媒体であって、前記プログラム開発方法は、前記情報機器に組込まれるアプリケーション部を動作させるステップと、前記アプリケーション部が前記プログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、前記アプリケーション部からメモリアクセス要求を受信するステップと、前記アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む、コンピュータで読取可能な記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、携帯情報機器等の情報機器に組込まれるアプリケーションプログラムを開発する技術に関し、特に、メモリを共有しながら連携して動作する複数のアプリケーションプログラムを開発するプログラム開発装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体に関する。 【0002】 【従来の技術】近年、プロセッサの処理速度が飛躍的に向上し、機器を制御するソフトウェアが組込まれた組込みソフトウェア機器の中には、一世代前のパーソナルコンピュータに匹敵する性能を有するものも出現してきている。また、機器に組込まれるソフトウェアも多機能化し、その規模が大規模化する傾向にある。 【0003】組込みソフトウェア機器の開発においては、全体の開発期間の短縮を図るために、ハードウェアの開発と同時にソフトウェアの開発も行なわれる。したがって、ソフトウェアの実行環境であるハードウェアが存在しない状態で、ソフトウェアをデバッグする必要があり、ハードウェアをエミュレートしたデバッグ環境が必須となる。このような組込みソフトウェアの開発に関連する技術として、特開昭63−292230号公報および特開平3−65738号公報に開示された発明がある。 【0004】特開昭63−292230号公報に開示された携帯情報機器プログラム開発方法においては、コンピュータのディスプレイ上に携帯情報機器の模擬ディスプレイを設定する。そして、携帯情報機器のディスプレイに出力すべき画面の作成、変更または削除をコンピュータ上で行ない、データの入出力項目に対する属性および画面処理条件を指定することによってプログラムを作成する。この作成されたプログラムは、携帯情報機器のメモリに転送される。 【0005】特開平3−65738号公報に開示された携帯端末機プログラムシミュレーション装置においては、携帯端末機用アプリケーションプログラム開発支援装置にデバッグ用のプログラムと通信機能とを設け、アプリケーションプログラムのデバッグを容易に行えるようにする。そして、このデバッグが終了した後、通信機能によって正しく動作するアプリケーションプログラムが携帯端末機にダウンロードされる。 【0006】図10は、従来の携帯情報機器プログラム開発装置(以下、単にプログラム開発装置と呼ぶ。)の他の一例を示すブロック図である。この携帯情報機器プログラム開発装置は、携帯情報機器に組込まれるホストOS(Operating system)116と、携帯情報機器に組込まれる開発対象のアプリケーションプログラム140と、アプリケーションプログラム140の開発の際に使用される入出力装置117とを含む。 【0007】また、アプリケーションプログラム140は、携帯情報機器に実際に組込まれるアプリケーションプログラムと同一のソースコードであるアプリケーション部141と、携帯情報機器のハードウェア環境に適合させるようにエミュレートするエミュレータ部142とを含む。 【0008】さらには、エミュレータ部142は、携帯情報機器のハードウェア環境とプログラム開発装置のハードウェア環境とを適合させるようにI/O(Input/Output)等を制御する周辺装置制御部115を含む。周辺装置制御部115は、実際の携帯情報機器で動作するように定義された各種関数を、プログラム開発装置上で動作するように定義し直した関数群であるエミュレーションライブラリに基づいて、アプリケーション部141とホストOS116との間の制御(エミュレーション)を行なう。 【0009】アプリケーション部141をデバッグする際には、アプリケーション部141とエミュレータ部142とがリンクされ、1つの実行ファイルが作成される。そして、この実行ファイルがプログラム開発装置上で実行されて、アプリケーション部141のデバッグが行なわれる。 【0010】 【発明が解決しようとする課題】しかし、実際の携帯情報機器において、たとえばアドレス帳アプリケーションの個人情報に記入されている電子メールアドレスに、電子メールアプリケーションが電子メールを送る場合や、文書作成アプリケーションによって作成された文書中の文字列の意味を、辞書アプリケーションで調べる場合などのように、メモリ等を共有しながら複数のアプリケーションが連携して動作することがある。この場合、上述した従来のいずれの方法においても、1つのアプリケーションの動作検証しか行えないため、複数のアプリケーションプログラムが連携して動作するようなアプリケーションプログラムの動作検証が行えないという問題点があった。 【0011】また、アプリケーション部141を変更する場合には、アプリケーション部141とエミュレータ部142とが1つの実行ファイルにリンクされるため、リンクをし直して実行ファイルを作成し直す必要があった。また、エミュレーションライブラリの変更が必要になるようなハードウェア仕様の変更が発生した場合には、それに伴う変更がアプリケーション部141に発生しない場合であっても、リンクをし直して実行ファイルを作成し直す必要があった。一般に、アプリケーション部141のサイズと比較して、エミュレータ部142のサイズは非常に大きい。したがって、アプリケーション部141またはエミュレーションライブラリが変更されただけであっても、リンクをし直して実行ファイルを作成する必要があるため、無駄な時間が必要であるという問題点があった。 【0012】本発明は、上記問題点を解決するためになされたものであり、第1の目的は、複数のアプリケーションプログラムが連携して動作するような場合でも、動作検証を行なうことが可能なプログラム開発装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体を提供することである。 【0013】第2の目的は、アプリケーションの開発に要する時間を削減することが可能なプログラム開発装置、その方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体を提供することである。 【0014】 【課題を解決するための手段】本発明のある局面に従えば、情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発装置であって、情報機器に組込まれるアプリケーション部を動作させるための第1の動作手段と、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるための第2の動作手段と、アプリケーション部と前記エミュレータ部との間で情報の送受信を行なうための通信手段と、通信手段を介して受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するためのメモリ管理手段とを含む。 【0015】メモリ管理手段は、通信手段を介して受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、アプリケーション部が共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となる。 【0016】好ましくは、アプリケーション部は、複数のアプリケーションプログラムを含み、メモリ管理手段は、複数のアプリケーションプログラムによるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理する。 【0017】したがって、複数のアプリケーションプログラムが共有メモリにアクセスできるようになり、複数のアプリケーションプログラムを連携して動作させることが可能となる。 【0018】好ましくは、第1の動作手段および第2の動作手段は、それぞれプログラム開発装置上で生成された別々のプロセスである。 【0019】したがって、アプリケーション部やエミュレータ部を変更した場合であっても、それらをリンクし直す必要がなくなり、アプリケーションの開発に要する時間を削減することが可能となる。 【0020】好ましくは、通信手段はプロセス間通信である。したがって、アプリケーション部とエミュレータ部との間の通信を容易に実現することが可能となる。 【0021】好ましくは、プログラム開発装置はさらに、情報機器のハードウェア仕様情報が格納される第1の格納手段を含み、第2の動作手段によって動作するエミュレータ部は、第1の格納手段に格納されたハードウェア仕様情報を参照して、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートする。 【0022】したがって、情報機器のハードウェア仕様が変更になった場合であっても、第1の格納手段に格納されたハードウェア仕様情報を変更するだけで対応することが可能となる。 【0023】好ましくは、プログラム開発装置はさらに、動作検証を行なうアプリケーション情報が格納される第2の格納手段を含み、第2の動作手段によって動作するエミュレータ部は、第2の格納手段に格納されたアプリケーション情報を参照して、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートする。 【0024】したがって、第2の格納手段に格納されたアプリケーション情報を変更するだけで、動作検証の対象となるアプリケーションプログラムを変更することが可能となる。 【0025】好ましくは、エミュレータ部は、情報機器の表示画面を模擬した画面をプログラム開発装置の画面上に表示する。 【0026】したがって、情報機器の表示画面に表示される内容を模擬ディスプレイ上で確認しながらデバッグが行えるようになり、さらにアプリケーションの開発に要する時間を削減することが可能となる。 【0027】本発明の別の局面に従えば、情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法であって、情報機器に組込まれるアプリケーション部を動作させるステップと、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、アプリケーション部からメモリアクセス要求を受信するステップと、アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む。 【0028】受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、アプリケーション部が共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となる。 【0029】本発明のさらに別の局面に従えば、情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法をコンピュータに実行させるためのコンピュータ・プログラムであって、プログラム開発方法は、情報機器に組込まれるアプリケーション部を動作させるステップと、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、アプリケーション部からメモリアクセス要求を受信するステップと、アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む。 【0030】受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、アプリケーション部が共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となる。 【0031】本発明のさらに別の局面に従えば、情報機器に組込まれるアプリケーションプログラムの開発を支援するプログラム開発方法をコンピュータに実行させるためのプログラムを記録したコンピュータで読取可能な記録媒体であって、プログラム開発方法は、情報機器に組込まれるアプリケーション部を動作させるステップと、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするエミュレータ部を動作させるステップと、アプリケーション部からメモリアクセス要求を受信するステップと、アプリケーション部から受信したメモリアクセス要求に対し、共有メモリへのアクセスとなるようにメモリを管理するステップとを含む。 【0032】受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、アプリケーション部が共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となる。 【0033】 【発明の実施の形態】図1は、本発明の実施の形態におけるプログラム開発装置の外観例を示す図である。このプログラム開発装置は、コンピュータ本体1、表示装置2、FD(Flexible Disk)4が装着されるFDドライブ3、キーボード5、マウス6、CD−ROM(Compact Disc-Read Only Memory)8が装着されるCD−ROM装置7およびネットワーク通信装置9を含む。ソフトウェア開発プログラムは、FD4またはCD−ROM8等の記録媒体によって供給される。ソフトウェア開発プログラムがコンピュータ本体1によって実行されることによって、携帯情報機器等の情報機器に組込まれるソフトウェアの開発が行なわれる。また、ソフトウェア開発プログラムは他のコンピュータより通信回線を経由し、コンピュータ本体1に供給されてもよい。 【0034】図2は、本発明の実施の形態におけるプログラム開発装置の構成例を示すブロック図である。図1に示すコンピュータ本体1は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、ディスプレイ装置2、FDドライブ3、キーボード5、マウス6、CD−ROM装置7、ネットワーク通信装置9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。FD4またはCD−ROM8に記録されたソフトウェア開発プログラムは、CPU10によりFDドライブ3またはCD−ROM装置7を介して一旦ハードディスク13に格納される。CPU10は、ハードディスク13から適宜ソフトウェア開発プログラムをRAM12にロードして実行することによって、携帯情報機器に組込まれるソフトウェアの開発が行なわれる。 【0035】図3は、本発明の実施の形態におけるプログラム開発装置の機能的構成の概略を示すブロック図である。このプログラム開発装置は、携帯情報機器に実際に組込まれるホストOS26と、携帯情報機器に組込まれる開発対象のアプリケーションプログラムと同一のソースコードであるアプリケーション部21と、開発対象のOSと同一ソースコードであるエミュレータ部22と、アプリケーション部21とエミュレータ部22との間の通信の制御を行なう通信制御部23と、アプリケーション部21の開発の際に使用される入出力装置27と、携帯情報機器のハードウェア仕様情報が記述されるハードウェア仕様情報部30と、動作検証を行なうアプリケーションの情報が記述されるアプリケーション情報部31とを含む。 【0036】また、アプリケーション部21は、アプリケーション部21とエミュレータ部22とが使用するメモリ空間を共有にするための制御を行なうメモリ管理部24を含む。また、エミュレータ部22は、携帯情報機器のハードウェア環境とプログラム開発装置のハードウェア環境とを適合させるようにI/O等を制御する周辺装置制御部25とを含む。 【0037】本実施の形態においては、アプリケーション部21が複数のアプリケーションプログラムを含んでおり、各アプリケーションプログラムおよびエミュレータ部22が個別のプロセス上で動作するものとする。アプリケーション部21に含まれる各アプリケーションプログラムと、エミュレータ部22とはそれぞれ別々のプログラムに分離され別プロセス上で動作するため、エミュレータ部22はアプリケーション部21が使用するメモリに存在するデータを参照することができない。メモリ管理部24は、後述するように、これらのプログラムが使用するメモリ空間を管理することによってデータの共有を可能とする。 【0038】周辺装置制御部25は、実際の携帯情報機器で動作するように定義された各種関数を、プログラム開発装置上で動作するように定義し直した関数群であるエミュレーションライブラリに基づいて、アプリケーション部21およびエミュレータ部22とホストOS26との間の制御(エミュレーション)を行なう。 【0039】入出力装置27は、図1および図2に示す表示装置2と、キーボード5と、マウス6と、ネットワーク通信装置9とを含む。表示装置2には、携帯情報機器の表示画面を模した模擬ディスプレイが表示される。キーボード5は、データや操作命令を入力する際に使用される。マウス6は、表示装置2の画面上の位置やメニュー画面に表示された操作命令を指示する際に使用される。 【0040】図4は、メモリ管理部24の処理内容の一例を説明するための図である。図4(a)は、アプリケーション部21のソースプログラムの一部を示しており、変数vにint値を返すものである。アプリケーション部21によって■に示す関数“foo()”が呼出されると、通信制御部23によって関数“foo()”が実行される。 【0041】図4(b)は、通信制御部23によって関数“foo()”が実行されたときのメモリ管理部24の処理内容を示す図である。メモリ管理部24は、■に示す関数“GetSharedMem()”によって“sizeof(int)”の共有メモリの領域を確保し、■に示す関数“CallAPISlaveAndWait()”によって共有メモリのアドレスをホストOS26に渡す。そして、エミュレータ部22から共有メモリの値を受けると、■に示すように共有メモリの値を変数vに書込んで、通信制御部23を介してアプリケーション部21へ返す。 【0042】図4(c)は、通信制御部23によって関数“foo()”が実行されたときのエミュレータ部22の処理内容を示す図である。エミュレータ部22は、メモリ管理部24から共有メモリの値の読出し要求を受けると、■に示すように指定された共有メモリの値を読出してメモリ管理部24へ返す。このようにして、メモリ管理部24の制御によって、複数のアプリケーションプログラムおよびエミュレータ部22が使用するメモリ領域を共有させることができ、アプリケーションプログラムおよびエミュレータ部22のソースコードを変更することなく、複数のアプリケーションプログラムがメモリを共有しながら連携して動作することが可能となる。 【0043】図5は、本発明の実施の形態におけるプログラム開発装置を用いて携帯情報機器のアプリケーションプログラムを開発するときの開発手順を説明するためのフローチャートである。まず、ユーザが任意のテキストエディタ等を用いて、実際に携帯情報機器に組込まれるアプリケーションプログラムと同一のアプリケーションソースプログラムを作成する(S1)。 【0044】次に、ユーザはコンパイラを用いて、作成したアプリケーションソースプログラムをコンパイルし、アプリケーションソースプログラムを機械語に変換して(S2)、アプリケーションソースプログラムに対応したオブジェクトコードが作成される(S3)。そして、リンカによってアプリケーションプログラムのオブジェクトコードとエミュレーションライブラリ32に定義された関数群とがリンクされて(S4)、実行プログラムが作成される(S5)。 【0045】エミュレーションライブラリ32は、実際の携帯情報機器で動作するように定義された各種関数と、エミュレータ部22において動作するように定義された関数群とを対応させて記憶している。リンカは、アプリケーションプログラムのオブジェクトコード内で定義されている携帯情報機器において動作可能な関数を、プログラム開発装置上で動作可能な関数に置き換えることによって、実行プログラムが作成される。なお、エミュレータ部22がアプリケーションプログラムに記述された関数の処理を行なうため、通信制御部23によって関数の操作情報がエミュレータ部22へ送られる。そして、エミュレータ部22がその操作結果を通信制御部23を介してアプリケーション部21へ返す。 【0046】最後に、ユーザが実行プログラムをプログラム開発装置上で動作させて、所望の機能を満たしているか否かを検証する(S6)。所望の機能を満たしていない場合には(S6,No)、ステップS1へ戻って以降の処理を繰り返す。また、所望の機能を満たしている場合には(S6,Yes)、処理が終了する。 【0047】図6は、本発明の実施の形態におけるプログラム開発装置上で実行プログラムが起動された場合の処理手順を説明するためのフローチャートである。まず、ホストOS26上でプロセスが生成され、そのプロセス上でエミュレータ部22が起動される(S11)。エミュレータ部22は、ハードウェア仕様情報部30から携帯情報機器の画面サイズや画面に表示される操作ボタンの有無等の情報を読出し、表示装置2上に携帯情報機器の模擬ディスプレイを表示する。エミュレータ部22は、アプリケーション部21による画面の表示等がある場合には、表示装置2上に表示された模擬ディスプレイ内に表示が行なわれるように、エミュレートを行なう。 【0048】図7(a)は、ハードウェア仕様情報部30の内容の一例を示す図である。ハードウェア仕様情報部30は、テキストファイルによって構成され、1行にハードウェア仕様項目と、その設定値とが記述されている。1行目の“%LCD_size”は、携帯情報機器の画面サイズを示しており、横サイズが640ドット、縦サイズが480ドットであることを示している。 【0049】2行目の“%LCD_COLOR”は、画面表示がカラー表示であるか、モノクロ表示であるかを示しており、対応の携帯情報機器がカラー表示であることを示している。3行目の“%Model_number”は、携帯情報機器のモデル番号を示しており、対応の携帯情報機器のモデル番号が“0x0001”であることを示している。 【0050】4行目の“%Memory_size”は、携帯情報機器のメモリ容量を示しており、対応の携帯情報機器のメモリ容量が10MByteであることを示している。5〜7行目の“%Left_key_button”は、画面の左側に存在する操作ボタンの内容を示しており、左側の操作ボタンが“E−MAIL”ボタン、“WWW”ボタンおよび“ToDo”ボタンであることを示している。8行目の“%Right_key_button”は、画面の右側に存在する操作ボタンの内容を示しており、右側の操作ボタンが“OFF”ボタンであることを示している。 【0051】図7(b)は、エミュレータ部22が図7(a)に示すようなハードウェア仕様情報部30を読出して、模擬ディスプレイを表示したときの状態を示す図である。表示装置2には、ハードウェア仕様情報部30の内容に応じて模擬ディスプレイが構成されて表示される。 【0052】なお、ハードウェア仕様が変更された場合には、ハードウェア仕様情報部30の内容を任意のテキストエディタで変更するだけで良く、アプリケーション部21を再度リンクせずに、動作検証を行なうことができる。 【0053】再び、図6に示すフローチャートの説明に戻る。次に、エミュレータ部22は、アプリケーション情報部31から動作検証を行なうアプリケーション情報を読出す(S12)。 【0054】図8は、アプリケーション情報部31の内容の一例を示す図である。アプリケーション情報部31は、テキストファイルによって構成され、1行にアプリケーション識別名と、その実行ファイル名とが記述されている。1行目の“%Application”の右側に記述された内容は、アドレス帳アプリケーションの識別名が“ADRS”であり、その実行ファイル名が“adrs.exe”であることを示している。2行目の“%Application”の右側に記述された内容は、電子メールアプリケーションの識別名が“MAIL”であり、その実行ファイル名が“mail.exe”であることを示している。3行目の“%Application”の右側に記述された内容は、スケジュールアプリケーションの識別名が“SCDL”であり、その実行ファイル名が“scdl.exe”であることを示している。このアプリケーション情報部31の内容を、任意のテキストエディタで変更することによって、動作検証を行なうアプリケーションを変更することができる。 【0055】再び、図6に示すフローチャートの説明に戻る。次に、通信制御部23は、アプリケーション部21とエミュレータ部22との間のデータの送受信を行なう通信用経路を作成する(S13)。複数のアプリケーションの動作検証を行なう場合には、各アプリケーション毎に通信用経路が作成される。なお、この通信用経路は、たとえば各アプリケーションが動作するプロセスと、エミュレータ部22が動作するプロセスとの間のプロセス間通信によって実現される。 【0056】次に、メモリ管理部24は、図4を用いて説明したように、アプリケーション部21とエミュレータ部22とによって共通で使用される共有メモリを作成する(S14)。複数のアプリケーションの動作検証を行なう場合には、メモリ管理部24が各アプリケーション用に共有メモリを作成し、それぞれの共有メモリを管理する。また、メモリ管理部24は、共有メモリの特定のアドレス空間を複数のアプリケーションから同じアドレスでアクセスできるように、共有メモリを管理する。 【0057】次に、動作確認を行なうアプリケーションを動作させるプロセスが、エミュレータ部22が動作するプロセスとは別のプロセスとして生成され、そのプロセス上でアプリケーションが起動される(S15)。複数のアプリケーションの動作確認を行なう場合には、それぞれのアプリケーションに対応して、エミュレータ部22が動作するプロセスとは別のプロセスが生成される。そして、アプリケーションの操作が行なわれる(S16)。 【0058】図9は、プログラム開発装置上のデバッグツールを使用する場合に、表示するアプリケーション参照情報の一例を示す図である。このアプリケーション参照情報は、起動したアプリケーションのアプリケーション識別子とプロセスIDとを含み、ダイアログボックス等に表示される。 【0059】次に、複数のアプリケーションプログラムが連携して動作する場合について説明する。アプリケーション1と別のアプリケーション2とが連携して動作しており、たとえばアプリケーション1がアプリケーション2に対して操作依頼を行なう場合、アプリケーション1が、アプリケーション2のアプリケーション識別子、アプリケーション2の操作内容およびその操作に必要な情報をメモリに書込むような関数を呼出す。通信制御部23は、その関数を実行してエミュレータ部22へ操作依頼を行なう。 【0060】エミュレータ部22は、その操作依頼を受けて、上述したように共有メモリの領域を確保して、その領域にアプリケーション1から受信した情報を書込む。そして、エミュレータ部22は、アプリケーション識別子を参照することによって、アプリケーション2とのプロセス間通信経路を選択し、アプリケーション2に対して操作依頼を送信する。アプリケーション2は操作依頼を受けると、メモリからデータを読出す関数を呼出す。通信制御部23は、その関数を実行してエミュレータ部22へ操作依頼を行なう。エミュレータ部22は、その操作依頼を受けて、共有メモリから操作内容等の操作に必要な情報を読出して、アプリケーション2へ送信する。 【0061】たとえば、アドレス帳アプリケーションと電子メールアプリケーションとが連携して動作し、アドレス帳に記入されている電子メールアドレスに対して電子メールを送る場合、アドレス帳アプリケーションは電子メールアプリケーションの識別子、“新規にメールを作成する”という操作内容、および宛先の電子アドレスをメモリに書込むような関数を呼出す。エミュレータ部22は、共有メモリにそれらの情報を書込み、電子メールアプリケーションに対して操作依頼を送信する。 【0062】電子メールアプリケーションはその操作依頼を受けると、共有メモリからアドレス帳アプリケーションによって書込まれた情報を読出すような関数を呼出すことによって、通信制御部23を介してエミュレータ部22から必要な情報を受信する。そして、電子メールアプリケーションは、アドレス帳アプリケーションからの操作依頼の内容に基づいて操作を行なう。 【0063】以上説明したように、本発明の実施の形態におけるプログラム開発装置によれば、複数のアプリケーションおよびエミュレータ部22を別々のプロセス上で動作させ、エミュレータ部22内のメモリ管理部24が複数のアプリケーションによって使用されるメモリ領域が共有されるように制御を行なうようにしたので、複数のアプリケーションが連携して動作が行えるようになった。 【0064】また、複数のアプリケーションおよびエミュレータ部22を別々のプロセス上で動作させているため、アプリケーション部21の仕様が変更になった場合であっても、アプリケーション部21をエミュレータ部22とリンクさせる必要がなく、アプリケーションの開発に要する時間を削減することが可能となった。 【0065】今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 【0066】 【発明の効果】本発明のある局面によれば、メモリ管理手段は、通信手段を介して受信したアプリケーション部によるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、アプリケーション部が共有メモリにアクセスできるようになり、アプリケーションプログラムを連携して動作させることが可能となった。 【0067】また、アプリケーション部は複数のアプリケーションプログラムを含み、メモリ管理手段は、複数のアプリケーションプログラムによるメモリアクセスが、共有メモリへのアクセスとなるようにメモリを管理するので、複数のアプリケーションプログラムが共有メモリにアクセスできるようになり、複数のアプリケーションプログラムを連携して動作させることが可能となった。 【0068】また、第1の動作手段および第2の動作手段は、それぞれプログラム開発装置上で生成された別々のプロセスであるので、アプリケーション部やエミュレータ部を変更した場合であっても、それらをリンクし直す必要がなくなり、アプリケーションの開発に要する時間を削減することが可能となった。 【0069】また、通信手段はプロセス間通信であるので、アプリケーション部とエミュレータ部との間の通信を容易に実現することが可能となった。 【0070】また、プログラム開発装置はさらに、情報機器のハードウェア仕様情報が格納される第1の格納手段を含み、第2の動作手段によって動作するエミュレータ部が、第1の格納手段に格納されたハードウェア仕様情報を参照して、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするので、情報機器のハードウェア仕様が変更になった場合であっても、第1の格納手段に格納されたハードウェア仕様情報を変更するだけで対応することが可能となった。 【0071】また、プログラム開発装置はさらに、動作検証を行なうアプリケーション情報が格納される第2の格納手段を含み、第2の動作手段によって動作するエミュレータ部が第2の格納手段に格納されたアプリケーション情報を参照して、アプリケーション部がプログラム開発装置の環境下で動作するようにエミュレートするので、第2の格納手段に格納されたアプリケーション情報を変更するだけで、動作検証の対象となるアプリケーションプログラムを変更することが可能となった。 【0072】また、エミュレータ部が情報機器の表示画面を模擬した画面をプログラム開発装置の画面上に表示するので、情報機器の表示画面に表示される内容を模擬ディスプレイ上で確認しながらデバッグが行えるようになり、さらにアプリケーションの開発に要する時間を削減することが可能となった。
|
| 【出願人】 |
【識別番号】000005049 【氏名又は名称】シャープ株式会社
|
| 【出願日】 |
平成13年4月10日(2001.4.10) |
| 【代理人】 |
【識別番号】100064746 【弁理士】 【氏名又は名称】深見 久郎
|
| 【公開番号】 |
特開2002−312193(P2002−312193A) |
| 【公開日】 |
平成14年10月25日(2002.10.25) |
| 【出願番号】 |
特願2001−111659(P2001−111659) |
|