多言語多通貨対応両替システムに関する次の記述を読んで,設問1〜4に答えよ。
G社は,訪日外国人観光客が所持する外貨紙幣を日本円に両替するための,多言語多通貨対応両替システム(以下,両替システムという)を開発している。両替システムは,駅,商店などに設置される両替機,及びインターネットを介して両替機の管理と両替機への情報提供を行う管理サーバで構成される。両替システムの構成を図1に,両替機の外観を図2に,両替機の内部構成を図3に,両替機の構成要素の機能概要を表1に示す。
図1 両替システムの構成 図2 両替機の外観
図3 両替機の内部構成
構成要素名 | 機能概要 |
制御部 |
・両替機全体の制御及び管理サーバとの通信を行う。 |
タッチパネル |
・制御部からの指示を基に,画面表示を行う。 ・利用者が画面にタッチしたら,座標情報を制御部に通知する。 |
入金部 |
・外貨紙幣が入金口から挿入されたら,通貨・金種を識別して制御部に通知する。 ・制御部からの指示を基に,挿入された外貨紙幣を入金口に戻すか,内部に格納する。 |
出金部 |
・制御部からの指示を基に,出金口から日本円紙幣・硬貨を出金する。 |
印刷部 |
・制御部からの指示を基に,両替の結果を示す明細書を印刷して明細書排出口から排出する。 |
タッチパネルの画面は,両替可能な通貨の一覧表,言語名を表示した複数の言語ボタン,及び両替ボタンで構成される。両替可能な通貨の一覧表には,通貨名,入金額,両替レート,日本円額が含まれる。言語ボタンにタッチすると,タッチされたボタンに対応した言語で画面を再表示する。タッチパネルの画面例を図4に示す。
図4 タッチパネルの画面例
〔両替機の動作概要〕
両替機は,利用可のとき,利用者が1枚目の外貨紙幣を入金口に挿入したら,両替状態にする。両替機は,挿入された外貨紙幣を,通貨・金種の識別後,入金口に戻すか,入金部の内部に格納する。外貨紙幣を入金部の内部に格納したら,その外貨紙幣の通貨に対応する,タッチパネルの画面の一覧表の入金額及び日本円額を更新する。両替機は,両替状態の場合,外貨紙幣が1枚挿入されるたびに,これらの動作を繰り返す。
利用者が両替ボタンにタッチすると,両替機は,明細書の印刷・排出と日本円紙幣・硬貨の出金を行い,印刷・排出と出金が全て完了したら,両替状態を解除して,1回の両替の動作を完了する。
〔両替機の仕様〕
両替機の仕様は,次のとおりである。
・1回の両替の動作で出金できる日本円額の合計は,1円以上10万円以下である。
・次のいずれかの場合は,挿入された外貨紙幣を入金部の内部に格納せずに,入金口に戻してエラーメッセージを表示する。
- 挿入された外貨紙幣を,両替可能な通貨・金種として識別できなかった。
- 挿入された外貨紙幣を,入金部の内部に格納できない状態になっていた。
- 挿入された外貨紙幣を格納しても,日本円額の合計が1円に満たない。
- 挿入された外貨紙幣を格納すると,日本円額の合計が10万円を超えてしまう。
- 挿入された外貨紙幣を格納すると,出金部がもっている日本円紙幣・硬貨の組合せでは出金できない日本円額となってしまう。
・入金部の内部に一度格納した外貨紙幣は,入金口に戻さない。
・両替ボタンは,両替状態で,日本円額の合計が1円以上の場合に反応する。
・両替状態でないとき,定期的に管理サーバに問い合わせて両替レートを更新する。両替レートを更新したら,タッチパネルの画面の一覧表も更新する。両替状態では両替レートの更新を行わず,両替状態を解除した時に両替レートの更新を行う。なお,両替状態となってから,入金部の内部に外貨紙幣を1枚も格納しないまま3分経過した場合も,両替状態を解除する。
・印刷・排出と出金が全て完了した時,次の事象が一つ以上発生していたら利用不可とする。保守作業によって事象が全て解決されると,利用可にする。
- 外貨紙幣を入金部の内部に格納できない状態である。
- 出金部がもっている日本円の合計金額が10万円未満である。
- 印刷部に格納されている明細書の用紙が不足している。
・印刷・排出と出金が全て完了した時,管理サーバに利用可・利用不可のいずれかを報告する。
シリアルバス通信はポーリング方式とする。制御部から入金部,出金部,印刷部の順に10ミリ秒周期でデータを送信し,入金部,出金部,印刷部は,自分宛てのデータを受信したら,制御部にデータを送信する。データは,宛先コード,データ長,通知又は指示で構成される。シリアルバス通信のシーケンスを図5に,シリアルバスで通信される主なメッセージを表2に示す。
図5 シリアルバス通信のシーケンス
表2 シリアルバスで通信される主なメッセージ
名称 | 送信元 | 送信先 | 概要 |
出納指示 | 制御部 | 入金部 | 挿入された外貨紙幣を内部に格納させる又は入金口に戻させる。 |
格納通知 | 入金部 | 制御部 | 外貨紙幣の格納完了と,まだ外貨紙幣を格納できるかどうかを通知する。 |
挿入通知 | 入金部 | 制御部 | 挿入された外貨紙幣の通貨・金種,又は識別失敗を通知する。 |
出金指示 | 制御部 | 出金部 | 日本円紙幣・硬貨を出金口から出金させる。 |
出金通知 | 出金部 | 制御部 | 日本円紙幣・硬貨の出金完了と,日本円紙幣・硬貨の残り枚数を通知する。 |
印刷指示 | 制御部 | 印刷部 | 明細書を印刷させて,明細書排出口から排出させる。 |
印刷通知 | 印刷部 | 制御部 | 明細書の印刷・排出完了と,明細書の用紙が不足しているかどうかを通知する。 |
制御部の組込みソフトウェアには,リアルタイムOSを使用する。制御部の主なタスクの一覧を表3に示す。
表3 制御部の主なタスクの一覧
タスク名 | 概要 |
メイン | ・両替機の全体を管理し,表示操作タスクに画面表示の指示を通知する。 ・シリアルバスタスクを介して,入金部,出金部,印刷部を制御する。 ・通信タスクを介して,管理サーバと情報の送受信を行う。 |
表示操作 | ・メインタスクからの指示を基に,画面表示を行う。 ・タッチパネルから通知された座標情報がボタン位置であれば,そのボタンの情報をメインタスクに通知する。 |
シリアルバス | ・入金部,出金部,印刷部との通信処理を行う。 |
通信 | ・管理サーバとの通信処理を行う。 |
メインタスクは両替状態となった時, a 後にイベントを受信するように,リアルタイムOSのタイマを設定する。このイベントの受信時,両替状態となってから,①ある条件を満たしたら, b して, c を行う。
出典:令和2年度秋期 問7
設問1 両替機について,(1),(2)に答えよ。
(1)制御部が両替状態となったことを判断するのは,どの構成要素から通知を受けたときか。表1中の構成要素名で答えよ。
解答・解説
解答例
入金部
解説
(2)制御部が管理サーバに利用可・利用不可のいずれかを報告するのは,二つのメッセージを受信した後である。その二つのメッセージ名を,表2中の名称で答えよ。
解答・解説
解答例
出金通知,印刷通知
解説
設問2 シリアルバスの最適な通信速度を検討するために,通信データ量が最も多く,処理時間が最も長くなるケースを調査した結果,当該ケースは次のとおりであった。
(i)制御部は,894バイトのデータを印刷部に送信する。
(ⅱ)印刷部はデータを受信し終えたら,750マイクロ秒の処理を行った後に,6バイトのデータを制御部に送信する。
(ⅲ)制御部はデータを受信し終えたら,250マイクロ秒の処理を行った後に,入金部へのデータ送信を開始する。
当該ケースにおいて,シリアルバスの通信速度は最低何ビット/秒必要か。答えは小数第1位を切り上げて,整数で求めよ。ここで,1バイトはスタートビット,ストップビットを含めて10ビットで送信されるものとする。
解答・解説
解答例
1,000,000 [ビット/秒]
解説
設問3 〔メインタスクのタイマ利用処理〕について,(1),(2)に答えよ。
(1)本文中の a 〜 c に入れる適切な字句を答えよ。
解答・解説
解答例
a:3分
b:両替状態を解除
c:両替レートの更新
解説
(2)本文中の下線①の条件とは何か。30字以内で述べよ。
解答・解説
解答例
入金部の内部に外貨紙幣を1枚も格納していないこと
解説
設問4 ある両替において,両替状態となってから,日本円額91,000円分の外貨紙幣を入金部の内部に格納したところに,利用者が100米ドル紙幣1枚を挿入したら,格納されずに入金口に戻された。戻された原因を25字以内で述べよ。ここで,両替機が故障していない状態で,入金部は100米ドル紙幣が両替可能な通貨・金種と認識し,外貨紙幣を内部に格納できる状態であるものとする。また,両替レートは,1米ドル100円とし,出金部は全ての金種の日本円紙幣・硬貨をそれぞれ10枚以上もっているものとする。
解答・解説
解答例
日本円額の合計が10万円を超えるから
解説
IPA公開情報
出題趣旨
組込みシステムのソフトウェアの設計・実装においては,システムの要求仕様に加え,周辺装置の制御仕様 の理解が求められる。
本問では,複数の装置で構成される両替機を用いた,多言語多通貨対応両替システムを題材に,周辺装置と の通信仕様を理解する能力,両替機を制御するタスク設計能力及びそれらを実装するための基礎的能力を問う。
採点講評
問 7 では,多言語多通貨対応両替システムを題材に,周辺装置との通信仕様,両替機を制御するタスク設計 について出題した。全体として正答率は平均的であった。
設問 2 は,正答率が低かった。単位の変換又は計算を誤ったと思われる解答が多かった。落ち着いて計算す るよう心掛けてもらいたい。
設問 3 は,正答率がやや低かった。問うている処理条件を理解していないと思われる解答が多かった。シス テム仕様の内容とタスク設計の内容とを対比しながら検討してほしい。
設問 4 は,正答率が高かったが,両替状態では起こり得ないことや問題文の想定を無視した内容を解答した 受験者もいた。解答した内容で問題の想定条件を満たすことができるかどうかを再確認してほしい。