応用情報技術者過去問題 令和4年秋期 午後問7
⇄問題文と設問を画面2分割で開く⇱問題PDF問7 組込みシステム開発
傘シェアリングシステムに関する次の記述を読んで,設問に答えよ。
I社は,鉄道駅,商業施設,公共施設などに無人の傘貸出機を設置し,利用者に傘を貸し出す,傘シェアリングシステム(以下,本システムという)を開発している。
本システムの構成を図1に,傘貸出機の外観を図2に示す。 傘貸出機は,スマートフォンで動作する専用のアプリケーションプログラム(以下,アプリという)と組み合わせて傘の貸出し又は返却を行う。利用者がアプリを使って,利用する傘貸出機に貼り付けてある2次元バーコードの情報を読み,傘貸出機を特定する。アプリは,管理サーバへ傘の貸出要求又は返却要求を送る。管理サーバは,アプリからの要求に従って指定の傘貸出機へ指示を送り,貸出し又は返却が実施される。傘貸出機の構成を図3に示す。〔傘貸出機の処理〕
〔制御部のソフトウェア構成〕
制御部のソフトウェアには,リアルタイムOSを使用する。制御部の主なタスクの一覧を表1に示す。
I社は,鉄道駅,商業施設,公共施設などに無人の傘貸出機を設置し,利用者に傘を貸し出す,傘シェアリングシステム(以下,本システムという)を開発している。
本システムの構成を図1に,傘貸出機の外観を図2に示す。 傘貸出機は,スマートフォンで動作する専用のアプリケーションプログラム(以下,アプリという)と組み合わせて傘の貸出し又は返却を行う。利用者がアプリを使って,利用する傘貸出機に貼り付けてある2次元バーコードの情報を読み,傘貸出機を特定する。アプリは,管理サーバへ傘の貸出要求又は返却要求を送る。管理サーバは,アプリからの要求に従って指定の傘貸出機へ指示を送り,貸出し又は返却が実施される。傘貸出機の構成を図3に示す。〔傘貸出機の処理〕
- 貸出・返却口に内蔵されているロック機構は,制御部からの指示で貸出・返却口のロックを制御する。ロック機構は,1度の操作で傘貸出機から1本の傘の貸出し,又は,1本の傘の返却ができる。ロックが解除されると,制御部はスピーカーから音声を出力して,ロックが解除されたことを利用者に知らせる。また,ロック機構は,貸出時と返却時とでロックの解除方法が異なっており,貸出時のロックの解除では,傘の貸出しだけが可能となり,返却時のロックの解除では,傘の返却だけが可能となる。
- ロック機構の傘検知部は,傘検知部を通過する傘を検知する光センサー(以下,センサーという)及び傘に付与される識別情報を記録したRFIDタグを読み取るRFIDリーダーで構成される。①制御部は,傘検知部のセンサー出力の変化を検出すると10ミリ秒周期で出力を読み出し,5回連続で同じ値が読み出されたときに,確定と判断し,その値を確定値とする。傘の特定には,RFIDリーダーで読み出し情報(以下,RFIDタグの情報という)が使用される。傘貸出機が貸出し,返却を行うためのロックを解除した後10秒経過しても傘の貸出し,返却が行われなかった場合は,異常と判断し,ロックを掛ける。異常の際は,制御部がスピーカーから音声を出力して,異常が発生したことを利用者に知らせる。
- 傘貸出機内の傘の本数は,制御部で管理する。本システムの管理者は,初回の傘設置の際,管理サーバ経由で傘の本数の初期値を傘貸出機に登録する。
- 傘貸出機は,利用者への傘の貸出し又は返却が終了すると,自機が保有する傘の本数及び傘を識別するRFIDタグの情報(以下,これらを管理情報という)を更新し,管理サーバに送信する。傘貸出機は,全ての管理情報を管理サーバから受信し,記憶する。
〔制御部のソフトウェア構成〕
制御部のソフトウェアには,リアルタイムOSを使用する。制御部の主なタスクの一覧を表1に示す。
設問1
傘貸出機の処理について答えよ。
- 本文中の下線①について答えよ。
- 制御部が確定値を算出するのに,複数回センサー出力を読出しする理由を20字以内で答えよ。
- 制御部がセンサー出力の変化を検出してからセンサー出力の確定ができるまで最小で何ミリ秒か。答えは小数点以下を切り捨てて,整数で答えよ。
- ロックを解除した後の異常を10kHzのカウントダウンタイマーを使用して,タイマーの値が0になったときに異常と判断する。タイマーに設定する値を10進数で求めよ。ここで,1k=103とする。
解答入力欄
- A:
- B:ミリ秒
解答例・解答の要点
- A:ノイズなどによる誤作動を防ぐため (16文字)
- B:40
- 100000
解説
- 〔Aについて〕
下線①では「5回連続で同じ値が読み出されたときに,確定と判断し,その値を確定値とする」とあります。このような処理を行うのは、センサーがごく短時間の間に本来の値でない値を出力してしまい、その値をプログラム処理で用いたことによって傘の取り出し・返却が誤作動するのを防ぐためです。
センサーによる測定の一般的な知識となりますが、センサーは微小な変化を測定するするという性質上、外部または内部からのノイズ(不要な情報の意味)の影響を受けやすいという特徴があります。ノイズには、自然界に存在するノイズ、人工物によるノイズ、外部由来、内部由来などがあり、センサーは様々な経路でこれらのノイズの影響を受ける可能性があるのでノイズ対策をすることが重要です。ノイズによって変化した出力値をそのまま使ってしまうと誤作動の原因となるため、ソフトウェア処理によってノイズの影響を除去していると考えられます。
「ノイズによる」という部分はなかなか出てこないと思うので、誤作動することを防ぐためという部分が合っていれば問題ないでしょう。
∴A=ノイズなどによる誤作動を防ぐため
〔Bについて〕
最小での時間を考えるので、センサー出力の変化を検出してから出力値が変化しなかった場合を考えます。5回連続で同じ値が読み出されたときに確定と判断するため、下図のように出力の変化を検出後、検出時の出力値と同じ値が4回連続で読み出された場合が、最小で確定できるパターンとなります。出力の変化を検出した後の読出しは10ミリ秒周期で行われるため、「10ミリ秒×4=40ミリ秒」が求める答えとなります。なお、読み出し周期以外の処理時間は本文で明記されていないため、設問中の「小数点以下を切り捨てて」という部分については考慮しなくてよいです。
∴B=40 - 問題中に「ロックを解除した後10秒経過しても傘の貸出し,返却が行われなかった場合は,異常と判断し,ロックを掛ける」とあることから、10秒の経過をタイマーで数えることになります。本問で使用するカウントダウンタイマーは10kHzであり、10k=10×1,000=10,000なので、タイマーの値を1減らす動作を1秒間に10,000回行うことになります。ちょうど10秒後にタイマーの値を0にしたいのですから、10倍の「10,000×10=100,000」を設定すればOKです。
∴100000
設問2
制御部の主なタスクについて答えよ。
- 貸出タスクがロックを解除した後,利用者が傘を取り出さなかった場合の処理について,次の文章中のa,bに入れる適切な字句を表1中の字句を用いて答えよ。
貸出タスクがロックを解除したにもかかわらず,利用者が傘を取り出さなかった場合は,貸出タスクが異常と判断し,aタスクに送信する。"異常終了"を受けたaタスクは,bに異常終了を送信する。 - 返却時のタスクの処理について記述した次の文章中のc,dに入れる適切な字句を解答群の中から選び,記号で答えよ。
メインタスクは,不正な傘を返却させないように,返却タスクが傘から読み出したcに対し, dと異なっていないか確認し,異なっていなければ,返却タスクに"正常"を送信する。返却タスクはメインタスクから"正常"を受けるまで,ロックを解除しない。
c,d に関する解答群
- RFIDタグの情報
- RFIDリーダー
- 傘の本数
- 貸出中の傘
- センサー出力
- 不正な傘
- 返却タスク
- メインタスク
解答入力欄
- a:
- b:
- c:
- d:
解答例・解答の要点
- a:メイン
- b:管理サーバ
- c:ア
- d:エ
解説
- 表1の各タスクの動作を読んで、そのまま抜き出すだけの簡単な問題です。
〔aについて〕
利用者が傘を取り出さなかった場合の動作は、表1の貸出タスクに「ロックを解除した後,10秒経過しても傘が取り出されなかった場合は,傘貸出機のロックを掛け,メインタスクへ"異常終了"を送信する」と説明されています。
∴a=メイン
〔bについて〕
貸出タスクから"異常終了"を受けたメインタスクの動作は、表1のメインタスクに「"異常終了"を受けると,異常を知らせる音声をスピーカーから出力し,管理サーバに異常終了を送信する」と説明されています。
∴b=管理サーバ - 本問の傘シェアリングシステムでは、傘にRFIDタグが付けられており、それを傘貸出機のRFIDリーダーで読み取る仕様になっています。傘貸出機の内部では、自機が保有する傘の本数と傘を識別するRFIDの情報(管理情報)を保持しています。
表1の返却タスクの説明に、傘返却時は、ロックが解除される前に、返却タスクが傘のRFIDタグの情報を読み出すとあります。これ以外に返却タスクが読み出す処理の記述はないので、空欄cには「ア:RFIDタグの情報」が当てはまります。
返却タスクは読み出したRFIDタグの情報をメインタスクに送信し、メインタスクは正常な返却かどうかが判断した後、その結果に応じて"正常"または"異常"を返却タスクに通知をすることになっています。返却タスクに"正常"が返されるのは、傘の返却を受け付けるときです。傘の返却は、貸し出した傘のみに対して受け付けるようにするので、空欄dには「エ:貸出中の傘」が当てはまります。
∴c=ア:RFIDタグの情報
d=エ:貸出中の傘
設問3
制御部のタスクの処理について答えよ。
- 次の文章中のe~hに入れる適切な字句を答えよ。
傘の貸出しを行う場合,メインタスクから要求を受けた貸出タスクは,傘検知部のセンサーを起動し,傘を検知する。傘が検知されたらRFIDリーダーでRFIDタグの情報を読み出し,"RFID情報"をメインタスクに送信する。"RFID情報"を送信後,傘貸出機のロックを解除し,"e"をメインタスクに送信する。傘が傘貸出機から取り出されたことをfすると,傘貸出機のg,メインタスクへ"h"を送信する。 - "完了"を受けた場合のメインタスクの処理を25字以内で答えよ。
解答入力欄
- e:
- f:
- g:
- h:
解答例・解答の要点
- e:ロック解除完了
- f:センサーで検知
- g:ロックを掛け
- h:完了
- 管理情報を更新し,管理サーバへ送信する (19文字)
解説
- 設問2(1)と同様に、表1の各タスクの動作を読んで、そのまま抜き出すだけの簡単な問題です。
〔eについて〕
表1の貸出タスクには「要求を受けると,…傘貸出機のロックを解除し,"ロック解除完了"をメインタスクに送信する」とあります。
∴e=ロック解除完了
〔f~hについて〕
表1の貸出タスクには「傘が取り出されたことをセンサーで検知すると,傘貸出機のロックを掛け,メインタスクに"完了"を送信する」とあります。
∴f=センサーで検知
g=ロックを掛け
h=完了 - 本文中の〔傘貸出機の処理〕および表1のメインタスクには以下の記述があります。どちらも同じことを説明しており、これが解答の根拠となります。
- 傘貸出機は,利用者への傘の貸出し又は返却が終了すると,自機が保有する傘の本数及び傘を識別するRFIDタグの情報(以下,これらを管理情報という)を更新し,管理サーバに送信する
- "完了"を受けると,管理情報を更新し,管理サーバへ管理情報を送信する