JP2010191578A - ソフトウェア開発システムおよびソフトウェア開発方法 - Google Patents

ソフトウェア開発システムおよびソフトウェア開発方法 Download PDF

Info

Publication number
JP2010191578A
JP2010191578A JP2009033728A JP2009033728A JP2010191578A JP 2010191578 A JP2010191578 A JP 2010191578A JP 2009033728 A JP2009033728 A JP 2009033728A JP 2009033728 A JP2009033728 A JP 2009033728A JP 2010191578 A JP2010191578 A JP 2010191578A
Authority
JP
Japan
Prior art keywords
development
binary code
call
electronic device
remote call
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009033728A
Other languages
English (en)
Other versions
JP5216624B2 (ja
Inventor
Kotaro Kaneko
巧太郎 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2009033728A priority Critical patent/JP5216624B2/ja
Publication of JP2010191578A publication Critical patent/JP2010191578A/ja
Application granted granted Critical
Publication of JP5216624B2 publication Critical patent/JP5216624B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 効率的なソフトウェア開発を実現できるようにする。
【解決手段】 (a)開発装置1において、ソースコード21から、当該開発装置1の演算処理装置13においてネイティブな第1バイナリコードが生成され、(b)開発装置1において、第1バイナリコードが当該開発装置1の演算処理装置13に実行され、(c)開発装置1において、第1バイナリコードにおける所定のコールを実行するとき、そのコールに対応するリモートコールが画像形成装置2へ送信され、(d)画像形成装置2において、リモートコールが受信されると、そのリモートコールに従って制御部73が動作し、(e)その動作結果がリモートコールの戻り値として開発装置1へ送信され、(f)開発装置1において、そのリモートコールの戻り値が画像形成装置2から受信され所定のコールの戻り値とされる。
【選択図】 図1

Description

本発明は、ソフトウェア開発システムおよびソフトウェア開発方法に関するものである。
プリンタ、複写機などの電子機器において特定の機能を実現するために、ソフトウェアモジュールが記録媒体または通信媒体から導入される。このようなソフトウェアモジュールの開発は、通常、対象の電子機器内ではなく、開発装置で行われる。開発装置としては、例えば、開発環境を導入されたパーソナルコンピュータが使用される。
開発段階では、開発中のソフトウェアモジュールを対象の電子機器で使用した場合の動作を確認する必要がある。開発装置のプラットホームは、電子機器のプラットホームと異なるため、開発段階での動作確認には、(1)開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させたり(例えば特許文献1参照)、(2)開発装置のプラットホーム上で電子機器のプラットホームを模擬するシミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させたりする(例えば特許文献2参照)。
特開昭64−65644号公報 特開平4−32933号公報
しかしながら、開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させる方法では、ソフトウェアモジュールを変更するたびに、電子機器にソフトウェアモジュールを導入しなければならないため作業負担が大きく、効率的なソフトウェア開発を行うことが難しい。
また、シミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させる方法では、開発するソフトウェアモジュールの機能が特に限定されていない場合には、シミュレータは、対象の電子機器のすべての機能を模擬する必要があり、正確に電子機器の動作を模擬するシミュレータの開発が容易ではない。また、異なる複数の機種のそれぞれに対してシミュレータを開発しなければならず、さらに、電子機器のモデルチェンジ、バージョンチェンジなどの仕様変更があるたびに、シミュレータを変更しなければならない。したがって、シミュレータの開発負担が大きい。また、ソフトウェアモジュールの動作が正しくない場合、開発中のソフトウェアモジュールのバグではなく、シミュレータのバグが動作不良の原因となる可能性があり、動作不良の原因を特定する作業負担が大きくなる。
このように、上述の技術では、効率的なソフトウェア開発を行うことが難しい。
本発明は、上記の問題に鑑みてなされたものであり、効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係るソフトウェア開発システムは、電子機器と、その電子機器で実行されるプログラムを開発する開発装置とを備える。開発装置は、第1通信装置と、第1演算処理装置と、ソースコードから、当該開発装置の第1演算処理装置においてネイティブな第1バイナリコードを生成するコンパイラと、第1バイナリコードを第1演算処理装置に実行させるコントローラと、第1バイナリコードにおける所定のコールが実行されるとき、そのコールに対応するリモートコールを、第1通信装置を介して電子機器へ送信し、そのリモートコールの戻り値を、第1通信装置を介して電子機器から受信し、所定のコールの戻り値とするリモート呼出部とを有する。一方、電子機器は、第2通信装置と、所定の機能を有する内部装置と、内部装置を制御する制御部と、第2通信装置を介して供給されるリモートコールで呼び出されると、制御部を動作させ、その動作結果をリモートコールの戻り値として第2通信装置を介して送信するインターフェース部とを有する。
これにより、開発途中のバイナリコードを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてバイナリコードの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムに加え、次のようにしてもよい。この場合、開発装置は、ソースコードから、電子機器の演算処理装置において実行可能な第2バイナリコードを生成するクロスコンパイラを備える。そして、開発装置のコントローラは、第2バイナリコードを、第1通信装置を介して電子機器へ送信する。一方、電子機器は、第2演算処理装置と、記憶装置と、第2通信装置を介して第2バイナリコードを受信し第2バイナリコードを記憶装置に格納する処理部とを備える。そして、インターフェース部は、第2バイナリコードが第2演算処理装置で実行され所定のコールが実行されると、制御部を動作させ、その動作結果を所定のコールの戻り値とする。
これにより、開発途中の動作確認で使用されるインターフェース部が、開発後にバイナリコードが電子機器で実行される際にも同様に使用されるため、開発環境が、実機でのバイナリコード実行時のものにより近づく。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムに加え、次のようにしてもよい。この場合、電子機器のインターフェース部は、リモートコールを、第2通信装置を介して開発装置へ送信し、開発装置の第1演算処理装置は、第1バイナリコードに従って、第1通信装置を介してリモートコールを受信すると、そのリモートコールにより指定されている処理を実行する。
これにより、電子機器の内部装置の状態変化などに起因して開始されるソフトウェアモジュールの処理も開発装置において試験的に実行することができる。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、インターフェース部は、アプリケーションプログラムインタフェースである。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
本発明に係るソフトウェア開発方法は、(a)開発装置において、ソースコードから、当該開発装置の演算処理装置においてネイティブな第1バイナリコードを生成し、(b)開発装置において、第1バイナリコードを当該開発装置の演算処理装置に実行させ、(c)開発装置において、第1バイナリコードにおける所定のコールを実行するとき、そのコールに対応するリモートコールを電子機器へ送信し、(d)電子機器において、リモートコールを受信すると、電子機器内の所定の機能を有する内部装置を制御する制御部を動作させ、(e)その動作結果をリモートコールの戻り値として開発装置へ送信し、(f)開発装置において、そのリモートコールの戻り値を電子機器から受信し所定のコールの戻り値とする。
これにより、開発途中でバイナリコードを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてバイナリコードの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法に加え、次のようにしてもよい。この場合、このソフトウェア開発方法は、さらに、(g)開発装置において、クロスコンパイラで、ソースコードから、電子機器の演算処理装置において実行可能な第2バイナリコードを生成し、(h)開発装置において、第2バイナリコードを電子機器へ送信し、(i)電子機器において、第2バイナリコードを受信して記憶装置に格納し、(j)電子機器において、第2バイナリコードを実行し、(k)電子機器において、第2バイナリコードにおける所定のコールが実行されると、電子機器の内部装置を制御する制御部を動作させ、(l)その動作結果を所定のコールの戻り値とする。
これにより、開発途中の動作確認で使用されるインターフェース部が、開発後にバイナリコードが電子機器で実行される際にも同様に使用されるため、開発環境が、実機でのバイナリコード実行時のものにより近づく。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、このソフトウェア開発方法は、さらに、(m)電子機器から開発装置へリモートコールを送信し、(n)開発装置において、第1バイナリコードに従って、そのリモートコールを受信すると、そのリモートコールにより指定されている処理を実行する。
これにより、電子機器の内部装置の状態変化などに起因して開始されるソフトウェアモジュール処理も開発装置において試験的に実行することができる。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、リモートコールで呼び出されるアプリケーションプログラムインタフェースで制御部を動作させる。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
本発明によれば、開発装置において効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることができる。
図1は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。 図2は、図1におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。 図3は、図1に示すシステムにおいて、ソフトウェア開発段階での開発装置の動作を説明するフローチャートである。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。図1に示すシステムは、開発装置1と、画像形成装置2とを備える。開発装置1は、画像形成装置2に導入されるソフトウェアモジュールであるアプリケーションプログラム(バイナリコード)を開発するための装置である。開発装置1は、例えば、開発プラットホームソフトウェアをインストールされたパーソナルコンピュータである。画像形成装置2は、そのアプリケーションプログラムを導入可能な電子機器であり、印刷などの所定の機能を有する内部装置を備える。画像形成装置2は、例えば印刷装置、複写機、スキャナ機、ファクシミリ機、複合機などである。開発装置1と画像形成装置2とは、コンピュータネットワークなどの通信路を介して接続されている。
開発装置1は、通信装置11と、記憶装置12と、演算処理装置13とを備える。
通信装置11は、ネットワークなどを介して画像形成装置2とデータ通信が可能な装置である。通信装置11としては、例えばネットワークインタフェースが使用される。
記憶装置12は、各種プログラムおよび各種データを格納する装置である。記憶装置12としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置12には、TCP/IP(Transmission Control Protocol / Internet Protocol)などといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム(図示せず)、開発装置1における開発プラットホームを実現するための開発環境プログラム(図示せず)、画像形成装置2で使用されるソフトウェアモジュールのソースコード21、そのソースコード21をコンパイルして得られるバイナリコードであるアプリケーションプログラム22などが格納される。
演算処理装置13は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを有するコンピュータであって、RAMにプログラムをロードして、CPUでそのプログラムを実行して各種処理部を実現する。上述のデータ通信プログラムが演算処理装置13で実行されることにより、通信部31が実現される。また、上述の開発環境プログラムが演算処理装置13で実行されることにより、開発プラットホーム32が実現される。
通信部31は、通信装置11を制御して、所定のプロトコルに従って、画像形成装置2との間でデータ通信を行う処理部である。
開発プラットホーム32は、コントローラ41、クロスコンパイラ42、コンパイラ43、リモート呼出部44、ソースコードエディタ(図示せず)、デバッガ(図示せず)などの処理部を有する。
コントローラ41は、図示せぬ入力装置に対するユーザ操作などに応じて、開発プラットホーム32内の他の処理部の動作を制御する処理部である。
コンパイラ42は、ソースコード21から、開発装置1の演算処理装置13においてネイティブなバイナリコード(以下、第1バイナリコードという)のアプリケーションプログラム22を生成する処理部である。なお、ここでいうネイティブなバイナリコードとは、シミュレータを使用せずに開発装置1における元来のプログラム実行環境で動作可能なコードのことを指す。
このコンパイラ42により生成された第1バイナリコードのアプリケーションプログラム22が演算処理装置13で実行されることで、アプリケーション33が、試験的に開発装置1において実現される。このアプリケーション33が動作することで、開発装置1において、画像形成装置2のために開発中のソフトウェアモジュールの動作確認を行うことができる。
クロスコンパイラ43は、ソースコード21から、画像形成装置2の演算処理装置において実行可能なバイナリコード(以下、第2バイナリコードという)のアプリケーションプログラム22を生成する処理部である。
リモート呼出部44は、第1バイナリコードにおける所定のコールが実行されるとき、そのコールに対応するリモートコールを、通信部31および通信装置11を介して画像形成装置2へ送信し、そのリモートコールの戻り値を、通信装置11および通信部31を介して画像形成装置2から受信し、その所定のコールの戻り値とする処理部である。
画像形成装置2は、表示装置51と、印刷装置52と、通信装置53と、記憶装置54と、演算処理装置55とを備える。
表示装置51は、画像形成装置2の筺体表面に配置され、各種情報を表示する内部装置である。表示装置51としては、例えば液晶ディスプレイが使用される。
印刷装置52は、レーザ印刷エンジンなどを内蔵し、印刷データに基づいて原稿画像を、印刷用紙などの媒体上に印刷する内部装置である。なお、内部装置としては、表示装置51および印刷装置52の他に、画像読取装置、ファクシミリ装置などが設けられてもよい。
通信装置53は、ネットワークなどを介して開発装置1とデータ通信が可能な装置である。通信装置53としては、例えばネットワークインタフェースが使用される。
記憶装置54は、各種プログラムおよび各種データを格納する装置である。記憶装置54としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置54には、TCP/IPなどといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム(図示せず)、オペレーティングシステムプログラム(図示せず)、印刷装置52などの内部装置を制御するための制御プログラム61、制御プログラム61を実行させるためのインターフェースを提供するためのAPI(Application Program Interface)コード62、第2バイナリコードであるアプリケーションプログラム63などが格納される。
演算処理装置55は、CPU、ROM、RAMなどを有するコンピュータであって、RAMにプログラムをロードして、CPUでそのプログラムを実行して各種処理部を実現する。上述のオペレーティングシステムプログラムが演算処理装置55で実行されることにより、オペレーティングシステム(OS)71が実現される。また、上述のデータ通信プログラムが演算処理装置55で実行されることにより、通信部72が実現される。また、制御プログラム61が演算処理装置55で実行されることにより、制御部73が実現される。また、APIコード62が演算処理装置55で実行されることにより、API74が実現される。また、アプリケーションプログラム63が演算処理装置55で実行されることにより、アプリケーション75が実現される。
通信部72は、通信装置53を制御して、所定のプロトコルに従って、開発装置1との間でデータ通信を行う処理部である。
制御部73は、表示装置51、印刷装置52などといった内部装置を制御する処理部である。
API74は、通信装置53および通信部72を介して供給されるリモートコールで呼び出されると、制御部73を動作させ、その動作結果をそのリモートコールの戻り値として通信装置53および通信部72を介して送信するとともに、ローカルのアプリケーション75からのコールで呼び出されると、制御部73を動作させ、その動作結果をそのコールの戻り値とする処理部である。
アプリケーション75は、画像形成装置2における内部装置の機能を利用して所定の処理を行う処理部である。
次に、上記システムにおけるソフトウェアの開発について説明する。
図2は、図1におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。
まず、開発装置1において、開発プラットホーム32が起動される。
そして、図示せぬ入力装置に対するユーザ操作に従って、開発プラットホーム32におけるエディタによりソースコード21が編集される(ステップS1)。その後、そのソースコード21をコンパイルするためのユーザ操作が検出されると、コントローラ41は、コンパイラ42に、ソースコード21から、第1バイナリコードのアプリケーションプログラム22を生成させる(ステップS2)。
次に、そのアプリケーションプログラム22を実行させるためのユーザ操作が検出されると、コントローラ41は、アプリケーションプログラム22を呼び出し、アプリケーション33を起動する。これにより、アプリケーション33が動作する(ステップS3)。アプリケーション33において、画像形成装置2の内部装置を動作させる処理が実行される場合、リモート呼出部44によるリモートコールにより、画像形成装置2のAPI74が呼び出され、その動作結果が戻り値として得られる。アプリケーション33は、その動作結果を使用して、それ以降の処理を実行する。
このようにして、開発装置1において、アプリケーション33が試験的に実行される。
その後、ユーザは、ソースコード21のアプリケーションプログラム63を画像形成装置2へインストールするか否かを判断する(ステップS4)。
ソースコード21が完成したとユーザが判断した場合には、ユーザは、ソースコード21によるアプリケーションプログラムを画像形成装置2へインストールするための操作を行う。コントローラ41は、その操作を検出すると、クロスコンパイラ43に、ソースコード21から、第2バイナリコードのアプリケーションプログラム22を生成させる(ステップS5)。そして、コントローラ41は、生成された第2バイナリコードのアプリケーションプログラム22を、通信部31および通信装置11を介して画像形成装置2へ送信する(ステップS6)。画像形成装置2では、OS71が、通信装置53および通信部72を介してその第2バイナリコードのアプリケーションプログラムを受信し、記憶装置54に格納する。
このようにして、完成したソースコード21から生成されたアプリケーションプログラム63が画像形成装置2に格納される。
このようにして記憶装置54に格納されたアプリケーションプログラム63には、API74を呼び出すためのコールが記述されている。このため、このアプリケーションプログラム63が実行されると、アプリケーションプログラム63からAPIコード62が呼び出される。つまり、アプリケーション75からAPI74が呼び出され、そのコールに対応して制御部73が内部装置に動作させる。
以上のようにして、アプリケーションプログラム63が、開発され、インストールされ、実行される。
ここで、上述のステップS2,S3における、ソフトウェア開発段階での開発装置1の動作の詳細について説明する。図3は、図1に示すシステムにおいて、ソフトウェア開発段階での開発装置の動作を説明するフローチャートである。
コントローラ41は、ユーザ操作により指定されたソースコード21を記憶装置12から読み込み(ステップS11)、コンパイラ42に、そのソースコード21のコンパイルを実行させる(ステップS12)。これにより、ソースコード21から、第1バイナリコードのアプリケーションプログラム22が生成される。
次に、コントローラ41は、生成された第1バイナリコードのアプリケーションプログラム22を呼び出し実行させる(ステップS13)。
このアプリケーションプログラム22には、画像形成装置2の内部装置の機能を使用するときにAPI74を呼び出すためのコールが記述されている。アプリケーション33の動作中に、このコールが実行されると、リモート呼出部44は、そのコールを検出し、そのコールに対応するリモートコールを生成し、通信部31および通信装置11を介して画像形成装置2へ送信する(ステップS14)。そして、画像形成装置2におけるAPI74がそのリモートコールにより呼び出され、制御部73が、そのリモートコールにより指定された動作を内部装置に実行させる。そして、API74は、制御部73から内部装置の動作結果を受信すると、その動作結果をリモートコールの戻り値(つまり、応答)として、開発装置1へ送信する。リモート呼出部44は、その戻り値を、通信装置11および通信部31を介して受信する(ステップS15)。
このように、アプリケーションプログラム22が画像形成装置2の内部装置の機能を使用するたびに、ステップS14,S15のように、リモートコールが発生し、そのリモートコールに応じて画像形成装置2が動作し、その動作結果が戻り値として得られる。例えば、リモート呼出部44は、表示装置51にある文字列を表示させるためのリモートコールを送信し、その表示が成功したか否かを示す戻り値を受信する。また、リモート呼出部44は、所定の入力画面を表示させるリモートコールを送信し、画像形成装置2における入力装置(図示せず)により検出されたその入力画面に対するユーザ操作を示す値が戻り値として得られる。
その後、アプリケーション33は、その戻り値を使用して、処理を継続する。
そして、アプリケーションプログラム22が最後まで実行されると、アプリケーション33の処理が終了する(ステップS16)。
このようにして、開発装置1は、アプリケーションプログラム22を実行し、画像形成装置2の機能をリモートコールで使用して、アプリケーション33(すなわち、画像形成装置2におけるアプリケーション75)を試験的に動作させることができる。
以上のように、上記実施の形態によれば、(a)開発装置1において、ソースコード21から、当該開発装置1の演算処理装置13においてネイティブな第1バイナリコードが生成され、(b)開発装置1において、第1バイナリコードが当該開発装置1の演算処理装置13に実行され、(c)開発装置1において、第1バイナリコードにおける所定のコールを実行するとき、そのコールに対応するリモートコールが画像形成装置2へ送信され、(d)画像形成装置2において、リモートコールが受信されると、そのリモートコールに従って制御部73が動作し、(e)その動作結果がリモートコールの戻り値として開発装置1へ送信され、(f)開発装置1において、そのリモートコールの戻り値が画像形成装置2から受信され所定のコールの戻り値とされる。
これにより、開発途中のバイナリコードを画像形成装置2に導入する必要がなく、かつ実機の内部装置を実際に動作させてバイナリコードの動作確認を行うことができるため、開発装置1において効率的なソフトウェア開発を実現できる。また、シミュレータの開発コストが不要である。
さらに、この技術は、画像形成装置2以外の組み込みシステム(特定の機能を実現する目的でコンピュータおよびプログラムを内蔵した電子機器)で使用されるプログラムの開発にも適用可能である。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態において、画像形成装置2のAPI74がリモートコールを送信して、開発装置1のアプリケーション33がリモートコールを受信して、そのリモートコールに対応する処理を実行し、その処理結果を戻り値として応答するようにしてもよい。これにより、画像形成装置2の内部装置の状態変化などに起因して開始されるアプリケーション33の処理も試験的に実行することができる。
なお、上述のアプリケーションプログラム22,63は、画像形成装置2の内部装置を利用するプログラムのことであり、ドライバプログラム、ユーティリティプログラムなども含む。
本発明は、例えば、複合機にインストールされるアプリケーションプログラムの開発に適用可能である。
1 開発装置
2 画像形成装置(電子機器の一例)
11 通信装置(第1通信装置の一例)
13 演算処理装置(第1演算処理装置の一例)
21 ソースコード
22 アプリケーションプログラム(第1バイナリコードの一例)
41 コントローラ
42 コンパイラ
43 クロスコンパイラ
44 リモート呼出部
51 表示装置(内部装置の一例)
52 印刷装置(内部装置の一例)
53 通信装置(第2通信装置の一例)
54 記憶装置
55 演算処理装置(第2演算処理装置)
63 アプリケーションプログラム(第2バイナリコードの一例)
71 オペレーティングシステム(処理部の一例)
74 API(インターフェース部の一例)

Claims (10)

  1. 電子機器と、
    その電子機器で実行されるプログラムを開発する開発装置とを備え、
    前記開発装置は、
    第1通信装置と、
    第1演算処理装置と、
    ソースコードから、当該開発装置の前記第1演算処理装置においてネイティブな第1バイナリコードを生成するコンパイラと、
    前記第1バイナリコードを前記第1演算処理装置に実行させるコントローラと、
    前記第1バイナリコードにおける所定のコールが実行されるとき、そのコールに対応するリモートコールを、前記第1通信装置を介して前記電子機器へ送信し、そのリモートコールの戻り値を、前記第1通信装置を介して前記電子機器から受信し、前記所定のコールの戻り値とするリモート呼出部とを有し、
    前記電子機器は、
    第2通信装置と、
    所定の機能を有する内部装置と、
    前記内部装置を制御する制御部と、
    前記第2通信装置を介して供給される前記リモートコールで呼び出されると、前記制御部を動作させ、その動作結果を前記リモートコールの戻り値として前記第2通信装置を介して送信するインターフェース部とを有すること、
    を特徴とするソフトウェア開発システム。
  2. 前記開発装置は、前記ソースコードから、前記電子機器の演算処理装置において実行可能な第2バイナリコードを生成するクロスコンパイラを備え、
    前記開発装置の前記コントローラは、前記第2バイナリコードを、前記第1通信装置を介して前記電子機器へ送信し、
    前記電子機器は、第2演算処理装置と、記憶装置と、前記第2通信装置を介して前記第2バイナリコードを受信し前記第2バイナリコードを前記記憶装置に格納する処理部とを備え、
    前記インターフェース部は、前記第2バイナリコードが前記第2演算処理装置で実行され前記所定のコールが実行されると、前記制御部を動作させ、その動作結果を前記所定のコールの戻り値とすること、
    を特徴とする請求項1記載のソフトウェア開発システム。
  3. 前記電子機器の前記インターフェース部は、リモートコールを、前記第2通信装置を介して前記開発装置へ送信し、
    前記開発装置の前記第1演算処理装置は、前記第1バイナリコードに従って、前記第1通信装置を介して前記リモートコールを受信すると、そのリモートコールにより指定されている処理を実行すること、
    を特徴とする請求項1記載のソフトウェア開発システム。
  4. 前記インターフェース部は、アプリケーションプログラムインタフェースであることを特徴とする請求項1または請求項2記載のソフトウェア開発システム。
  5. 前記電子機器は、画像形成装置であり、
    前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
    を特徴とする請求項1から請求項4のいずれか1項記載のソフトウェア開発システム。
  6. 電子機器で実行可能なプログラムを、開発装置で開発するソフトウェア開発方法において、
    前記開発装置において、ソースコードから、当該開発装置の演算処理装置においてネイティブな第1バイナリコードを生成し、
    前記開発装置において、前記第1バイナリコードを当該開発装置の演算処理装置に実行させ、
    前記開発装置において、前記第1バイナリコードにおける所定のコールを実行するとき、そのコールに対応するリモートコールを前記電子機器へ送信し、
    前記電子機器において、前記リモートコールを受信すると、前記電子機器内の所定の機能を有する内部装置を制御する制御部を動作させ、
    その動作結果を前記リモートコールの戻り値として前記開発装置へ送信し、
    前記開発装置において、そのリモートコールの戻り値を前記電子機器から受信し前記所定のコールの戻り値とすること、
    を特徴とするソフトウェア開発方法。
  7. 前記開発装置において、クロスコンパイラで、前記ソースコードから、前記電子機器の演算処理装置において実行可能な第2バイナリコードを生成し、
    前記開発装置において、前記第2バイナリコードを前記電子機器へ送信し、
    前記電子機器において、前記第2バイナリコードを受信して記憶装置に格納し、
    前記電子機器において、前記第2バイナリコードを実行し、
    前記電子機器において、前記第2バイナリコードにおける前記所定のコールが実行されると、前記電子機器の内部装置を制御する制御部を動作させ、
    その動作結果を前記所定のコールの戻り値とすること、
    を特徴とする請求項6記載のソフトウェア開発方法。
  8. 前記電子機器から前記開発装置へリモートコールを送信し、
    前記開発装置において、前記第1バイナリコードに従って、そのリモートコールを受信すると、そのリモートコールにより指定されている処理を実行すること、
    を特徴とする請求項6記載のソフトウェア開発方法。
  9. 前記リモートコールで呼び出されるアプリケーションプログラムインタフェースで前記制御部を動作させることを特徴とする請求項6記載のソフトウェア開発方法。
  10. 前記電子機器は、画像形成装置であり、
    前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
    を特徴とする請求項6から請求項9のいずれか1項記載のソフトウェア開発方法。
JP2009033728A 2009-02-17 2009-02-17 ソフトウェア開発システムおよびソフトウェア開発方法 Expired - Fee Related JP5216624B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009033728A JP5216624B2 (ja) 2009-02-17 2009-02-17 ソフトウェア開発システムおよびソフトウェア開発方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009033728A JP5216624B2 (ja) 2009-02-17 2009-02-17 ソフトウェア開発システムおよびソフトウェア開発方法

Publications (2)

Publication Number Publication Date
JP2010191578A true JP2010191578A (ja) 2010-09-02
JP5216624B2 JP5216624B2 (ja) 2013-06-19

Family

ID=42817584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009033728A Expired - Fee Related JP5216624B2 (ja) 2009-02-17 2009-02-17 ソフトウェア開発システムおよびソフトウェア開発方法

Country Status (1)

Country Link
JP (1) JP5216624B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230623A (ja) * 2014-06-05 2015-12-21 株式会社リコー 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198279A (ja) * 1996-01-19 1997-07-31 Pentel Kk シミュレ−ションソフト内蔵携帯端末装置
JP2003150405A (ja) * 2001-11-08 2003-05-23 Canon Inc 機器組込みプログラムのデバッグ方法
JP2004133630A (ja) * 2002-10-09 2004-04-30 Ricoh Co Ltd プログラム作成方法、プログラム変換装置、プログラム及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198279A (ja) * 1996-01-19 1997-07-31 Pentel Kk シミュレ−ションソフト内蔵携帯端末装置
JP2003150405A (ja) * 2001-11-08 2003-05-23 Canon Inc 機器組込みプログラムのデバッグ方法
JP2004133630A (ja) * 2002-10-09 2004-04-30 Ricoh Co Ltd プログラム作成方法、プログラム変換装置、プログラム及び記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015230623A (ja) * 2014-06-05 2015-12-21 株式会社リコー 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
US10521254B2 (en) 2014-06-05 2019-12-31 Ricoh Company, Ltd. Information processing system, computer program product, and information processing method

Also Published As

Publication number Publication date
JP5216624B2 (ja) 2013-06-19

Similar Documents

Publication Publication Date Title
JP5268694B2 (ja) ライセンス管理システム、画像形成装置およびライセンス管理方法
JP5780115B2 (ja) エラー検知方法、情報処理回路及びエラー検知用プログラム
JP2009043081A (ja) 保守管理システム、データベースサーバ、保守管理プログラムおよび保守管理方法
JP2011044127A (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
JP5052417B2 (ja) 画像形成装置、外部デバイス管理方法及びプログラム
US7958452B2 (en) System and method for thin client development of a platform independent graphical user interface
JP5216624B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
CN102025873B (zh) 信息处理装置、以及图像处理装置的功能仿真方法
JP4825432B2 (ja) 画像処理装置及び情報設定方法
JP5325601B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP2011086141A (ja) 画像形成装置及びプログラム操作方法
JP2006085291A (ja) 情報処理装置及びアプリケーションプログラム
JP6078515B2 (ja) 電子機器およびプログラム
JP5337686B2 (ja) アプリケーションプログラム生成方法および画像形成装置
JP5543645B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP5250518B2 (ja) 動作確認システムおよび対象装置
JP2009230668A (ja) 印刷システム
JP2019046001A (ja) アプリケーション移植支援装置、アプリケーション移植支援プログラムおよびアプリケーション移植方法
JP2010218469A (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体
JP2008269128A (ja) バージョンアップ管理装置及びバージョンアップ管理プログラム
JP2007241672A (ja) エミュレート装置、エミュレートシステム、エミュレート装置の制御方法および制御プログラム
JP2017228191A (ja) 画像処理装置、デバッグ支援方法およびデバッグ支援プログラム
JP2011065212A (ja) 動作確認システムおよび動作確認装置
JP2006227706A (ja) プログラム開発装置およびプログラム開発プログラム
JP2014038586A (ja) 画像形成装置及び画像形成装置の更新処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121128

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

R150 Certificate of patent or registration of utility model

Ref document number: 5216624

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees