JP2013145502A - Information processing apparatus, control method and program thereof - Google Patents

Information processing apparatus, control method and program thereof Download PDF

Info

Publication number
JP2013145502A
JP2013145502A JP2012006201A JP2012006201A JP2013145502A JP 2013145502 A JP2013145502 A JP 2013145502A JP 2012006201 A JP2012006201 A JP 2012006201A JP 2012006201 A JP2012006201 A JP 2012006201A JP 2013145502 A JP2013145502 A JP 2013145502A
Authority
JP
Japan
Prior art keywords
simulator
application
image forming
api
forming apparatus
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.)
Pending
Application number
JP2012006201A
Other languages
Japanese (ja)
Inventor
Masao Akuzawa
政男 阿久澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012006201A priority Critical patent/JP2013145502A/en
Publication of JP2013145502A publication Critical patent/JP2013145502A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve a problem that, when checking the operation of an application of an image forming apparatus, a developer generally uses a simulator; the developer finds a difference in the operation between the image forming apparatus and the simulator for the first time when an operation of a function which is not supported by the simulator is executed on the simulator; and thus the developer has to repeat the operation on the image forming apparatus to check the operation.SOLUTION: While developing application on an integrated development environment system, any function of the operation having a difference between the image forming apparatus and the simulator is indicated as needed. When the application is intended to operate on plural image forming apparatuses, any operation different from that of the corresponding simulator is also indicated. Also, immediately before checking the operation of the application, a piece of operational difference information limited to the relevant simulator is indicated.

Description

本発明は、アプリケーションのソースファイルを編集可能な情報処理装置、制御方法、およびそのプログラムに関する。   The present invention relates to an information processing apparatus capable of editing a source file of an application, a control method, and a program thereof.

従来技術として、画像形成装置のリアルタイムOS上にさらに別の組み込みシステム向けの実行環境(例えばJava(登録商標)など)を構築し、画像形成装置の制御を行うことのできるアプリケーションを外部からダウンロードして追加できるアプリケーション・プラットフォームを搭載することが知られている。このようなアプリケーション・プラットフォーム上でアプリケーションを開発する際、動作確認には、テスト工数や開発費削減の観点からPC上で動作するシミュレータを使用することが一般的である。また、画像形成装置のような機器ごとに異なる特有の機能を持つ組込み機器においては、その組込み機器に対応したシミュレータを用いる必要がある。一方で、アプリケーションが機器に特化した機能を利用するにあたって、アプリケーションの実行中に利用できる機能を動的に判別して制御する技術が特許文献1に開示されている。   As a conventional technique, an execution environment (for example, Java (registered trademark)) for another embedded system is constructed on the real-time OS of the image forming apparatus, and an application capable of controlling the image forming apparatus is downloaded from the outside. It is known to have an application platform that can be added. When developing an application on such an application platform, it is common to use a simulator that operates on a PC from the viewpoint of test man-hours and development cost reduction for operation confirmation. Further, in an embedded device having a unique function that varies from device to device such as an image forming apparatus, it is necessary to use a simulator corresponding to the embedded device. On the other hand, Patent Document 1 discloses a technique for dynamically determining and controlling a function that can be used during execution of an application when the application uses a function specialized for the device.

特開2008−109416JP2008-109416

デバイスに特化した機能をアプリケーションが実装している場合、シミュレータではサポートできない場合がある。例えば、ハードウェアに依存した機能(温度センサーに基づいて発生するイベントや原稿を検知した時のイベントなど)は、PC上で動作するシミュレータでの再現は困難である。   If an application implements device-specific functions, the simulator may not be able to support it. For example, hardware-dependent functions (such as an event that occurs based on a temperature sensor or an event that occurs when a document is detected) are difficult to reproduce on a simulator that runs on a PC.

その他の課題として次の様な課題が考えられる。一般的に、アプリケーション提供者は、販売機会を増やすために1つのアプリケーションを複数のデバイスで動作するように作りこむ。この時、開発者は、画像形成装置に対応したシミュレータを用いて動作確認を行う。しかしながら、シミュレータの精度は、対応する画像形成装置ごとにばらつきがある。例えば、従来サポートしていなかった機能でも、開発者の要望や重要度に応じて、新しい画像形成装置向けのシミュレータでは利用できるようになることがある。このため、新しい画像形成装置向けのシミュレータ上では、アプリケーションが正しく動作する一方で、古い画像形成装置向けのシミュレータ上では、正しく動作しないことがある。   The following issues can be considered as other issues. In general, an application provider creates one application to operate on a plurality of devices in order to increase sales opportunities. At this time, the developer confirms the operation using a simulator corresponding to the image forming apparatus. However, the accuracy of the simulator varies for each corresponding image forming apparatus. For example, even functions that have not been supported in the past may become available in a new simulator for an image forming apparatus, depending on a developer's request and importance. For this reason, while the application operates correctly on the simulator for the new image forming apparatus, the application may not operate correctly on the simulator for the old image forming apparatus.

しかし、動作しなかった原因が、アプリケーションの実装ミスなのか、シミュレータの精度の違いによるものなのかの判別も難しい。つまり、開発者は、機器に特化した機能の動作確認を、実際の画像形成装置で実施すべきなのか、シミュレータで実施しても問題がないのかを実施前に把握する必要がある。   However, it is difficult to determine whether the cause of the malfunction is due to an application mounting error or due to a difference in simulator accuracy. In other words, the developer needs to grasp whether the operation check of the function specialized for the device should be performed by the actual image forming apparatus or if there is no problem even if it is performed by the simulator.

本願発明は、上述した課題の内、少なくとも1つを解決する開発環境を備えた情報処理装置を提供することを目的とする。   An object of the present invention is to provide an information processing apparatus including a development environment that solves at least one of the above-described problems.

本発明の一実施形に係る情報処理装置は、画像処理ユニットを利用したサービスを提供するアプリケーションのソースファイルを編集可能な情報処理装置であって、画像形成装置ごとに用意された、アプリケーションをテスト動作させるためのシミュレータと、ソースファイルを編集するためのソースファイル編集画面を介して前記アプリケーションに対応するソースファイルにアプリケーションプログラミングインターフェース(以後、APIと称する)が加えられた場合、前記シミュレータごとに設定された前記APIに対するサポートレベルを読み込む読み込み手段と、前記読み込み手段により読み込まれた各シミュレータのAPIに対するサポートレベルを基に、前記APIに対する画像形成装置とシミュレータとの動作差分が認識できるように前記ソースファイル編集画面を表示することを特徴とする。   An information processing apparatus according to an embodiment of the present invention is an information processing apparatus capable of editing a source file of an application that provides a service using an image processing unit, and tests an application prepared for each image forming apparatus When an application programming interface (hereinafter referred to as API) is added to a source file corresponding to the application via a simulator for operating and a source file editing screen for editing the source file, settings are made for each simulator. Based on the reading means for reading the supported level for the API and the support level for the API of each simulator read by the reading means, an operation difference between the image forming apparatus and the simulator for the API is recognized. Characterized in that it displays the source file editing screen to kill.

本発明によれば、開発者は、アプリケーションの開発中に、該当する機能がシミュレータで動作可能かどうかを判別できるようになる。   According to the present invention, a developer can determine whether or not a corresponding function can be operated by a simulator during application development.

本発明の実施形態に係る画像形成装置の内部構成の一例を表すブロック図である1 is a block diagram illustrating an example of an internal configuration of an image forming apparatus according to an embodiment of the present invention. 画像形成装置のHDD104および開発用PC300のHDD304に記憶されたソフトウェア構造図である3 is a software structure diagram stored in the HDD 104 of the image forming apparatus and the HDD 304 of the development PC 300. FIG. 画像形成装置とネットワークで接続された開発用PC300のハードウェア構成を表す図である2 is a diagram illustrating a hardware configuration of a development PC 300 connected to an image forming apparatus via a network. FIG. 統合開発環境システム400に関わるソフトウェア構成を表す図であるIt is a figure showing the software structure in connection with the integrated development environment system 400 統合開発環境システム400の操作画面を表す図であるIt is a figure showing the operation screen of the integrated development environment system 400 マニフェストファイル601の構成要素を表す図であるIt is a figure showing the component of the manifest file 601 動作差分情報テーブル408の構成要素を表す図であるIt is a figure showing the component of the operation | movement difference information table 408. API利用状況情報テーブル409の構成要素を表す図であるIt is a figure showing the component of the API utilization condition information table 409. 動作差分情報指摘設定に関する図であるIt is a figure regarding operation difference information indication setting. ソースファイル418の変更時に関わる図であるIt is a figure related to the change of the source file 418 表示制御テーブル1100に関わる図であるIt is a figure related to the display control table 1100 ソースファイル418の変更時のソースファイル編集画面501およびAPI動作差分情報プロパティ画面505に関わる図であるFIG. 10 is a diagram related to a source file editing screen 501 and an API operation difference information property screen 505 when a source file 418 is changed. シミュレータの起動時に関わる図であるIt is a figure related to the startup of the simulator シミュレータの起動前に表示される注意事項確認画面1400および注意事項確認画面1401を表す図であるIt is a figure showing the notes confirmation screen 1400 and the notes confirmation screen 1401 displayed before starting of a simulator.

以下、図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The following embodiments do not limit the invention according to the scope of claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the invention.

図1は、本発明の実施形態に係る画像形成装置の内部構成の一例を表すブロック図である。図1に表す画像形成装置は、基本的な構成として、画像形成装置内の各部を制御するコントローラユニット100と、操作部112と、画像処理ユニットであるスキャナ部123とプリンタ部125と、を備える。操作部112は、例えば、数字を入力するためのテンキーや処理の実行を行うためのスタートキーなどのハードキーや液晶タッチパネルで構成され、ユーザが画像形成装置を操作するためのユーザインターフェースを提供する。操作部112のタッチパネルに表示される各設定項目を表すアイコンやボタン(もしくはハードキー)をタッチ(押下)することで、画像形成装置に設定や情報の入力を行うことが可能である。   FIG. 1 is a block diagram illustrating an example of an internal configuration of an image forming apparatus according to an embodiment of the present invention. The image forming apparatus illustrated in FIG. 1 includes, as a basic configuration, a controller unit 100 that controls each unit in the image forming apparatus, an operation unit 112, a scanner unit 123 that is an image processing unit, and a printer unit 125. . The operation unit 112 includes, for example, hard keys such as a numeric keypad for inputting numbers and a start key for executing processing, and a liquid crystal touch panel, and provides a user interface for a user to operate the image forming apparatus. . By touching (pressing down) an icon or button (or hard key) representing each setting item displayed on the touch panel of the operation unit 112, settings and information can be input to the image forming apparatus.

スキャナ部123は、原稿等の画像を画像データとして読み取る。プリンタ部125は、記録用紙を搬送し、その記録用紙に画像データを可視画像として印刷する。コントローラユニット100は、バス122を介してスキャナ部123に接続され、またバス124を介してプリンタ部125に接続される。また、コントローラユニット100は、LAN113やWAN(公衆回線)114やWIRELESS(無線)115を介して他の機器に接続して、画像情報やデバイス情報の入出力制御を行う。   The scanner unit 123 reads an image such as a document as image data. The printer unit 125 conveys the recording paper and prints the image data as a visible image on the recording paper. The controller unit 100 is connected to the scanner unit 123 via the bus 122 and connected to the printer unit 125 via the bus 124. The controller unit 100 is connected to other devices via a LAN 113, a WAN (public line) 114, or a WIRELESS (wireless) 115, and performs input / output control of image information and device information.

CPU101は、システム全体を制御するコントローラである。RAM102は、CPU101が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ROM103はブートROMである。ROM103には、システムのブートプログラムが格納されている。HDD104は、ハードディスクドライブであり、システムソフトウェアや画像データ、後述する通信部111が有するすべての無線通信に関する情報(無線通信の仕様)を格納する。   The CPU 101 is a controller that controls the entire system. A RAM 102 is a system work memory for the CPU 101 to operate, and is also an image memory for temporarily storing image data. The ROM 103 is a boot ROM. The ROM 103 stores a system boot program. The HDD 104 is a hard disk drive, and stores system software, image data, and all wireless communication information (wireless communication specifications) of the communication unit 111 described later.

画像形成装置は、使用したい機能を実装したアプリケーション(以下、「アプリ」と呼ぶ。)をインストールすることで画像処理ユニットを利用した機能を増やすことができる。アプリのインストールにより、画像形成装置上で各種機能を動かすためのアプリプログラムがRAM102やHDD104に記憶される。   The image forming apparatus can increase the functions using the image processing unit by installing an application (hereinafter referred to as “application”) in which a function to be used is installed. By installing the application, an application program for operating various functions on the image forming apparatus is stored in the RAM 102 or the HDD 104.

操作部I/F106は、ユーザインターフェース(UI)である操作部112との間のインターフェース部であり、操作部112に表示すべきデータを操作部112に対して出力する。また、操作部112からユーザが入力した情報を、CPU101に伝える役割を行う。Network部109は、LAN113に接続され、情報の入出力を行う。モデム110は、WAN114に接続され、情報の入出力を行う。   The operation unit I / F 106 is an interface unit with the operation unit 112 that is a user interface (UI), and outputs data to be displayed on the operation unit 112 to the operation unit 112. Also, it plays a role of transmitting information input by the user from the operation unit 112 to the CPU 101. A network unit 109 is connected to the LAN 113 and inputs / outputs information. The modem 110 is connected to the WAN 114 and inputs / outputs information.

通信部111は、不図示のアンテナを介してWIRELESS115に接続され、情報の入出力を行う。また、通信部111は、複数種類の無線通信を行うことが可能である。上記各デバイスがシステムバス107上に配置される。イメージバスI/F105は、システムバス107と、画像データを高速で転送する画像バス108とを接続し、データ構造を変換するバスブリッジである。画像バス108は、PCIバスまたはIEEE1394等で規定されるバスである。画像バス108上に配置される各デバイスにおいて、RIP(ラスターイメージプロセッサ)116は、PDLコードをビットマップイメージに展開する。デバイスI/F部117は、スキャナ部123またはプリンタ部125をコントローラユニット100に接続し、画像データの同期系/非同期系の変換を行う。   The communication unit 111 is connected to the WIRELESS 115 via an antenna (not shown) and inputs / outputs information. The communication unit 111 can perform a plurality of types of wireless communication. Each of the above devices is arranged on the system bus 107. The image bus I / F 105 is a bus bridge that connects the system bus 107 and an image bus 108 that transfers image data at high speed and converts the data structure. The image bus 108 is a bus defined by a PCI bus or IEEE1394. In each device arranged on the image bus 108, a RIP (raster image processor) 116 expands the PDL code into a bitmap image. The device I / F unit 117 connects the scanner unit 123 or the printer unit 125 to the controller unit 100, and performs synchronous / asynchronous conversion of image data.

スキャナ画像処理部118は、入力画像データに対して補正、加工、または編集を行う。プリンタ画像処理部119は、プリント出力画像データに対して、プリンタ部125に合った補正、解像度変換等を行う。画像回転部120は、画像データの回転を行う。画像処理部121は、画像データに対する、JPEG、JBIG、MMR、MH等の圧縮伸張処理や、PDF、TIFF、OCR、暗号化等のフォーマット変換処理を行う。   The scanner image processing unit 118 corrects, processes, or edits input image data. The printer image processing unit 119 performs correction, resolution conversion, and the like suitable for the printer unit 125 on the print output image data. The image rotation unit 120 rotates image data. The image processing unit 121 performs compression / decompression processing such as JPEG, JBIG, MMR, and MH, and format conversion processing such as PDF, TIFF, OCR, and encryption on the image data.

図2(A)および図2(B)は本発明の画像形成装置および対応するシミュレータのソフトウェア構造図の一例である。画像形成装置のソフトウェアは、HDD104に、シミュレータのソフトウェアは、後述する開発用PC300のHDD304に格納されている。また、画像形成装置とシミュレータで同じ符号を有するものは、完全に同一もしくは機能的に同一であることを表す。よって、アプリケーションをテスト動作させるためのシミュレータは画像形成装置ごとに用意されている。   2A and 2B are examples of software structure diagrams of the image forming apparatus of the present invention and a corresponding simulator. The software for the image forming apparatus is stored in the HDD 104, and the software for the simulator is stored in the HDD 304 of the development PC 300 described later. Further, the image forming apparatus and the simulator having the same reference sign indicate that they are completely identical or functionally identical. Therefore, a simulator for causing the application to perform a test operation is prepared for each image forming apparatus.

OS201には一般的はリアルタイムOSが使用されるが、昨今ではLinux(登録商標)等の汎用OSが使用されることもある。Nativeライブラリ202は、イメージバスI/F105を介して行われ画像形成処理や暗号化処理などの画像形成装置特有の機能を提供する。   Although a real-time OS is generally used as the OS 201, a general-purpose OS such as Linux (registered trademark) may be used recently. The native library 202 is performed via the image bus I / F 105 and provides functions unique to the image forming apparatus such as image forming processing and encryption processing.

203は、Java(登録商標)に代表される仮想マシンであり、アプリの実行環境を提供するものである。仮想マシン203を搭載した装置は、OSとは別に他のアプリケーションの実行環境を備えていると言える。アプリフレームワーク204は、アプリのライフサイクルを管理する機能を提供するものである。システムサービス205は、画像形成装置に事前に登録されているアプリであり、他のアプリに機能を提供するものや、単独で機能するものがある。他のアプリに機能を提供するものとして、例えば、エラー発生時の処理を代替するエラーリカバリーサービス(ERS206)や操作部112を制御するアプレットビュワーサービス(AVS207)などがある。また、単独で機能するものとして、PCからブラウザを使用してアクセスされ、所定のアプリ・ファイルを受信するサービスマネジメントサービス(SMS208)などがある。アプリA209,アプリB210は、SMS208によってインストールされたアプリであり、画像形成装置上で様々な機能を提供するものである。換言すれば、アプリA209、アプリBは画像処理ユニットを利用したサービスを提供するアプリケーションと言える。アプリA209,アプリB210はAVS206を実行時に参照し、操作部112を介してユーザとやり取りを行うことが可能である。また、アプリA209、アプリB210は、アプリケーションプログラミングインターフェースであるAPI(Application Program Interface)211を介して、画像形成装置が提供するシステムライブラリ212を参照できる。システムライブラリ212には、例えば、プリント処理やコピー処理やスキャン処理といったジョブ制御ライブラリ213が含まれる。アプリA209、アプリB210は、ジョブ制御系ライブラリ213を利用することで画像形成装置が持つNetwork部109を介して、PCなどからデータを受信し、プリンタ部125を使って印刷することも可能である。実際には、システムライブラリ212は、JNI(Java Native Interface)と呼ばれるJava(登録商標)で記述されたプログラムと、他の言語で書かれた、実際のCPU上で動作するコードとを連携するインターフェースを介して、Nativeライブラリ202を利用する。これにより、システムライブラリ212は、画像形成装置の機能をアプリに提供している。一方、シミュレータ上で動作するダミーライブラリ220は、Nativeライブラリ202を疑似的に再現する機能を持つ。例えば、画像形成装置では、プリントジョブが投入されると、画像形成装置の状態が、準備中、実行待ち、実行中といったように遷移することで、正常に画像形成が行われる。この状態遷移は、実際のところ、プリンタ部125やスキャナ部123の状態(印刷可能であるのか、用紙はあるのか、など)に基づいて決定される。しかし、シミュレータには、プリンタ部125やスキャナ部123といったハードウェア資源がないため、画像形成装置の状態遷移を本物と同じように再現できない。そこで、ダミーライブラリ220は、このような画像形成装置の状態遷移を、時間が経過することで変化させるように表現し、画像形成装置特有の機能のうち代表的な処理を模倣している。一方で、異常系の処理や、ハードウェアに依存した機能、重要度の低い機能などはサポートしない、もしくは、サポートしていても再現度が低いものもある。このような、再現度のことを、「サポートレベル」と呼ぶことにする。換言すると、API211の動作は、画像形成装置とシミュレータで異なる場合があり、各APIでサポートレベルに違いがある。画像形成装置とシミュレータとの差異が少なければ少ないほどサポートレベルが高く、多ければサポートレベルが低いことになる。   Reference numeral 203 denotes a virtual machine represented by Java (registered trademark), which provides an application execution environment. It can be said that the device on which the virtual machine 203 is mounted has an execution environment for other applications, apart from the OS. The application framework 204 provides a function for managing the life cycle of the application. The system service 205 is an application registered in advance in the image forming apparatus, and there are an application that provides a function to another application and an application that functions independently. Examples of functions that provide functions to other applications include an error recovery service (ERS 206) that replaces processing when an error occurs, and an applet viewer service (AVS 207) that controls the operation unit 112. Further, as a single function, there is a service management service (SMS208) that is accessed from a PC using a browser and receives a predetermined application file. Application A 209 and application B 210 are applications installed by SMS 208 and provide various functions on the image forming apparatus. In other words, the application A 209 and the application B can be said to be applications that provide services using the image processing unit. The application A 209 and the application B 210 can refer to the AVS 206 at the time of execution and exchange with the user via the operation unit 112. In addition, the application A 209 and the application B 210 can refer to a system library 212 provided by the image forming apparatus via an application program interface (API) 211 that is an application programming interface. The system library 212 includes, for example, a job control library 213 such as print processing, copy processing, and scan processing. The application A 209 and the application B 210 can also receive data from a PC or the like via the network unit 109 of the image forming apparatus by using the job control system library 213, and can print using the printer unit 125. . In practice, the system library 212 is an interface that links a program written in Java (registered trademark) called JNI (Java Native Interface) and a code written in another language and operating on an actual CPU. The native library 202 is used via Thus, the system library 212 provides the functions of the image forming apparatus to the application. On the other hand, the dummy library 220 operating on the simulator has a function of reproducing the native library 202 in a pseudo manner. For example, in the image forming apparatus, when a print job is input, the state of the image forming apparatus transitions to “preparing”, “waiting to execute”, “executing”, and the image is normally formed. This state transition is actually determined based on the state of the printer unit 125 or the scanner unit 123 (whether printing is possible, paper is present, etc.). However, since the simulator does not have hardware resources such as the printer unit 125 and the scanner unit 123, the state transition of the image forming apparatus cannot be reproduced in the same way as the real one. Therefore, the dummy library 220 expresses such a state transition of the image forming apparatus so as to change over time, and imitates a typical process among functions unique to the image forming apparatus. On the other hand, abnormal processing, hardware-dependent functions, low-importance functions, etc. are not supported, or some of them are supported but have low reproducibility. Such reproducibility is referred to as “support level”. In other words, the operation of the API 211 may be different between the image forming apparatus and the simulator, and each API has a different support level. The smaller the difference between the image forming apparatus and the simulator, the higher the support level, and the greater the difference, the lower the support level.

図3は、画像形成装置とネットワークで接続された情報処理装置である開発用PC300のハードウェア構成を表す図である。画像形成装置用アプリの開発を行う場合、通常、開発用PC300にて統合開発環境を動作させてプログラム作成・テスト・デバッグなどを行う。また、アプリのテストを行う場合は、開発PC300から画像形成装置にNetwork部109経由でアプリをインストールして画像形成装置上でアプリを動作させてテストを行う。   FIG. 3 is a diagram illustrating a hardware configuration of a development PC 300 that is an information processing apparatus connected to the image forming apparatus via a network. When developing an application for an image forming apparatus, an integrated development environment is usually operated on the development PC 300 to create a program, test, debug, and the like. When testing an application, the application is installed from the development PC 300 to the image forming apparatus via the network unit 109, and the application is operated on the image forming apparatus.

CPU301は本装置上の各処理をつかさどる中央演算装置である。ROM302は本装置の各処理に関わるプログラムやデータを記憶する。RAM303は、本装置の各処理に関わる一時的なデータを記憶する。HDD304は、本装置の各処理に関わるプログラムやデータ、および一時的なデータ、本発明に関わるプログラムモジュールが格納される。入力装置305は、本装置への指示入力を受け付けるキーボードやポインティングデバイスである。表示部306は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。ネットワークI/F307は、ネットワーク経由でLANおよびインタネットに接続し、外部と情報交換を行う。USBH I/F308はUSBホストインターフェースであり、さまざまなUSBデバイスを接続する。それら要素がシステムバス309により結び付き、データをやりとりしている。   The CPU 301 is a central processing unit that controls each process on this apparatus. The ROM 302 stores programs and data related to each process of the apparatus. A RAM 303 stores temporary data related to each process of the apparatus. The HDD 304 stores programs and data related to each process of the apparatus, temporary data, and program modules related to the present invention. The input device 305 is a keyboard or a pointing device that receives an instruction input to the apparatus. A display unit 306 displays the operation status of the apparatus and information output by each program operating on the apparatus. A network I / F 307 is connected to a LAN and the Internet via a network and exchanges information with the outside. The USBH I / F 308 is a USB host interface and connects various USB devices. These elements are connected by a system bus 309 and exchange data.

図4は本発明の統合開発システムの一例である統合開発環境システム400のソフトウェア構成図である。統合開発環境システム400を実現するためのソフトウェアは、開発用PC300のHDD304に保存されており、そのソフトウェアがRAM303にロードされCPU301により実行されることで統合開発環境システム400は実現する。ユーザは、統合開発環境システム400を利用することでアプリケーションのソースファイルを編集可能になる。   FIG. 4 is a software configuration diagram of an integrated development environment system 400 which is an example of the integrated development system of the present invention. Software for realizing the integrated development environment system 400 is stored in the HDD 304 of the development PC 300, and the software is loaded into the RAM 303 and executed by the CPU 301 to realize the integrated development environment system 400. The user can edit the source file of the application by using the integrated development environment system 400.

統合開発環境システム400は、統合開発基盤401と、統合開発基盤401に利用される内部ツールA402並びに外部ツールB404と連携する内部ツールB403と、これら内部ツールと同様の位置づけで組込みアプリ開発支援ツール405と、を有する。   The integrated development environment system 400 includes an integrated development platform 401, an internal tool A403 used in the integrated development platform 401, an internal tool B403 linked to the external tool B404, and an embedded application development support tool 405 in the same position as these internal tools. And having.

統合開発環境システム400は、例えば、Eclipse(Eclipseは登録商標)が利用できるが、これに限定されない。なお、ここで、Eclipseとは、オープンソースの統合ソフトウェア開発環境であり、ソフトウェア開発の共通プラットフォームである。Eclipseは、プラグインとして登録・提供されている内部ツールと、Windows(登録商標)、UNIX(登録商標)などが提供するデバッガやコンパイラといったEclipse内には存在しない外部ツールとの2種類のツールを利用することで様々な機能を提供する。   As the integrated development environment system 400, for example, Eclipse (Eclipse is a registered trademark) can be used, but is not limited thereto. Note that Eclipse is an open source integrated software development environment and a common platform for software development. Eclipse has two types of tools: internal tools registered and provided as plug-ins and external tools that do not exist in Eclipse such as debuggers and compilers provided by Windows (registered trademark), UNIX (registered trademark), etc. Various functions are provided by using it.

統合開発基盤401は、開発しているアプリの管理や各ツールを連携させるためのインターフェースなどを含んでいる。外部ツールの例としては、Java(登録商標)のコンパイルやデバッグを行うために用いられるJDK(Java Development Kit)がある。内部ツールは、統合開発基盤401が提供するインターフェースを介して、外部ツールの機能を利用することもできる。なお、本実施形態においては、開発者によって統合開発環境システム400に外部ツールとしてJDKが既に設定済みであり、内部ツールから統合開発基盤401を介して利用できる。なお、図4で示している統合開発環境システム400が持つ内部ツールや外部ツールの構成などは、1つの例にすぎず、これに限定されない。ここで、組込みアプリ開発支援ツール405は、例えば、画像形成装置のような組込み機器で動作可能なアプリの開発やテスト支援の機能を有する。動作差分解析手段406は、開発中のアプリが参照しているAPI211のうちシミュレータでのサポートレベルを判別し、画像形成装置との動作差分を指摘する機能を有する。マニフェストファイル参照手段407は、統合開発基盤401を介してアプリが持つ設定ファイルであるマニフェストファイルをRAM303に読み込む。そして、組込みアプリ開発支援ツール405内の他の構成要素から参照できるようにする。動作差分情報テーブル408は、API211のシミュレータごとのサポートレベルに関する情報を保持している。API利用状況情報テーブル409は、アプリが利用しているAPI211の一覧を保持している。エディター更新手段410は、アプリが利用しているAPI211のシミュレータでのサポートレベルに関する情報を操作部306に表示する。シミュレータランチャー起動手段411は、画像形成装置に対応するシミュレータを選択的に起動するものである。API利用状況表示手段412は、シミュレータ起動前に、サポートレベルに応じた動作確認対象アプリが利用しているAPI211の一覧を表示部306に表示する。差分情報指摘設定手段413は、アプリが利用しているAPI211を、動作差分解析手段406が解析する際に、参照する差分情報指摘設定ファイル416を生成する。   The integrated development infrastructure 401 includes an application for managing the application being developed and an interface for linking each tool. An example of the external tool is JDK (Java Development Kit) used for compiling and debugging Java (registered trademark). The internal tool can also use the function of the external tool via the interface provided by the integrated development platform 401. In this embodiment, JDK is already set as an external tool in the integrated development environment system 400 by the developer, and can be used from the internal tool via the integrated development platform 401. The configuration of the internal tool and the external tool included in the integrated development environment system 400 illustrated in FIG. 4 is merely an example, and is not limited thereto. Here, the embedded application development support tool 405 has a function of developing an application that can be operated by an embedded device such as an image forming apparatus and a test support function. The operation difference analysis unit 406 has a function of determining the support level in the simulator among the APIs 211 referred to by the application under development and pointing out the operation difference from the image forming apparatus. The manifest file reference unit 407 reads a manifest file, which is a setting file of the application, into the RAM 303 via the integrated development infrastructure 401. Then, it can be referred to from other components in the embedded application development support tool 405. The operation difference information table 408 holds information related to the support level for each simulator of the API 211. The API usage status information table 409 holds a list of APIs 211 used by the application. The editor update unit 410 displays information related to the support level in the simulator of the API 211 used by the application on the operation unit 306. The simulator launcher activation unit 411 selectively activates a simulator corresponding to the image forming apparatus. The API usage status display unit 412 displays a list of APIs 211 used by the operation check target application corresponding to the support level on the display unit 306 before the simulator is activated. The difference information indication setting unit 413 generates a difference information indication setting file 416 to be referred to when the operation difference analysis unit 406 analyzes the API 211 used by the application.

ワークスペース414は、統合開発環境システム400が参照するものであり、プロジェクトと呼ばれる単位でアプリを管理する領域である。また、ワークスペース414には複数のプロジェクトが格納されても構わない。ここで、プロジェクトは、マニフェストファイル417、ソースファイル418、クラスファイル、JARファイルなどから構成される。ここで、マニフェストファイル417とは、アプリの持つ各種情報が記載されたファイルであり、詳細については後述する。一方、組込みアプリ開発支援ツール405を利用して、アプリを開発すると、差分情報指摘設定ファイル416がプロジェクトに生成される。差分情報指摘設定ファイル416は、動作差分解析手段406が指摘対象とする画像形成装置の種類や、指摘するサポートレベルが格納されている。   The workspace 414 is an area that is referred to by the integrated development environment system 400 and that manages applications in units called projects. The workspace 414 may store a plurality of projects. Here, the project includes a manifest file 417, a source file 418, a class file, a JAR file, and the like. Here, the manifest file 417 is a file in which various information of the application is described, and details thereof will be described later. On the other hand, when an application is developed using the built-in application development support tool 405, a difference information indication setting file 416 is generated in the project. The difference information indication setting file 416 stores the type of image forming apparatus targeted by the operation difference analysis unit 406 and the support level to be indicated.

図5は、表示部306に表示される統合開発環境システム400の操作画面の一例である。ソースファイル編集画面501では、プロジェクト内のソースファイル418が表示される。この際、統合開発環境システム400の設定によって、行番号や、警告マークやエラーマークなどを合わせて表示することもできる。なお、本実施例では、サポートレベルに関する情報をサポートレベルマーク1200として表示するが、詳細については後述する。プロジェクト・エクスプローラ502には、開発中のアプリの一覧がプロジェクトの単位で表示されている。また、入力装置305を介してプロジェクト・エクスプローラ502内の開発対象プロジェクトを選択するとプロパティウィンドウが表示され、差分情報指摘設定ボタン503およびシミュレータランチャー起動ボタン504が表示される。差分情報指摘設定ボタン503は、入力装置305から選択の通知を受け付けると差分情報指摘設定手段413を内部的に呼び出し、表示部306に差分情報指摘設定画面900を表示する。シミュレータランチャー起動ボタン504は、選択されるとシミュレータランチャー起動手段411を内部的に呼び出す。API動作差分情報プロパティ画面505は、アプリが利用しているAPI211のサポートレベルを表示する領域であり、詳細は後述する。   FIG. 5 is an example of an operation screen of the integrated development environment system 400 displayed on the display unit 306. On the source file editing screen 501, the source file 418 in the project is displayed. At this time, a line number, a warning mark, an error mark, or the like can be displayed together according to the setting of the integrated development environment system 400. In this embodiment, information related to the support level is displayed as the support level mark 1200, which will be described later in detail. The project explorer 502 displays a list of applications under development in units of projects. When a development target project in the project explorer 502 is selected via the input device 305, a property window is displayed, and a difference information indication setting button 503 and a simulator launcher activation button 504 are displayed. When the difference information indication setting button 503 receives a selection notification from the input device 305, the difference information indication setting unit 413 is called internally, and the difference information indication setting screen 900 is displayed on the display unit 306. When the simulator launcher activation button 504 is selected, the simulator launcher activation means 411 is internally called. The API operation difference information property screen 505 is an area for displaying the support level of the API 211 used by the application, and will be described in detail later.

図6は、マニフェストファイル417の構成要素を表す。各要素は、属性と属性値が対になって列挙されたものである。アプリの情報を表すアプリ名602は、アプリの名称を記入する要素である。デバイス仕様ID(DID)603は、機種ごとに割り当てられている識別子を記入するための要素である。DID603には、アプリが動作対象とするDIDを、列挙する。なお、画像形成装置のDIDが、DID603に含まれているときに限り、アプリのインストールが可能である。仕様バージョン604は、アプリが利用可能な画像形成装置ごとに定義されている機能に割り当てられた番号である。例えば、SSL機能であれば5、画像変換処理機能であれば10、といったものである。開発者は、アプリが使用する上述した機能の番号を仕様バージョンとして列挙する。なお、マニフェストファイル417が持つ属性情報は上述した要素に限定されない。   FIG. 6 shows the components of the manifest file 417. Each element is a list of attributes and attribute values. An application name 602 representing application information is an element for entering the name of the application. A device specification ID (DID) 603 is an element for entering an identifier assigned to each model. The DID 603 lists DIDs targeted by the application for operation. Note that an application can be installed only when the DID of the image forming apparatus is included in the DID 603. The specification version 604 is a number assigned to a function defined for each image forming apparatus that can be used by an application. For example, 5 for the SSL function and 10 for the image conversion processing function. The developer lists the function numbers used by the application as the specification version. Note that the attribute information included in the manifest file 417 is not limited to the elements described above.

図7は、動作差分情報テーブル408の構造を表している。動作差分情報テーブル408は、API211の一覧と、シミュレータごとのサポートレベルを格納しているものである。なお、サポートレベルは、4段階に分かれており、フルサポート、シミュレーションサポート、一部サポート、非サポートと表現する。フルサポートは、画像形成装置と完全に同じ動作をすることを表す。シミュレーションサポートは、固定的な状態遷移に基づいて動作することを表す。即ち、画像形成ユニット等のハードウェア資源の状態に応じた状態遷移ではなく、時間経過に応じた状態遷移に基づく動作である。よって、疑似的な動作のため、画像形成装置でシミュレーションした場合と齟齬が発生する可能性はある。一部サポートは、一部の処理を除いて動作することを表す。例えば、画像形成装置の状態に基づいて様々なイベントを受け付けるAPIの場合、シミュレータでは、発生しないイベント(用紙トレイのオープンや原稿検知など)はサポートできない。非サポートは、シミュレータでは動作しないことを表す。ここでは、便宜上、フルサポートを◎、シミュレーションサポートを○、一部サポートを△、非サポートを×と表す。図7では、copy APIはシミュレータAでは、一部サポート、シミュレータBでは、シミュレーションサポート、シミュレータC、シミュレータZでは一部サポートであることを表す。なお、シミュレータAやシミュレータBは、それぞれ、画像形成装置A、画像形成装置Bに対応するシミュレータを指す。以後、シミュレータに応じて取得したサポートレベルのことを動作差分情報と呼ぶことにする。   FIG. 7 shows the structure of the operation difference information table 408. The operation difference information table 408 stores a list of APIs 211 and a support level for each simulator. The support level is divided into four stages, which are expressed as full support, simulation support, partial support, and non-support. Full support represents the same operation as that of the image forming apparatus. Simulation support represents operating based on fixed state transitions. That is, the operation is based on the state transition according to the passage of time, not the state transition according to the state of the hardware resource such as the image forming unit. Therefore, because of the pseudo operation, there is a possibility that a wrinkle occurs when the image forming apparatus performs a simulation. Partial support indicates that it operates except for some processing. For example, in the case of an API that accepts various events based on the state of the image forming apparatus, the simulator cannot support events that do not occur (paper tray open, document detection, etc.). Unsupported means that it does not work in the simulator. Here, for the sake of convenience, full support is indicated by ◎, simulation support is indicated by ○, partial support is indicated by Δ, and non-support is indicated by ×. In FIG. 7, the copy API indicates that simulator A has partial support, simulator B has simulation support, and simulator C and simulator Z have partial support. Simulator A and simulator B indicate simulators corresponding to image forming apparatus A and image forming apparatus B, respectively. Hereinafter, the support level acquired according to the simulator is referred to as operation difference information.

図8は、API利用状況情報テーブル409の構造を表している。API利用状況情報テーブル409は、アプリごとに、アプリが使用しているAPI211に関する情報の一覧をアプリ−API対応詳細情報800として格納している。図8では、アプリ1が、copy APIをApp1Class1.java(登録商標)ファイルの123行目で利用しており、getCopyDeviceというアプリが定義したAPIから呼び出していることを表している。   FIG. 8 shows the structure of the API usage status information table 409. The API usage status information table 409 stores a list of information regarding the API 211 used by the application as application-API correspondence detailed information 800 for each application. In FIG. 8, the application 1 changes the copy API to App1Class1. It is used in the 123rd line of the Java (registered trademark) file, and indicates that it is called from an API defined by an application called getCopyDevice.

図9(A)は、差分情報指摘設定ボタン503の選択通知に基づいて統合開発環境システム400が表示部306に表示する動作差分情報指摘設定画面900である。動作差分情報指摘設定画面900では、動作差分解析手段406がシミュレータとの動作差分を指摘する際に、どのサポートレベルのAPIを指摘するかを、指摘レベル設定901で行える。ここでは、指摘レベル設定901が、非サポート・一部のみサポートのものとなっている。このため、アプリが利用しているシミュレーションサポートおよびフルサポートとなっているAPIについては、指摘対象外となる。また、動作差分解析手段406は、標準では、動作差分情報テーブル408からアプリのマニフェストファイル417のDID603に基づいた画像形成装置の情報を取得してサポートレベルに応じた指摘を行う。一方、動作差分情報指摘設定画面900では、対象画像形成装置設定902で指摘対象となる画像形成装置を選択できる。これにより、開発者が意図して新しい画像形成装置向けにアプリを実装しているときに、古い画像形成装置向けの指摘を抑制できるようになる。ここでは、指定されたシミュレータが複数存在する。具体的には、画像形成装置A、画像形成装置B、画像形成装置Cが選択指定されており、画像形成装置Dの動作差分に関しては指摘対象外となる。また、動作差分解析手段406には、後述するようにアプリを動作させるシミュレータが決定した時点で、仕様バージョンが確定し、アプリの実行スコープが決定されることを利用して、指摘の精度を向上させる、動的解析機能903がある。ただし、動的解析機能903は、アプリの規模によっては処理に時間がかかり、開発者を待たせる可能性がある。このため、動作差分情報指摘設定画面900では動的解析機能の有効・無効を設定できる。これらの指摘設定情報が、図9(B)に示すような構造で差分情報指摘設定ファイル416に格納される。   FIG. 9A shows an operation difference information indication setting screen 900 that the integrated development environment system 400 displays on the display unit 306 based on the selection notification of the difference information indication setting button 503. On the operation difference information indication setting screen 900, the indication level setting 901 can indicate which support level API is indicated when the operation difference analysis means 406 points out an operation difference from the simulator. Here, the indication level setting 901 is not supported or only partially supported. For this reason, the simulation support and full support API used by the application are excluded from the indication. In addition, as a standard, the operation difference analysis unit 406 acquires information on the image forming apparatus based on the DID 603 of the manifest file 417 of the application from the operation difference information table 408, and points out according to the support level. On the other hand, on the operation difference information indication setting screen 900, an image forming device to be indicated can be selected in the target image forming device setting 902. This makes it possible to suppress indications for the old image forming apparatus when the developer intends to mount an application for the new image forming apparatus. Here, there are a plurality of designated simulators. Specifically, the image forming apparatus A, the image forming apparatus B, and the image forming apparatus C are selected and designated, and the operation difference of the image forming apparatus D is not pointed out. Further, the operation difference analysis unit 406 improves the accuracy of indication by utilizing the fact that the specification version is determined and the execution scope of the application is determined when the simulator for operating the application is determined as described later. There is a dynamic analysis function 903. However, the dynamic analysis function 903 takes time to process depending on the scale of the application, and may cause the developer to wait. For this reason, on the operation difference information indication setting screen 900, the validity / invalidity of the dynamic analysis function can be set. These indication setting information is stored in the difference information indication setting file 416 in a structure as shown in FIG.

図10は、ソースファイル編集画面501にて、ソースファイル418の変更が発生した時の処理を表すフローチャートである。なお、組込みアプリ開発支援ツール405は、統合開発環境システム400の起動時に、初期化が開始される。その際、組込みアプリ開発支援ツール405は、統合開発基盤401に対してソースファイル418の変更時にその変更情報を通知するように要求してある。   FIG. 10 is a flowchart showing processing when the source file 418 is changed on the source file editing screen 501. The embedded application development support tool 405 is initialized when the integrated development environment system 400 is activated. At that time, the embedded application development support tool 405 requests the integrated development platform 401 to notify the change information when the source file 418 is changed.

ステップ1001では、動作差分解析手段406は、統合開発基盤401から変更のあったソースファイル418の属するプロジェクト415に関する情報を取得する。ステップ1002では、動作差分解析手段406は、取得したプロジェクト情報から差分情報指摘設定ファイル416をRAM303に読み込む。このとき、RAM303には、指摘レベル設定901、対象画像形成装置設定902と動的解析機能903に関する設定情報が読み込まれる。ステップ1003では、動作差分解析手段406は、RAM303に読み込まれた対象画像形成装置設定902の情報を元に、動作差分情報テーブル408から、API211に関する動作差分情報を取得し、RAM303に読み込む。ステップ1004では、動作差分解析手段406は、統合開発基盤401から取得したソースファイル418の変更情報に、RAM303に読み込んだ動作差分情報に存在するAPI211が含まれているかを確認する。API211が含まれていなければ、ソースファイル編集画面501を更新する必要がないため処理を終了する。API211が含まれている場合は、ステップ1005に処理を移す。ステップ1005では、動作差分解析手段406は、API利用状況情報テーブル409に、該当するAPI211に関する諸情報を登録し、HDD304にAPI利用状況情報テーブル409の内容を書き込む。なお、登録するAPI211に関する諸情報として、本実施例では、API名称、ファイル名称、APIの呼び出し行番号、API211の呼び出し元APIを挙げているが、これらに限定されるわけではないことに注意されたい。   In step 1001, the operation difference analysis unit 406 acquires information regarding the project 415 to which the changed source file 418 belongs from the integrated development infrastructure 401. In step 1002, the operation difference analysis unit 406 reads the difference information indication setting file 416 from the acquired project information into the RAM 303. At this time, the RAM 303 reads setting information regarding the indication level setting 901, the target image forming apparatus setting 902, and the dynamic analysis function 903. In step 1003, the operation difference analysis unit 406 acquires operation difference information related to the API 211 from the operation difference information table 408 based on the information of the target image forming apparatus setting 902 read into the RAM 303 and reads it into the RAM 303. In step 1004, the operation difference analysis unit 406 confirms whether the change information of the source file 418 acquired from the integrated development infrastructure 401 includes the API 211 present in the operation difference information read into the RAM 303. If the API 211 is not included, the source file editing screen 501 does not need to be updated, and the process ends. If the API 211 is included, the process proceeds to step 1005. In step 1005, the operation difference analysis unit 406 registers various information related to the corresponding API 211 in the API usage status information table 409 and writes the contents of the API usage status information table 409 in the HDD 304. In this embodiment, API information, file name, API call line number, API 211 caller API are listed as various information related to the API 211 to be registered, but it should be noted that the present invention is not limited to these. I want.

ステップ1006では、動作差分解析手段406は、RAM303に読み込まれた指摘レベル設定901と動作差分情報から図11に示す表示制御テーブル1100を生成する。表示制御テーブル1100は、シミュレータごとのサポートレベルと、ソースファイル編集画面501にサポートレベルマーク1200を表示するか、しないかを表す表示可否情報1101を格納したものである。図11の表示制御テーブル1100の生成について説明する。動作差分解析手段406は、RAM303に読み込まれた各シミュレータのAPIに対するサポートレベルから、動作差分情報指摘設定画面900を介して指定されたシミュレータのAPIに対するサポートレベルを特定する。図11では、API211に含まれるimagingToCompressedPDFという、スキャンした画像を圧縮率の高いPDF(Portable Document Format)ファイルに変換するAPIが、ソースファイル418に追記されたときの制御状態を示している。なお、この例では、指摘レベル設定901には、非サポートおよび一部のみサポートが、対象画像形成装置設定902には、シミュレータA、シミュレータB、シミュレータCが設定されている。ここで、シミュレータAでは、imagingToCompressedPDFが非サポートであり、指摘レベル設定901の範囲内であるため、本APIについては、サポートレベルマーク1200として表示する、という判断になる。同様に、シミュレータCでは、imagingToCompressedPDFが一部サポートであり、指摘レベル設定901の範囲内であるため、本APIについては、サポートレベルマーク1200として表示する、という判断になる。一方で、シミュレータBでは、imagingToCompressedPDFがシミュレーションサポートであり、指摘レベル設定901の範囲外であるため、本APIについては、サポートレベルマーク1200として表示しない、という判断になる。ステップ1007では、動作差分解析手段406は、表示制御テーブル1100の情報をエディター更新手段410に通知する。ステップ1008では、エディター更新手段410は、表示可否情報1101が「表示」となっている対象シミュレータのうち、サポートレベルが全て同一であるかを確認する。このとき、サポートレベルが全て同一である場合、ステップ1009に処理を進める。逆に、例えば、図11では、シミュレータAおよびシミュレータCが表示対象となっているが、サポートレベルはそれぞれ異なっている。このような場合は、ステップ1010に処理を進めることになる。ステップ1009では、エディター更新手段410は、サポートレベル情報をアイコン情報に変換し、統合開発基盤401にソースファイル編集画面501にサポートレベルマーク1200を表示するように要求する。ステップ1010では、エディター更新手段410は、最も低いサポートレベル情報をアイコン情報に変換し、付加情報をつけて、ソースファイル編集画面501にサポートレベルマークを表示するように要求する。   In step 1006, the motion difference analysis means 406 generates the display control table 1100 shown in FIG. 11 from the indication level setting 901 and the motion difference information read into the RAM 303. The display control table 1100 stores the support level for each simulator and display availability information 1101 indicating whether the support level mark 1200 is displayed on the source file editing screen 501 or not. The generation of the display control table 1100 in FIG. 11 will be described. The motion difference analysis means 406 identifies the support level for the simulator API specified via the motion difference information indication setting screen 900 from the support level for each simulator API read into the RAM 303. FIG. 11 shows a control state when an API for converting a scanned image into a PDF (Portable Document Format) file having a high compression rate, called imagingToCompressedPDF included in the API 211, is added to the source file 418. In this example, non-support and partial support are set in the indication level setting 901, and simulator A, simulator B, and simulator C are set in the target image forming apparatus setting 902. Here, in Simulator A, imagingToCompressedPDF is unsupported and is within the range of the indication level setting 901, so that this API is determined to be displayed as a support level mark 1200. Similarly, in simulator C, imagingToCompressedPDF is partially supported and is within the indication level setting 901, so that this API is determined to be displayed as a support level mark 1200. On the other hand, in Simulator B, imagingToCompressedPDF is a simulation support and is outside the range of the indication level setting 901. Therefore, it is determined that this API is not displayed as the support level mark 1200. In step 1007, the motion difference analysis unit 406 notifies the editor update unit 410 of information on the display control table 1100. In step 1008, the editor update means 410 confirms whether the support levels are the same among the target simulators whose display enable / disable information 1101 is “display”. At this time, if all the support levels are the same, the process proceeds to step 1009. Conversely, for example, in FIG. 11, simulator A and simulator C are displayed, but the support levels are different. In such a case, the process proceeds to step 1010. In step 1009, the editor update unit 410 converts the support level information into icon information, and requests the integrated development platform 401 to display the support level mark 1200 on the source file editing screen 501. In step 1010, the editor update unit 410 converts the lowest support level information into icon information, attaches additional information, and requests to display the support level mark on the source file editing screen 501.

図12、ソースファイル編集画面501およびAPI動作差分情報プロパティ画面505を表しており、アプリがAPI211を利用している箇所を抜粋したものである。この例では、imagingToPDF、imagingToCompressedPDF、imagingToCompressedSearchablePDFがAPI211に該当する。なお、指摘レベル設定901は、非サポート、一部のみサポート、対象画像形成装置設定902は、画像形成装置A、画像形成装置B、画像形成装置Yが有効になっている。ここで、imagingToPDFに対して、サポートレベルマーク1200の表示がないのは、本APIがシミュレーションサポートあるためである。一方で、imagingToCompressedPDFは、シミュレータAおよびシミュレータCでは、指摘レベル設定901に該当するサポートレベルとなっており、サポートレベルマーク1200が横に表示されている。即ち、シミュレータAおよびシミュレータCは、特定されたシミュレータであり、特定されたサポートレベルが動作差分情報指摘設定画面900を介して指定されたシミュレータのAPIに対するサポートレベルに含まれる場合にサポートレベルマークが表示される。加えて、シミュレータAおよびシミュレータCでは、サポートレベルが異なっているためサポートレベルマークに付加情報として「!」が記されている。これにより、ソースファイルの該当箇所は画像形成装置ごとにサポートレベルが異なることが認識できる。表示として「!」を表示したが、夫々のサポートレベルに対応するサポートレベルマークを同時に表示しても良い。   FIG. 12 shows a source file editing screen 501 and an API operation difference information property screen 505, which are excerpts of locations where the application uses the API 211. In this example, imagingToPDF, imagingToCompressedPDF, and imagingToCompressedSearchablePDF correspond to the API 211. Note that the indication level setting 901 is not supported, only a part is supported, and the target image forming apparatus setting 902 is valid for the image forming apparatus A, the image forming apparatus B, and the image forming apparatus Y. Here, the reason why the support level mark 1200 is not displayed for imagingToPDF is that this API has simulation support. On the other hand, the imagingToCompressed PDF has a support level corresponding to the indication level setting 901 in the simulator A and the simulator C, and the support level mark 1200 is displayed horizontally. That is, the simulator A and the simulator C are specified simulators, and the support level mark is displayed when the specified support level is included in the support level for the simulator API specified via the operation difference information indication setting screen 900. Is displayed. In addition, since simulator A and simulator C have different support levels, “!” Is written as additional information in the support level mark. Thereby, it can be recognized that the corresponding level of the source file has a different support level for each image forming apparatus. Although “!” Is displayed as the display, a support level mark corresponding to each support level may be displayed at the same time.

また、imagingToCompressedSearchablePDFは、シミュレータAおよびシミュレータCでは非サポートであるため、サポートレベルマーク1200が表示されている。この時、シミュレータAおよびシミュレータCのサポートレベルは同一であるため、非サポートを示すマークのみ表示される。API動作差分情報プロパティ画面505には、このような、APIごとのサポートレベルに関する情報が表示される。なお、ソースファイル編集画面501にて選択中の行(図12では、imagingToCompressedPDF(stream);)に関する情報は、反転して表示される。なお、実施例1ではサポートレベルマークを表示する形態としたが必ずしもこのような表示である必要はない。例えば、APIに該当する部分をサポートレベルに応じて色を変更して表示する形態であっても良い。このように、APIに対する画像形成装置とシミュレータとの動作差分が認識でるように表示することができれば、どのような表示形態であっても良い。   Further, since imagingToCompressedSearchablePDF is not supported in simulator A and simulator C, a support level mark 1200 is displayed. At this time, since the support levels of simulator A and simulator C are the same, only a mark indicating non-support is displayed. The API operation difference information property screen 505 displays such information regarding the support level for each API. It should be noted that information relating to the line currently selected on the source file editing screen 501 (in FIG. 12, imagingToCompressedPDF (stream);) is displayed in an inverted manner. In the first embodiment, the support level mark is displayed. However, such a display is not necessarily required. For example, the form corresponding to the API may be displayed by changing the color according to the support level. In this way, any display form may be used as long as it can be displayed so that the operation difference between the image forming apparatus and the simulator for the API can be recognized.

図13(A)は、シミュレータランチャー起動ボタン504の選択通知に基づいてシミュレータランチャー起動手段411が操作部306に出力されている状況を表している。選択されたシミュレータが起動対象のシミュレータとなる。   FIG. 13A shows a situation in which the simulator launcher activation unit 411 is output to the operation unit 306 based on the selection notification of the simulator launcher activation button 504. The selected simulator becomes the simulator to be activated.

図13(B)は、シミュレータランチャー起動手段411からシミュレータを起動するときに、注意事項確認画面1400および注意事項確認画面1401を操作部306に出力するまでのフローチャートである。ステップ1300では、シミュレータランチャー起動手段411は、選択された画像形成装置名をAPI利用状況表示手段412に通知する。ステップ1301では、API利用状況表示手段412は、動作差分解析手段406に、選択された画像形成装置に対応したAPIの利用状況を生成するように要求する。ステップ1302では、動作差分解析手段406は、動作差分情報テーブル408から選択された画像形成装置に対応するシミュレータに関する動作差分情報を取得しRAM303に読み込む。ステップ1303では、動作差分解析手段406は、差分情報指摘設定ファイル416をRAM303に読み込み、動的解析機能903が無効であるかを確認する。無効の場合、ステップ1304へ、有効の場合、ステップ1308へ処理をすすめる。ステップ1304では、動作差分解析手段406は、統合開発基盤401に対して、プロジェクト・エクスプローラ502で選択中のプロジェクト415に関する情報を取得する。そして、動作差分解析手段406は、API利用状況情報テーブル409から、取得したアプリのプロジェクト415の情報を元に対応するアプリ−API対応詳細情報800を取得する。ステップ1305では、動作差分解析手段406は、アプリに対応するアプリ−API対応詳細情報800から取得したAPIと動作差分情報を照らし合わせてフルサポート以外のアプリ−API対応詳細情報800を抽出する。そして、動作差分解析手段406は、抽出した情報をAPI利用状況表示手段412に返す。ステップ1306では、API利用状況表示手段412は、動作差分解析手段406から受け取った結果を、表示するように統合開発基盤401に要求する。その結果、図14(A)の注意事項確認画面1400が表示される。注意事項確認画面1400には、起動するシミュレータ(図14(A)では、シミュレータA)上でフルサポートではないAPIに関する諸情報が表示されている。一方、ステップX1308では、動的解析機能903が有効であるため、動作差分解析手段406は、選択中のプロジェクトの全てのソースに対して、仕様バージョン604による分岐制御を考慮して、アプリ−API対応詳細情報800を生成しなおす。具体的には、画像形成装置Aで定義されている仕様バージョン604が10のみの場合、図12のソースファイル418上では、以下の制御文によるスコープ内の処理しか画像形成装置A上では実行されることがない。   FIG. 13B is a flowchart up to outputting the caution confirmation screen 1400 and the caution confirmation screen 1401 to the operation unit 306 when starting the simulator from the simulator launcher starting means 411. In step 1300, the simulator launcher activation unit 411 notifies the API usage status display unit 412 of the selected image forming apparatus name. In step 1301, the API usage status display unit 412 requests the operation difference analysis unit 406 to generate an API usage status corresponding to the selected image forming apparatus. In step 1302, the operation difference analysis unit 406 acquires operation difference information related to the simulator corresponding to the selected image forming apparatus from the operation difference information table 408 and reads it into the RAM 303. In step 1303, the operation difference analysis unit 406 reads the difference information indication setting file 416 into the RAM 303 and confirms whether the dynamic analysis function 903 is invalid. If invalid, the process proceeds to step 1304. If valid, the process proceeds to step 1308. In step 1304, the operation difference analysis unit 406 acquires information related to the project 415 selected by the project explorer 502 from the integrated development platform 401. Then, the operation difference analysis unit 406 acquires the corresponding application-API corresponding detailed information 800 from the API usage status information table 409 based on the acquired information of the application project 415. In step 1305, the operation difference analysis unit 406 extracts the application-API corresponding detailed information 800 other than the full support by comparing the API acquired from the application-API corresponding detailed information 800 corresponding to the application with the operation difference information. Then, the motion difference analysis unit 406 returns the extracted information to the API usage status display unit 412. In step 1306, the API usage status display unit 412 requests the integrated development platform 401 to display the result received from the operation difference analysis unit 406. As a result, the notice confirmation screen 1400 in FIG. 14A is displayed. The precautions confirmation screen 1400 displays various information related to APIs that are not fully supported on the simulator to be started (simulator A in FIG. 14A). On the other hand, in step X1308, since the dynamic analysis function 903 is valid, the operation difference analysis unit 406 considers branch control according to the specification version 604 for all sources of the selected project, and the application-API. The correspondence detailed information 800 is generated again. Specifically, when the specification version 604 defined in the image forming apparatus A is only 10, the processing within the scope based on the following control statement is executed on the image forming apparatus A on the source file 418 in FIG. There is nothing to do.

if(System.getProperty(“SpecID”). indexOf(“10”)) {
imagingToPDF(stream);

なお、System.getProperty(“SpecID”)は、画像形成装置で定義されている仕様バージョン604を取得するための記述である。そして、System.getProperty(“SpecID”).indexOf(“10”)は、取得した仕様バージョン604に10が含まれているかどうかの真偽値を返すものである。この動的解析機能903により、imagingToCompressedPDF、imagingToCompressedSearchablePDFは、同一ソースファイル418上に存在するものの、画像形成装置A上では処理されないため、図14(B)の注意事項確認画面1401上では、指摘されなくなる。
if (System.getProperty (“SpecID”). indexOf (“10”)) {
imagingToPDF (stream);
}
Note that System. getProperty (“SpecID”) is a description for acquiring a specification version 604 defined in the image forming apparatus. And System. getProperty (“SpecID”). indexOf (“10”) returns a true / false value indicating whether or not 10 is included in the acquired specification version 604. With this dynamic analysis function 903, imagingToCompressedPDF and imagingToCompressedSearchablePDF are present on the same source file 418, but are not processed on the image forming apparatus A. .

以上により、画像形成装置のアプリ開発者は、統合開発環境システム400に登録された組込みアプリ開発支援ツール405を使うことで、開発中のアプリが利用しているAPI211が動作確認対象としているシミュレータで利用可能かを実行前に判断できる。例えば、開発者が、画像形成装置Aで動作するアプリがシミュレータAでは利用できないAPI211をソースファイル編集画面501で追記した場合、サポートレベルマーク1200として表示される。このため、開発者は、該当箇所に関する動作確認はシミュレータでも十分なのか、実際の画像形成装置で行うべきなのかを容易に判断できる。これにより、画像形成装置上での動作確認作業を削減できる。また、アプリが複数の画像形成装置上で動作することを想定している場合に、組込みアプリ開発支援ツール405は、シミュレータごとのサポートレベルの差異がわかるように表示する。このため、例えば、同一の動作確認をシミュレータAおよびシミュレータBで実施するときに、シミュレータAでは動いたから、シミュレータBでも動くという開発者の思い込みによる誤った動作確認作業を未然に防げるようになる。また、シミュレータ起動前に、シミュレータ上で動作を保証しないAPIに関する情報を注意事項確認画面1400として表示する。これにより、開発者は、実際に動作確認作業をする直前に、シミュレータでのサポートレベルに応じてアプリが利用しているAPI211に関する情報を確認できる。また、動的解析機能903を有効にすると、アプリが仕様バージョンによるAPI211の利用を分岐制御している場合、動作確認を実施するシミュレータに基づいてソースファイル418上の指摘するスコープを制限できる。これにより、注意事項確認画面1401での不要な指摘を削減できるため、開発者の視認性が向上する。   As described above, the application developer of the image forming apparatus uses the embedded application development support tool 405 registered in the integrated development environment system 400, so that the API 211 used by the application under development is a simulator whose operation is to be confirmed. Can be used before execution. For example, when an application that operates on the image forming apparatus A adds an API 211 that cannot be used in the simulator A on the source file editing screen 501, the developer is displayed as a support level mark 1200. For this reason, the developer can easily determine whether the operation confirmation regarding the corresponding part is sufficient even with the simulator or should be performed with the actual image forming apparatus. As a result, the operation confirmation work on the image forming apparatus can be reduced. In addition, when it is assumed that the application operates on a plurality of image forming apparatuses, the embedded application development support tool 405 displays the difference in support level for each simulator. For this reason, for example, when the same operation check is performed in the simulator A and the simulator B, since the simulator A moved, an erroneous operation check operation due to the developer's assumption that the simulator B also moves can be prevented. In addition, before starting the simulator, information related to an API whose operation is not guaranteed on the simulator is displayed as a precaution check screen 1400. Thereby, the developer can confirm the information regarding the API 211 used by the application according to the support level in the simulator immediately before the actual operation confirmation work. In addition, when the dynamic analysis function 903 is enabled, the scope pointed out on the source file 418 can be limited based on the simulator that performs the operation check when the application branches and controls the use of the API 211 by the specification version. As a result, unnecessary indications on the precautions confirmation screen 1401 can be reduced, so that the visibility of the developer is improved.

406 動作差分解析手段
408 動作差分情報テーブル
409 API利用状況情報テーブル
410 エディター更新手段
412 API利用状況表示手段
406 Operation difference analysis means 408 Operation difference information table 409 API usage status information table 410 Editor update means 412 API usage status display means

Claims (8)

画像処理ユニットを利用したサービスを提供するアプリケーションのソースファイルを編集可能な情報処理装置であって、
画像形成装置ごとに用意された、アプリケーションをテスト動作させるためのシミュレータと、
ソースファイルを編集するためのソースファイル編集画面を介して前記アプリケーションに対応するソースファイルにアプリケーションプログラミングインターフェース(以後、APIと称する)が加えられた場合、前記シミュレータごとに設定された前記APIに対するサポートレベルを読み込む読み込み手段と、
前記読み込み手段により読み込まれた各シミュレータのAPIに対するサポートレベルを基に、前記APIに対する画像形成装置とシミュレータとの動作差分が認識できるように前記ソースファイル編集画面を表示する表示制御手段と、を有する情報処理装置。
An information processing apparatus capable of editing a source file of an application that provides a service using an image processing unit,
A simulator prepared for each image forming apparatus to test the application;
When an application programming interface (hereinafter referred to as API) is added to the source file corresponding to the application via the source file editing screen for editing the source file, the support level for the API set for each simulator Means to read
Display control means for displaying the source file editing screen so that an operation difference between the image forming apparatus and the simulator for the API can be recognized based on the support level for the API of each simulator read by the reading means. Information processing device.
前記ソースファイル編集画面にサポートレベルマークを表示するサポートレベルの指定と、前記アプリケーションをテスト動作させるシミュレータの指定とを受け付ける受け付け手段と、
前記読み込み手段により読み込まれた各シミュレータのAPIに対するサポートレベルから前記受け付け手段により受け付けられたシミュレータのAPIに対するサポートレベルを特定する特定手段と、を有し、
前記表示制御手段は、特定された前記サポートレベルが前記受け付け手段により受け付けられたサポートレベルの指定に含まれる場合に、特定された前記サポートに対応するサポートレベルマークを表示することを特徴とする請求項1に記載の情報処理装置。
Accepting means for accepting designation of a support level for displaying a support level mark on the source file editing screen and designation of a simulator for performing the test operation of the application;
Specifying means for specifying a support level for the API of the simulator received by the receiving means from a support level for the API of each simulator read by the reading means;
The display control means displays a support level mark corresponding to the specified support when the specified support level is included in the specification of the support level received by the receiving means. Item 4. The information processing apparatus according to Item 1.
前記受け付け手段により受け付けられたシミュレータの指定が複数存在し、前記特定手段により特定されたサポートレベルが複数存在する場合であって、
前記表示制御手段は、前記特定手段により特定された複数のサポートレベルが、前記受け付け手段により受け付けられた複数のシミュレータの指定に含まれる場合、前記特定手段により特定された複数のサポートレベルに対応する夫々のサポートレベルマークを同時に表示することを特徴とする請求項2に記載の情報処理装置。
When there are a plurality of simulator designations received by the receiving means, and there are a plurality of support levels specified by the specifying means,
The display control unit corresponds to the plurality of support levels specified by the specifying unit when the plurality of support levels specified by the specifying unit are included in the designation of the plurality of simulators received by the receiving unit. The information processing apparatus according to claim 2, wherein each support level mark is displayed simultaneously.
前記シミュレータの中からユーザにより指定されたシミュレータを起動する起動手段と、
前記表示制御手段は、前記起動手段により起動対象のシミュレータが起動される前に、前記APIに対する前記画像形成装置と前記シミュレータとに動作差分が存在することを認識させる注意事項確認画面を表示することを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
Starting means for starting a simulator designated by the user from among the simulators;
The display control means displays a precaution check screen for recognizing that an operation difference exists between the image forming apparatus and the simulator for the API before the activation target simulator is activated by the activation means. The information processing apparatus according to any one of claims 1 to 3.
前記アプリケーションを動作させる仮想マシンを搭載した画像形成装置に含まれる当該仮想マシンの仕様バージョンを取得する取得手段を有し、
前記シミュレータの中からユーザにより指定されたシミュレータに対応する画像形成装置であって、当該画像形成装置に搭載された仮想マシンの仕様バージョンを前記取得手段により取得された際、取得された前記仕様バージョンによる分岐制御を考慮し、前記アプリケーションに対応するソースファイルに含まれるAPIが実行されないことが確認された場合は、前記注意事項確認画面に前記APIに対する前記画像形成装置と前記シミュレータとに動作差分が存在することを表示しないように制御することを特徴とする請求項4に記載の情報処理装置。
Having an acquisition means for acquiring a specification version of the virtual machine included in an image forming apparatus equipped with a virtual machine that operates the application;
The image forming apparatus corresponding to the simulator designated by the user from among the simulators, and the specification version acquired when the specification version of the virtual machine mounted on the image forming apparatus is acquired by the acquisition unit If it is confirmed that the API included in the source file corresponding to the application is not executed in consideration of the branch control by the 5. The information processing apparatus according to claim 4, wherein control is performed so as not to display the presence.
前記サポートレベルとは、シミュレータが画像形成装置と同じ動作をすることを表すフルサポート、および固定的な状態遷移に基づいて動作することを表すシミュレーションサポート、およびAPIの内の一部の処理を除いて動作することを表す一部サポート、およびシミュレータでは動作しないことを表す非サポートを含むことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。   The support level means a full support indicating that the simulator performs the same operation as the image forming apparatus, a simulation support indicating that the simulator operates based on a fixed state transition, and a part of processing in the API. 6. The information processing apparatus according to claim 1, further comprising: a partial support indicating that the operation is performed and a non-support indicating that the operation is not performed in the simulator. 画像処理ユニットを利用したサービスを提供するアプリケーションのソースファイルを編集可能な情報処理装置を制御する制御方法であって、
画像形成装置ごとに用意されたシミュレータは、アプリケーションをテスト動作させ、
読み込み手段は、ソースファイルを編集するためのソースファイル編集画面を介して前記アプリケーションに対応するソースファイルにアプリケーションプログラミングインターフェース(以後、APIと称する)が加えられた場合、前記シミュレータごとに設定された前記APIに対するサポートレベルを読み込み、
表示制御手段は、前記読み込み手段により読み込まれた各シミュレータのAPIに対するサポートレベルを基に、前記APIに対する画像形成装置とシミュレータとの動作差分が認識できるように前記ソースファイル編集画面を表示することを特徴とする情報処理装置を制御する制御方法。
A control method for controlling an information processing apparatus capable of editing a source file of an application that provides a service using an image processing unit,
The simulator prepared for each image forming device runs the application as a test,
When an application programming interface (hereinafter referred to as API) is added to the source file corresponding to the application via the source file editing screen for editing the source file, the reading unit is configured to Read the support level for the API,
The display control means displays the source file editing screen so that an operation difference between the image forming apparatus and the simulator for the API can be recognized based on the support level for the API of each simulator read by the reading means. A control method for controlling a characteristic information processing apparatus.
請求項7に記載の制御方法を情報処理装置に実行させるためのプログラム。   A program for causing an information processing apparatus to execute the control method according to claim 7.
JP2012006201A 2012-01-16 2012-01-16 Information processing apparatus, control method and program thereof Pending JP2013145502A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012006201A JP2013145502A (en) 2012-01-16 2012-01-16 Information processing apparatus, control method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012006201A JP2013145502A (en) 2012-01-16 2012-01-16 Information processing apparatus, control method and program thereof

Publications (1)

Publication Number Publication Date
JP2013145502A true JP2013145502A (en) 2013-07-25

Family

ID=49041254

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012006201A Pending JP2013145502A (en) 2012-01-16 2012-01-16 Information processing apparatus, control method and program thereof

Country Status (1)

Country Link
JP (1) JP2013145502A (en)

Similar Documents

Publication Publication Date Title
US20130074048A1 (en) System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium
US9632754B2 (en) Auto generation and linkage of source code to test cases
JP5440252B2 (en) Information processing apparatus, external apparatus, information processing system, information processing method, and program
JP6024126B2 (en) Failure response support apparatus, failure response support system, failure response support method, and failure response support program
JP2004185595A (en) Information processor and program therefor
JP2004185593A (en) Image forming apparatus and application execution method
JP2013149026A (en) Information processing apparatus, control method, and program thereof
JP2013145502A (en) Information processing apparatus, control method and program thereof
JP2014056547A (en) Counter-failure support device, counter-failure support system, counter-failure support method, and counter-failure support program
JP2009223577A (en) User interface emulation device and user interface emulation program
JP2008198097A (en) Information processor, control device, script processing method, storage medium, and program
JP2011053729A (en) Program development support device and system
CN112272820A (en) Support device and support program
JP2011060236A (en) Information processor, development support program, and software integrated development environment
JP7328922B2 (en) Setting device, setting method, and program
JP6740632B2 (en) Information processing system, screen display information generation method, electronic device and browser program
JP2010218469A (en) Information processor, information processing method, program and recording medium
JP5630556B2 (en) Information processing apparatus, external apparatus, information processing system, information processing method, and program
US20210042131A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP4080739B2 (en) Application generating method for image forming apparatus and program causing computer to execute the method
US20220300269A1 (en) Information processing apparatus, information processing system, and information processing method
JP5250518B2 (en) Operation check system and target device
JP5337686B2 (en) Application program generation method and image forming apparatus
JP5144624B2 (en) Image forming apparatus
JP2009054148A (en) Image forming apparatus, program, and recording medium