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

エンベデッドシステムスペシャリスト 2011年 午後1 問01


気象観測システムに関する次の記述を読んで、設問1~3に答えよ。

 A社は、複数の気象観測装置(以下、観測装置という)と気象観測センタ(以下、センタという)とを無線通信で接続して気象観測をする、気象観測システム(以下、気象システムという)を開発している。気象システムの概要を図1に示す。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 図1)
 各観測装置は、6分間隔で気温、湿度、雨量、気圧、風向及び風速の観測を行い、結果を観測データとして観測装置内部の保存用メモリに保存する。  センタは、観測装置ごとに観測データの送信要求を送信し、観測装置から観測データを受信する。センタには、観測装置を最大10台まで接続できる。   〔観測装置の構成と機能概要〕  観測装置の構成を図2に、観測装置の機能概要を表1に示す。
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 図2)
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 表1)
〔気象システムの動作概要〕 (1) センタの動作概要  (a) 観測装置1台ごとに次のような方法で、観測データの受信処理を行う。  ・10分間隔で、観測データの送信要求を1回送信し、観測データを受信する。観測データの受信が完了すると、直ちに完了通知をその観測装置に送信する。  ・送信要求を送信した後、1秒経過しても観測データを正しく受信できなかった場合は、その観測装置に送信要求を再送信する。送信要求の再送信は2回まで行う。  (b) 観測データの送信要求の再送信を2回行っても観測データを正しく受信できず、さらに、10分後に送信要求をした後の送信要求の再送信を2回行っても観測データを正しく受信できなかった場合、その観測装置は動作していないものとして、それ以降の送信要求の送信を中止する。  (c) 観測データを送信できるすべての観測装置からの観測データの受信処理は、10分以内に終了する。  (d) 送信不可のメッセージを送信してきた観測装置に対しては、それ以降の送信要求の送信を中止する。  (e) 観測装置から送信可能のメッセージを受信すると、それ以降、その観測装置に対する観測データの受信処理を行う。 (2) 観測装置の動作概要  (a) 電源を投入したとき、電池の放電可能な電気量(以下、放電容量という)が、観測データを送信できる下限値より大きい場合は、送信可能のメッセージを送信する。  (b) 観測項目のデータ量を表2に示す。
 (c) センタから送信要求を受信すると、次の動作を行う。  ・最後に受信した完了通知以降に保存用メモリに保存したすべての観測データを、センタに送信する。  ・観測データの送信後、100ミリ秒以内に完了通知を受信できた場合は、送信が成功したと判断する。観測データの送信後、100ミリ秒待っても完了通知を受信できなかった場合は、その回の送信は失敗したものと判断する。  ・送信要求を受信した後に観測したデータがあるときは、送信の成功又は失敗を判断した後、直ちにそのデータを保存用メモリに保存する。  (d) 放電容量が、観測データを送信できる下限値以上の状態から、送信できる下限値未満になった場合は、送信不可のメッセージをセンタに1回送信する。以降、放電容量が観測データを送信できる下限値より大きくなるまで、送受信を中止する。  (e) 太陽電池によって電池が充電されて、放電容量が、観測データを送信できる下限値未満の状態から、送信できる下限値より大きくなった場合は、送信可能のメッセージをセンタに1回送信する。  (f) 観測データを送信できる状態なのに、送信要求を15分間受信できなかった場合は、送信要求を受信できるまで15分に1回、送信可能のメッセージをセンタに送信する。  (g) 放電容量が観測可能な下限値未満になると、観測を中断するが、時計機能は動作し続ける。その後、太陽電池によって電池が充電されて、放電容量が観測可能な下限値より大きくなると観測を再開する。  (h) 入力部のキー操作によって、最新の観測データ又は観測装置の状態を表示部に表示する。

設問1:気象システムの仕様について、(1)、(2)に答えよ。

設問1(1)

問題文を見る
10台の観測装置がセンタに接続されているものとする。1台の観測装置だけ、放電容量が、観測データを送信できる下限値以上の状態から、送信できる下限値未満になったので、送信不可のメッセージをセンタに送信した。しかし、センタがそのメッセージを受信できなかった場合、センタは、1回目の送信要求の再送信から数えて送信要求を何回送信すると、送信不可のメッセージを送信した観測装置が動作していないと判断できるか。観測データを送信できる9台の観測装置に対するそれぞれの送信要求も含めて、送信要求の最少送信回数を答えよ。ここで、観測データを送信できる9台の観測装置に送信要求の再送信はなく、また、センタは、観測装置が動作していないと判断するまでの間に、送信不可のメッセージを受信しなかったものとする。

模範解答

14

解説

解答の導き方

  1. 送信不可のメッセージをセンタが受信できていないため、センタは観測装置が送信不可の状態になったことを把握できません。また、観測装置は放電容量が送信できる下限値未満の間、送受信を中止するので、センタからの送信要求に応答できません。
  2. センタは最初の送信要求の後、1秒経過しても観測データを正しく受信できなければ、送信要求を2回まで再送信します。設問では「1回目の送信要求の再送信から数えて」とあるため、最初に送った送信要求は数えず、最初の再送信と2回目の再送信の計2回を数えます。
  3. その2回の再送信でも観測データを正しく受信できない場合、センタは10分後に改めて送信要求を送ります。この送信要求と、その後の再送信2回を合わせて、さらに3回です。
  4. 最初の再送信から10分後の送信要求までの間に、観測データを送信できる9台にも送信要求を1回ずつ送ります。これらには再送信がないので、9回を加えます。
したがって、数える送信要求は、最初の再送信後の2回、送信可能な9台への9回、10分後の送信要求とその再送信の3回です。合計は 回です。

誤りやすいポイント

  • 最初に送った送信要求も数えてしまうことです。設問は「1回目の送信要求の再送信から」数えるため、最初の送信要求は含めません。
  • 2回目の送信要求後の再送信2回だけを数え、最初の送信要求後の再送信2回を見落とすことです。
  • 送信可能な9台への送信要求を数え忘れることです。設問では、これらへの送信要求も含めて数えます。
  • 送信不可のメッセージをセンタが受信できなかった場合でも、観測装置から応答があると考えてしまうことです。放電容量が送信できる下限値未満の間は、送受信が中止されています。

FAQ

Q: 最初の送信要求後の再送信は、なぜ2回数えるのですか?
A: 最初の送信要求そのものは数えませんが、設問の数え始めである1回目の再送信と、続く2回目の再送信は数えるためです。
Q: 10分後の送信要求は、なぜ3回分になるのですか?
A: 10分後の送信要求が1回あり、その後、観測データを正しく受信できなければ送信要求を2回まで再送信するためです。
Q: なぜ最初の再送信だけでは、動作していないと判断できないのですか?
A: センタは、最初の送信要求後の再送信を2回行っても受信できず、さらに10分後の送信要求とその再送信を2回行っても受信できない場合に、観測装置が動作していないと判断するためです。

関連キーワード: 再送制御、タイムアウト、通信プロトコル、送信要求、状態遷移

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問1(2)

問題文を見る
観測装置が送信要求を受信した後、送信の成功又は失敗の判断までの間に観測したデータを、観測後直ちに保存用メモリに保存するのではなく、送信の成功又は失敗を判断した後に保存用メモリに保存する理由は何か。70字以内で述べよ。

模範解答

観測したデータを直ちに保存すると、送信が成功したとき、次の観測データ送信時に、その観測データがセンタに送信されないから

解説

解答の導き方

  1. 送信要求を受信したときに送るのは、「最後に受信した完了通知以降に保存用メモリに保存したすべての観測データ」です。つまり、送信対象は送信要求を受信した時点ですでに保存されているデータです。
  2. 送信要求を受信してから送信結果を判断するまでの間に観測したデータは、その送信要求に対してすでに送信を開始したデータには含まれません。このデータを観測後すぐに保存すると、送信が成功した場合、その後に受信する完了通知より前に保存されたデータになります。
  3. 次回の送信対象は、最後に受信した完了通知より後に保存されたデータです。そのため、送信成功の判断前に保存した新しいデータは、現在の送信には含まれていないのに、次回の送信対象からも外れてしまいます。
  4. そこで、送信結果の判断後に保存します。送信が成功した場合は、完了通知を受信した後に保存するため、そのデータは次回の送信対象になります。送信が失敗した場合も、データを保存しておけば、次の送信機会に送ることができます。

誤りやすいポイント

  • 観測後すぐに保存すれば、次の送信で必ず送られると考えることです。送信成功時には、完了通知を基準に次回の送信対象が決まります。
  • 送信結果の判断を待つ理由を、単にデータの書込み処理をまとめるためだと考えることです。重要なのは、送信されていないデータが完了通知より前のデータとして扱われ、送信対象から漏れるのを防ぐことです。
  • 送信に失敗した場合も、観測データを保存する必要がある点を見落とすことです。送信失敗時には、そのデータを後の送信対象として残しておく必要があります。

FAQ

Q: 送信が成功した場合、なぜ観測したデータが次回の送信対象から外れるのですか?
A: 送信成功後に受信する完了通知より前にそのデータを保存すると、「最後に受信した完了通知以降」に保存されたデータではなくなるためです。
Q: 送信が失敗した場合、観測データはどうなりますか?
A: 完了通知を受信していないので、送信対象の基準は更新されません。観測データを保存しておけば、次の送信機会に送ることができます。
Q: 送信結果の判断後に保存することで、何を防げますか?
A: 現在の送信に含まれていない観測データが、送信成功後に次回の送信対象からも外れてしまうことを防げます。

関連キーワード: 完了通知、送信判定、データ保存、送信対象、データ欠落

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2:観測装置のハードウェアについて、(1)~(3)に答えよ。

設問2(1)

問題文を見る
観測データを、図3に示す形式で保存用メモリに保存する。観測データは、観測時刻のデータ、観測項目を表す1バイトのデータ及び表2に示す観測項目のデータで構成される。 エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 図3)  この形式で10日分の観測データを保存用メモリに保存する場合、保存する観測データは、何kバイトになるか。答えは小数第2位を切り上げて、小数第1位まで求めよ。ここで、1kバイト=1,000バイトとする。

模範解答

79.2

解説

解答の導き方

図3の形式では、1回の観測データは「観測時刻」と、各観測項目を表すデータおよびその値で構成されます。したがって、まず1回分のデータ量を求めます。
表1には「現在時刻」のデータ量が8バイトとあります。また、気温、湿度、雨量、気圧、風向及び風速の6項目を観測します。表2による各項目のデータ量を合計すると、
です。さらに、各観測項目を表すデータは1バイトなので、6項目分で6バイトです。よって、1回分の観測データは、
となります。観測時刻のデータ量は、6項目それぞれに付けるのではなく、図3の形式どおり1回の観測データにつき1回分です。
次に、観測は6分間隔なので、1日に行う回数は、
です。10日分では、
となります。
したがって、10日分のデータ量は、
です。問題文では1kバイト=1,000バイトと指定されているため、
となります。

誤りやすいポイント

  • 観測項目の値だけを合計し、各項目を表す1バイトのデータを加え忘れることがあります。
  • 観測時刻の8バイトを、6項目それぞれに加えてしまう誤りがあります。時刻は1回の観測データにつき1回分です。
  • 1日当たりの観測回数を、6分間隔から正しく求められないことがあります。1日は1,440分なので、1,440分を6分で割ります。
  • kバイトへの換算で、問題文の指定ではなく1kバイト=1,024バイトとして計算してしまうことがあります。

FAQ

Q: 観測項目を表すデータは、なぜ6バイト加えるのですか?
A: 6つの観測項目それぞれに1バイトのデータが付くためです。項目を表すデータは、観測項目の値のデータ量とは別に数えます。
Q: 観測時刻のデータ量は、なぜ1回分だけですか?
A: 図3では、観測時刻の後に複数の観測項目とそのデータが続く形式です。そのため、1回の観測について時刻は1回分だけ数えます。
Q: kバイトへの換算で1,024ではなく1,000で割るのはなぜですか?
A: この問題では「1kバイト=1,000バイト」と指定されているためです。指定された単位換算に従います。

関連キーワード: データ量計算、時系列データ、データ表現、単位換算、メモリ容量

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2(2)

問題文を見る
雨量を6分当たり200mmまで計測できる雨量計を使用する場合、雨量計測用のカウンタは、最低何ビット必要か。

模範解答

9

解説

解答の導き方

雨量計測用のカウンタが数えるのは、雨量計から出力されるパルスの回数です。問題文には、雨量計は「雨が0.5 mm分降ると、パルスを1回出力する。」とあります。
雨量が6分当たり200mmまでの場合、その間に出力されるパルスの最大回数は、次のとおりです。
つまり、カウンタは最大で400回のパルスを数えられる必要があります。カウンタは初期値の0から数え始めるため、必要な数値の範囲は0~400です。
8ビットで表せる値は0~255なので、400まで数えられません。一方、9ビットなら0~511を表せるため、400まで数えられます。したがって、必要な最小のビット数は9ビットです。

誤りやすいポイント

  • 雨量の200mmを、そのままカウンタの値と考えないようにします。カウンタが数えるのは、雨量計が出力するパルスです。
  • 400回のパルスに対して、400個の状態だけを用意すればよいと考えないようにします。初期値の0も含めて、0~400の値を表せる必要があります。
  • 8ビットで表せる最大値は255です。400を数えられないため、8ビットでは不足します。

FAQ

Q: 6分当たりという条件は、計算にどう関係しますか?
A: その6分間に計測する雨量の上限が200mmという条件です。雨量計の出力間隔に当たる0.5mmで割ると、その間の最大パルス数を求められます。
Q: 400回のパルスを数えるのに、なぜ9ビット必要なのですか?
A: 初期値の0から400までを表す必要があります。8ビットでは最大255までですが、9ビットなら511まで表せます。
Q: 8ビットでは、最大で何回のパルスを数えられますか?
A: 0から255まで数えられるので、初期値を0とした場合、パルスを255回まで数えられます。

関連キーワード: パルス計数、カウンタ、2進数、ビット幅

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問2(3)

問題文を見る
雨量計測用のカウンタは、パルスによるカウントアップ動作とカウンタの読取りが重なると正しい値を読めない。正しい値を得るためには、どのような処理を行えばよいか。40字以内で述べよ。ここで、カウンタのカウントアップ動作の時間は、MPUの命令実行時間よりも十分に短いものとする。

模範解答

カウンタの値を2回読み、それらが同じ値になるまで繰り返す処理

解説

解答の導き方

この設問では、雨量計測用のカウンタがパルスを数えている最中に値を読み取ると、正しい値が得られない問題への対処を考えます。
本文には「パルスによるカウントアップ動作とカウンタの読取りが重なると正しい値を読めない」とあります。つまり、カウンタの値が更新されている途中に読み取ると、実際のカウント値とは異なる値を得る可能性があります。そのため、1回だけ読み取って、その値をそのまま採用する方法では不十分です。
一方、本文には、カウントアップ動作の時間はMPUの命令実行時間より十分に短いとあります。カウントアップ中の不安定な状態は短時間で終わるため、カウンタを続けて2回読み取れば、更新途中の状態が両方の読取りに影響する可能性を避けられます。
そこで、2回の読取り値を比べます。値が異なれば、読み取りの間にカウントが進んだか、どちらかの読取りが更新の影響を受けた可能性があるため、値を採用せずに再度読み取ります。2回の値が一致したときに、その値を使います。

誤りやすいポイント

  • カウンタを1回だけ読み取ればよいと考えることです。読取りとカウントアップが重なる可能性があるため、1回の値だけでは正しいと判断できません。
  • 2回読んだ値が異なったときに、後の値だけを採用することです。どちらかの値が更新の影響を受けている可能性があるため、一致するまで読み直します。
  • 「2回読む」だけで終わり、値の比較や再読取りを忘れることです。2回の値が同じになるまで確認することが重要です。

FAQ

Q: 2回の読取り値が異なった場合は、どうすればよいですか?
A: どちらかの値を選ぶのではなく、再度読み取って比較します。
Q: 2回の読取り値が同じなら、なぜ採用できるのですか?
A: カウントアップ動作が短時間で終わる条件を利用し、更新の影響を受けた読取りを値の不一致によって検出できるためです。
Q: 読取りを2回行えば、必ずそこで処理を終えてよいですか?
A: いいえ。2回の値が異なれば、同じ値になるまで読取りと比較を繰り返します。

関連キーワード: ハードウェアカウンタ、非同期入力、二重読取り、データ整合性、競合状態

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3:観測装置の制御部ソフトウェアについて、(1)、(2)に答えよ。

 制御部のOSには、リアルタイムOSを使用している。制御部のタスクの機能概要を表3に、制御部のタスク構成図を図4に示す。 エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 表3)
エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 図4)

設問3(1)

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

模範解答

a:送信不可のメッセージ

解説

解答の導き方

この空欄は、電池の放電容量が変化したときに、メインタスクがセンタへ送信するメッセージを問うています。
本文では、放電容量が「観測データを送信できる下限値以上の状態から、送信できる下限値未満になった場合」に、観測装置はメッセージを1回送信し、その後は送受信を中止すると説明されています。これは、観測装置が観測を続けられるかどうかではなく、観測データをセンタへ送信できるかどうかの状態変化です。
また、観測装置の動作概要にも、送信できる下限値を下回った場合に「送信不可のメッセージ」をセンタへ1回送信するとあります。したがって、表3のメインタスクの説明に入るのは、送信できなくなったことをセンタに知らせる「送信不可のメッセージ」です。

誤りやすいポイント

  • 送信可能のメッセージと取り違えないようにします。送信可能のメッセージは、放電容量が送信できる状態になったことを知らせるときに送信します。
  • 観測を中断する条件と混同しないようにします。観測中断は、放電容量が観測可能な下限値未満になった場合です。今回の空欄は、送信できる下限値を下回った場合の通知です。
  • 送信不可のメッセージを送るのは1回で、その後は送受信を中止するという動作も、本文の条件と対応させて判断します。

FAQ

Q: 送信不可のメッセージを送った後も、センタからの送信要求を受け付けますか?
A: いいえ。放電容量が送信できる下限値より大きくなるまで、送受信を中止します。
Q: 放電容量が観測可能な下限値未満になった場合も、同じメッセージを送りますか?
A: この条件では観測を中断します。空欄が示すのは、送信できる下限値を下回ったときの通知です。
Q: 放電容量が回復したときは、どのような通知をしますか?
A: 送信できる下限値より大きくなると、送信可能のメッセージをセンタへ1回送信します。

関連キーワード: 放電容量監視、状態遷移、メッセージ通信、リアルタイムOS

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

設問3(2)

問題文を見る
図4のタスク構成図において、メッセージの通信が行われているタスク間を線で結び、タスク構成図を完成させよ。

模範解答

エンベデッドシステムスペシャリスト試験(平成23年 午後1 問1 設問03-02解答)

解説

解答の導き方

この設問では、どのタスクがメッセージを受け渡すかを、表3に書かれた各タスクの役割と、気象システムのデータ処理の流れから判断します。
まず、観測結果を集めるタスク間の関係を確認します。表3では、「温湿度計測」「雨量計測」「シリアル通信」は、それぞれ計測結果を「観測」に通知するとされています。したがって、これら三つのタスクと「観測」を線で結びます。
次に、「観測」は観測データを編集し、「メイン」と「データ管理」に通知します。そのため、「観測」と「メイン」、「観測」と「データ管理」も線で結びます。ここまでが、計測結果を受け取り、編集して後続の処理へ渡す流れです。
続いて、表示に関わる関係を見ます。「表示」は「メイン」からの指示に基づいて処理を行うので、「メイン」と「表示」を結びます。
「メイン」と「データ管理」を結ぶ理由は、タスクの説明だけでなく、観測データの送信手順も合わせて考えると分かります。「データ管理」は観測データを管理し、「メイン」はセンタに送信するデータの形式を整えます。また、送信要求を受信すると、最後に受信した完了通知以降に保存した観測データをセンタに送信します。この処理には、送信対象となる保存済みデータを「データ管理」から「メイン」へ渡す必要があります。したがって、両タスクも線で結びます。
なお、図4には「メイン」と「センタ通信」の間の線が既にあります。「センタ通信」はセンタとの無線通信を担当し、「メイン」は送信データの形式を整えるため、この接続は送信処理の流れにも合っています。

誤りやすいポイント

  • 計測結果を「メイン」へ直接渡すと考えないようにします。表3では、各計測タスクの結果はまず「観測」に通知され、「観測」から「メイン」へ通知されます。
  • 「観測」と「データ管理」の接続だけで済ませないようにします。保存済みデータを送信するときは、「データ管理」から「メイン」へデータを渡し、「メイン」が送信用の形式を整えるため、両タスク間にも接続が必要です。
  • タスクの名称だけから接続を推測せず、「通知する」「指示に基づく」など、表3に示された処理の受渡し関係を確認します。

FAQ

Q: 「観測」と「データ管理」の間でデータを渡すだけでは、送信処理に足りないのですか?
A: 足りません。センタへ送るデータの形式を整えるのは「メイン」です。送信対象の保存済みデータを「データ管理」から「メイン」へ渡す必要があるため、両タスク間の接続も必要です。
Q: 計測タスクと「メイン」を直接結ばないのはなぜですか?
A: 表3では、計測結果を通知する相手は「観測」とされています。「観測」が結果を編集した後、「メイン」へ通知する流れになっています。
Q: 図4の線は、データの流れる方向も示していますか?
A: 線はメッセージをやり取りするタスク間の関係を示します。どちらからどちらへデータが渡るかは、表3の通知関係やシステムの処理手順から読み取ります。

関連キーワード: リアルタイムOS、タスク間通信、メッセージ通知、データ管理、センサデータ収集

解説を読んでも分からないところは、AIに質問できます。 この問題の本文と解説をふまえて答えます。

この設問をAIに質問する

クイズモードで開きます(AIへの質問は無料の会員登録で使えます)

戦国ITクイズ機能

\ せっかくなら /

エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?

クイズ画面へ遷移する→

すぐに利用可能!

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

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