令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午後I 問題 問1 ペット医療用シリンジポンプの状態遷移とタスク間通信

学習ガイド

動物病院の点滴で使うシリンジポンプの組込みソフトウェアについての問題です。状態表示の移り変わり、モータのパルスレートとレバーの移動距離の計算、タスク間で通知する内容が問われます。後半では、作業ミスを防ぐためにバーコードリーダを追加したときのメインタスクの変更と、リーダを接続してもアイコンが点滅しない場合を考えます。リーダの接続と“設定完了”表示のタイミングの関係に注目すると原因が分かります。

この記事で押さえる論点

  • 設定や点滴の動作の記述から、状態表示領域に表示される状態の移り変わりを説明できる
  • モータ、シャフト、レバーの仕様から、パルスレートと移動距離の関係を計算できる
  • リアルタイムOSにおけるタスクの役割分担とタスク間通信のメッセージを対応付けて説明できる
  • バーコードリーダの追加に伴うメインタスクの変更点と、アイコンが点滅しない場合を説明できる

問題本文

ペット医療の点滴で用いるシリンジポンプに関する次の記述を読んで,設問1〜3に答えよ。

A社は,動物病院で取り扱う動物への点滴で使用される,ペット医療用のシリンジポンプ(以下,Sポンプという)を開発している。Sポンプの外観を図1に示す。

図1 Sポンプの外観
図の説明テキスト

Sポンプと管理装置の外観および接続関係を示す図。

  • 図の左側に「注入針」があり、波線で中略された「チューブ」を経由して「シリンジ」の左端に繋がっている。
  • シリンジは「筒」と「押し子」から構成されており、Sポンプ本体の左側にセットされている。
  • Sポンプ本体の上面には、左から「表示部」「操作部」が配置されている。
  • Sポンプ本体の右側内部には、押し子の右端に接する「レバー」と、それを駆動する「ステッピングモータ」が配置されている。
  • Sポンプ本体の右側から雷線(N字型の線)が伸び、「無線通信」を通じて「管理装置」と通信していることが示されている。

シリンジは,液体状の点滴用薬剤(以下,薬剤という)が入っている円筒形の筒と可動式の押し子で構成されており,注射器の構造をしている。シリンジは,着脱可能である。Sポンプは,Sポンプに装着されたシリンジの押し子を,ステッピングモータ(以下,モータという)によって稼働するレバーで押すことで,シリンジ内の薬剤を押し出す。操作部でSポンプを操作することができ,表示部で状態の表示などができる。また,Sポンプは無線通信で管理装置とデータの送受信を行う。

〔Sポンプの機構概要〕

Sポンプの機構概要を図2に,Sポンプの機構構成要素の機能概要を表1に示す。

図2 Sポンプの機構概要
図の説明テキスト

Sポンプの機構概要を示す図。

  • 横方向にねじ溝が切られた「シャフト」があり、その右端は歯車を介して「モータ」に接続されている。
  • シャフトには下向きに「レバー」が噛み合って取り付けられている。
  • レバーの面(押し子を押す面)に破線の枠で「圧力センサ」が示されている。
  • シャフトの左端寄りの下側に、上下に向き合う二つの三角形(縦向きの砂時計形)の記号があり、「光学センサ1」と示されている。
  • レバーがシャフトに噛み合う位置のすぐ右(シャフトの中ほど)に、左右に向き合う二つの三角形(横向きの砂時計形)の記号があり、「光学センサ2」と示されている。
  • 図の下部に以下の注記がある:
    「注記 Sポンプへのシリンジの着脱は,手動操作でシャフトの溝からレバーを外し,レバーを左右に動かして行う。ただし,モータの駆動によってレバーが押し子を押しているときは,シリンジを Sポンプから取り外すことはできない。」
表1 Sポンプの機構構成要素の機能概要
図の説明テキスト
構成要素名 機能概要
モータ 1パルスで,モータは1.8度回転する。
シャフト らせん状の溝が掘られていて,モータが16回転するとシャフトは1回転する。
レバー シャフトが1回転すると,0.5ミリメートル移動する。
光学センサ1 シリンジがSポンプにセットされたことを検出するとONになる。
光学センサ2 レバーがシャフトの溝にセットされていることを検出するとONになる。
圧力センサ 薬剤の詰まりなどを検出するもので,押し子を押す圧力を計測する。

〔Sポンプのハードウェア構成〕

Sポンプのハードウェアの主な構成要素の機能概要を表2に示す。

表2 Sポンプのハードウェアの主な構成要素の機能概要
図の説明テキスト
構成要素名 機能概要
MCU ・フラッシュメモリ,RAM,タイマ,USB I/F などが内蔵されている。
・内蔵のA/Dコンバータには,圧力センサが接続されている。
・内蔵の入力ポートには,光学センサ1,2及び電源部からの信号線が接続されている。
操作部 ・設定開始,決定,設定終了,準備,点滴,停止の各キー,及びテンキー1)がある。
表示部 ・LCDで表示する。表示部の表示例を図3に示す。
モータ駆動部 ・駆動指示を受けると,指定されたパルスレート2)で,指定されたパルス数分だけモータを駆動し,パルス数分の駆動が終了すると,モータの駆動を停止したことを出力する。
・モータの駆動中に停止指示を受けると,モータの駆動を停止する。
電源部 ・二次電池(以下,電池という)を内蔵し,商用電源の入力があれば,商用電源でSポンプへの電力供給及び電池の充電を行う。商用電源の入力がなければ,電池でSポンプへの電力供給を行う。
・信号線を介して,シリンジ1本分以上の点滴可能な電池の残容量があることを出力する。

注記 電源部を除いた各構成要素は,システムバスに接続されている。
注1) 0〜9の数字,小数点,上下左右の矢印などのキーである。
注2) 毎秒のパルス数であり,単位はPPSで表す。

図3 表示部の表示例
図の説明テキスト

Sポンプの表示部のLCD画面と各領域の説明図。
・左上の引き出し線「状態表示領域:Sポンプの状態を表示する。」は画面の「点滴中」を指す。
・左下の引き出し線「情報表示領域:設定項目の情報などを表示する。」は画面の「ペットID:◯-◯◯◯◯◯◯、シリンジID:△△-△△△△△、点滴流量:10ml/時、点滴量:30ml」を指す。
・右上の引き出し線「電池残容量表示領域:シリンジ1本分以上の点滴ができるとき“OK”を表示する。」は画面右上の電池アイコンと「:OK」を指す。
・右下の引き出し線「シリンジ表示領域:光学センサ1,2がONのとき“OK”を表示する。」は画面上部の「シリンジ:OK」を指す。
注記 ml は,ミリリットルを表す。

〔設定項目の設定動作の概要〕

 Sポンプには,ペットID,シリンジID,点滴流量,及び点滴量の四つの設定項目があり,操作部を操作して設定する。ペットIDは,点滴するペットに付けられたIDである。シリンジIDは,点滴に使用するシリンジに付けられ,シリンジの内径と長さ,薬剤名を示すIDである。点滴流量は,一定量で点滴する 1 時間当たりの量である。点滴量は,点滴する総量である。

 設定項目の設定動作について次に示す。
(1) Sポンプの電源が投入されると,状態表示領域に“設定可”を表示する。
(2) “設定可”の表示中に,設定開始キーが押されると,状態表示領域に“設定中”を表示し,四つの設定項目を設定項目一覧として情報表示領域に表示する。
(3) “設定中”の表示中に,設定する項目をテンキーの矢印キーで選択し決定キーが押されると,選択された項目の内容が既に設定されていればその内容を,設定されていなければ設定項目名だけを情報表示領域に表示する。表示された設定項目の内容を,テンキーを使用して入力する。決定キーが押されると入力した内容で設定内容を決定し,設定項目一覧を表示する。
(4) “設定中”の表示中に,設定終了キーが押されると,状態表示領域に“設定完了”を表示し,情報表示領域に点滴流量などを表示する。ただし,設定内容が不足していれば,状態表示領域に“設定可”を表示し,情報表示領域に不足している項目を表示する。“設定完了”の表示中に設定開始キーが再度押されると,上記(2)の状態表示領域の“設定中”の表示から繰り返す。

〔点滴動作の概要〕

(1) 状態表示領域が“設定完了”で,かつ,電池残容量表示領域が“OK”であるとき,準備キーが押されると,次の動作を行う。
 ① シリンジ表示領域が“OK”であれば,状態表示領域に“準備中”を表示し,チューブ内の空気を抜くためにモータを駆動する。このときのパルスレートは 3,200 PPS,パルス数はチューブ内の空気を抜くために十分な数の固定数(以下,準備パルス数という)とする。
 ② “準備中”の表示中に,停止キーが押されると,状態表示領域に“準備完了”を表示して,モータの駆動を停止する。準備キーが再度押されると,上記①から繰り返す。

(2) “準備完了”の表示中に点滴キーが押されると,次の動作を行う。
 ① 状態表示領域に“点滴中”を表示し,設定されたシリンジID,点滴流量及び点滴量を基に,パルスレート及びパルス数を算出してモータを駆動する。
 ② “点滴中”の表示中に,点滴量の点滴を完了したか,圧力センサの出力値が基準値を超えたか,又は停止キーが押されたかのいずれかの事象が発生するとモータの駆動を停止する。さらに,状態表示領域に“設定可”を表示し,情報表示領域に停止した事象を表示する。

〔管理装置との通信概要〕

“設定可”の表示中に,管理装置から設定項目を一括設定する指示を受信すると,受信した内容で四つの設定項目を設定し,状態表示領域に“設定完了”を表示する。また,“点滴中”の表示中にモータの駆動を停止したとき,停止した事象を管理装置に送信する。

〔Sポンプのソフトウェア構成〕

Sポンプでは,リアルタイムOSを使用する。Sポンプの主なタスク構成を図4に,Sポンプの主なタスクの処理概要を表3に示す。

図4 Sポンプの主なタスク構成
図の説明テキスト

構成要素:
・タスク(実線の枠):キー判定、設定、メイン、表示制御、周期、点滴制御
・メモリ(下線付きの字句):設定情報、状態情報

実線の矢印(メッセージ通信):

  • キー判定 → メイン
  • キー判定 → 設定
  • 設定 ⇔ メイン(両端に矢印、両方向)
  • 設定 → 表示制御
  • メイン → 表示制御
  • メイン ⇔ 点滴制御(両端に矢印、両方向)
  • 周期 → メイン
  • 周期 → 点滴制御
    破線の矢印(メモリへの書込み):
  • 設定 → 設定情報
  • メイン → 状態情報

注記:
・注記1: 実線の矢印は,メールボックスを使用したタスク間のメッセージ通信の方向を示す。
・注記2: 破線の矢印は,メモリへの書込みを示す。ただし,メモリからの読出しは省略している。

表3 Sポンプの主なタスクの処理概要
図の説明テキスト
タスク名 処理概要
メイン ・Sポンプの状態を示す状態情報の管理,設定項目の不足判定,管理装置との通信制御など,Sポンプ全体を制御する。
キー判定 ・操作部のキーが押されるたびに起動されて押されたキーを判定し,判定したキーの情報を,状態情報が“設定中”以外のときはメインタスクに,“設定中”のときは設定タスクに通知する。
設定 ・設定開始の通知を受けると,操作部及び表示部を使用し,設定情報に設定内容を書き込む。
・設定開始の通知を受けた後に [ a ] タスクから [ b ] の通知を受けると,設定開始を通知したタスクに,設定終了を通知する。
・一括設定指示の通知を受けると,受けた設定内容を設定情報に書き込む。
表示制御 ・表示指示の通知を受けると,受けた表示内容をLCDに表示する。
周期 ・一定周期で起動され,電源の信号線の情報,光学センサ1,2のON/OFF情報,及び圧力センサの出力値が基準値を超えたことを示す情報を,状態情報を基に必要とするタスクに通知する。
点滴制御 ・点滴準備開始の通知を受けると,パルスレート3,200PPS,準備パルス数でモータを駆動する。
・点滴開始の通知を受けると,設定情報に書き込まれた [ c ] を基に算出したパルスレート,パルス数でモータを駆動する。
・点滴開始の通知を受けた後,モータの駆動中に,指定されたパルス数分だけモータを駆動した事象,又は圧力センサの出力値が基準値を超えた事象によってモータの駆動を停止し,点滴開始の通知をしたタスクに点滴を停止した事象を通知する。
・モータの駆動中にモータの停止の通知を受けると,モータの駆動を停止する。

設問3 作業ミスの防止機能の追加について,(1),(2)に答えよ。

USB I/F をもつバーコードリーダ(以下,リーダという)をSポンプに接続できるようにする。リーダは,バーコードを読み取るごとにSポンプに送信する。Sポンプは受信したバーコードの情報と設定情報を比較することで,作業ミスを防止する。リーダで読む情報は,ペットID及びシリンジIDの2種類とする。

リーダの接続状況を把握できるアイコン(以下,アイコンという)を表示部に追加する。リーダが未接続のときはアイコンを消灯し,リーダが接続されるとアイコンを点灯する。アイコンの点灯中に,状態表示領域に“設定完了”を表示するタイミングでアイコンの点滅を開始する。アイコンの点滅中に,リーダからペットID及びシリンジIDの情報を受信するとアイコンを点灯に戻し,作業ミスの有無を判定する。判定の結果が作業ミス“有り”のときだけ,状態表示領域に“設定可”を,情報表示領域に作業ミスの内容を表示する。

ソフトウェアの変更は,リーダタスクを新たに追加し,メインタスクだけを変更する。リーダタスクは,リーダの接続状況の変化を検出した場合,又は状態情報が“設定完了”のときにバーコードの情報を受信した場合にメインタスクに通知する。

(1) メインタスクで変更する処理の一部に関して,次の記述中の d 〜 g に入れる適切な字句を答えよ。

メインタスクは,アイコンが点滅している場合,キー判定タスクからの通知を無効とする。これは,アイコンが点滅している場合に d キーが押されて状態表示領域に e を,又はシリンジ表示領域に“OK”が表示されている場合に f キーが押されて状態表示領域に g を表示する不都合を防止するためである。

設問と解答・解説

設問1

Sポンプの仕様について,(1)〜(3)に答えよ。

(1)配点 4点

電池残容量表示領域が“OK”で,かつ,状態表示領域が“設定完了”のとき,“設定完了”から“準備完了”が表示されるまでの間に,状態表示領域に表示される可能性のある状態が,“設定完了”及び“準備完了”を除いて三つある。その状態を,本文中の字句で全て答えよ。

模範解答

設定可,設定中,準備中

採点基準

正確性(内容)4点
  • 4点: 「設定可」「設定中」「準備中」の3つ全てを解答している(順不同、区切り記号や“ ”の有無は問わない)。
  • 2点: 「設定可」「設定中」「準備中」のうち1〜2つのみ解答している、又は3つに加えて誤った状態(設定完了、準備完了、点滴中など)を含んでいる。
  • 0点: 正解となる状態をいずれも含まない。

解説

解説

Sポンプの状態遷移について確認します。

  1. 〔設定項目の設定動作の概要〕(4) より、状態表示領域が「設定完了」の表示中に設定開始キーが再度押されると、状態表示領域の表示は「設定中」に戻ります。また、設定内容が不足している場合は状態表示領域に「設定可」が表示されます。
  2. 〔点滴動作の概要〕(1) より、状態表示領域が「設定完了」かつ電池残容量表示領域が「OK」のとき、準備キーが押されると、シリンジ表示領域が「OK」であれば状態表示領域に「準備中」が表示されます。さらに、この「準備中」の表示中に停止キーが押されると、「準備完了」が表示されます。

したがって、「設定完了」から「準備完了」が表示されるまでの間に状態表示領域に表示される可能性のある状態は、「設定可」「設定中」「準備中」の3つです。

高得点のポイント

  • 「設定可」「設定中」「準備中」の3つの状態を全て過不足なく解答していること。
(2)配点 4点

準備キーによってモータを駆動したとき,レバーが1秒間に移動する距離は何ミリメートルか。答えは小数第2位を四捨五入して,小数第1位まで求めよ。

模範解答

0.5

解説

解説

準備キーによってモータを駆動したときのレバーの移動距離を計算します。

  1. 〔点滴動作の概要〕(1) ① より、準備キーが押されたときのモータ駆動のパルスレートは 3,200 PPS(毎秒 3,200 パルス)です。
  2. 表1「Sポンプの機構構成要素の機能概要」より、以下の機構の変換比率が読み取れます。
    • モータ:1 パルスで 1.8 度回転
    • シャフト:モータが 16 回転(16×36016 \times 360 度)すると 1 回転
    • レバー:シャフトが 1 回転すると 0.5 ミリメートル移動
  3. これらを基に、1秒間当たりのレバーの移動距離を求めます。
    • 1秒間のモータの回転角度:3,200 パルス/秒×1.8 度/パルス=5,760 度/秒3,200 \text{ パルス/秒} \times 1.8 \text{ 度/パルス} = 5,760 \text{ 度/秒}
    • 1秒間のモータの回転数:5,760 度÷360 度/回転=16 回転/秒5,760 \text{ 度} \div 360 \text{ 度/回転} = 16 \text{ 回転/秒}
    • 1秒間のシャフトの回転数:16 回転/秒÷16 回転/シャフト1回転=1 回転/秒16 \text{ 回転/秒} \div 16 \text{ 回転/シャフト1回転} = 1 \text{ 回転/秒}
    • 1秒間のレバーの移動距離:1 回転/秒×0.5 ミリメートル/回転=0.5 ミリメートル/秒1 \text{ 回転/秒} \times 0.5 \text{ ミリメートル/回転} = 0.5 \text{ ミリメートル/秒}

よって、レバーが1秒間に移動する距離は 0.5 ミリメートルとなります。

(3)配点 3点

シリンジIDで設定されたシリンジにおいて,押し子が1ミリメートル押され,0.1 mlの薬剤が送り出される場合で,点滴流量7.2 ml/時で点滴したいとき,シャフトを1時間に何回転させればよいか。答えは小数第1位を四捨五入して,整数で求めよ。

模範解答

144

解説

解説

1時間当たりに必要なシャフトの回転数を計算します。

  1. 設問の条件より、押し子が 1 mm 押されると 0.1 ml の薬剤が送り出されます。
  2. 目的の点滴流量は 7.2 ml/時 です。
  3. 1時間に薬剤を 7.2 ml 送り出すために必要な押し子(レバー)の移動距離を求めます。
    • レバーの移動距離:7.2 ml÷0.1 ml/mm=72 mm7.2 \text{ ml} \div 0.1 \text{ ml/mm} = 72 \text{ mm}
  4. 表1より、シャフトが 1 回転するとレバーは 0.5 mm 移動します。
  5. したがって、1時間に必要なシャフトの回転数は以下の通り計算できます。
    • シャフトの回転数:72 mm÷0.5 mm/回転=144 回転72 \text{ mm} \div 0.5 \text{ mm/回転} = 144 \text{ 回転}

よって、シャフトを1時間に144回転させる必要があります。

(4)配点 3点

また,パルスレートは何PPSか。答えは小数第1位を四捨五入して,整数で求めよ。

模範解答

128

解説

解説

前問で求めた1時間当たりのシャフト回転数から、パルスレート(1秒間当たりのパルス数、PPS)を計算します。

  1. 前問より、1時間に必要なシャフトの回転数は 144 回転 です。
  2. 表1より、シャフト 1 回転につきモータは 16 回転します。
    • 1時間当たりのモータ回転数:144 回転×16 回転/シャフト1回転=2,304 回転144 \text{ 回転} \times 16 \text{ 回転/シャフト1回転} = 2,304 \text{ 回転}
  3. 1回転は 360 度なので、1時間当たりのモータの回転角度を求めます。
    • 1時間当たりの回転角度:2,304 回転×360 度/回転=829,440 度2,304 \text{ 回転} \times 360 \text{ 度/回転} = 829,440 \text{ 度}
  4. 表1より、モータは 1 パルスで 1.8 度回転します。
    • 1時間当たりのパルス数:829,440 度÷1.8 度/パルス=460,800 パルス829,440 \text{ 度} \div 1.8 \text{ 度/パルス} = 460,800 \text{ パルス}
  5. パルスレートは秒間のパルス数(PPS)であるため、時間(3,600秒)で割ります。
    • パルスレート:460,800 パルス÷3,600 秒=128 PPS460,800 \text{ パルス} \div 3,600 \text{ 秒} = 128 \text{ PPS}

よって、パルスレートは 128 PPS となります。

設問1(1)は正答率が高く,(2)は正答率が平均的であった。要求仕様に関する設問であり,要求仕様を正しく理解されていることがうかがえた。しかし,(3)の点滴を行う際に必要なパルスレートを求める計算の正答率が低かった。計算式自体は複雑ではないので,落ち着いて計算するよう心掛けてもらいたい。

設問2

Sポンプのソフトウェアについて,(1)〜(3)に答えよ。

(1)配点 4点

表3中のaに入れる適切な字句を答えよ。

模範解答

キー判定

採点基準

正確性(内容)4点
  • 4点: 「キー判定」と解答している(「キー判定タスク」も可)。
  • 2点: 「キー判定」を含むが、他のタスク名も併記するなど余分な内容がある。
  • 0点: 不正解。

解説

解説

表3の設定タスクの処理概要「設定開始の通知を受けた後に [ a ] タスクから [ b ] の通知を受けると,設定開始を通知したタスクに,設定終了を通知する」における [ a ] を特定します。

図4「Sポンプの主なタスク構成」のメッセージ通信の矢印(実線)を確認すると、設定タスクがメッセージを受け取る送信元のタスクは「キー判定」と「メイン」の2つです。
次に表3のキー判定タスクの処理概要を見ると、「判定したキーの情報を,状態情報が“設定中”以外のときはメインタスクに,“設定中”のときは設定タスクに通知する」とあります。
設定動作はキー操作によって進行するため、設定の終了を判断するための「設定終了キー」の押下情報を設定タスクに通知するタスクは「キー判定」タスクとなります。

高得点のポイント

  • 図4や表3から、設定タスクにキー操作を通知するタスクが「キー判定」であることを正確に読み取り、解答していること。
(2)配点 3点

また,表3中のbに入れる適切な内容を20字以内で答えよ。

模範解答

設定終了キーが押されたこと

採点基準

知識・理解度(内容)2点
  • 2点: 設定を終了させるためのアクション(「設定終了キー」など)であることが記述されている。
  • 1点: 終了に関連する記述はあるが、キー操作の特定が不正確である。
  • 0点: 正確な内容が記述されていない。
論理性(構造)1点
  • 1点: 「〜こと」などの適切な形で、通知の内容として意味が通じる。
  • 0点: 文意が通じない、または通知の内容として不適切な構造になっている。

解説

解説

設定タスクが設定終了を通知するための条件となる、キー判定タスクからの通知内容 [ b ] を特定します。

〔設定項目の設定動作の概要〕(4) に、「“設定中”の表示中に,設定終了キーが押されると,状態表示領域に“設定完了”を表示し...」とあります。
つまり、設定中状態を完了させるトリガーは「設定終了キー」が押されることです。これをキー判定タスクが検知し、その事象を設定タスクに通知することで一連の設定処理が終了に向かいます。
したがって、通知の内容は「設定終了キーが押されたこと」に該当します。

高得点のポイント

  • 通知内容が「設定終了キー」に関するアクションであることを明記していること。
  • 「押されたこと」など、キー判定タスクからの事象通知として文意が通じる適切な表現を用いていること。
(3)配点 4点

表3中のcに入れる適切な設定項目を全て答えよ。

模範解答

シリンジID,点滴流量,点滴量

採点基準

正確性(内容)4点
  • 4点: 「シリンジID」「点滴流量」「点滴量」の3つ全てを解答し(順不同)、余分な項目を含まない。
  • 2点: 「シリンジID」「点滴流量」「点滴量」のうち一部のみ解答している、又は3つに加えて余分な項目(ペットIDなど)を含んでいる。
  • 0点: 正しい項目を含まない。

解説

解説

表3の点滴制御タスクにおいて、パルスレートとパルス数を算出するために設定情報から読み出す項目 [ c ] を特定します。

〔点滴動作の概要〕(2) ① の点滴開始時の動作に、「設定されたシリンジID,点滴流量及び点滴量を基に,パルスレート及びパルス数を算出してモータを駆動する」と明記されています。
したがって、算出の基になる設定項目はこれら3つの項目です。

高得点のポイント

  • パルスレートとパルス数の算出に必要な「シリンジID」「点滴流量」「点滴量」の3項目を全て抽出して解答していること。
(4)配点 4点

周期タスクから点滴制御タスクにメッセージを通知するときの状態情報を答えよ。

模範解答

点滴中

採点基準

知識・理解度(内容)2点
  • 2点: 「点滴中」と答えている(“点滴中”、「点滴中のとき」なども可)。
  • 1点: 「点滴中」を含むが、他の状態(準備中など)も併記している。
  • 0点: 「点滴中」を含まない(設定中・準備中など他の状態、又は状態情報以外の内容)。
論理性(構造)2点
  • 2点: 「点滴中」を状態名として簡潔に答えている。
  • 0点: 「点滴中」を答えていない、又は状態名になっていない(誤った状態名には部分点を与えない)。

解説

解説

周期タスクが点滴制御タスクに対してメッセージを通知する際の状態情報を特定します。

表3の周期タスクの処理概要には、「...圧力センサの出力値が基準値を超えたことを示す情報を,状態情報を基に必要とするタスクに通知する」とあります。
また、表3の点滴制御タスクの処理概要を見ると、「点滴開始の通知を受けた後,モータの駆動中に...圧力センサの出力値が基準値を超えた事象によってモータの駆動を停止し...」とあり、点滴制御タスクがこの事象を処理するのは「モータの駆動中」であることがわかります。

〔点滴動作の概要〕(2) ① より、点滴開始の通知を受けてモータを駆動しているときの状態表示領域には「点滴中」が表示されています。よって、該当する状態情報は「点滴中」となります。

高得点のポイント

  • 周期タスクから点滴制御タスクへ事象の通知が行われるモータ駆動時の状態が「点滴中」であることを正確に理解し記述していること。
(5)配点 3点

また,そのとき発生した事象を25字以内で述べよ。

模範解答

圧力センサの出力値が基準値を超えた事象

採点基準

知識・理解度(内容)2点
  • 2点: 圧力センサの出力値が基準値を超えたことが記述されている。
  • 1点: 圧力センサに関する記述はあるが、超えた条件などが不正確である。
  • 0点: 圧力センサに関連する正確な内容が記述されていない。
論理性(構造)1点
  • 1点: 発生した「事象」として意味が通じる文になっている。
  • 0点: 文意が通じない、または事象の説明として不適切な構造になっている。

解説

解説

前問で求めた状態「点滴中」において、周期タスクから点滴制御タスクへ通知される事象の内容を特定します。

表3の周期タスクの処理概要にある通り、周期タスクが監視して通知する情報の中には「圧力センサの出力値が基準値を超えたことを示す情報」が含まれます。
点滴制御タスクは、点滴中(モータ駆動中)にこの事象の通知を受けると、モータの駆動を停止する処理を行います(〔点滴動作の概要〕(2) ② 参照)。
したがって、点滴制御タスクに通知される事象は「圧力センサの出力値が基準値を超えた事象」となります。

高得点のポイント

  • 停止事象の原因が「圧力センサの出力値」に関連するものであることを記述していること。
  • その出力値が「基準値を超えた」ことによる事象であることが明確に読み取れること。

設問2(3)は,正答率が平均的であった。状態情報を求める設問に対し,状態情報以外の内容での解答が散見された。本文の内容と問われている内容をよく理解した上で,解答してほしい。

設問3

(1)配点 4点

メインタスクで変更する処理の一部に関して,記述中の d に入れる適切な字句を答えよ。

模範解答

設定開始

採点基準

正確性(内容)4点
  • 4点: 「設定開始」と解答している(「設定開始キー」も可)。
  • 2点: 「設定開始」を含むが、他のキーも併記するなど余分な内容がある。
  • 0点: 不正解。

解説

解説

アイコン点滅中のキー入力無効化の理由について、状態遷移を防ぐ対象となるキー [ d ] を特定します。

〔設問3〕 第2段落より、アイコンが点滅するのは状態表示領域に「設定完了」を表示するタイミングです。つまり、アイコン点滅中は現在の状態が「設定完了」になっています。
〔設定項目の設定動作の概要〕(4) より、「設定完了」の表示中に「設定開始」キーが押されると、「設定中」の表示に戻ってしまいます。作業ミスの判定を行う前にこの遷移が起きることを防ぐためにキーを無効化しています。

高得点のポイント

  • 状態を「設定完了」から遷移させる原因となるキーが「設定開始」であることを正しく抽出していること。
(2)配点 4点

メインタスクで変更する処理の一部に関して,記述中の e に入れる適切な字句を答えよ。

模範解答

設定中

採点基準

正確性(内容)4点
  • 4点: 「設定中」と解答している。
  • 2点: 「設定中」を含むが不要な字句が含まれる。
  • 0点: 不正解。

解説

解説

前問で特定した [ d ](設定開始)キーが押された後の遷移先の状態 [ e ] を特定します。

〔設定項目の設定動作の概要〕(4) において、「“設定完了”の表示中に設定開始キーが再度押されると,上記(2)の状態表示領域の“設定中”の表示から繰り返す」と定められています。

高得点のポイント

  • 「設定開始」キー押下によって遷移する不都合な状態が「設定中」であることを正しく抽出していること。
(3)配点 4点

メインタスクで変更する処理の一部に関して,記述中の f に入れる適切な字句を答えよ。

模範解答

準備

採点基準

正確性(内容)4点
  • 4点: 「準備」と解答している(「準備キー」も可)。
  • 2点: 「準備」を含むが、他のキーも併記するなど余分な内容がある。
  • 0点: 不正解。

解説

解説

シリンジ表示領域が“OK”の場合に、アイコン点滅中(設定完了状態)に押されてしまうと状態遷移を引き起こす別のキー [ f ] を特定します。

〔点滴動作の概要〕(1) より、状態表示領域が「設定完了」のときに、「準備」キーが押され、シリンジ表示領域が「OK」であれば、チューブ内の空気を抜くための準備動作が始まってしまいます。

高得点のポイント

  • シリンジ表示が“OK”のときに「設定完了」から遷移を引き起こすキーが「準備」であることを正しく抽出していること。
(4)配点 3点

メインタスクで変更する処理の一部に関して,記述中の g に入れる適切な字句を答えよ。

模範解答

準備中

採点基準

正確性(内容)3点
  • 3点: 「準備中」と解答している。
  • 1点: 「準備中」を含むが不要な字句が含まれる。
  • 0点: 不正解。

解説

解説

前問で特定した [ f ](準備)キーが押された後の遷移先の状態 [ g ] を特定します。

〔点滴動作の概要〕(1) において、「準備キーが押されると...状態表示領域に“準備中”を表示し,チューブ内の空気を抜くためにモータを駆動する」と定められています。

高得点のポイント

  • 「準備」キー押下によって遷移する不都合な状態が「準備中」であることを正しく抽出していること。
(5)配点 3点

リーダを接続したのに,アイコンが点滅せず,作業ミスの判定が行われない場合があった。それはどのような場合か。故障を除き,40字以内で述べよ。

模範解答

状態表示領域に“設定完了”が表示されているときにリーダが接続された場合

採点基準

知識・理解度(内容)2点
  • 2点: 「“設定完了”が表示されているとき」という状態条件が正確に記述されている。
  • 1点: 「設定完了」などの条件に触れているが、内容が不十分である。
  • 0点: 適切な状態条件の記述がない。
論理性(構造)1点
  • 1点: その状態のときに「リーダが接続された」という事象の順序関係が組み合わされて記述されている。
  • 0点: 論理的な構成になっていない、または因果関係が不明確である。

解説

解説

リーダを接続してもアイコンが点滅しない条件を特定します。

〔設問3〕 第2段落の仕様を確認します。

  • 「リーダが接続されるとアイコンを点灯する」
  • 「アイコンの点灯中に,状態表示領域に“設定完了”を表示するタイミングでアイコンの点滅を開始する」

このように、アイコンが点滅するためには、先にリーダが接続されてアイコンが「点灯」している状態で、後から状態表示領域が「設定完了」に切り替わる(そのタイミングを迎える)という順序を経る必要があります。
したがって、既に状態表示領域に「設定完了」が表示されているときにリーダを接続した場合、アイコンは点灯するものの、「“設定完了”を表示するタイミング」は既に過ぎてしまっているため点滅を開始することができず、その結果作業ミスの判定も行われません。

高得点のポイント

  • アイコンが点滅を開始する条件(「設定完了」が表示されるタイミング)を満たせない状況であることを理解していること。
  • 既に「設定完了」が表示されている状態のときにリーダが接続されたという順序関係が明確に記述されていること。

設問3(2)は,正答率が低かった。仕様追加に関する設問であり,タスクに関する図・表を基に,仕様変更前のタスク間の通信タイミングと通信内容を正しく理解し,正答を導き出してほしかった。これらは,仕様変更要求に的確に対応するための能力として,是非理解しておいてもらいたい。

Spineチーム