戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2023年 春期 午後07


位置通知タグの設計に関する次の記述を読んで、設問に答えよ。

 E社は、GPSを使用した位置情報システムを開発している。今回、超小型の位置通知タグ(以下、PRTという)を開発することになった。  PRTは、ペンダント、ブレスレット、バッジなどに加工して、子供、老人などに持たせたり、ペット、荷物などに取り付けたりすることができる。利用者はスマートフォン又はPC(以下、端末という)を用いて、PRTの現在及び過去の位置を地図上で確認することができる。  PRTの通信には、通信事業者が提供するIoT用の低消費電力な無線通信回線を使用する。また、PRTは本体内に小型の電池を内蔵しており、ワイヤレス充電が可能である。長時間の使用が要求されるので、必要な時間に必要な構成要素にだけ電力を供給する電源制御を行っている。   〔位置情報システムの構成〕  PRTを用いた位置情報システムの構成を図1に示す。
応用情報技術者試験(令和5年度 午後 問07 図01)
 端末がPRTに位置情報を問い合わせたときの通信手順を次に示す。  ① 端末は、PRTの最新の位置を取得するための位置通知要求をサーバに送信する。   サーバは端末からの位置通知要求を受信すると、通信事業者を介して、PRTと通信可能な基地局に位置通知要求を送信する。  ② PRTは電源投入後、基地局から現在時刻を取得するとともに、サーバからの要求を確認する時刻(以下、要求確認時刻という)を受信する。以降の要求確認時刻はサーバから受信した要求確認時刻から40秒間隔にスケジューリングされる。   PRTは要求確認時刻になると、基地局からの情報を受信する。  ③ 基地局は要求確認時刻になると、PRTへの位置通知要求があればそれを送信する。  ④ PRTは基地局からの情報に位置通知要求が含まれているかを確認する処理(以下、確認処理という)を行い、位置通知要求が含まれていると、基地局、通信事業者を介して、PRTの最新の位置情報をサーバに送信する。  ⑤サーバはPRTから位置情報を受信し、管理する。サーバは端末と通信し、PRTの最新の位置情報、指定された時刻の位置情報を地図情報とともに端末に送信する。端末は、受信した位置情報及び地図情報を基に、PRTの位置を地図上に表示する。   〔PRTのハードウェア構成〕  PRTのハードウェア構成を図2に、PRTの構成要素を表1に示す。
応用情報技術者試験(令和5年度 午後 問07 図02)
応用情報技術者試験(令和5年度 午後 問07 表01)
〔PRTの動作仕様〕  ・40 秒ごとに確認処理を行い、基地局から受信した情報に位置通知要求が含まれている場合、測位中でなければ、測位を開始する。測位の完了後、PRT の位置を取得したとき位置情報を作成する(以下、測位の開始から位置情報の作成までを測位処理という)。測位処理完了後、位置情報をサーバに送信する。また、測位の完了後、PRT の位置取得に失敗したときは、失敗したことをサーバに送信する。  ・120 秒ごとに測位処理を行う。失敗しても再試行しない。  ・600 秒ごとに未送信の位置情報をサーバに送信する(以下、データ送信処理という)。   〔使用可能時間〕  電池を満充電後、PRT が機能しなくなるまでの時間を使用可能時間という。その間に放電する電気量を電池の放電可能容量といい、単位はミリアンペア時 (mAh) である。PRT は放電可能容量が 200mAh の電池を内蔵している。  使用可能時間、放電可能容量、PRT の平均消費電流の関係は、次の式のとおりである     使用可能時間 = 放電可能容量 ÷ PRT の平均消費電流    PRT が基地局と常に通信が可能で、測位が可能であり、基地局から受信した情報に位置通知要求が含まれていない状態における各処理の消費電流を表2に示す。表2の状態が継続した場合の使用可能時間は a 時間である。  なお、PRT はメモリのデータの保持などで、表2の処理以外に 0.01mA の電流が常に消費される。
応用情報技術者試験(令和5年度 午後 問07 表02)
〔制御部のソフトウェア〕  最初の設計ではタイマーを二つ用いた。初期化処理で、120秒ごとに通知を出力する測位用タイマーを設定し、初期化処理完了後、サーバからの要求確認時刻を受信すると、40秒ごとに通知を出力する通信用タイマーを設定した。しかし、この設計では不具合が発生することがあった。  不具合を回避するために、タイマーを複数用いず、要求確認時刻を用いて40秒ごとに通知を出力するタイマーだけを設定した。このタイマーを用いて、図3に示すタイマー通知時のシーケンス図に従った処理を実行するようにした。
応用情報技術者試験(令和5年度 午後 問07 図03)

設問1

休止モードは最長で何秒継続するか答えよ。ここで、各処理の処理時間は表2に従うものとし、通信モジュール及び測位モジュールの電源オンオフの切替えの時間、通信モジュールの通信時間は無視できるものとする。

模範解答

39

解説

解答の論理構成

  1. 休止モードが解除されるのは、CPU が実行モードになる処理区間だけです。図3凡例には「制御部の活性区間では、CPUは実行モードである。」と明記されています。
  2. CPU が実行モードになる3種類の処理と周期・処理時間は、【表2】に示すとおりです。
    • 「確認処理」―「周期 40 秒」「処理時間 1 秒」
    • 「測位処理」―「周期 120 秒」「処理時間 6 秒」
    • 「データ送信処理」―「周期 600 秒」「処理時間 1 秒」
  3. 40 秒周期で必ず発生する「確認処理」が最も頻度の高い割込み源です。したがって休止モードが継続し得るのは、ある確認処理終了後から次の確認処理開始までの間になります。
  4. 各処理の開始タイミングは1本の 40 秒タイマーで駆動され、図3の上段に
    「前回の測位から120秒経過又は位置通知要求あり」
    「前回の通信から40秒経過」
    と示されているように、測位・送信も“確認処理のタイマー通知”に紐付いて起動します。
  5. 120 秒(40 × 3)および 600 秒(40 × 15)は 40 の倍数なので、測位処理・データ送信処理は必ず《確認処理が起きるタイミング》で連続して実行されます。
    例)120 秒目:確認処理 1 s + 測位処理 6 s = 7 s 実行 → 次の確認処理まで 33 s 休止
  6. 「通信モジュール及び測位モジュールの電源オンオフの切替えの時間、通信モジュールの通信時間は無視できるものとする。」という設問条件より、CPU が実行モードとなる純粋な処理時間だけを考えます。
  7. ①何も重ならない 40 秒間隔 ②測位が重なる 120 秒間隔 ③測位+送信が重なる 600 秒間隔 の3ケースで、休止モード継続時間を列挙すると
    • ケース① 40 − 1 = 39 秒
    • ケース② 40 − (1 + 6) = 33 秒
    • ケース③ 40 − (1 + 6 + 1) = 32 秒
  8. 最大値は「39 秒」であり、これが休止モードの最長継続時間となります。

誤りやすいポイント

  • 「測位処理は 120 秒ごと」とだけ覚え、40 秒ごとの確認処理に“くっついて”起動する事実を見落とす。
  • 600 秒周期のデータ送信処理を、確認処理とは別タイミングで発生すると勘違いして重複計算してしまう。
  • タイマーは1本しか使わない改良仕様を忘れ、40 秒・120 秒の2本が独立に動くと誤解する。
  • 電源オン/オフのオーバーヘッドが「無視できる」と指示されているのに、独自に数秒加算してしまう。

FAQ

Q: 測位処理 6 秒の間、CPU は常に実行モードなのですか?
A: はい。【表1】「測位モジュール … 測位結果通知として制御部に送る。」とあるように、測位中は制御部が測位モジュールと通信するため CPU は実行モードになります。
Q: 39 秒より長くならない理由はありますか?
A: 40 秒周期の確認処理が必ず発生し、その処理時間が 1 秒だからです。他の処理は確認処理と同じ瞬間に実行されるため、“確認処理がない”40 秒間というものがそもそも存在しません。
Q: データ送信処理が単独で発生する場合はありますか?
A: ありません。600 秒も 40 の倍数なので、図3のシーケンスどおり「確認処理→(必要に応じて)測位処理→データ送信処理」と連続します。

関連キーワード: GPS測位, 低消費電力設計, タイマー割り込み, シーケンス図, マイコン休止モード

設問2

〔使用可能時間〕について、本文中のaに入れる適切な数値を、小数点以下を切り捨てて、整数で答えよ。

模範解答

a:246

解説

解答の論理構成

  1. 使用可能時間の公式
    【問題文】には
    「使用可能時間=放電可能容量÷PRT の平均消費電流」
    と明記されています。この式へ必要な数値を代入して計算します。
  2. 放電可能容量
    同じく【問題文】で
    「放電可能容量が 200mAh の電池」
    と与えられているので、分子は “200mAh” です。
  3. PRT の平均消費電流
    (1) 表2の各処理の平均消費電流
    ・「確認処理…0.1mA」
    ・「測位処理…0.5mA」
    ・「データ送信処理…0.2mA」
    (2) 恒常的に流れる電流
    「表 2 の処理以外に 0.01mA の電流が常に消費」
    とあるため、これも加算します。
    (3) 合算
  4. 使用可能時間の算出
    式へ代入して

    小数点以下は「切り捨て」と指示されているので
    【解答】“246” となります。

誤りやすいポイント

  • 表2の平均消費電流を「既に平均化済みだから定常0.01mAは足さない」と誤解する。実際には別途加算が必要です。
  • 周期や処理時間から自力で再計算しようとしてミスを起こす。本問は表2の「各処理の平均消費電流」をそのまま使えます。
  • 電卓で割り算後に四捨五入してしまう。指示は「小数点以下を切り捨て」なので注意が必要です。

FAQ

Q: 表2に平均消費電流が載っているのに処理時間や周期は無視して良いのですか?
A: はい。表2の「各処理の平均消費電流」は既に周期を考慮した値なので、そのまま合計すれば平均消費電流が得られます。
Q: 0.81mA を 1mA と概算しても良いですか?
A: 概算は学習上有効ですが、本試験の解答欄には正確な整数値を記入する必要があります。0.81mA を用いて計算してください。
Q: 小数点以下はなぜ切り捨てなのですか?
A: 【問題文】に「小数点以下を切り捨てて、整数で答えよ」と明示されているためです。

関連キーワード: 放電容量, 消費電流, 省電力設計, バッテリ寿命

設問3〔制御部のソフトウェア〕のタイマー通知時のシーケンス図について答えよ。

(1)図3中のbに入れる適切な条件を答えよ。

模範解答

b:前回の送信から600秒経過又は位置通知要求あり

解説

解答の論理構成

  1. 送信処理が定期的に必要である根拠
    【問題文】の〔PRTの動作仕様〕には
    「・600 秒ごとに未送信の位置情報をサーバに送信する(以下、データ送信処理という)。」
    とあります。したがって、前回送信から “600 秒経過” がデータ送信処理を開始する必須条件の一つです。
  2. 位置通知要求を受け取った直後にも送信が必要になる理由
    同じく〔PRTの動作仕様〕に
    「基地局から受信した情報に位置通知要求が含まれている場合、測位中でなければ、測位を開始する。…測位処理完了後、位置情報をサーバに送信する。」
    と記載されています。つまり位置通知要求を受けたときは周期にかかわらず即時送信が必要です。
  3. シーケンス図におけるbの位置づけ
    図3では測位処理が終わった後、“待機/処理区間” b を経て通信モジュールの電源を再投入し送信要求を行う流れが描かれています。ここで送信要求が発行される条件は上記 1 と 2 のいずれかが成立したときに限られます。
  4. したがってbには
    「前回の送信から600秒経過又は位置通知要求あり」
    が入ります。

誤りやすいポイント

  • 120 秒周期の測位処理と 600 秒周期の送信処理を混同し、「前回の測位から600秒経過」と書いてしまう。
  • 「位置通知要求あり」の条件を忘れ、600 秒経過のみで判断してしまう。
  • データ送信処理の説明中の「未送信の位置情報」という文言を重く見過ぎ、測位成功時しか送信しないと誤解する(失敗通知も送信対象です)。

FAQ

Q: 測位に失敗した場合でも 600 秒周期で送信処理を行いますか?
A: はい。〔PRTの動作仕様〕には「失敗したときは、失敗したことをサーバに送信する。」とあるため、測位成否にかかわらず 600 秒ごとに送信処理が行われます。
Q: 40 秒周期の確認処理で位置通知要求を受けた直後、600 秒経過していなくても送信しますか?
A: 送信します。「位置通知要求が含まれている場合…測位処理完了後、位置情報をサーバに送信する。」と定義されており、周期条件より要求優先です。
Q: タイマーを1つに集約した理由は何ですか?
A: 複数タイマーで不具合が起きたためです。「タイマーを複数用いず、要求確認時刻を用いて40秒ごとに通知を出力するタイマーだけを設定」と変更されています。

関連キーワード: 低消費電力設計, 周期処理, 条件分岐, シーケンス図

設問3〔制御部のソフトウェア〕のタイマー通知時のシーケンス図について答えよ。

(2)図3中のceに入れる適切なメッセージ名及びメッセージの方向を示す矢印をそれぞれ答えよ。

模範解答

c:メッセージ名:受信要求   メッセージの方向:← d:メッセージ名:測位可能通知   メッセージの方向:→ e:メッセージ名:通信可能通知   メッセージの方向:→

解説

解答の論理構成

  1. 40 秒ごとの確認処理
    ・図3では「制御部 → 通信モジュール:通信モジュール電源オン」「通信モジュール → 制御部:通信可能通知」に続き c が並びます。
    ・【問題文】表1「通信モジュール」の説明に
    「制御部から受信要求を受け取ると、電波受信処理を行い、制御部へ受信結果通知を送る。」
    とあります。通信可能になった直後に制御部が送る指示は“受信要求”しか該当しません。
    ・参加オブジェクトの並びは「測位モジュール │ 通信モジュール │ 制御部」で、右端の制御部から中央の通信モジュールへ向かう矢印は左向きです。
    c:メッセージ名「受信要求」、矢印「←」。
  2. 120 秒ごとの測位処理開始判定
    ・測位モジュールの電源投入後、制御部は測位開始を指示する前にモジュールの準備完了を待ちます。
    ・【問題文】表1「測位モジュール」には
    「電力が供給され、測位が可能になると制御部に測位可能通知を送る。」
    と明記されています。したがって制御部は受信側です。
    ・左端(測位モジュール)から右端(制御部)へ送られるので矢印は右向き。
    d:メッセージ名「測位可能通知」、矢印「→」。
  3. 位置情報送信時の通信モジュール再起動
    ・測位結果を得た後、制御部は通信モジュールを再度オンにします。
    ・通信モジュールが使用可能になると制御部へ通知する仕様は
    「電力が供給され、通信可能になると制御部に通信可能通知を送る。」
    (【問題文】表1「通信モジュール」)と定義済みです。
    ・通信モジュール(中央)から制御部(右端)へ送るので矢印は右向き。
    e:メッセージ名「通信可能通知」、矢印「→」。

誤りやすいポイント

  • 参加オブジェクトの左右配置を見落とし、矢印方向を逆に書いてしまう。
  • 「測位可能通知」と「測位開始要求」を取り違え、通知元・通知先を誤答する。
  • “通信可能通知”は2回出現するが、測位後の送信フェーズ用であることを忘れ、別の名称を書いてしまう。

FAQ

Q: “受信要求”ではなく“受信開始要求”でも良いですか?
A: 【問題文】に登場する正式名称は「受信要求」だけです。設問は原文をそのまま用いる必要があります。
Q: 矢印の向きはどちらを基準に決めていますか?
A: 図3の参加オブジェクトの左右配置(測位モジュール│通信モジュール│制御部)を基準に、送信元→送信先の向きを示しています。
Q: “測位可能通知”が届く前に“測位開始要求”を出してはいけないのですか?
A: 表1の仕様で「測位可能通知」を受け取らなければ測位開始は指示できません。よって必ず通知→要求の順になります。

関連キーワード: シーケンス図, 受信要求, 測位可能通知, 通信可能通知

設問4

〔制御部のソフトウェア〕について、タイマーを二つ用いた最初の設計で発生した不具合の原因を40字以内で答えよ。

模範解答

通信モジュールとの通信と測位モジュールとの通信が同時に発生した。

解説

解答の論理構成

  1. 二つのタイマー設定
    【問題文】では「120秒ごとに通知を出力する測位用タイマー」と「40秒ごとに通知を出力する通信用タイマー」を同時に使う初期設計であったと記載されています。
  2. 同期タイミングの衝突
    2 つの周期の最小公倍数は です。したがって 120 秒ごとに両タイマーがほぼ同時に割り込みを発生させ、測位処理と確認処理(通信)が重なる可能性があります。
  3. ハードウェア制約によるデータ破棄
    「通信ライン」について【問題文】は「通信モジュールとの通信と、測位モジュールとの通信が同時に行われると、そのときのデータは正しく送受信できずに破棄される。」と注意喚起しています。
  4. 不具合の直接原因
    同期衝突により「通信モジュールとの通信」と「測位モジュールとの通信」が同時発生し、上記制約によりデータが破棄されるため不具合が生じる――という因果で、模範解答の「通信モジュールとの通信と測位モジュールとの通信が同時に発生した。」に帰着します。

誤りやすいポイント

  • 「通信ライン」の制約を読み落とし、単なるタイミング遅延と誤解する。
  • 同期衝突は“毎回”ではなく「120 秒ごと」に限定される点を見逃す。
  • 電源制御(オン/オフ)と通信衝突を混同し、電流不足と取り違える。

FAQ

Q: タイマーを 2 つ持つこと自体が問題なのでしょうか?
A: 本質は二つの割り込み周期が重なる設計にあり、タイマー数そのものが問題ではありません。重ならない周期や排他制御があれば二つでも安全です。
Q: 40 秒と 120 秒が重なる瞬間は本当に同時なのでしょうか?
A: 割り込み処理はミリ秒単位で前後しますが、ほぼ同時にハンドラが動けば同時通信を招く十分なリスクとなります。
Q: 制御部で排他制御を入れれば解決しますか?
A: 可能ですが、ハンドラの実装変更や優先度調整が必要です。問題文の対策はタイマーを一本化し、同時通信の機会自体を無くしています。

関連キーワード: 割り込み処理, 同期衝突, 最小公倍数, 排他制御, リアルタイム制御
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について