JP7006656B2 - プログラム及び情報処理装置 - Google Patents

プログラム及び情報処理装置 Download PDF

Info

Publication number
JP7006656B2
JP7006656B2 JP2019092351A JP2019092351A JP7006656B2 JP 7006656 B2 JP7006656 B2 JP 7006656B2 JP 2019092351 A JP2019092351 A JP 2019092351A JP 2019092351 A JP2019092351 A JP 2019092351A JP 7006656 B2 JP7006656 B2 JP 7006656B2
Authority
JP
Japan
Prior art keywords
display
display area
displayed
data
information
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.)
Active
Application number
JP2019092351A
Other languages
English (en)
Other versions
JP2019169171A (ja
JP2019169171A5 (ja
Inventor
真人 大野
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2019092351A priority Critical patent/JP7006656B2/ja
Publication of JP2019169171A publication Critical patent/JP2019169171A/ja
Publication of JP2019169171A5 publication Critical patent/JP2019169171A5/ja
Priority to JP2021213583A priority patent/JP7331917B2/ja
Priority to JP2021213582A priority patent/JP7264225B2/ja
Application granted granted Critical
Publication of JP7006656B2 publication Critical patent/JP7006656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、プログラム及び情報処理装置に関する。
例えば教育現場で生徒が使用する、各種計算、情報処理等を行う情報機器が知られている。また、当該情報機器の動作をパーソナルコンピュータ(PC)等でエミュレートするエミュレータが知られている。
例えば非特許文献1には、教育現場で用いられる上述のような情報機器及びエミュレータを含むシステムについて開示されている。このシステムでは、情報機器とPC等とがUSBインターフェースを用いて接続されることが開示されている。また、PC等で動作するエミュレータで作成したデータが情報機器に配信されたり、PC等で情報機器のファイル管理及び設定変更等を行うことができることが開示されている。
Texas Instruments Inc., TI-Nspire(TM) CX CAS Handheld, [online], [平成29年9月11日検索], インターネット<URL: https://education.ti.com/en/products/calculators/graphing-calculators/ti-nspire-cx-cas>
本発明は、エミュレータの操作性を向上できるプログラム及び情報処理装置を提供することを目的とする。
本発明に係るプログラムは、情報処理装置のコンピュータを、仮想の電子機器を第一ディスプレイに表示させる際に、当該第一ディスプレイに、前記仮想の電子機器の仮想のメモリが記憶している内容を各表示対象とする第一の表示領域及び第二の表示領域を設定する設定手段
前記第一の表示領域及び前記第二の表示領域に表示する内容を制御する表示制御手段と、
として機能させ、
前記設定手段は、
前記第一の表示領域、前記仮想の電子機器の仮想のディスプレイとして設定
前記第二の表示領域、前記表示対象の内容のうち前記第一の表示領域が一画面内に表示可能な最大量よりも多くの内容を、一画面内に表示可能に設定し、
前記表示制御手段は、
前記仮想の電子機器の仮想のメモリが記憶している内容の一部である第一の内容を、前記第一の表示領域に表示し、
前記仮想の電子機器の仮想のメモリが記憶している前記内容のうち、前記第一の内容及び当該第一の内容の前後少なくとも何れかに連続する内容を含む第二の内容を、前記第二の表示領域に一時に表示する、ことを特徴とする。
本発明によれば、エミュレータの操作性を向上できるプログラム及び情報処理装置を提供できる。
図1は、一実施形態に係る情報処理システムの構成例の概略を示すブロック図である。 図2は、一実施形態に係る情報処理システムの構成例の概略を示す概念図である。 図3は、一実施形態に係る情報機器の動作の一例にの概略を示すフローチャートである。 図4は、一実施形態に係るコンピュータが実行するエミュレータの構成例の概略を示すブロック図である。 図5は、一実施形態に係るエミュレータの動作の一例の概略を示すフローチャートである。 図6は、一実施形態に係るエミュレータの動作の一例の概略を示すフローチャートである。 図7は、一実施形態に係るエミュレータの動作の一例の概略を示すフローチャートである。 図8は、一実施形態に係るエミュレータのフレームの表示例の概略を示す図である。 図9は、一実施形態に係るエミュレータの動作の一例の概略を示すフローチャートである。 図10は、一実施形態に係るエミュレータのフレームの表示例の概略を示す図である。 図11は、一実施形態に係る情報処理システムの動作の一例の概略を示すフローチャートである。 図12は、一実施形態に係る退避データを管理するための管理データの構造の一例の概略を示す図である。 図13は、一実施形態に係る情報処理システムの動作の一例の概略を示すフローチャートである。 図14は、一実施形態に係る情報処理システムの動作の一例の概略を示すフローチャートである。
[情報処理システムの構成]
本発明の一実施形態について図面を参照して説明する。本実施形態は、情報機器としての実機である関数電卓と、この関数電卓の動作をエミュレートするエミュレータがインストールされたコンピュータとを含む、情報処理システムに関する。図1のブロック図は、本実施形態に係る情報処理システム1の構成例の概略を示す。また、図2は、本実施形態に係る情報処理システム1の概念を示す。
情報処理システム1は、コンピュータ100と実機である複数の情報機器200とを含む。情報処理システム1が含む情報機器200の数は、いくつでもよい。図1及び図2には、3つの情報機器201,202,203が含まれる情報処理システム1が示されている。これらの情報機器201,202,203は、何れも同様のものである。また、情報処理システム1は、図1及び図2に示すようにプロジェクタ300を備えてもよい。情報処理システム1の教室における1つの使用態様は、以下のようなものである。すなわち、複数の生徒の各々は、情報機器としての関数電卓を操作する。教師は、コンピュータ100のエミュレータソフトウェアでエミュレートした関数電卓の動作を、プロジェクタ300でスクリーン301に投影し、授業を行う。
〈コンピュータの構成〉
コンピュータ100は、例えばパーソナルコンピュータ(PC)、タブレット型の電子端末等であり得る。コンピュータ100は、バスライン190を介して互いに接続されたcentral processing unit(CPU)110と、read only memory(ROM)120と、random access memory(RAM)130と、ストレージ140と、入力装置150と、表示装置160と、通信装置170と、インターフェース(I/F)180とを備える。
CPU110は、各種信号処理等を行う。ROM120は、BIOS等を記録している。RAM130は、CPU110の主記憶装置として機能する。RAM130には、例えば、dynamic RAM(DRAM)、static RAM(SRAM)等が用いられ得る。ストレージ140には、例えば、hard disk drive(HDD)、solid state drive(SSD)等が用いられる。ストレージ140には、CPU110で用いられるプログラム、パラメータ等各種情報が記録されている。ストレージ140は、コンピュータ100で実行される情報機器200をエミュレートするエミュレータソフトウェアに係るプログラムも記録している。また、ストレージ140は、情報機器201等から取得したデータを保管する。RAM130及びストレージ140は、これに限らず各種記憶装置に置換され得る。
入力装置150は、例えばキーボード151、マウス152等である。表示装置160は、これに限らないが例えば液晶ディスプレイ161等である。通信装置170は、コンピュータ100の外部の機器と通信を行う際に用いられる。通信装置170は、例えば、情報機器201,202,203等との通信に用いられ得る。この通信には、universal serial bus(USB)等の有線による通信が用いられてもよいし、Bluetooth(登録商標)又はWi-Fi(登録商標)といった無線通信が用いられてもよい。I/F180は、コンピュータ100の外部の機器との接続に用いられる。図1及び図2に示す例では、コンピュータ100にプロジェクタ300が接続されている。プロジェクタ300は、例えば、表示装置160に表示される画面を表示画面405としてスクリーン301に投影する。
〈情報機器の構成〉
例えば関数電卓の実機である情報機器201は、バスライン290を介して互いに接続された、プロセッサ210と、記憶装置220と、入力装置230と、表示装置240と、通信装置250とを備える。プロセッサ210は、情報機器201に係る各種演算を行う。プロセッサ210は、CPU、application specific integrated circuit(ASIC)、又はfield programmable gate array(FPGA)等といった集積回路を含む。プロセッサ210は、1つの集積回路等で構成されてもよいし、複数の集積回路等が組み合わされて構成されてもよい。プロセッサ210の動作は、例えば記憶装置220に記録された又はプロセッサ210に含まれるプログラムに従って行われる。記憶装置220は、例えばROM、RAM、フラッシュメモリ等の各種半導体メモリを含み得る。記憶装置220は、ユーザが入力した命令、プログラム等を記憶する。さらに、情報機器201,202,203等には、個体ごとに固有のIDが割り当てられている。記憶装置220は、この機器固有のIDを記憶している。記憶装置220の記憶容量は、情報機器200の経済性、簡便性、省エネ性等を考慮して、小さいことが想定される。
入力装置230は、例えば複数の入力キー231を含む。ユーザは、入力装置230を用いて情報機器201に各種命令を入力したり、プログラムコードを入力したりする。表示装置240は、例えば液晶ディスプレイ241を含む。表示装置240は、ユーザによる入力結果、プロセッサ210による計算結果等を表示する。通信装置250は、例えばコンピュータ100の通信装置170との間で通信を行う。
[情報処理システムの動作]
〈情報機器の動作〉
例えば関数電卓の実機である情報機器200の動作について、図3に示すフローチャートを参照して説明する。情報機器200は、単独で関数電卓として機能する計算モードと、コンピュータ100等と通信して協働する通信モードとを備える。ユーザは、情報機器200のメニュー画面を開き、メニュー画面で選択操作を行うことでモードを選択することができる。計算モードでは、情報機器200は、ユーザが何れの入力キー231を押したかに係る情報を取得してユーザの入力に応じた、四則演算、各種関数の演算、プログラムコードの編集、プログラムの実行等といった処理を行う。また、通信モードでは、情報機器200は、コンピュータ100宛に、情報機器200への入力、情報機器200の演算結果、情報機器200で編集されているプログラムコード、情報機器200で実行されたプログラムの実行結果等を送信する。また、通信モードでは、情報機器200は、コンピュータ100から、コンピュータ100のエミュレータへの入力、エミュレータの演算結果、エミュレータで編集されているプログラムコード、エミュレータで実行されたプログラムの実行結果等を受信する。
ステップS101において、プロセッサ210は、入力キー231への入力を取得する。ステップS102において、プロセッサ210は、現在選択されているモードが通信モードであるか否かを判定する。通信モードでないとき、すなわち、計算モードであるとき、処理はステップS103に進む。
ステップS103において、プロセッサ210は、入力に応じた処理を実行する。ステップS104において、プロセッサ210は、ステップS103の処理に応じた画面データを生成する。ステップS105において、プロセッサ210は、ステップS104で生成したデータに基づいて、液晶ディスプレイ241の表示を更新する。その後、処理はステップS112に進む。
例えば、ユーザが入力キー231を用いて計算式を入力しているとき、プロセッサ210は、入力された値、文字、関数等を記憶装置220に記憶させながら、液晶ディスプレイ241に入力された値等を表示させる。また、ユーザが入力キー231を用いて計算実行を入力したとき、プロセッサ210は、記憶装置220に記憶されている計算式についての計算を行って計算結果を得て、得られた計算結果を記憶装置220に記憶させる。また、プロセッサ210は、液晶ディスプレイ241に得られた計算結果を表示させる。
同様に、ユーザが入力キー231を用いてプログラムを入力しているとき、プロセッサ210は、入力された文字等を記憶装置220に記憶させながら、液晶ディスプレイ241に入力された文字等を表示させる。また、ユーザが入力キー231を用いてプログラムの実行を入力したとき、プロセッサ210は、記憶装置220に記憶されているプログラムを実行する。プロセッサ210は、プログラムの実行によってユーザに入力を求めるときには、その旨を液晶ディスプレイ241に表示させるし、表示させるべき計算結果等が得られたときには、当該結果等を記憶装置220に記憶させ、当該結果等を液晶ディスプレイ241に表示させる。
ステップS102において通信モードであると判定されたとき、処理はステップS106に進む。ステップS106において、プロセッサ210は、ユーザによって入力キー231を用いてデータ受信要求を行う旨が入力されたか否かを判定する。データ受信要求を行う旨が入力されていないとき、処理はステップS108に進む。一方、データ受信要求を行う旨が入力されたとき、処理はステップS107に進む。
ステップS107において、プロセッサ210は、データ受信要求処理を実行する。データ受信要求処理では、プロセッサ210は、コンピュータ100との通信を行い、コンピュータ100から各種データの受信を開始する処理を行う。データ受信要求処理には、記憶装置220に記憶されているデータをコンピュータ100に送信し、当該データをコンピュータ100のストレージ140に記憶させる処理が含まれる。データ受信要求処理については、後述する。データ受信要求処理の後、処理はステップS108に進む。
ステップS108において、プロセッサ210は、コンピュータ100からデータを受信したか否かを判定する。データを受信していないとき、処理はステップS110に進む。一方、データを受信したとき、処理はステップS109に進む。ステップS109において、プロセッサ210は、データ受信処理を実行する。データ受信処理では、プロセッサ210は、コンピュータ100から受信したデータを記憶装置220に記憶させたり、コンピュータ100から受信したデータに基づいて各種処理を行ったり、コンピュータ100から受信したデータを液晶ディスプレイ241に表示させたりする。データ受信処理については、後述する。データ受信処理の後、処理はステップS110に進む。
ステップS110において、プロセッサ210は、ユーザによって入力キー231を用いてデータ返還要求を行う旨が入力されたか否かを判定する。データ返還要求を行う旨が入力されていないとき、処理はステップS112に進む。一方、データ返還要求を行う旨が入力されたとき、処理はステップS111に進む。
ステップS111において、プロセッサ210は、データ返還要求処理を実行する。データ返還要求処理では、プロセッサ210は、コンピュータ100との通信を行い、コンピュータ100のストレージ140に保存された情報機器200の記憶装置220に記憶されていたデータの返還を要求する。プロセッサ210は、返還されたデータを記憶装置220に記憶させる。データ返還要求処理については、後述する。データ返還要求処理の後、処理はステップS112に進む。
ステップS112において、プロセッサ210は、処理を終了するか否かを判定する。例えば、情報機器200の電源を切る操作が行われたとき、プロセッサ210は、処理を終了すると判定する。処理を終了するとき、情報機器200の処理を終了することに係る処理を行い、本処理を終了する。一方、処理を終了しないとき、処理はステップS101に戻り、上述の処理を繰り返す。
〈コンピュータの動作〉
コンピュータ100上でエミュレータを用いて行われる処理について説明する。このエミュレータは、例えば関数電卓である情報機器200の動作をエミュレートするものである。
本実施形態に係るエミュレータの基本的な動作について、説明する。図4に示すように、コンピュータ100が実行するソフトウェアとしてのエミュレータ400は、フレーム410と、インターフェース480と、エンジン490とを含む。フレーム410は、ユーザが操作を行うためのボタン、ユーザが動作結果を視認するための表示等を管理する。すなわち、フレーム410は、エンジンに操作命令を送ったり、エンジンの演算結果をユーザに伝達したりするためのユーザインターフェースである。エンジン490は、関数電卓の挙動を再現する。エンジン490は、情報機器200の記憶装置220に相当するエンジンメモリ491を有している。フレーム410とエンジン490とはインターフェース480を介してつながれている。
図2及び図4に示すように、フレーム410は、電卓イメージフレーム420と、プログラム表示フレーム450とを含む。電卓イメージフレーム420は、本エミュレータの基本的なフレームである。電卓イメージフレーム420は、情報機器200としての関数電卓の外観を表示したものとなっている。プログラム表示フレーム450は、ユーザの選択に応じて表示可能なフレームである。プログラム表示フレーム450は、エミュレータ400で作成しているプログラムのコードを表示するためのフレームである。
電卓イメージフレーム420は、入力キー表示431を含む。入力キー表示431は、情報機器200の入力キー231を模した表示である。ユーザは、コンピュータ100において、入力キー表示431に含まれる入力キーの表示を例えばマウスなどで選択することで、エミュレータ400に対して情報機器200の入力キー231を押したときと同様の入力を行うことができる。電卓イメージフレーム420は、表示領域441を含む。表示領域441は、情報機器200の液晶ディスプレイ241を模した表示を行うものである。情報機器200の液晶ディスプレイ241が4行の表示を行うことができるとき、電卓イメージフレーム420の表示領域441も4行の表示を行うことできる。
プログラム表示フレーム450は、エミュレータ400がプログラム機能を実行しているとき、エンジン490のエンジンメモリ491が記憶しているプログラムコードを表示するものである。プログラム表示フレーム450は、コード表示領域460を有する。コード表示領域460は、情報機器200の液晶ディスプレイ241の表示行数等に限らず、多くの行数を表示することができる。すなわち、コード表示領域460は、液晶ディスプレイ241よりも多くの情報を一時に表示することができる。プログラム表示フレーム450は、電卓イメージフレーム420に含まれるプログラム表示フレーム起動ボタン421が選択されることによって起動して表示され、閉じるボタン451が選択されることで終了して非表示となる。
図5を参照してエミュレータ400の動作について説明する。ステップS201において、ユーザが電卓イメージフレーム420の入力キー表示431を選択することで入力を行ったとする。このとき、ステップS202において、電卓イメージフレーム420は、入力に応じた命令をエンジン490に伝達する。この命令を受け取ったエンジン490は、ステップS203において、命令に応じた処理を実行する。ステップS204において、エンジン490は、ステップS203の処理に応じた画面データを生成し、電卓イメージフレーム420に受け渡す。ステップS205において、電卓イメージフレーム420は、受け取った画面データに基づいて、電卓イメージフレーム420の表示領域441に画面データに基づく画面を表示させる。ユーザは、ステップS206において、表示領域441に表示された画面を視認し、自身が行った操作結果を確認する。
例えば、ユーザが入力キー表示431を用いて計算式を入力しているとき、エンジン490は、入力された値、文字、関数等をエンジンメモリ491に記憶させながら、電卓イメージフレーム420の表示領域441に表示させる画面を生成する。その結果、電卓イメージフレーム420の表示領域441には、入力された値等が表示される。また、ユーザが入力キー表示431を用いて計算実行を入力したとき、エンジン490は、エンジンメモリ491に記憶されている計算式についての計算を行って計算結果を得て、得られた計算結果をエンジンメモリ491に記憶させる。また、エンジン490は、電卓イメージフレーム420の表示領域441に得られた計算結果を表示させるため、画面データを生成する。その結果、電卓イメージフレーム420の表示領域441には、計算結果が表示される。
また、ステップS207において、電卓イメージフレーム420は、エンジンメモリ491内のデータをエンジン490に要求する。この要求を受けたエンジン490は、ステップS208において、エンジンメモリ491内のデータを電卓イメージフレーム420宛に送信する。ステップS209において、電卓イメージフレーム420は、エンジンメモリ491内のデータを受信し、その値を保持する。
ステップS210において、電卓イメージフレーム420は、プログラム表示フレーム450が起動しているか否かを判定する。プログラム表示フレーム450が起動していないとき、ステップS211で本処理は終了する。一方、プログラム表示フレーム450が起動しているとき、処理はステップS212に進む。
ステップS212において、プログラム表示フレーム450は、電卓イメージフレーム420からエンジンメモリ491内のデータを受け取り、コード表示領域460にプログラムコードを表示させるため、データを変換する。このデータ変換は、例えばコンピュータ100のオペレーティングシステム(OS)等に応じた適切なデータへの変換等を含む。例えば、プログラム表示フレーム450は、エンジンメモリ491内のデータのうち、プログラムコードに係る部分を抽出して、当該プログラムコードを適当な表示形式で表示する画面を生成する。ステップS213において、プログラム表示フレーム450は、変換後のデータに基づいて、コード表示領域460にプログラムコードを表示させる。ステップS214において、ユーザは、コード表示領域460に表示されたプログラムコードを確認する。
以上のように、ユーザは、電卓イメージフレーム420を操作することで、エミュレートされた情報機器200の動作を確認することができる。また、ユーザは、プログラム表示フレーム450の面積が広いコード表示領域460への表示によって、一覧性よくエンジンメモリ491に記憶されているプログラムコードを確認することができる。
次に、プログラム表示フレーム450の起動動作について、図6に示すフローチャートを参照して説明する。
ステップS301において、ユーザは、プログラム表示フレーム起動ボタン421を選択することで、プログラム表示フレーム450を起動させる操作を行う。このとき、ステップS302において、フレーム410は、プログラム表示フレーム450を起動させて表示させる。
ステップS303において、電卓イメージフレーム420は、エンジンメモリ491内のデータを保持しているか否かを判定する。例えば、図5を参照して説明した処理のステップS209において、データを受信して保持しているとき、エンジンメモリ491内のデータを保持していると判定される。データを保持していないとき、処理はステップS304に進む。ステップS304において、電卓イメージフレーム420は、エンジン490に、エンジンメモリ491内のデータを要求する。ステップS305において、エンジン490は、エンジンメモリ491内のデータを電卓イメージフレーム420宛に送信する。ステップS306において、電卓イメージフレーム420は、エンジン490からエンジンメモリ491内のデータを受信する。その後、処理はステップS307に進む。
ステップS303において、エンジンメモリ491内のデータを保持していると判定されたとき、処理はステップS307に進む。すなわち、ステップS307の処理を行うとき、電卓イメージフレーム420は、エンジンメモリ491内のデータを保持している。
ステップS307において、電卓イメージフレーム420は、エンジンメモリ491内のデータをプログラム表示フレーム450宛に送信する。ステップS308において、プログラム表示フレーム450は、電卓イメージフレーム420からエンジンメモリ491内のデータを受け取り、コード表示領域460にプログラムコードを表示させるため、データを変換する。ステップS309において、プログラム表示フレーム450は、変換後のデータに基づいて、コード表示領域460にプログラムコードを表示させる。ステップS310において、ユーザは、コード表示領域460に表示されたプログラムコードを確認する。
以上のように、プログラム表示フレーム起動ボタン421が選択されたとき、いつでもプログラム表示フレーム450のコード表示領域460にプログラムコードが表示される。例えば、図5に示した処理において、ステップS210でプログラム表示フレーム450が起動していないと判定され、プログラムコードの表示が行われていなかったとしても、その後にプログラム表示フレーム起動ボタン421が選択されたとき、プログラム表示フレーム450が表示され、そのコード表示領域460にプログラムコードが表示される。また、電卓イメージフレーム420がプログラムコードを含むエンジンメモリ491内のデータを保持していようといまいと、プログラム表示フレーム450の起動と共に、プログラムコードがコード表示領域460に表示される。
次に、エミュレータ400でプログラムを実行したときの動作について、図7に示すフローチャートを参照して説明する。
ステップS401において、ユーザは、電卓イメージフレーム420の入力キー表示431を選択することで、プログラムを実行させる操作を行う。このとき、ステップS402において、電卓イメージフレーム420は、プログラム実行命令をエンジン490に伝達する。プログラム実行命令を受けたエンジン490は、ステップS403において、エンジンメモリ491にコードが記憶されたプログラムを実行する。
ステップS404において、エンジン490は、プログラムの実行についてエラーが発生したか否かを判定する。エラーが発生していないとき、処理はステップS405に進む。ステップS405において、エンジン490は、実行結果を示す画面データを生成し、電卓イメージフレーム420に伝達する。
ステップS406において、画面データを受け取った電卓イメージフレーム420は、画面データに基づいて実行結果を表示領域441に表示させる。ステップS407において、ユーザは、電卓イメージフレーム420の表示領域441の表示によって、プログラムの実行結果を確認する。
ステップS404において、エラーが発生したと判定されたとき、処理はステップS408に進む。ステップS408において、エンジン490は、電卓イメージフレーム420の表示領域441に表示させるエラー画面データを生成し、電卓イメージフレーム420に伝達する。
ステップS409において、画面データを受け取った電卓イメージフレーム420は、画面データに基づいてエラー画面を表示領域441に表示させる。例えば図8に示すように、コード表示領域460にエラーが発生している旨を示す「ERROR」の文字を表示する。この表示は、エラーが発生したときに情報機器200の液晶ディスプレイ241に表示される表示と同様である。ステップS410において、ユーザは、電卓イメージフレーム420の表示領域441の表示によって、プログラムの実行においてエラーが発生したことを確認する。
また、ステップS411において、電卓イメージフレーム420は、エンジンメモリ491内のデータをエンジン490に要求する。この要求を受けたエンジン490は、ステップS412において、エンジンメモリ491内のデータを電卓イメージフレーム420宛に送信する。ステップS413において、電卓イメージフレーム420は、エンジンメモリ491内のデータを受信し、その値を保持する。
ステップS414において、電卓イメージフレーム420は、プログラム表示フレーム450が起動しているか否かを判定する。プログラム表示フレーム450が起動していないとき、ステップS415で本処理は終了する。一方、プログラム表示フレーム450が起動しているとき、処理はステップS416に進む。
ステップS416において、プログラム表示フレーム450は、電卓イメージフレーム420からエンジンメモリ491内のデータを受け取る。エンジンメモリ491内のデータには、エラーの発生箇所に係る情報が含まれている。プログラム表示フレーム450は、この情報に基づいて、コード表示領域460に表示しているプログラムコードにおいて、エラーが発生している箇所を強調表示する。例えば、図8に示す表示画面405のように、エラーに係る行にハイライト461が付された表示が行われる。ステップS417において、ユーザは、コード表示領域460に表示されたプログラムコードにおけるエラー箇所を確認する。
このように、プログラム表示フレーム450にエラー箇所が明示されることで、ユーザは容易にエラー箇所を確認することができる。
なお、エラーが発生した時点で、プログラム表示フレーム450が起動しておらず、ステップS415で処理が終了したとしても、その後にプログラム表示フレーム450が起動したときにエラー箇所が強調表示されてもよい。すなわち、プログラム表示フレーム450が起動するとき、プログラム表示フレーム450は、図6を参照して説明したようにエラー発生箇所に係る情報が含まれているエンジンメモリ491内のデータを取得する。したがって、プログラム表示フレーム450は、このデータに基づいて、エラー発生箇所を強調表示することができる。
本実施形態では、プログラムコードにおけるカーソル位置を、電卓イメージフレーム420のみならず、プログラム表示フレーム450を用いて指定することができる。プログラム表示フレーム450を用いたカーソル位置指定に係る動作について、図9に示すフローチャートを参照して説明する。
ステップS501において、ユーザは、プログラム表示フレーム450のコード表示領域460内の希望箇所を選択することで、カーソル位置を指定する。このとき、ステップS502において、プログラム表示フレーム450は、カーソル位置を指定する命令をエンジン490に伝達する。カーソル位置指定命令を受けたエンジン490は、ステップS503において、カーソル位置を移動させる処理を行う。ステップS504において、エンジン490は、カーソル移動後のプログラムコードに係る画面データを生成し、電卓イメージフレーム420に伝達する。
ステップS505において、画面データを受け取った電卓イメージフレーム420は、画面データに基づいてカーソル移動後のプログラムコードを表示領域441に表示させる。ステップS506において、ユーザは、電卓イメージフレーム420の表示領域441の表示によって、カーソル移動操作の結果を確認する。
ステップS507において、電卓イメージフレーム420は、エンジンメモリ491内のデータをエンジン490に要求する。この要求を受けたエンジン490は、ステップS508において、エンジンメモリ491内のデータを電卓イメージフレーム420宛に送信する。ステップS509において、電卓イメージフレーム420は、エンジンメモリ491内のデータを受信し、その値を保持する。
ステップS510において、プログラム表示フレーム450は、電卓イメージフレーム420からエンジンメモリ491内のデータを受け取り、プログラムコードのうち電卓イメージフレーム420の表示領域441に表示されている行を特定する。プログラム表示フレーム450は、コード表示領域460に表示しているプログラムコードにおいて、電卓イメージフレーム420の表示領域441に表示されている行を強調表示する。例えば、図10に示す表示画面405のように、電卓イメージフレーム420の表示領域441に表示されている行にハイライト462が付された表示が行われる。ステップS511において、ユーザは、コード表示領域460に表示されたプログラムコードにおいて、電卓イメージフレーム420の表示領域441に表示されている箇所を確認する。
このように、ユーザは、多数の行が表示されたプログラム表示フレーム450を用いてプログラムコードにおけるカーソル位置を移動させることができる。したがって、ユーザにとって操作性が向上する。また、プログラム表示フレーム450に表示されたプログラムコードにおける電卓イメージフレーム420の表示領域441に表示された箇所が明示されるので、ユーザはこれらの対応関係を容易に把握することができる。
上述の例では、プログラム表示フレーム450におけるカーソル位置が変更される場合の例を示したが、プログラム表示フレーム450の表示がスクロール操作される場合も、フレーム410は同様に動作し得る。例えば、プログラム表示フレーム450のコード表示領域460の表示がスクロールされたとき、スクロールに応じてカーソル位置が移動したとする情報が、プログラム表示フレーム450からエンジン490に伝達される。このカーソル位置の変更に応じた処理がエンジン490で行われれば、プログラム表示フレーム450のスクロールに応じて電卓イメージフレーム420の表示領域441の表示が更新され得る。
また、上述の例では、プログラム表示フレーム450においてカーソル位置を変更させる操作が行われたとき、電卓イメージフレーム420の表示領域441の表示が更新される例を示した。同様に、電卓イメージフレーム420を用いた操作によってカーソル位置が移動させられたときにも、プログラム表示フレーム450のコード表示領域460における電卓イメージフレーム420の表示領域441に表示されている行を示す強調表示の位置は変更され得る。
なお、ここでは、プログラムコードが表示されるプログラム表示フレーム450において、プログラムコードの一覧性を向上させることについて説明したが、このような動作は、プログラムコード以外に適用されてもよい。例えば、フレーム410が表を表示する表フレームを含むとき、当該表フレームの表示に上述の動作が適用されてもよい。表フレームによれば、電卓イメージフレーム420の表示領域441に一度に表示できない程度に大きな表を表示させることができるなどの効果が得られる。
また、上述の例では、プログラム表示フレーム450に表示されたプログラムコードのカーソル位置を変更する例について示したが、カーソル位置の変更、スクロール操作等に限らず、プログラムコードの入力が、プログラム表示フレーム450を用いて行われてもよい。このような動作は、プログラム表示フレーム450が入力された情報をエンジン490に伝達し、エンジン490が入力された情報で、エンジンメモリ491内のデータを書き換えることで、実現され得る。
また、上述の例では、プログラム表示フレーム450において、エラー箇所や表示領域441に表示されている箇所を強調表示する例を示したが、強調表示する箇所はこれらに限らない。例えば、編集された箇所が強調表示されてもよい。編集された箇所を特定するために、保持されている前回取得したエンジンメモリ491内のデータと、最新に取得したエンジンメモリ491内のデータとを比較して、異なる箇所が編集された個所として特定されてもよい。
以上、コンピュータ100で動作するエミュレータ400の動作の一例について説明した。エミュレータ400を用いることで、例えば関数電卓である情報機器200の動作を例えばPC上でエミュレートすることができる。さらに、電卓イメージフレーム420以外のフレームを用いることで、例えば情報機器200よりも便利な表示機能を実現することができる。例えば、情報機器200の液晶ディスプレイ241に表示される情報よりも多くの情報が一度に表示されたり、プログラムのエラー箇所が明示されたりする。また、電卓イメージフレーム420以外のフレームを用いることで、例えば情報機器200よりも便利な操作を実現することができる。例えばスクロール操作、入力操作等が情報機器200を用いるよりも簡便に行われ得る。
〈情報機器とコンピュータとの連携動作〉
本実施形態に係る情報処理システム1では、コンピュータ100と実機である情報機器200とは、通信し連携して動作を行うことができる。このような連携動作が用いられる一つの場面として、教室における授業の場面が挙げられる。教師は、例えばPCであるコンピュータ100で情報機器のエミュレータ400を操作し、その操作の画面をプロジェクタ300を用いて投影させて生徒に提示する。複数の生徒の各々は、手元に例えば関数電卓の実機である情報機器200を用意し、情報機器200を操作する。
本実施形態に係る情報処理システム1では、生徒が操作している情報機器200は、教師が操作しているエミュレータ400のエンジンメモリ491に記憶されているデータを要求し受け取ることができる。エンジンメモリ491内のデータを情報機器200の記憶装置220に記憶し、当該データを情報機器200のデータとして用いることで、情報機器200は、エミュレータ400と同じ動作を行うことができる。例えば生徒は、自身の手元の情報機器200を用いて、教師がエミュレータ400上で行った操作を、再現することができる。
本実施形態に係る情報機器200において、記憶装置220の記憶容量は小さい。このため、記憶装置220は、生徒が自分で入力したデータと、コンピュータ100から取得したデータとの両方を記憶できないことがある。そこで、本実施形態に係る情報処理システム1では、情報機器200がコンピュータ100からデータを受け取るとき、情報機器200によって入力され記憶装置220に記憶されたデータは、コンピュータ100のストレージ140に退避され得る。
本実施形態に係る情報処理システム1の動作を説明する。初めに、情報機器200がコンピュータ100にエンジンメモリ491内のデータを要求する処理について、図11に示すフローチャートを参照して説明する。例えば教師であるコンピュータ100の操作者を第1のユーザとし、例えば生徒である情報機器200の操作者を第2のユーザとする。
ステップS601において、第2のユーザは、情報機器200の入力キー231を操作して、コンピュータ100に記憶されたデータの受信の要求を入力する。この入力を受けた情報機器200は、ステップS602において、コンピュータ100と通信し、コンピュータ100のエミュレータ400に対して、エンジンメモリ491内のデータを求めるデータ受信要求を行う。
情報機器200からのデータ受信要求を受けたエミュレータ400のフレーム410は、ステップS603において、データ受信要求を受けた旨を示しデータを送信してもよいかを問う要求確認画面を表示する。要求確認画面を確認した第1のユーザは、データを送信してもよいとき、ステップS604において、コンピュータの入力装置150を用いてデータ送信を許可する旨を入力する。
ステップS605において、フレーム410は、データ送信許可が入力されたか否かを判定する。送信許可がされていないとき、フレーム410は、ステップS605の処理を繰り返して待機する。フレーム410は、例えば所定期間送信許可がされないとき、情報機器200にデータ受信要求を拒否する旨を送信してもよい。送信許可がされたとき、処理はステップS606に進む。第1のユーザの操作によらず、例えばエミュレータ400が起動している等、所定の要件を満たすときに送信許可がされてもよい。
また、情報機器200からフレーム410へのデータ受信要求には、情報機器200に固有のID又はそのIDを暗号化したものが付されてもよい。フレーム410は、情報機器200のID又はIDを暗号化したものを識別キーとして接続を行ってもよい。また、IDを暗号化したものをフレーム410が正しく復号できないとき、情報機器200が正規の機器でないと判定し、第1のユーザの入力に関わらずデータ受信要求を拒否してもよい。
例えば、情報機器200及びエミュレータ400の提供者が秘密キーを管理しているものとする。情報機器200は、例えば情報機器の仕向け毎に共通の秘密キーを有している。情報機器200は、IDと秘密キーとに基づいて、識別キーを生成し、IDと生成した識別キーとをエミュレータ400に送信する。エミュレータ400は、受信したIDと識別キーとに基づいて、秘密キーを復号し、秘密キーを管理する提供者に秘密キー情報を照会する。提供者は、照会された情報が正しいか否かを判定し、正しいときステップS605で許可がされ、正しくないときステップS605で許可がされない。例えば情報機器200が正規品でないとき、秘密キー又は暗号方法が正しくなく、その結果、エミュレータ400で正しい秘密キーが復号できない。その結果、提供者によって情報機器200が正規品でないと判定され、ステップS605で不許可となる。
ステップS606において、フレーム410は、情報機器200の接続を許可し、その旨を情報機器200に送信する。接続が許可された情報機器200は、ステップS607において、コンピュータ100のエミュレータ400との接続を確立させる。
ステップS608において、情報機器200は、自身の記憶装置220に記憶されているデータをカレントデータとしてエミュレータ400宛に送信する。カレントデータは、電卓の動作モードの情報を含む。この動作モードの情報は、例えば、現在動作しているモードが標準計算モード、統計計算モード、方程式計算モード、プログラムモード、表計算モード等の何れのモードであるかといった情報を含む。また、カレントデータは、第2のユーザが情報機器200に入力していた情報である入力データを含む。入力データは、ユーザが入力した、計算式、プログラムコード等を含む。カレントデータは、情報機器200による演算結果、プログラムの実行結果等を含んでいてもよい。カレントデータは、記憶装置220に記憶されている全てのデータを含んでいてもよい。さらに、情報機器200は、カレントデータに、当該情報機器200の個体ごとに割り当てられたIDの情報を付加する。
データの送信方法は情報機器200とコンピュータ100との接続方法により、例えばBluetoothといった低消費電力の無線通信、USB接続といった有線通信が用いられ得る。また、送信すべきデータを例えばQRコード(登録商標)といった2次元コード等の画像に変換し、コンピュータがこのコードを撮影して読み込むことで、データの伝達が行われてもよい。その他、無線LANなどが利用されてもよい。また、情報機器200とコンピュータ100とは、直接接続されずに、例えばインターネットといったネットワークを介して接続されてもよい。
ステップS609において、フレーム410は、情報機器200によって送信されたカレントデータを受信する。ステップS610において、フレーム410は、受信した情報機器200のデータをメモリに記録する。記録先は、例えばストレージ140に設けられた、エミュレータ400と関連する領域等とする。
例えば図1及び図2に示すように複数の情報機器201,202,203が同時期にデータ受信要求を行うことが想定される。コンピュータ100は、複数の情報機器201,202,203の各々のデータを区別して記録しておくことができる。これらのデータは、例えば図12に示すような構造を有する管理データを用いて管理され得る。すなわち、図12に示す例では、情報機器200のIDを示す電卓IDと、記録したデータのファイル名を示す退避データ名と、データを受け取って記録した日時を示す日付とが関連付けられた管理データを用いてデータ管理が行われる。同じIDのデータが2回以上送られてきたときには、例えば古いデータの上に新しいデータを上書きして、新しいデータのみを記録してもよいし、異なるバージョンを全て記録しておいてもよい。
ステップS611において、フレーム410は、エンジン490にエンジンメモリ491内のデータを要求する。ステップS612において、エンジン490は、エンジンメモリ491内のデータをフレーム410宛に送信する。ステップS613において、フレーム410は、エンジン490からエンジンメモリ491内のデータを受信し、それをエンジンデータとして情報機器200宛に送信する。
ステップS614において、情報機器200は、フレーム410から送信されたエンジンデータを受信する。情報機器200は、受信したエンジンデータを自身の記憶装置220に上書きする。その結果、情報機器200の状態は、エミュレータ400のエンジン490の状態と同一になる。ここで、同一とは、完全に同一であることのみならず、一部異なっていても実質的に同一であること、主要部分において同一であること等を含む。ステップS615において、情報機器200は、上書きされたデータに基づいて、画面データを生成する。ステップS616において、情報機器200は、液晶ディスプレイ241に画面データに基づく画面を表示させる。ステップS617において第2のユーザは、液晶ディスプレイ241に表示された画面を確認し、その内容を確認する。
以上のように、情報機器200がエミュレータ400のエンジンメモリ491内のデータを受信して、そのデータで記憶装置220内の情報を書き換えることで、情報機器200は、エミュレータ400と同じ状態になる。その結果、例えば情報機器200を操作する生徒は、エミュレータ400を操作する教師が作成したデータを、手元の情報機器200で確認することができる。
なお、上述の説明では、例えば生徒が入力した情報機器200に記録されていたカレントデータは、単にコンピュータ100のストレージに記録される例を示したが、これに限らない。例えば、教師の選択によって情報機器200から取得したデータがエミュレータ400のデータに上書きされてもよい。すなわち、エミュレータ400で行われる動作は、例えば教師である第1のユーザによって入力されたものに限らない。例えば教師が選択した一の生徒が入力したデータを、エミュレータ400のエンジンメモリ491に取り込むことで、当該一の生徒が入力したデータをエミュレータ400で動作させて教室全体で確認したり共有したりすることができる。
情報機器200とエミュレータ400とが通信を行って情報機器200のデータがエミュレータ400のデータで置換された状態で、第1のユーザがエミュレータ400を操作したときの動作の一例を図13を参照して説明する。図13に示す例は、エミュレータ400の動作が情報機器200に反映される例である。
ステップS701において、第1のユーザは、エミュレータ400のフレーム410に対して入力の操作を行う。このとき、ステップS702において、フレーム410は、入力に応じた命令をエンジン490に伝達する。ステップS703において、エンジン490は、命令に応じた処理を実行する。ステップS704において、エンジン490は、処理後の状態に応じた画面データを生成し、フレーム410に伝達する。ステップS705において、フレーム410は、受信した画面データに基づいて、フレーム410の表示領域441に画面を表示させる。ステップS706において第1のユーザは、フレームの表示によって、操作結果を確認する。
このとき、フレーム410は、ステップS707において、エンジン490に対して、エンジンメモリ491内のデータを要求する。ステップS708において、エンジン490は、要求に応じてエンジンメモリ491内のデータをフレーム410宛に送信する。ステップS709において、フレーム410は、エンジンメモリ491内のデータを受信し、それをエンジンデータとして情報機器200に送信する。
ステップS710において、情報機器200は、コンピュータ100からエンジンデータを受信し、当該エンジンデータで記憶装置220に記録された情報を更新する。ステップS711において、情報機器200は、更新された情報に基づいて、画面データを生成する。ステップS712において、情報機器200は、液晶ディスプレイ241に生成した画面データに基づく画面を表示させる。ステップS713において、第2のユーザは、液晶ディスプレイ241に表示された内容を確認する。
本実施形態によれば、例えば生徒である第2のユーザは、例えば教師である第1のユーザによって行われるエミュレータ400での操作を、手元の情報機器200で確認することができる。
ここでは、第1のユーザがエミュレータ400に対して入力を行うたびに、エンジンメモリ491内のデータが全て情報機器200に送信されて、情報機器200の記憶装置220のデータが全て書き換えられる例を示したが、これに限らない。例えば、フレーム410は、第1のユーザのフレーム410への入力の情報を情報機器200に送信し、この情報を受信した情報機器200は、フレーム410への入力情報を情報機器200の入力装置230への入力として扱うことで、記憶装置220の状態を更新してもよい。
なお、ここに示した例では、エミュレータ400の動作が、情報機器200に反映される例を示したが、エミュレータ400の動作が情報機器200に反映されなくてもよい。すなわち、図11を参照して説明したようにしてエミュレータ400のデータを一度取得した後は、情報機器200は、第2のユーザによる操作に応じて動作してもよい。
例えば情報機器200を用いてエミュレータ400で行われた動作を確認した後など、第2のユーザが情報機器200に入力していたデータについて再び編集、操作等を行いたいときがある。このような場合に本実施形態では、情報機器200は、コンピュータ100から、コンピュータ100に退避させていたデータを返還してもらう。このときの動作を図14に示すフローチャートを参照して説明する。
ステップS801において、第2のユーザは、情報機器200の入力キー231を操作して、データ返還要求を入力する。このときステップS802において、情報機器200は、データ返還要求をコンピュータ100のエミュレータ400に対して行う。このとき、データ返還要求には、情報機器200のIDが付される。
情報機器200からのデータ返還要求を受けたエミュレータ400のフレーム410は、ステップS803において、データ返還要求を受けた旨を示しデータを返還してもよいかを問う要求確認画面を表示する。要求確認画面を確認した第1のユーザは、データを返還してもよいとき、ステップS804において、コンピュータの入力装置150を用いてデータ返還を許可する旨を入力する。
ステップS805において、フレーム410は、データ返還許可が入力されたか否かを判定する。返還許可がされていないとき、フレーム410は、ステップS805の処理を繰り返して待機する。フレーム410は、例えば所定期間返還許可がされないとき、情報機器200にデータ返還要求を拒否する旨を送信してもよい。返還許可がされたとき、処理はステップS806に進む。
ステップS806において、フレーム410は、ストレージ140に記録されている情報機器200のデータのうち、情報機器200のIDに対応するデータを情報機器200宛に送信する。ステップS807において、情報機器200は、コンピュータ100から返還データを受信し、当該データで記憶装置220に記録された情報を更新する。ステップS808において、情報機器200は、更新された情報に基づいて、画面データを生成する。ステップS809において、情報機器200は、液晶ディスプレイ241に生成した画面データに基づく画面を表示させる。その結果、情報機器200の状態は、データ受信要求をしたときの状態と同一の状態になる。ここで、データはIDによって管理されているので、情報機器200の個体ごとに正しく状態が復元される。なお、同一とは、完全に同一であることのみならず、一部異なっていても実質的に同一であること、主要部分において同一であること等を含む。ステップS810において、第2のユーザは、液晶ディスプレイ241に表示された内容を確認する。
以上のようにして、情報機器200の状態は、エミュレータ400のエンジンデータを要求する前の状態に戻される。本実施形態によれば、例えば生徒である第2のユーザは、例えば教師である第1のユーザによって行われるエミュレータ400での操作を手元の情報機器200で確認した後に、再び自らが入力したデータの編集等を再開することができる。
コンピュータ100は、各々の情報機器200のデータを、返還後もストレージ140に保持してもよい。すなわち、例えば教師が操作するコンピュータ100に、例えば生徒が入力した情報機器200のデータが保存されてもよい。また、情報機器200にデータを返還する前に、情報機器200から受け取ったデータをエミュレータ400で編集し、編集後のデータを情報機器200に返還してもよい。すなわち、例えば教師がエミュレータ400を操作して、例えば生徒が情報機器200を用いて作成したデータを添削してから、添削後のデータを生徒の情報機器200に返還してもよい。
なお、情報機器200からエミュレータ400へのデータの伝達方法が、例えば上述の2次元コードを用いた方法である場合等は、エミュレータ400から情報機器200へのデータの返還が行えないこともある。
上述の一連の処理は一例であって、各々適宜に変更され得る。また、上述の処理以外の処理が含まれてもよいことはもちろんである。また、上述の処理の一部が削除されてもよい。
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
情報機器をエミュレートするエミュレータがインストールされた第1の記憶回路を有しているコンピュータであり、第2の記憶回路を有している前記情報機器の実機と通信するコンピュータに、
前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記実機から受信することと、
前記第1の情報を前記第1の記憶回路に記録することと、
前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を前記実機に送信することと
を実行させるプログラム。
[2]
前記実機からの要求に応じて、前記第1の記憶回路に記録された前記第1の情報を前記実機に送信することをさらに前記コンピュータに実行させる、[1]に記載のプログラム。
[3]
前記情報機器は、前記実機ごとに固有のID情報を有しており、
前記第1の情報を前記実機から受信することは、前記第1の情報と共に前記実機の前記ID情報を受信することを含み、
前記第1の情報を前記第1の記憶回路に記録することは、前記第1の情報を前記ID情報と関連付けて前記第1の記憶回路に記録することを含む、
[1]又は[2]に記載のプログラム。
[4]
前記情報機器は、前記実機ごとに固有のID情報を有しており、
前記第1の情報を前記実機から受信することは、前記第1の情報と共に前記実機の前記ID情報を受信することを含み、
前記第1の情報を前記第1の記憶回路に記録することは、前記第1の情報を前記ID情報と関連付けて前記第1の記憶回路に記録することを含み、
前記実機からの要求に応じて前記第1の情報を前記実機に送信する際に、前記ID情報に基づいて前記第1の記憶回路に記録された前記第1の情報を特定することをさらに前記コンピュータに実行させる[2]に記載のプログラム。
[5]
前記実機の表示装置の表示領域に一時に表示可能な第1の量の情報を表示可能な第1の表示領域と、前記第1の量よりも多い第2の量の情報を表示可能な第2の表示領域とを、共に前記コンピュータのディスプレイに表示させることをさらに前記コンピュータに実行させる、[1]乃至[4]のうち何れか1項に記載のプログラム。
[6]
前記第2の表示領域への入力操作を受け付けることと、
前記第2の表示領域への前記入力操作に応じて前記第1の表示領域の表示を変更させることと
をさらに前記コンピュータに実行させる[5]に記載のプログラム。
[7]
第1の記憶回路と、
情報機器をエミュレートするエミュレータがインストールされたプロセッサと、
第2の記憶回路を有しており前記情報機器の実機と通信する通信装置と
を備えるコンピュータであって、前記プロセッサは、
前記通信装置を介して、前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記実機から受信し、
前記第1の記憶回路に前記第1の情報を記録し、
前記通信装置を介して、前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を前記実機に送信する、
コンピュータ。
[8]
ディスプレイをさらに備え、
前記プロセッサは、前記実機の表示装置の表示領域に一時に表示可能な第1の量の情報を表示可能な第1の表示領域と、前記第1の量よりも多い第2の量の情報を表示可能な第2の表示領域とを、共に前記ディスプレイに表示させる、
[7]に記載のコンピュータ。
[9]
情報機器をエミュレートするエミュレータがインストールされた第1の記憶回路を有しているコンピュータと通信し、第2の記憶回路を有している前記情報機器の実機に、
前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記コンピュータに送信することと、
前記コンピュータによって送信された前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を受信することと、
受信した前記第2の情報に含まれる前記動作モードと前記入力データとを前記第2の記憶回路に記録して前記実機の状態を前記エミュレータの状態と同一にすることと
を実行させるプログラム。
[10]
前記コンピュータに対して前記第1の情報を要求することと、
前記実機の要求に応じて前記コンピュータによって送信された前記第1の情報を受信することと、
受信した前記第1の情報に含まれる前記動作モードと前記入力データとを前記第2の記憶回路に記録して前記実機の状態を前記第1の情報を前記コンピュータに送信したときの状態と同一にすることと
をさらに前記実機に実行させる[9]に記載のプログラム。
[11]
前記情報機器は、前記実機ごとに固有のID情報を有しており、
前記コンピュータに前記第1の情報を送信する際に、当該実機の前記ID情報を前記第1の情報と共に送信させる、
[9]又は[10]に記載のプログラム。
[12]
前記情報機器は、前記実機ごとに固有のID情報を有しており、
前記コンピュータに前記第1の情報を送信する際に、当該実機の前記ID情報を前記第1の情報と共に送信させ、
前記コンピュータに対して前記第1の情報を要求する際に、当該実機の前記ID情報を送信させる、
[10]に記載のプログラム。
[13]
情報機器をエミュレートするエミュレータがインストールされた第1の記憶回路を有しているコンピュータと通信する通信装置と、
第2の記憶回路と、
プロセッサと
を備える前記情報機器の実機であって、前記プロセッサは、
前記通信装置を介して、前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記コンピュータに送信し、
前記通信装置を介して、前記コンピュータによって送信された前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を受信し、
受信した前記第2の情報に含まれる前記動作モードと前記入力データとを前記第2の記憶回路に記録して前記実機の状態を前記エミュレータの状態と同一にする、
情報機器。
[14]
情報機器をエミュレートするエミュレータがインストールされた第1の記憶回路を有しているコンピュータと、第2の記憶回路を有している前記情報機器の実機とを備える情報処理システムであって、
前記実機は、前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記コンピュータに送信し、
前記コンピュータは、前記実機から受信した前記第1の情報を前記第1の記憶回路に記録し、
前記コンピュータは、前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を前記実機に送信し、
前記実機は、前記コンピュータから受信した前記第2の情報に含まれる前記動作モードと前記入力データとを前記第2の記憶回路に記録して前記実機の状態を前記エミュレータの状態と同一にする、
情報処理システム。
[15]
前記エミュレータは、前記実機の表示装置の表示領域に一時に表示可能な第1の量の情報を表示可能な第1の表示領域と、前記第1の量よりも多い第2の量の情報を表示可能な第2の表示領域とを、共に前記コンピュータのディスプレイに表示させる、[14]に記載の情報処理システム。
[16]
情報機器をエミュレートするエミュレータがインストールされた第1の記憶回路を有しているコンピュータと、第2の記憶回路を有している前記情報機器の実機とを備える情報処理システムの制御方法であって、
前記実機は、前記第2の記憶回路に記録された前記実機の動作モードと前記実機に入力された入力データとを含む第1の情報を前記コンピュータに送信し、
前記コンピュータは、前記実機から受信した前記第1の情報を前記第1の記憶回路に記録し、
前記コンピュータは、前記エミュレータの動作モードと前記エミュレータへの入力データとを含む第2の情報を前記実機に送信し、
前記実機は、前記コンピュータから受信した前記第2の情報に含まれる前記動作モードと前記入力データとを前記第2の記憶回路に記録して前記実機の状態を前記エミュレータの状態と同一にする、
情報処理システムの制御方法。
[17]
前記エミュレータは、前記実機の表示装置の表示領域に一時に表示可能な第1の量の情報を表示可能な第1の表示領域と、前記第1の量よりも多い第2の量の情報を表示可能な第2の表示領域とを、共に前記コンピュータのディスプレイに表示させる、[16]に記載の情報処理システムの制御方法。
1…情報処理システム、100…コンピュータ、110…CPU、120…ROM、130…RAM、140…ストレージ、150…入力装置、151…キーボード、152…マウス、160…表示装置、161…液晶ディスプレイ、170…通信装置、180…インターフェース(I/F)、190…バスライン、200,201,202,203…情報機器、210…プロセッサ、220…記憶装置、230…入力装置、231…入力キー、240…表示装置、241…液晶ディスプレイ、250…通信装置、290…バスライン、300…プロジェクタ、301…スクリーン、400…エミュレータ、405…表示画面、410…フレーム、420…電卓イメージフレーム、421…プログラム表示フレーム起動ボタン、431…入力キー表示、441…表示領域、450…プログラム表示フレーム、451…閉じるボタン、460…コード表示領域、461,462…ハイライト、480…インターフェース、490…エンジン、491…エンジンメモリ。

Claims (8)

  1. 情報処理装置のコンピュータを、
    仮想の電子機器を第一ディスプレイに表示させる際に、当該第一ディスプレイに、前記仮想の電子機器の仮想のメモリが記憶している内容を各表示対象とする第一の表示領域及び第二の表示領域を設定する設定手段
    前記第一の表示領域及び前記第二の表示領域に表示する内容を制御する表示制御手段と、
    として機能させ、
    前記設定手段は、
    前記第一の表示領域、前記仮想の電子機器の仮想のディスプレイとして設定
    前記第二の表示領域、前記表示対象の内容のうち前記第一の表示領域が一画面内に表示可能な最大量よりも多くの内容を、一画面内に表示可能に設定し、
    前記表示制御手段は、
    前記仮想の電子機器の仮想のメモリが記憶している内容の一部である第一の内容を、前記第一の表示領域に表示し、
    前記仮想の電子機器の仮想のメモリが記憶している前記内容のうち、前記第一の内容及び当該第一の内容の前後少なくとも何れかに連続する内容を含む第二の内容を、前記第二の表示領域に一時に表示する、ことを特徴とするプログラム。
  2. 前記表示制御手段は、
    前記第一の表示領域に前記第一の内容を表示しているときに、前記第一の表示領域に表示された前記第一の内容に応じた前記第二の内容を、前記第二の表示領域に一時に表示する、ことを特徴とする請求項1に記載のプログラム。
  3. 前記表示制御手段は、
    前記第二の表示領域に、前記第一の表示領域に表示される前記第一の内容に応じて、前記第二の内容を識別表示する、ことを特徴とする請求項1に記載のプログラム。
  4. 前記第一の表示領域にn行のテキスト表示を行っているときに、前記第二の表示領域に前記n行のテキスト表示を含みかつn行を超える行数のテキスト表示を行うとともに、前記第一の表示領域に表示されている前記n行のテキスト表示を識別表示する、ことを特徴とする請求項1から3の何れかに記載のプログラム。
  5. 前記表示制御手段は
    前記第一の表示領域又は前記第二の表示領域のいずれか一方の表示領域に対するスクロール操作を受け付けたことに応じて、当該一方の表示領域の表示内容をスクロールさせるとともに、前記第一の表示領域又は前記第二の表示領域のいずれか他方の表示領域の表示内容をスクロールさせることを特徴とする請求項1から4の何れかに記載のプログラム。
  6. 前記表示制御手段は、
    前記第一の表示領域にプログラムコードに関連するエラー表示を行っているときに、前記第二の表示領域に、前記プログラムコードを表示するとともに、前記プログラムコードのうち前記エラー表示に関連するプログラムコードの行を識別表示する、ことを特徴とする請求項1から5の何れかに記載のプログラム。
  7. 前記第一の内容は、前記仮想の電子機器に対応する実機が備える第二ディスプレイに表示される内容と同じ内容である、ことを特徴とする請求項1から5の何れかに記載のプログラム。
  8. 仮想の電子機器を第一ディスプレイに表示させる際に、当該第一ディスプレイに、前記仮想の電子機器の仮想のメモリが記憶している内容を各表示対象とする第一の表示領域及び第二の表示領域を設定する設定手段と、前記第一の表示領域及び前記第二の表示領域に表示する内容を制御する表示制御手段と、を備え、
    前記設定手段は、前記第一の表示領域を、前記仮想の電子機器の仮想のディスプレイとして設定し、前記第二の表示領域を、前記表示対象の内容のうち前記第一の表示領域が一画面内に表示可能な最大量よりも多くの内容を、一画面内に表示可能に設定
    前記表示制御手段は、前記仮想の電子機器の仮想のメモリが記憶している内容の一部である第一の内容を、前記第一の表示領域に表示し、前記仮想の電子機器の仮想のメモリが記憶している前記内容のうち、前記第一の内容及び当該第一の内容の前後少なくとも何れかに連続する内容を含む第二の内容を、前記第二の表示領域に一時に表示する、ことを特徴とする情報処理装置。
JP2019092351A 2019-05-15 2019-05-15 プログラム及び情報処理装置 Active JP7006656B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019092351A JP7006656B2 (ja) 2019-05-15 2019-05-15 プログラム及び情報処理装置
JP2021213583A JP7331917B2 (ja) 2019-05-15 2021-12-28 情報処理システム及び情報処理システムの制御方法
JP2021213582A JP7264225B2 (ja) 2019-05-15 2021-12-28 プログラム、エミュレート方法、及び、情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019092351A JP7006656B2 (ja) 2019-05-15 2019-05-15 プログラム及び情報処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017179458A Division JP6528820B2 (ja) 2017-09-19 2017-09-19 コンピュータ、情報機器、これらを動作させるプログラム、情報処理システム、及び情報処理システムの制御方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2021213583A Division JP7331917B2 (ja) 2019-05-15 2021-12-28 情報処理システム及び情報処理システムの制御方法
JP2021213582A Division JP7264225B2 (ja) 2019-05-15 2021-12-28 プログラム、エミュレート方法、及び、情報処理装置

Publications (3)

Publication Number Publication Date
JP2019169171A JP2019169171A (ja) 2019-10-03
JP2019169171A5 JP2019169171A5 (ja) 2020-11-12
JP7006656B2 true JP7006656B2 (ja) 2022-02-10

Family

ID=68107395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019092351A Active JP7006656B2 (ja) 2019-05-15 2019-05-15 プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP7006656B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352849A (ja) 2004-06-11 2005-12-22 Fuji Xerox Co Ltd 画面表示制御のためのプログラム、方法及び携帯情報機器
JP2010079661A (ja) 2008-09-26 2010-04-08 Casio Computer Co Ltd 計算機エミュレーション装置および計算機エミュレーションプログラム
US20130014086A1 (en) 2007-11-08 2013-01-10 Google Inc. Debugger connection
WO2013133133A1 (ja) 2012-03-08 2013-09-12 Necカシオモバイルコミュニケーションズ株式会社 コンテンツ及び投稿情報時系列連動方法、並びに情報処理端末
JP2014059421A (ja) 2012-09-18 2014-04-03 Casio Comput Co Ltd 電子機器、プログラム及び操作手順学習支援方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149591A (ja) * 1992-11-02 1994-05-27 Fujikura Ltd エミュレータ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352849A (ja) 2004-06-11 2005-12-22 Fuji Xerox Co Ltd 画面表示制御のためのプログラム、方法及び携帯情報機器
US20130014086A1 (en) 2007-11-08 2013-01-10 Google Inc. Debugger connection
JP2010079661A (ja) 2008-09-26 2010-04-08 Casio Computer Co Ltd 計算機エミュレーション装置および計算機エミュレーションプログラム
WO2013133133A1 (ja) 2012-03-08 2013-09-12 Necカシオモバイルコミュニケーションズ株式会社 コンテンツ及び投稿情報時系列連動方法、並びに情報処理端末
JP2014059421A (ja) 2012-09-18 2014-04-03 Casio Comput Co Ltd 電子機器、プログラム及び操作手順学習支援方法

Also Published As

Publication number Publication date
JP2019169171A (ja) 2019-10-03

Similar Documents

Publication Publication Date Title
JP6528820B2 (ja) コンピュータ、情報機器、これらを動作させるプログラム、情報処理システム、及び情報処理システムの制御方法
JP7006656B2 (ja) プログラム及び情報処理装置
JP5339478B2 (ja) 情報処理システム、情報処理装置、及びその制御方法及びプログラム
JP7331917B2 (ja) 情報処理システム及び情報処理システムの制御方法
JP7264225B2 (ja) プログラム、エミュレート方法、及び、情報処理装置
JP2014110041A (ja) アプリケーション作成支援サーバー、プログラム、及び、ネットワークシステム
JP7227468B2 (ja) プログラム、情報処理システムとその制御方法装置及びプログラム処理方法
JP6914989B2 (ja) 編集支援システム、および編集支援方法
JP6148542B2 (ja) 不動産情報管理システム
JP6135115B2 (ja) 情報処理装置、情報処理システム、その制御方法およびそのプログラム
JP6458373B2 (ja) 情報処理装置、情報処理システム、その制御方法及びプログラム
KR101418680B1 (ko) 로봇 동작용 콘텐츠 저작 툴을 갖는 지능형 단말기 및 이를 통한 로봇 동작용 콘텐츠 생성방법, 이를 이용한 로봇 동작용 콘텐츠 거래 기능의 커뮤니티 서비스 제공 시스템 및 그 방법 그리고 로봇 게임 방법
JP2018113043A (ja) 情報処理装置、処理方法、およびプログラム
JP2019101602A (ja) 情報処理システム、その処理方法及びプログラム
JP5678821B2 (ja) 情報管理装置、制御方法及びプログラム
JP4204399B2 (ja) 製品情報提供サーバおよび製品情報提供システムおよび製品情報提供方法およびプログラム
JP6458280B1 (ja) ゲームシステム及びそれに用いるコンピュータプログラム
JP5668624B2 (ja) 画像管理装置、システム、その制御方法、及びプログラム
JP2022092826A (ja) 情報処理装置、端末装置、情報処理方法、およびプログラム
JP6674084B2 (ja) サーバ装置、その制御方法、及びプログラム、並びに、情報処理システム、その制御方法、及びプログラム
JP2023157807A (ja) 情報処理装置、アセット管理装置、情報処理方法、アセット管理方法、およびプログラム
JP2021018527A (ja) モジュール提供システム、モジュール提供方法、及びプログラム
JP5831571B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP2006023869A (ja) オーダ品発注支援システムおよびオーダ品発注支援方法
JP2017142843A (ja) 情報処理装置、その制御方法、情報処理方法およびそのプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211025

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7006656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150