ITエンジニアが仕事に対して思うこと

ITエンジニアとして働く中で感じたことを、現場の温度感そのままに言語化するブログです。設計・実装・運用のリアル、学び続ける負荷、品質とスピードのせめぎ合い、コミュニケーションの難しさなど、きれいごとだけでは語れない「仕事の実態」を整理します。誰かを責めるのではなく、なぜそうなるのかを構造で捉え、明日から少し楽に、少し強く働ける視点を提供します。新人から中堅、マネジメントまで参考に。

【動画解説】令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午後Ⅰ問1過去問題解説

           [https://www.youtube.com/watch?v=vhzJKellGa8:embed:cite]

本動画では、令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午後Ⅰ 問1を取り上げ、ペット医療用のシリンジポンプ(Sポンプ)を題材に、機構設計の読み取りと数値換算、リアルタイムOS上のタスク分割と状態遷移、そしてバーコードリーダ追加という仕様変更が既存設計へ与える影響までを、出題趣旨と採点講評の観点を踏まえて一貫した流れで解説します。本問は「組込み=低レイヤの制御」だけを問うのではなく、物理量と電気的制御量を同一の根拠体系で接続し、さらに運用上のミス防止要件をタスク間協調とUI制御へ落とし込む設計力を問う構造になっており、午後Ⅰとしては典型的でありながら、計算の正確性と読解の精度が合否を分けやすい題材です。採点講評の趣旨に沿って整理すると、リアルタイム制御の前提となる機構理解、複数タスクの責務と通知条件の把握、仕様変更時に「どの状態で何を禁止し、どのイベントをどこへ流すか」を矛盾なく説明できるかが中心論点になります。 まず読解ポイントとして、Sポンプの動作は「モータのパルス列が回転に変換され、その回転が減速機構を介してシャフト回転になり、最終的にレバーの直線移動へ変換されて薬剤を押し出す」という一方向の物理チェーンで表現できる点を押さえます。午後Ⅰの機構問題は、このチェーンを頭の中で正しく作れたかどうかがすべてで、途中の換算係数を一つでも取り違えると、以降の計算が連鎖的に崩れます。本問では、モータが1パルスで1.8度回転、すなわち200パルスで1回転という基本仕様があり、さらにモータ16回転でシャフト1回転という減速比、シャフト1回転でレバー0.5ミリメートル移動という直線変換が与えられています。この三段階を「パルス→モータ回転→シャフト回転→レバー移動」という単位付きの式として結び、常にどの段の量を計算しているのかを意識することが重要です。採点講評で差がつきやすいのは、単純に式を立てることではなく、式が示す物理意味を保持したまま単位換算を完走できるかであり、特に時間当たりの量を秒当たりへ落とす局面でミスが出やすくなります。 設問1では、この機構チェーンに基づいて準備動作時の移動量や点滴流量の実現条件を導きます。準備動作のパルスレートが3,200PPSであるとき、200パルスでモータ1回転なのでモータは毎秒16回転し、モータ16回転でシャフト1回転だからシャフトは毎秒1回転、シャフト1回転でレバーは0.5ミリメートル進むため、結果として1秒間のレバー移動は0.5ミリメートルになります。ここは一見すると単純ですが、PPSという電気的な指標を、機械の直線移動という物理量へ落とす代表例であり、組込みシステムにおける制御量の意味を問う設問です。点滴流量の計算も同じ構造で、流量7.2ミリリットル毎時を実現するには、1ミリメートル押し出しで0.1ミリリットルというシリンジ特性から、7.2ミリリットルは72ミリメートルの押し出し量に相当し、レバー移動0.5ミリメートルがシャフト1回転に対応するため、72ミリメートルにはシャフト144回転が必要になります。ここからさらに減速比とパルス数を掛け、1時間という時間軸を3,600秒へ変換してPPSに戻すと、パルスレートは128PPSとなり、電気的出力の設定値が決まります。本問の合否を分けるのは、途中で「毎時」と「毎秒」が混ざったまま計算を続けないこと、また減速比を掛ける方向を誤らないことです。午後Ⅰでは途中式を長々と書けないため、頭の中で単位が一致しているかを常に監査する姿勢が、そのまま得点力になります。 同じ設問1の状態遷移は、計算よりも読解が勝負になります。「設定完了」から「準備完了」までに表示され得る状態として、設定可、設定中、準備中が並ぶのは、操作キーと内部処理の対応を問う意図があるからです。設定可は設定項目が不足している条件分岐、設定中は設定開始キー押下による遷移、準備中は準備キー押下後に空気抜きのためモータ駆動が進行している状態を指し、これらを混同すると後段の仕様変更問題で「どの状態で何を許可すべきか」という議論が崩れます。本動画では、状態名を暗記するのではなく、キー入力という外部イベントと、モータ駆動という内部イベントを軸にして状態を再構成する読み取り手順を示します。 設問2はリアルタイムOS上のタスク構成が主題で、ここが午後Ⅰとしての中心難所になりやすい部分です。読解ポイントは、タスクが単に並列で動くのではなく、通知条件によって制御がバトンタッチされること、そして状態情報が全タスクにとって共通の「前提条件」として機能していることです。設定タスクは設定開始の通知を受けて設定処理へ入り、キー判定タスクから設定終了キー押下の通知を受けるまで継続するという流れになっていますが、ここで重要なのは、設定タスクがキーのスキャンを自分で行わない点です。責務分離の設計意図を読み取れれば、仕様変更でキー入力を無効化する要件が出たときに、どこを止めるべきかが自然に見えてきます。点滴制御タスクについても同様で、算定に必要な項目がシリンジID、点滴流量、点滴量の三つであることを押さえれば、以降の計算や制御信号生成がどの入力に依存しているかが明確になり、バーコードリーダ追加がなぜ「医療安全のための入力ミス防止」として重要かが筋で説明できます。 周期タスクの役割は、リアルタイムOS設計の定石を問う箇所です。点滴動作中は圧力センサの値を監視し、状態情報が点滴中である条件の下で、圧力センサ出力が基準値を超えた事象を検知し、点滴制御タスクへ通知するという構造になっています。ここでの難所は、圧力監視が常時動作しているわけではなく、状態条件によって意味を持つ点であり、状態を無視して監視すると不要なアラームや誤停止へ繋がります。つまり、本問はリアルタイム性だけでなく、状態機械と監視タスクの結合方法が適切かどうかも見ています。採点講評で差が出やすいのは、「圧力が上がったら止める」という一般論ではなく、「点滴中という状態条件で周期監視し、閾値超過の事象を点滴制御タスクへ通知する」という、設計上の責務と通知経路を正確に書けるかです。 設問3の仕様変更は、USB接続のバーコードリーダでペットIDとシリンジIDを読み取る機能追加であり、午後Ⅰにおける典型的な「追加要件の波及分析」問題です。ここで合否を分ける論点は、追加機能そのものを説明できるかではなく、既存の状態遷移とキー入力処理に対して、どのタイミングで何を禁止しないと運用上の事故が起きるかを、状態名とイベント名で矛盾なく説明できるかです。読み取り中にアイコンが点滅している間はキー入力を無効化する必要がある理由として、読み取り中に設定開始キーが押されて設定中へ遷移してしまう、あるいはシリンジOKの状態で準備キーが押され準備中へ遷移してしまうといった不都合が挙げられますが、これは単なるUI都合ではなく、医療機器の文脈では「誤った識別情報の確定」「想定外の状態遷移」「操作手順の逸脱」を誘発し、安全性に直結します。したがって、キー入力無効化は「どのタスクで実装するか」という観点でも重要で、キー判定タスクが入力の入口である以上、入口で遮断する設計が自然であることまで含めて理解できると、午後Ⅰとしての完成度が上がります。 さらに、リーダ接続タイミングに関する指摘は、仕様書の「開始条件」を読み落としやすい受験者心理を突いた難所です。仕様では状態表示領域に設定完了を表示するタイミングで点滅を開始するとされているため、設定完了が表示されているときにリーダが接続された場合、点滅が開始されず判定が行われない可能性がある、という矛盾が生じます。ここは「表示のタイミング」と「接続イベント」という二つの非同期要素の競合であり、組込みシステムの現場でも不具合原因として頻出です。採点講評の趣旨に沿えば、この種の問題は、既存仕様の状態とイベントを前提にして、追加仕様が持ち込む新イベントがどの瞬間に発生すると取りこぼしが起きるかを論理的に追えるかを見ています。午後Ⅰでありがちな失点は、追加仕様を読んだ直後に「点滅させる」「読み取る」と機能面だけを書いてしまい、開始条件が満たされないケースを考慮できないことにあります。 この動画を通じて得られる学習効果は、第一に、パルス制御という電気的量を、機構の直線移動や流量という物理量へ変換する手順を、単位監査の観点で再現できるようになることです。第二に、リアルタイムOSのタスク分割を「責務」と「通知条件」と「状態条件」で読み解き、単なる図の暗記ではなく、設計意図として理解する力が身に付きます。第三に、仕様変更問題で最重要となる、既存の状態遷移と追加イベントの競合を洗い出し、運用上のミスや取りこぼしが起きる条件を、状態名とイベント名を使って短く正確に表現する練習ができます。本問の難所は、計算自体の難しさというより、換算の段階が多く途中で単位が崩れやすい点、タスク図を見たときに通知の向きと条件を読み違えやすい点、そしてバーコードリーダ追加の開始条件を「表示タイミング」に依存させている仕様の弱点を見抜く必要がある点にあります。これらはいずれも、午後Ⅰで高得点を取る受験者が共通して持つ「仕様を状態とイベントに落として検証する」姿勢が求められる箇所です。 最後に、この動画を見る意義をまとめると、令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午後Ⅰ 問1を通して、組込みシステムの本質である物理と制御の接続、リアルタイムOS設計の責務分離、そして仕様変更時の波及と競合の見抜き方を、試験で得点できる言語表現へ変換する点にあります。単に正解を知るのではなく、どの数値がどの機構に対応し、どのタスクがどの状態で何を監視し、追加要件がどのイベントとして入り込むのかを筋道立てて説明できるようになることで、初見の午後Ⅰ事例でも安定して得点できる再現性が高まります。試験直前の総点検としても、午後Ⅰで落としやすい計算ミスと仕様読解のズレを一度に補正する教材としても、本動画は有効に機能します。