令和4年度 秋期 情報処理技術者試験まであと8日。
今日はこれまでの総復習として令和3年度 エンベデッドシステムスペシャリスト試験 午後Ⅱ試験 問2の過去問題を解いてみた。
私がこの過去問題の解説を持ち合わせていないため自己理解のために解説してみたいと思う。
自己採点結果
過去問題を解いた結果はどうじゃったのかのぉ~
部分点を加味して60点前後ぐらいの結果でした
私の自己採点結果はこちら。
小問数が18問。
うち、小問単位で全て正解した数が10問。
よって、10問/18問で55.6点。
ここに小問の一部の正解も加味すると60点前後というボーダーラインギリギリの点数となった。
ただ、なぜ間違ったのか、なぜ公式解答例のようになるかの解説書を持ち合わせていない。
そこで、自分なりに問題文と公式解答例を照らし合わせながら解説してみる。
令和3年度 午後Ⅱ試験 問2の問題文
まずは問題文を見てみよう。
問題文のページ数は7ページ。
図が3つと表が9つあり、一般的な問題文の量ではないかと感じた。
設問1のきっとこうだろうと思う解説
設問1は可視化システムの仕様に関するものが問われたよ。
設問1は小問数が4つある。
設問内容と解説を順番にしていきたいと思う。
(1)を解いてみよう。
(1)は、図2中の空欄aを埋める問題。
図2を見てみよう。
可視化装置のラインモデルの「工程に関する情報」の部分を埋めてというもの。
可視化装置がなにを管理しているのかをこの図から見ると、以下の3つになる。
- モデル全体構成
- 工程
- 設備
モデル全体構成では工程を管理している。
工程では工程ごとのセンサの情報、空欄a、設備の情報を管理している。
設備では設備ごとのセンサの数とセンサの情報を管理している。
つまり、ヒントはここにある。
図2のモデルは、図1の赤枠、青枠、緑枠を表している。
(1)で問われているのは「工程に関する情報」の部分であり、既に投入センサ、産出センサ設備に関する情報が記載されている。
そして、残りの空欄aに当てはまるものは、図1で確認すると青枠内の記号■の「出力ノード」となる。
(2)の(a)を解いてみるよ。
(2)の(a)は、表8中の空欄bを埋める問題。
では、表8を見てみよう。
制御プログラムがモデルを読み込む際の処理についてまとめた表のようだ。
モデルはSDカードとフラッシュメモリに分類分けされており、それぞれにモデルがない状態とある状態をまとめている。
そして、空欄bはSDカードとフラッシュメモリの双方にモデルがある状態の時の処理内容を記載する必要がある。
では問題文をもう少し読んでみるとヒントはすぐ近くにある。
(4)の文章が表8に対応している。
ただし、この文章で説明されているのは表8に付けた①~③までの内容しか記載がない。
そこで注目すべきが表下部の「注記」である。
まず、SDカードとフラッシュメモリの両方にモデルが存在するということは、注記の「複数のモデルが存在した場合」の部分に該当する。
これらのモデルから作成日時が最も新しいモデルを読み込み、RAMに展開するという趣旨の内容を記載すればよい。
よって、「フラッシュメモリ上のモデルとSDカード上のモデルの作成日時を比較し、より新しい方のモデルを読み込み、RAMに展開する。」となる。
ちなみに、私は「SDカードとフラッシュメモリからモデルを読み込み、複数のモデルのうち作成日時が最も新しいモデルを選択したうえでRAMに展開する。」と回答した。
(2)の(b)を解いてみるよ。
(2)の(b)は下線①の目的が問われている。
では、下線①を見てみよう。
下線①は(2)の(a)で使用した箇所の次の項目に記載がある。
モデル又はドライバをSDカードから読み込んだ際は、当該モデル又は当該ドライバをフラッシュメモリに書き込む目的を問われている。
個人的には少し難しかった。
ヒントらしいヒントが見つけられなかったからだ。
この問題は薄く記載されたヒントと一般論から結論付ける必要がある問題のようだ。
まず薄く記載されたヒントというのがこちら。
出荷時はフラッシュメモリに標準的なドライバとブートプログラムのみが書き込まれている。
そして、一般的にSDカードから読みだすよりもフラッシュメモリから読みだす方が処理時間が短い。
これらから、標準的ではないドライバやモデルをSDカードから読み込んだ際は、次回以降早く処理できるようにフラッシュメモリに書き込むという思想なのだと考える。
だからIPAの解答例は、「次回以降の起動をフラッシュメモリだけから行うため」となっていると推測する。
設問1の最後の(3)を解いていこう。
(3)は分析情報の求め方を理解しているかが問われる。
具体的には以下の3つが問われている。
- 1時間当たりの圧造工程の工程生産能力
- 1時間当たりのライン生産能力
- 工程間滞留量の最大値
1時間当たりの圧造工程の工程生産能力を求めるよ。
まずは、「1時間当たりの圧造工程の工程生産能力」から解いてみる。
これを解くには以下の全てを理解する必要がある。
上記の設備の稼働状況、工程及びラインの稼働状況、生産指標の算出方法を理解したうえで、設問1の(3)に記載された図を読み解く必要がある。
工程生産能力は、表6の2つ目に「工程生産量 ÷ (工程の稼働状態が”工程動作”であった時間)」と記載がある。
そのため、工程動作がどの時間帯に該当するかを確認する必要がある。
工程動作は、表5の工程の2つ目に「工程内の一つ以上の設備が”設備動作”であり、かつ、一つも”設備異常”がない」と記載がある。
設備動作は、表4の2つ目に「1台の設備に設置された、全ての状態センサから得られる状態が”動作”」と記載がある。
圧造工程には1台の設備しか存在しないことが表3の注記に書かれている。
つまり、図4の8:30~13:00のみが工程動作となる。
1ロット10,000個を4.5時間で圧造するため、10,000個÷4.5時間=2,222.222…となる。
小数第1位を四捨五入してという条件があるため、1時間当たりの工程生産能力は「2,222」となる。
1時間当たりのライン生産能力を求めていくよ。
ラインの生産能力は、表6の4つ目に「ライン生産量 ÷ (ラインの稼働状態が”ライン動作”であった時間)と記載されている。
ライン動作の定義は、表5のラインの2つ目に「ライン内の一つ以上の工程が”工程動作”であり、かつ、一つも”工程異常”がない」書かれている。
工程動作の定義は、前述の通りなので割愛する。
すると、改めて図4を確認すると8:30~14:30の間がライン動作の時間帯ということが読める。
少し補足すると、圧造工程の工程動作期間は前述の通り8:30~13:00となっている。
一方で、転造工程の工程動作期間は8:30~14:30となっている。
後者がライン動作の定義に合致するため、この時間帯をライン動作の時間帯と説明できる。
よって、1時間当たりのライン生産能力は、10,000個÷6時間1=1,666.666…となる。
こちらも小数第1位を四捨五入してという条件があるため、1時間当たりのライン生産能力は「1,667」となる。
工程間滞留量の最大値を求めていくよ。
工程間滞留量の求め方は正直自信がない。
図4の注記に「圧造機は1.5秒に1個…、転造機は2秒に1個…」という記述がある。
おそらくこれがヒントではないかと思う。
具体的には、10,000個のブランクを作成する時間とねじを作成する時間に0.5秒の差がある。
これから、10,000個×1.5秒÷2.0秒 = 7,500個と求めることができる。
この数は、圧造機で10,000個のブランクを作る時間(前述の4.5時間)だと転造機では7,500個のねじしか作れないということを表す。
つまり、同じ時間のなかで次の工程に投入できる量は7,500個になるということだと思う。
すると、工程間滞留量は10,000個-7,500個で求めた「2,500」個となる。
※この算出ロジックは正直自信がないのでわかる方がいらっしゃれば正しい求め方を教えてください!
設問2のきっとこうだろうと思う解説
設問2は定番のタスク設計に関する問題だよ!
設問2は8つの小問で構成されている。
ここも順番に見ていくことにしよう。
(1)の(a)を解いていくよ。
(1)の(a)はドライバタスク生成時に受け取るパラメタ情報二つはなにかという問題だ。
まずはタスクの処理概要を見てみよう。
図3を見ると、複数の工程タスクと複数のドライバタスクが連携している。
そして、表9を見ると工程タスクがすべてのセンサのドライバタスクを生成すると記載がある。
表9のドライバタスクを見ると、「起動されると、生成時に受け取ったパラメタに従って…」という記載がある。
(1)の(a)はこの受け取ったパラメタが二つあるから答えてねということだということが理解できる。
IPAの解答例を見るとなるほどと思うが、果たして本試験中にここまでわかる受験生はどれぐらいいるのかと疑問に思ってしまう。
まず1つ目は、工程タスクからドライバタスクを生成する際に何が必要になるかである。
このヒントは図2にある。
工程は設備に関する情報を管理しており、設備でセンサの情報を管理している。
センサにはドライバ用の個別データを管理しており、これをシステム的にはドライバタスクで管理する。
よって、一つ目は「センサ情報」となる。
もう一つが全く分からなかった。
ただ、IPAの解答例を見ると納得する。
工程タスクとドライバタスクはそれぞれ複数生成される。
工程タスクがドライバタスクを生成するが、その際にドライバタスクが工程タスクにメッセージを通知する場合に「どの工程タスクと紐づくのか」を管理しないとメッセージのやり取りができない。
そこで改めて図3を見てみる。
工程タスクとドライバタスクはメールボックスを使用してメッセージのやり取りをすることを注記1に記載されている。
よって、二つ目は「通知先の工程タスクのメールボックス」となる。
次は(1)の(b)を解いていこう。
(1)の(b)は、表9の空欄cの穴埋め問題である。
この問題も難しく感じた。
安直に考えると私のように「各種センサの収集情報と分析情報」という抽象的な解答になってしまう。
そうではなく、これらの情報はどこから取得するのかというところを整理する必要がある。
改めて図3を見てみよう。
まず、収集情報や分析情報はメモリ(RAM)に書き込まれると注記2に書かれている。
メモリ(RAM)のどこに収集情報や分析情報が格納されるのか。
それが図2のRAMに展開されたモデルのセンサ情報になる。
センサ情報には、センサ識別ID、ドライバ識別ID、ドライバ用の個別データの3つを管理する。
この中で、センサの情報を格納するのは赤枠の「ドライバ用の個別データ」となる。
これがこの小問の解答となる。
次は(2)の(a)と(b)を解いていこう。
メインタスクの状態遷移図が図5に、状態遷移図内の状態が表10に示されている。
この小問では図5の条件1と条件2がどういう条件なのかが問われている。
では、まず図5と表10を見てみよう。
状態「準備中」から条件1が真の場合に状態「保存中」に遷移する。
状態「保存中」は、表10の4つ目に「フラッシュメモリへの書込みを行っている状態」と記載がある。
次に表9のメインタスクの処理概要を念のため確認する。
すると箇条書き2点目に「モデル、ドライバ…、RAMへの展開及びフラッシュメモリへの保存を行う。」との記載を見つける。
この内容どこかで見覚えがあるぞ、、、
表8のモデルの読み込み処理の下の(5)に「モデル又はドライバをSDカードから読み込んだ場合、…をフラッシュメモリに書き込む。」との記載がある。
よって、(a)の解答は「モデル又はドライバをSDカードから読み込んだ場合」となる。
図5の状態「準備中」から条件1が真となり、状態「保存中」に遷移してフラッシュメモリに書き込むという内容とマッチする。
次に(b)を解いていこう。
(b)は条件2が真となる場合であるが、これは2つの遷移がある。
- 状態「準備中」から状態「展開中」への遷移
- 状態「保存中」から状態「展開中」への遷移
状態「展開中」はどういう状態かを表10で確認する。
すると、「フラッシュメモリから読出しを行っている状態」との記載がある。
条件1が偽の場合は既にモデル又はドライバがフラッシュメモリに書き込まれた状態、真の場合は状態「保存中」に遷移してモデル又はドライバをフラッシュメモリに書き込む状態である。
つまり、すでにフラッシュメモリへの書き込みが終わっている状態だ。
この状態からフラッシュメモリの内容を展開する場合を考える。
すると、(a)の解答で使用した問題文のすぐ下に答えが記載されている。
よって、(b)の解答は「フラッシュメモリに収集情報及び分析情報が保存されている場合」となる。
今回はここまで。
次回、続きをアップしていきたいと思う。
コメント