業務用ホットコーヒーマシンに関する次の記述を読んで,設問に答えよ。
G社は,業務用ホットコーヒーマシン(以下,コーヒーマシンという)を開発している。コーヒーマシンの外観を図1に,コーヒーマシンの内部構成を図2に,コーヒーマシンの主な構成要素を表1に,それぞれ示す。
図1 コーヒーマシンの外観
図2 コーヒーマシンの内部構成
表1 コーヒーマシンの主な構成要素
〔カップ判定の仕様〕
カップ判定は,利用者がドアを閉じた時に,カメラでカップ載置部を複数回撮影して行う。カップ判定の結果一覧を,表2に示す。
表2 カップ判定の結果一覧
〔ドアの開閉状態の判定仕様〕
ドアの開閉センサーは,ドアが完全に閉じているときは0,それ以外は1を出力する。非常に短い間隔で01とを交互に出力することがあるので,制御部のソフトウェアは入力された値を10ミリ秒間隔で読み出し,4回連続で同じ値が読み出されたらドアの開閉状態を確定する。
〔コーヒーマシンの動作概要〕
コーヒーマシンの動作概要を次に示す。
(1)電源が入ると,初期化処理を行う。初期化処理が完了したら待機中となり,カップをカップ載置部に置くように促す画面をタッチパネルに表示する。
(2)利用者がドアを開けて,購入したカップをカップ載置部に置く。
(3)利用者がドアを閉じると,カップ判定を行う。
(4)カップ判定の結果が“空カップあり”となるので,カップのサイズを表す文字と,確認ボタンで構成される画面をタッチパネルに表示する。
(5)利用者が確認ボタンにタッチすると, a し,カップのサイズに応じた分量のコーヒーを抽出してコーヒー排出口からカップに注ぎ込む。タッチパネルには,抽出中であることを示す画面を表示する。
(6)コーヒーの排出が終わると,ドアをロック解除し,タッチパネルにカップの引取りを促す画面を表示する。
(7)利用者がドアを開け,カップを引き取る。
(8)利用者がドアを閉じると,カップ判定を行う。
(9)カップ判定の結果が“カップなし”となるので,待機中に戻る。
ここで,カップ判定中に利用者がドアを開けた場合は,カップ判定を中止し,利用者がドアを閉じるのを待つ。また,確認ボタンがタッチされる前に利用者がドアを開けた場合は,カップ判定の結果を破棄して,利用者がドアを閉じるのを待つ。
カップ判定の結果が“カップあり”又は“障害物あり”の場合,カップ判定の結果に応じた適切な画面をタッチパネルに表示する。
〔制御部のソフトウェア構成〕
制御部のソフトウェアは,リアルタイムOSを用いて実装する。制御部の主なタスクの処理概要を表3に示す。
表3 制御部の主なタスクの処理概要
設問1 コーヒーマシンについて答えよ。
(1)文中の a に入れる,適切なコーヒーマシンの動作を答えよ。
解答・解説
解答例
ドアをロック
解説
ー
(2)開閉センサーの出力を読み出す周期を,周波数32kHzのカウントダウンタイマー(以下,タイマーという)を用いて計っている。このタイマーは,あらかじめ設定された初期値からカウントダウンを行い,カウント値が0になったら,次のカウントダウンまでの間に初期値をリロードして動作を継続する。タイマーに設定する初期値は幾つか,整数で求めよ。ここで,1k=10³とする。
解答・解説
解答例
320
解説
ー
設問2 制御部のタスクについて答えよ。
(1)カップ判定タスクは,メインタスク及びドアタスクよりも優先度を低くしている。その理由を30字以内で答えよ。
解答・解説
解答例
カップ判定中にドアが開いた場合にカップ判定を中止するため
解説
ー
(2)メインタスクが抽出タスクに“抽出”を通知する際のパラメータとして,必要な情報を答えよ。
解答・解説
解答例
カップのサイズ
解説
ー
(3)開閉センサーの出力と,ドアタスクの動作タイミングの例を図3に示す。図3中の,アの時点でドアタスクが保持しているドアの開閉状態が開状態であるとき,ドアタスクがメインタスクに“ドア開”及び“ドア閉”を通知するタイミングを,それぞれ,ア〜テの記号で答えよ。
図3 開閉センサーの出力と,ドアタスクの動作タイミングの例
解答・解説
解答例
ドア開:タ ドア閉:カ
解説
ー
設問3 図4に示すメインタスクの状態遷移について答えよ。
図4 メインタスクの状態遷移
(1)メインタスクがドアタスクに通知を行うのは,何のメッセージを受けたときか。図4中のメッセージ名で全て答えよ。
解答・解説
解答例
確認,抽出完了
解説
ー
(2)図4中の b に入れる適切なメッセージ名を,表3中の字句で答えよ。
解答・解説
解答例
判定結果
解説
ー
IPA公開情報
出題趣旨
熱などの物理現象を取り扱う業務用機器では,業務の適正な実現のみならず,利用者の安全確保の取組みが求められ,各種のセンサーを活用した組込みシステムがそれを実現している。
本問では,熱いコーヒーの排出が行われる業務用ホットコーヒーマシンを題材に,組込みシステムの仕様の理解能力,リアルタイム OS を用いたタスクの設計能力を問う。
採点講評
問 7 では,業務用ホットコーヒーマシンを題材に,組込みシステムの仕様の理解及びソフトウェア設計について出題した。全体として正答率は平均的であった。
設問 1(2)は,正答率が平均的であった。タイマーのカウント値をリロードするタイミングに関する考慮が不足している解答が散見された。設問のカウントダウンタイマーの仕組みに留意して解答してほしい。
設問 2(1)は,正答率がやや低かった。タスク優先度の設計理由を問うたのに対し,タスクの処理が始まるまでの動作順序やタスクの処理が終わった後の動作仕様を理由とした解答,及びリアルタイム OS を用いて実装するソフトウェアの理解が不足していると思われる解答が散見された。タスクの優先度について正しく把握することは,組込みシステムのソフトウェア設計において極めて重要である。是非理解を深めてほしい。