2020年 秋期 応用情報技術者試験 問7
多言語多通貨対応両替システム
G社は、訪日外国人観光客が所持する外貨紙幣を日本円に両替するための、多言語多通貨対応両替システム(以下、両替システムという)を開発している。両替システムは、駅、商店などに設置される両替機、及びインターネットを介して両替機の管理と両替機への情報提供を行う管理サーバで構成される。両替システムの構成を図1に、両替機の外観を図2に、両替機の内部構成を図3に、両替機の構成要素の機能概要を表1に示す。


構成要素名 | 機能概要 |
---|---|
制御部 | ・両替機全体の制御及び管理サーバとの通信を行う。 |
タッチパネル | ・制御部からの指示を基に、画面表示を行う。 ・利用者が画面にタッチしたら、座標情報を制御部に通知する。 |
入金部 | ・外貨紙幣が入金口から挿入されたら、通貨・金種を識別して制御部に通知する。 ・制御部からの指示を基に、挿入された外貨紙幣を入金口に戻すか、内部に格納する。 |
出金部 | ・制御部からの指示を基に、出金口から日本円紙幣・硬貨を出金する。 |
印刷部 | ・制御部からの指示を基に、両替の結果を示す明細書を印刷して明細書排出口から排出する。 |
【タッチパネルの画面構成】
タッチパネルの画面は、両替可能な通貨の一覧表、言語名を表示した複数の言語ボタン、及び両替ボタンで構成される。両替可能な通貨の一覧表には、通貨名、入金額、両替レート、日本円額が含まれる。言語ボタンにタッチすると、タッチされたボタンに対応した言語で画面を再表示する。タッチパネルの画面例を図4に示す。

【両替機の動作概要】
両替機は、利用可能なとき、利用者が1枚目の外貨紙幣を入金口に挿入したら、両替状態にする。両替機は、挿入された外貨紙幣を、通貨・金種の識別後、入金口に戻すか、入金部の内部に格納する。外貨紙幣を入金部の内部に格納したら、その外貨紙幣の通貨に対応する、タッチパネルの画面の一覧表の入金額及び日本円額を更新する。両替機は、両替状態の場合、外貨紙幣が1枚挿入されるたびに、これらの動作を繰り返す。
利用者が両替ボタンにタッチすると、両替機は、明細書の印刷・排出と日本円紙幣・硬貨の出金を行い、印刷・排出と出金が全て完了したら、両替状態を解除して、1回の両替の動作を完了する。
【両替機の仕様】
両替機の仕様は、次のとおりである。
・1回の両替の動作で出金できる日本円額の合計は、1円以上10万円以下である。
・次のいずれかの場合は、挿入された外貨紙幣を、両替可能な通貨・金種として識別できなかった。
・挿入された外貨紙幣を、入金部の内部に格納できない状態になっていた。
・挿入された外貨紙幣を格納しても、日本円額の合計が1円に満たない。
・挿入された外貨紙幣を格納すると、日本円額の合計が10万円を超えてしまう。
・挿入された外貨紙幣を格納すると、出金部がもっている日本円紙幣・硬貨の組合せでは出金できない日本円額となってしまう。
・入金部の内部に一度格納した外貨紙幣は、入金口に戻さない。
・両替ボタンは、両替状態で、日本円額の合計が1円以上の場合に反応する。
・両替状態でないとき、定期的に管理サーバに問い合わせて両替レートを更新する。両替レートを更新したら、タッチパネルの画面の一覧表も更新する。両替状態では両替レートの更新を行わず、両替状態を解除した時に両替レートの更新を行う。
なお、両替状態となってから、入金部の内部に外貨紙幣を1枚も格納しないまま3分経過した場合も、両替状態を解除する。
・印刷・排出と出金が全て完了した時、次の事象が一つ以上発生していたら利用不可とする。保守作業によって事象が全て解決されると、利用可にする。
-
外貨紙幣を入金部の内部に格納できない状態である。
-
出金部がもっている日本円の合計金額が10万円未満である。
-
印刷部に格納されている明細書の用紙が不足している。
・印刷・排出と出金が全て完了した時、管理サーバに利用可・利用不可のいずれかを報告する。
【シリアルバス通信の概要】
シリアルバス通信はポーリング方式とする。制御部から入金部、出金部、印刷部の順に10ミリ秒間隔でデータを送信し、入金部、出金部、印刷部は、自分宛てのデータを受信したら、制御部にデータを送信する。データは、宛先コード、データ長、通知又は指示で構成される。シリアルバス通信のシーケンスを図5に、シリアルバスで通信される主なメッセージを表2に示す。

名称 | 送信元 | 送信先 | 概要 |
---|---|---|---|
出荷指示 | 制御部 | 入金部 | 挿入された外貨紙幣を内部に格納させる、又は入金口に戻させる。 |
格納通知 | 入金部 | 制御部 | 外貨紙幣の格納完了と、まだ外貨紙幣を格納できるかどうかを通知する。 |
挿入通知 | 入金部 | 制御部 | 挿入された外貨紙幣の通貨・金種、又は識別失敗を通知する。 |
出金指示 | 制御部 | 出金部 | 日本円紙幣・硬貨を出金口から出金させる。 |
出金通知 | 出金部 | 制御部 | 日本円紙幣・硬貨の出金完了と、日本円紙幣・硬貨の残り枚数を通知する。 |
印刷指示 | 制御部 | 印刷部 | 明細書を印刷させて、明細書排出口から排出させる。 |
印刷通知 | 印刷部 | 制御部 | 明細書の印刷・排出完了と、明細書の用紙が不足しているかどうかを通知する。 |
【制御部のソフトウェア構成】
制御部の組込みソフトウェアには、リアルタイムOSを使用する。制御部の主なタスクの一覧を表3に示す。
タスク名 | 概要 |
---|---|
メイン | ・両替機の全体を管理し、表示操作タスクに画面表示の指示を通知する。 ・シリアルバスタスクを介して、入金部、出金部、印刷部を制御する。 ・通信タスクを介して、管理サーバと情報の送受信を行う。 |
表示操作 | ・メインタスクからの指示を基に、画面表示を行う。 ・タッチパネルから通知された座標情報がボタン位置であれば、そのボタンの情報をメインタスクに通知する。 |
シリアルバス | ・入金部、出金部、印刷部との通信処理を行う。 |
通信 | ・管理サーバとの通信処理を行う。 |
【メインタスクのタイマ利用処理】
メインタスクは両替状態となった時、a後にイベントを受信するように、リアルタイムOSのタイマを設定する。このイベントの受信時、両替状態となってから、ある条件を満たしたら、bして、cを行う