令和7年春期試験午後問題 問7
問7 組込みシステム開発
⇱問題PDF
電動キックボードのシェアリングシステムに関する次の記述を読んで,設問に答えよ。
電動キックボードのシェアリングシステムに関する次の記述を読んで,設問に答えよ。
広告
G社は,電動キックボード(以下,電動KBという)のシェアリングシステム(以下,本システムという)を開発している。本システムは,利用者に対し,電動KBの貸出し,使用及び返却をさせるものである。本システムを利用する場合には,利用者が事前にスマートフォン(以下,スマホという)に専用アプリケーションプログラム(以下,アプリという)をインストールし,利用者情報を登録して,利用者IDを取得しておく必要がある。電動KBの外観を図1に,本システムの主な構成を図2に,本システムの主な構成要素を表1に示す。
〔本システムの利用方法〕
利用開始前の電動KBは,車輪がロックされた状態で,専用の貸出し用及び返却用の駐車スペース(以下,ポートという)に,駐車している。本システムには,複数のポートがあり,各ポートで電動KBの貸出し又は返却を行う。なお,ポート以外の場所では,電動KBの貸出し及び返却を行うことはできない。電動KBの利用手順を表2に示す。
〔電動KBの状態の遷移〕
電動KBの状態の遷移を図3に示す。
〔電動KBの動作概要〕
電動KBの動作概要を次に示す。
〔本システムで使用する主なメッセージ〕
本システムで使用する主なメッセージを表3に示す。
〔電動KBの制御部のソフトウェア構成について〕
電動KBの制御部では,リアルタイム0Sを使用する。制御部の主なタスクの処理概要を表4に示す。


利用開始前の電動KBは,車輪がロックされた状態で,専用の貸出し用及び返却用の駐車スペース(以下,ポートという)に,駐車している。本システムには,複数のポートがあり,各ポートで電動KBの貸出し又は返却を行う。なお,ポート以外の場所では,電動KBの貸出し及び返却を行うことはできない。電動KBの利用手順を表2に示す。

電動KBの状態の遷移を図3に示す。

電動KBの動作概要を次に示す。
- 利用開始前の電動KBは,車輪をロックした待機中状態でポートに駐車している。
- 待機中状態で利用者がアプリで"貸出し"を選択すると,電動KBはアプリを介した管理サーバからの指示によって車輪のロックを解除して停止中状態になる。
- 停止中状態で手押しなどによって0.3km/時以上になると,走行準備状態になる。
- 走行準備状態で手押しなどを続けて3km/時以上になると,加速可能状態になる。
- 加速可能状態でアクセルを押すと,走行中状態になり次の動作のいずれかを行う。
- 現在速度が最高速度未満の場合は,アクセルの操作量に応じて,モーターのトルクの発生を制御する。
- 現在速度が最高速度に達した場合は,最高速度表示灯を点灯させ,モーターのトルクを抑制する。
- 走行中状態でアクセルを戻すと,加速可能状態になる。
- 走行準備状態,加速可能状態,走行中状態で0.1km/時未満が一定時間継続すると停止中状態になる。
- 停止中状態で利用者がアプリで"返却"を選択したとき,管理サーバは(ア)ある情報を確認してから,返却の指示を行う。電動KBはアプリを介した管理サーバからの指示によって車輪をロックし,待機中状態になる。
- 状態に関係なく,ブレーキレバーを握ると,機械的にブレーキが掛かる。
〔本システムで使用する主なメッセージ〕
本システムで使用する主なメッセージを表3に示す。

電動KBの制御部では,リアルタイム0Sを使用する。制御部の主なタスクの処理概要を表4に示す。

広告
設問1
電動KBを手押しからアクセルを押して加速した後,アクセルを戻して惰性で走行したときの状態の遷移を解答群の中から選び,記号で答えよ。
解答群
- 走行準備→加速可能
- 走行準備→加速可能→走行中
- 走行準備→加速可能→走行中→加速可能
- 走行準備→加速可能→走行中→加速可能→走行準備
解答例・解答の要点
ウ
解説
利用者が手押しで速度を上げ、アクセルで加速し、その後アクセルを戻して惰性走行する一連の流れに対し、電動KBの状態がどう遷移するかを本文の仕様に沿ってたどります。設問の文章に記載されている操作は、次の3つに分解することができます。
- 電動KBを手押しする
- アクセルを押して加速する
- アクセルを戻して惰性で走行する
- 停止中状態で手押しなどによって0.3km/時以上になると,走行準備状態になる
- 走行準備状態で手押しなどを続けて3km/時以上になると,加速可能状態になる
次に、アクセルを押して加速したときの遷移です。本文中に「加速可能状態でアクセルを押すと,走行中状態になり…」とあるため、アクセスを押すと「加速可能→走行中」へと遷移します。
最後に、アクセルを戻して惰性で走る場面です。本文では「走行中状態でアクセルを戻すと,加速可能状態になる」としているため、アクセスを戻すと「走行中→加速可能」へと遷移します。
「エ」にある「加速可能→走行準備」への直接の遷移は、図3にそれを示す矢印が描かれてないことからわかるようにありません。
したがって「ウ」が適切な状態遷移となります。
∴ウ:走行準備→加速可能→走行中→加速可能
広告
設問2
〔電動KBの状態の遷移〕及び〔電動KBの動作概要〕について答えよ。
- 図3中のaに入れる適切な条件を答えよ。
- 下線(ア)について,ある情報には車体ID及び利用者ID以外に何があるか。本文中の字句を用いて答えよ。なお,スマホと電動KB間はBLE通信が安定的に行える状態である。
解答例・解答の要点
- a:0.1km/時未満が一定時間継続
- 位置情報
解説
- 〔aについて〕
空欄aは、走行準備・加速可能・走行中の各状態から、停止中へと遷移する条件です。
〔電動KBの動作概要〕に「走行準備状態,加速可能状態,走行中状態で0.1km/時未満が一定時間継続すると停止中状態になる」とあり、他に関連する記述が見当たらないことから、本文そのまま「0.1km/時未満が一定時間継続」が答えとなります。
∴a=0.1km/時未満が一定時間継続 - 〔本システムの利用方法〕には、返却時の制約として次の説明があります。
- ポート以外の場所では,電動KBの貸出し及び返却を行うことはできない
- 予約した返却ポートに,利用中の電動KBを駐車する
表3を見ると、停止中状態で利用者がアプリで"返却"を選択したときは、管理サーバに対し"返却要求"メッセージが送られることがわかります。本メッセージの構成データは「車体ID,利用者ID,位置情報」の3つです。返却の可否を判断する材料となる情報で、車体ID・利用者ID以外のものなので「位置情報」が該当します。
∴位置情報
広告
設問3
電動KBの制御部の主なタスクについて答えよ。
- 表4中のbに入れる適切な電動KBの状態を図3中の字句で,表4中のdに入れる適切なタスク名を表4中のタスク名でそれぞれ答えよ。
- 表4中のcに入れる適切な情報を答えよ。
解答例・解答の要点
- b:停止中
d:メイン
- c:電動KBの状態
解説
- 〔bについて〕
空欄bに入るのは車輪のロックの解除した直後の状態です。
〔電動KBの動作概要〕に「利用者がアプリで"貸出し"を選択すると,…車輪のロックを解除して停止中状態になる」とあり、これ以外にロックを解除するタイミングはないため、「停止中」が答えとなります。
∴b=停止中
〔dについて〕
空欄dには速度計測タスクが、現在速度を通知する先のタスク名が入ります。
表3の現在速度に関する説明として次の2点があります。- メインタスクから現在速度及び電池残量の情報を受け取ると,現在速度及び電池残量をディスプレイに表示し,最高速度表示等を制御する(表示タスク)
- 現在速度及び電池残量を表示タスクに通知する(メインタスク)
∴d=メイン - 〔cについて〕
空欄cにはメインタスクからモータータスクに通知すべき情報が入ります。
〔電動KBの動作概要〕より、モーター制御に関連する動作は以下の3点です。- 走行中状態のときのみ、モーターのトルク制御を行う
- 現在速度が最高速度未満の場合は、アクセルの操作量によってモーターのトルクの発生を制御する
- 現在速度が最高速度に達した場合は、モーターのトルクを抑制する
∴c=電動KBの状態
広告
設問4
電動KBの貸出し・返却の処理について答えよ。
- 利用者が電動KBを借りる処理において車輪のロック解除が失敗なく正常に行われた場合に,送受信されるメッセージの流れについて,e~gに入れる適切なメッセージ名を解答群の中から選び,記号で答えよ。
"貸出し要求"→"貸出し指示"→"e"→"f"→"g" - 利用者がアプリで"返却"を選択した後,電動KBは1回目では車輪のロックに失敗し,2回目で車輪のロックに成功した。管理サーバが結果を受信するまでの処理について,次の①及び②に要する時間は何秒かそれぞれ答えよ。答えは小数第3位を四捨五入して,小数第2位まで求めよ。
ここで,管理サーバとアプリ間で一つのメッセージ通信には200ミリ秒掛かり,アプリと電動KB間で一つのメッセージ通信には10ミリ秒掛かるものとする。また,電動KBの車輪をロックする処理に成功した場合1秒,電動KBの車輪をロックする処理に失敗した場合1秒,メッセージ再送までに0.5秒掛かり,その他の管理サーバ,アプリ,電動KBの処理時間は無視できるものとする。- アプリで"返却"を選択してから,管理サーバから"返却指示"メッセージを受信するまで
- アプリが,"返却指示"メッセージを受信してから,結果が成功の"車輪ロック応答"メッセージを受信するまで
e,f,g に関する解答群
- 貸出し応答
- 車輪ロック指示
- 車輪ロック応答
- 車輪ロック解除指示
- 車輪ロック解除応答
解答例・解答の要点
- e:エ
f:オ
g:ア
- ①:0.40
②:2.54
解説
- 車輪ロック解除に関連するメッセージは、"車輪ロック解除指示"と"車輪ロック解除応答"の2つです。一方、"車輪ロック指示"と"車輪ロック応答"は返却時の車輪ロック動作で使われるメッセージなので、貸出時には使用されません。よって、残る空欄に入るメッセージは"貸出し応答"になると推測できます。
"車輪ロック解除指示"と"車輪ロック解除応答"は、アプリと電動KBとの間でやり取りされるメッセージです。"車輪ロック解除応答"の構成データには「結果」が含まれるので、解除を指示した後に送信されるメッセージとなります。そのため、"車輪ロック解除指示"→"車輪ロック解除応答"という先後関係となります。
また、"貸出し応答"は、アプリから管理サーバに送信されるメッセージです。構成データとして「車輪ロック解除結果」が含まれることから、アプリが電動KBから"車輪ロック解除応答"を受け取り、解除を確認した後に送信されることがわかります。
以上より、メッセージの流れは「貸出し要求」→「貸出し指示」→「e:車輪ロック解除指示」→「f:車輪ロック解除応答」→「g:貸出し応答」となります。
∴e=車輪ロック解除指示
f=車輪ロック解除応答
g=貸出し応答 - 〔①について〕
アプリで"返却"を選択した場合、次の2つのメッセージが送受信されます。これ以外にはありません。- 返却要求(アプリ→管理サーバ)
- 返却指示(管理サーバ→アプリ)
∴0.40(秒)
〔②について〕
1回目では車輪のロックに失敗し、2回目で車輪のロックに成功した場合、アプリが"返却指示"を受信してから"車輪ロック"を受信するまで以下の処理が行われます。- 車輪ロック指示(アプリ→電動KB)
- 車輪ロック処理:失敗
- 車輪ロック応答(電動KB→アプリ)
- メッセージ再送まで待機
- 車輪ロック指示(アプリ→電動KB)
- 車輪ロック処理:成功
- 車輪ロック応答(電動KB→アプリ)
10ミリ秒×4+1秒×2+0.5秒=2.54秒
0.04秒+2秒+0.5秒=2.54秒
∴2.54(秒)
広告

広告