情報処理技術者試験解説チャンネル

応用情報技術者試験をはじめとする情報処理技術者試験の午後問題では、「過去10年分を確実に理解しているか」が合格ラインを左右するといわれています。当チャンネルでは、その10年分の午後問題を要点だけに絞り、約10分のコンパクトな解説としてまとめました。限られた時間でも効率よく学習を進められる構成です。

【動画解説】平成31年度 春期エンベデッドシステムスペシャリスト試験 午後Ⅰ問2過去問題解説

www.youtube.com 本動画では、平成31年度(2019年度)春期 エンベデッドシステムスペシャリスト試験 午後Ⅰ 問2を取り上げ、一人暮らしの高齢者を見守る「見守りロボット」を題材に、要求仕様の読み取り、状態遷移と割込みを含む制御設計、リアルタイムOS上のタスク構成とタスク間連携、さらに機能追加時の最小改修設計という、組込み開発の実務で頻出する論点を、問題文・解答例・採点講評の狙いに沿って解説します。午後Ⅰで問われるのは、ロボットの“雰囲気”を説明することではなく、与件の条件を一つずつ仕様として落とし込み、どの事象がどのタスクや割込みで扱われ、どの通知でタスク間連携が成立しているかを、矛盾なく説明できるかという読解と設計の精度です。 本問の出題趣旨は、見守りという用途で重要になる省エネ、即応性、対話品質、そして異常兆候の検出といった非機能・機能要件を、状態遷移とタスク分割で成立させる設計力を評価する点にあります。採点講評の観点では、表や図に書かれている語句をそのまま抜き出すだけでは不足になりやすく、空欄補充でも“文脈に合う具体的な字句”が求められること、また機能追加では「新タスク追加で既存を汚さない」設計思想、つまり変更範囲の局所化と情報通知の設計が合否を分けるポイントになります。 設問1はロボットの仕様と制御で、状態遷移と省エネ制御、割込みによる復帰条件、音声認識の判定ロジック、そして状態復帰時に先にやるべき初期化処理を、与件通りに整理できるかが問われます。(1a)の省エネモードへの移行条件は、単に「操作がない」ではなく、タッチセンサ、音声認識、スイッチ操作、割込み時刻のいずれも発生しないという“事象発生無し状況”が10分間継続する、という複合条件を落とさずに説明できるかが鍵になります。午後Ⅰの読解ポイントは、状態名(お目覚め、お留守番、お休み)に引きずられず、「お目覚め状態のままでも事象がなければ省エネへ落ちる」という仕様の例外的な動きを見抜くことです。 (1b)の省エネ解除の割込みは、時刻割込みやタッチセンサ割込みに加え、設定スイッチ押下の割込みが含まれる点が典型的な落とし穴です。省エネ中でも設定操作は受け付けたいという要求の反映であり、ここを漏らすと“復帰できない操作”を設計してしまうことになります。午後Ⅰの読解ポイントは、割込みを列挙する問題ほど、与件にある入力手段を網羅しているかを機械的に点検することです。 設問1(2)の音声認識判定は、確率値の平均と閾値条件を正しく当てはめる計算問題でありながら、単なる四則演算ではなく「どの条件で“もう一度言って”になるか」という仕様判断が主眼です。6個の確率値の平均が45%で50%以下となるため再生する、という結論に至る際、午後Ⅰの読解ポイントは、平均値条件と“10~30%が1個以上”条件がORであること、そして今回は平均値条件で満たすことを明確にすることです。計算結果だけを出して終えるのではなく、どの判定条件により動作が決まるかまで説明できると、実務の仕様検証に近い答案になります。 設問1(3)はお留守番状態からの復帰で、発話の前に行うべき処理として、次の割込み時刻の設定と、音声認識再生モジュールへの電力供給が必要になる点が要所です。ここで問われているのは“気の利いた処理”ではなく、電源制御とタイマ再設定という組込みの基本で、順序を誤ると「発話したいのにモジュールが無電源」「次の周期処理が動かない」という不具合になります。午後Ⅰの読解ポイントは、状態遷移に伴って必ず必要になる“再起動前準備”を仕様から拾い、発話という目立つ動作よりも先に実行すべき制御処理を答えることです。 設問2はタスク構成とタスク間連携で、図と表を突き合わせて、どのタスクがどの情報を参照し、どの通知で動くかを正確に追えるかが問われます。(1)の項目設定情報を利用するタスクは、スマフォタスク以外にメイン、再生音声選択、割込み時刻判定の3つであり、午後Ⅰの読解ポイントは「設定情報=設定タスクが使う」と短絡せず、実際に設定値が参照される場面をタスクごとに辿ることです。組込みでは設定値は広範に影響するため、参照箇所の見落としはバグに直結します。 (2)のメインタスクの設定処理は、設定開始・終了スイッチ押下に伴って、割込み時刻を解除して設定状態へ移行し、項目設定タスクへ設定開始を通知する、設定終了で設定終了を通知して次の割込み時刻を設定し、お目覚め状態へ戻るという一連の流れを、文脈に合う語で書けるかが問われます。採点講評で指摘されやすいのは、空欄を単語だけで埋めて意味が通らない答案で、例えば「割込み時刻」とだけ書いてしまい、解除するのか設定するのかが不明確になるようなケースです。午後Ⅰの読解ポイントは、通知と状態遷移とタイマ設定を一つの手続きとして繋げて説明し、動詞を含む字句で“何をするか”を明確にすることです。 (3)の活動状況メール送信タイミングは、メインタスクが割込み時刻判定タスクから就寝時刻の割込み時刻になった通知を受けたときにメール作成を依頼する、というイベント駆動の関係を押さえる問題です。午後Ⅰの読解ポイントは、メール送信を「毎日送る」などの一般論で捉えず、与件で定義されたトリガ通知が何かを特定することです。イベント駆動の設計ではトリガの取り違えがそのまま仕様違反になります。 (4)の状態遷移を伴う音声は、「お出掛けするよ」のように、単なる発話選択ではなく状態を変える音声を特定する問題で、午後Ⅰの読解ポイントは、音声を“返事の種類”として見るのではなく、“状態遷移の入力”として分類することです。ここを正しく分類できるかが、設問3の機能追加で情報通知を設計する際にも効いてきます。 設問3は機能追加で、異常検出タスクを追加し、既存タスクを最小限の変更で対応させる設計力が問われます。組込みの実務で重要なのは、仕様変更のたびにメインの制御ロジックへ条件分岐を増やして複雑化させるのではなく、責務を切り出して影響範囲を局所化することです。(1)の変更が必要な既存タスクは、音声認識判定と再生音声選択に加え、4分間操作なしの検出に関係するタッチセンサタスクが含まれる点がポイントになります。異常検出は“結果だけ見ればよい”と思い込みがちですが、操作有無の継続監視という観点では、タッチ入力の状況も異常検出の入力データになるため、タッチセンサ側で監視可能な形に整える必要があります。午後Ⅰの読解ポイントは、追加機能の要件を「どの入力イベントが必要か」に分解し、既存のどのタスクがそのイベントを持っているかで変更箇所を特定することです。 (2)の異常検出タスクへの通知設計では、音声認識判定タスクが音声認識結果をメインと異常検出の双方へ通知し、再生音声選択タスクが再生音声が呼び掛けの場合に異常検出へ通知するという、既存の通知経路に“枝”を追加する形が重要になります。午後Ⅰの読解ポイントは、異常検出のためにメインへすべて集約して判断させるのではなく、既存の責務分割を維持しつつ、異常検出が必要とする情報だけを適切な発生源から受け取れるように設計することです。これにより、メインタスクの肥大化を防ぎ、変更の局所化とテスト容易性を確保できます。 この問題の難所は、設問1の省エネ移行条件や解除割込みの“網羅性”を落とさずに拾えるか、設問2の空欄補充で文脈に合う動詞を含めた表現ができるか、そして設問3で新機能を追加する際に「既存タスクの責務を崩さず、通知の追加で対応する」という設計原則に立てるかにあります。採点講評の観点からは、一般的な見守り機能や安全思想を語る答案よりも、与件にあるタスク・通知・状態遷移の構造を正確にたどり、仕様変更に対して破綻しない設計の筋道を示せる答案が高く評価されます。 最後に、この動画を見る意義をまとめます。平成31年度春期 エンベデッドシステムスペシャリスト 午後Ⅰ 問2は、状態遷移と省エネ制御、割込みによる即応性、音声認識の判定ロジック、タスク分割と通知による協調動作、そして異常検出機能の追加に伴う最小改修設計という、組込みの要点が一問に凝縮された良問です。本動画では、仕様の条件を漏らさず拾う読み方、状態遷移と割込みの関係の捉え方、タスク図と処理概要の突き合わせ方、文脈に合う空欄記述の作り方、そして新タスク追加で責務を切り出す設計判断までを、午後Ⅰの読解ポイントとして一続きの流れで整理します。過去問の理解に留まらず、組込み午後問題で頻出する「仕様を状態とタスクへ落とす」「変更要求を最小改修で吸収する」という力を再現可能な形で身に付けられることが、この動画を視聴する最大の価値です。