応用情報技術者 2019年 秋期 午後 問08
道路交通信号機の状態遷移設計に関する次の記述を読んで、設問1~3に答えよ。
L社は道路交通信号機(以下、信号機という)のシステム開発を行っている会社である。このたび、交差点Zの信号機制御システムを受注した。
交差点Zでは東西方向の主道路と南北方向の従道路が交差しており(図1)、主道路、従道路、及び主道路にかかる横断歩道の信号機をそれぞれ、主道路信号、従道路信号、及び歩行者信号という。従道路信号は主道路信号と連動して制御される。
歩行者信号の表示は“青”、“青点滅”、“赤”の3種類、主道路信号の表示は“青”、“黄”、“赤”、“右”の4種類である。“右”は右折だけ可能な状態であり、このときは、“赤”も同時に点灯する。
歩行者信号は、昼間は主道路信号と同期するが、夜間は常時“赤”となり、歩行者用押しボタンを押した場合(以下、ボタン押下という)だけ“青”になる。ボタン押下は各信号に通知される。ボタン押下された場合、主道路信号の“青”を短くすることで、歩行者の待ち時間を短くするよう考慮する。
L社の担当者M君は、各信号の状態遷移の仕様を表で整理した後、状態遷移図で示し、信号機の制御ソフトウェアを作成することにした。

〔信号機の仕様と状態遷移図〕
各信号は、所定の秒数を格納したタイマを使って、状態を変化させる。タイマはセットされた直後からカウントダウンして0になった時点で終了し、次の処理手順へ移行する。また、複数のタイマを同時に処理することができる。
M君は各信号の状態遷移に関する仕様を表で整理した。そして、L社内で設計レビュ―に臨み、そこでの指摘事項を反映させて仕様を完成させた。主道路信号(夜間)の通常時とボタン押下時の状態遷移に関する仕様を表1と表2に、歩行者信号(夜間)の状態遷移に関する仕様を表3に、それぞれ示す。



表1、表2、及び表3を基に、M君が作成した各信号の状態遷移図を図2、図3に示す。図2、図3中の(T)は表1~3の遷移条件に示されたタイマの終了を示す。


図2、図3から、主道路信号の状態がC-6(黄)になった直後にボタン押下があったとき、歩行者信号が最初に青になるのはd秒後であることが確認できる。
〔設計のレビュー〕
M君は当初、表3のR3の遷移条件を“主道路信号が赤”と記載していた。しかし、L社内でのレビューにおいて、その遷移条件では事故につながりかねない重大な①不具合が発生するという指摘を受け、この遷移条件を“主道路信号が状態C-1に遷移”と修正した。また、図2の処理手順P1(状態C-1から状態B-1に遷移)がなかった場合に②生じる現象についてレビューで説明を行った。
設問1:〔信号機の仕様と状態遷移図〕について、(1)、(2)に答えよ。
(1)図2及び図3中のa〜cに入れる適切な字句を答えよ。
模範解答
a:青
b:赤
c:青点滅
解説
解答の論理構成
-
図2で a が書かれている B-2 は、表2「P2」「Q1」の処理後状態です。いずれの処理内容も
―― 「信号を青にし」
と明記されています。したがって a は 青 です。 -
図3で b が書かれている W-3 は、表3「R3」の処理後状態です。R3 の処理内容には
―― 「主道路信号の状態監視を終了して、タイマ7(3秒)をセット。」
としか記載されておらず、灯色を変更する指示がありません。処理前 W-2 は「赤」なので、W-3 も 赤 のままになります。 -
図3で c が書かれている W-5 は、表3「R5」の処理後状態です。R5 の処理内容は
―― 「信号を青点滅にし、タイマ9(3秒)をセット。」
と明記されているため c は 青点滅 です。
以上より
a:青
b:赤
c:青点滅
a:青
b:赤
c:青点滅
誤りやすいポイント
- 表記ゆれに注意
表2では「青」、表3では「青点滅」など類似語が並ぶため、図上の a〜c を書き込む際に混同しやすいです。 - “処理内容なし=灯色不変” のルールを見落とす
表3「R3」のように灯色変更指示が無い手順では、直前状態をそのまま引き継ぎます。ここを「未設定なので青」などと誤解すると失点します。 - 図と表の往復確認不足
図2・図3は状態しか描かれていません。タイマやボタン押下の条件は必ず表1〜表3で裏を取る必要があります。
FAQ
Q: 状態名に “C-”“B-”“W-” など複数の系列があるのはなぜですか?
A: 「C-」は主道路信号の通常系列、「B-」は主道路信号のボタン押下系列、「W-」は歩行者信号系列を示し、混同しないようプレフィックスで区別しています。
A: 「C-」は主道路信号の通常系列、「B-」は主道路信号のボタン押下系列、「W-」は歩行者信号系列を示し、混同しないようプレフィックスで区別しています。
Q: 表に灯色変更指示が重複している場合はどちらを優先しますか?
A: 同じ処理手順内に複数指示があることは設計上想定されていません。複数見つかった場合はレビューで修正対象になります。
A: 同じ処理手順内に複数指示があることは設計上想定されていません。複数見つかった場合はレビューで修正対象になります。
Q: 「青点滅」は具体的にどのような実装を想定していますか?
A: 一般には 1 Hz 程度で ON/OFF を繰り返す制御ループをタスクとして実装し、タイマ終了(表ではタイマ9)で停止して次の状態に遷移します。
A: 一般には 1 Hz 程度で ON/OFF を繰り返す制御ループをタスクとして実装し、タイマ終了(表ではタイマ9)で停止して次の状態に遷移します。
関連キーワード: 状態遷移表、タイマ割込み、イベント駆動、同期制御、ユーザ入力
設問1:〔信号機の仕様と状態遷移図〕について、(1)、(2)に答えよ。
(2)本文中のdに入れる適切な数字を答えよ。
模範解答
d:6
解説
解答の論理構成
-
ボタン押下の前提
- 設問は「主道路信号の状態が C-6(黄)になった直後にボタン押下」と指示しています。
- 表1の S6 には「信号を黄にし、タイマ3(3秒)をセット。」とあります。つまり C-6 に遷移した瞬間に 3 秒のカウントダウンが開始されます。
-
歩行者信号側の動き
- 表3の R2 では「ボタン押下」を契機に W-1→W-2 へ遷移し、「主道路信号の状態監視を開始する。」とあります。
- 続く R3 の遷移条件は「主道路信号が状態 C-1 に遷移」です。したがって、歩行者信号は C-1 が現れるまで待機します。
-
主道路信号が C-1 になるまでの時間
- C-6 から次に C-1 へ移るのは表1の S7「タイマ3終了」で、ここでもタイマ3(3 秒)を消費します。
- よって C-1 に至るまで 3 秒 かかります。
-
C-1 到達後から歩行者信号が青になるまで
- C-1 に遷移した瞬間、歩行者側は R3 を満たし W-2→W-3 に遷移し、「タイマ7(3秒)をセット。」します。
- 表3の R4「タイマ7終了」で W-3→W-4 へ進み、「信号を青にし…」と明記されています。タイマ7は 3 秒 です。
-
合計時間
- C-6 から C-1 までの 3 秒
- W-3 から W-4(青表示)までの 3 秒
- したがって合計は 秒
- 問題文の d には 6 が入ります。
誤りやすいポイント
- 「C-6 の黄表示は 3 秒だけ」と気付かず、C-1 の 15 秒(タイマ1)まで待つと勘違いする。
- 歩行者信号のタイマ7(3 秒)を見落として「3 秒後にすぐ青」と短絡しやすい。
- 表示が青になるのは W-4 であり、W-3 ではまだ赤のままという点を取り違える。
FAQ
Q: C-6 から C-5(右矢)に戻る可能性は考慮しなくてよいのですか?
A: C-6 の次遷移は表1の S7 で固定されており、C-1(赤)にしか進みません。したがって今回の計算では影響しません。
A: C-6 の次遷移は表1の S7 で固定されており、C-1(赤)にしか進みません。したがって今回の計算では影響しません。
Q: タイマが複数動いている場合、どちらが優先されるのですか?
A: 問題文には「複数のタイマを同時に処理することができる。」とあり、それぞれ独立に終了判定を行います。今回の計算ではタイマ3 とタイマ7 が直列で動くため競合はありません。
A: 問題文には「複数のタイマを同時に処理することができる。」とあり、それぞれ独立に終了判定を行います。今回の計算ではタイマ3 とタイマ7 が直列で動くため競合はありません。
Q: 表2(ボタン押下時の主道路信号)は無関係ですか?
A: 夜間でも C-6 直後に押された場合は表2の該当手順が存在せず、通常遷移(表1)のまま進むため、計算には関与しません。
A: 夜間でも C-6 直後に押された場合は表2の該当手順が存在せず、通常遷移(表1)のまま進むため、計算には関与しません。
関連キーワード: 状態遷移図、タイマ制御、カウントダウン、非同期イベント
設問2:〔設計のレビュー〕について、(1)、(2)に答えよ。
(1)本文中の下線①について、どの状態において、どのような不具合につながるのか。具体的に40字以内で述べよ。
模範解答
「状態C-5のときに、主道路信号が右折可能で、歩行者信号が青になる。」
または
「状態C-4でR3の遷移が可能となり主道路信号が右折可能で、歩行者信号が青になる。」
解説
解答の論理構成
- 仕様原文の確認
- 主道路信号の表示について【問題文】
「“右”は右折だけ可能な状態であり、このときは、“赤”も同時に点灯する。」
すなわち状態「C-5」は “右” + “赤” が同時点灯し、車両は右折だけ可能です。
- 主道路信号の表示について【問題文】
- 当初の遷移条件
- M君が最初に記述した条件は【問題文】
「表3のR3の遷移条件を“主道路信号が赤”と記載していた。」
ここで “赤” に該当するのは「C-4(赤)」だけでなく「C-5(右+赤)」も含まれます。
- M君が最初に記述した条件は【問題文】
- 歩行者信号の動き
- R3が成立すると【表3】
「タイマ7(3秒)をセット」→ R4「信号を青にし、タイマ8(8秒)をセット。」
つまり歩行者信号は青になります。
- R3が成立すると【表3】
- 不具合が起きる状態
- 状態「C-5」は車両右折可で赤灯も点灯しているため、当初条件では
「C-5」でもR3が成立し歩行者青になる。
- 状態「C-5」は車両右折可で赤灯も点灯しているため、当初条件では
- 結果として生じる危険
- 車両が右折進行中に歩行者が渡り始めるため、衝突事故が発生し得ます。
以上から、下線①の不具合は
「状態C-5で主道路右折可のまま歩行者青になる」
とまとめられます。
「状態C-5で主道路右折可のまま歩行者青になる」
とまとめられます。
誤りやすいポイント
- “赤” の判定範囲を「C-4」だけと早合点し、「C-5」で赤灯も点く事実を見落とす。
- 「右」が点灯すると直進・左折不可と考えて歩行者と競合しないと思い込む。
- 歩行者信号側の R3 条件が “遷移” であることに注意せず、単なる状態監視と混同する。
FAQ
Q: 「C-4」と「C-5」はどちらも赤灯が点くのに、なぜ「C-5」だけ強調されるのですか?
A: 「C-4」は全車両停止ですが、「C-5」は右折だけ可能です。【問題文】の引用どおり右折車が動くため歩行者と衝突リスクが生じます。
A: 「C-4」は全車両停止ですが、「C-5」は右折だけ可能です。【問題文】の引用どおり右折車が動くため歩行者と衝突リスクが生じます。
Q: 「R3」の条件を “状態C-1に遷移” と限定すると、待ち時間が長くなりませんか?
A: 「C-1」は主道路が完全赤で全車両停止する 15 秒区間です。このタイミングで歩行者青に切り替えれば安全と効率を両立できます。
A: 「C-1」は主道路が完全赤で全車両停止する 15 秒区間です。このタイミングで歩行者青に切り替えれば安全と効率を両立できます。
Q: ボタンを押しても歩行者青にならないケースはありますか?
A: 「C-2(青)」の途中で押した場合は【表2】「Q1」により主道路青が短縮され、次の「C-3→C-4→C-5→C-6→C-1」で歩行者青になります。
A: 「C-2(青)」の途中で押した場合は【表2】「Q1」により主道路青が短縮され、次の「C-3→C-4→C-5→C-6→C-1」で歩行者青になります。
関連キーワード: 状態遷移図、タイマ制御、排他制御、競合条件、安全設計
設問2:〔設計のレビュー〕について、(1)、(2)に答えよ。
(2)本文中の下線②に関する適切な説明を解答群の中から選び、記号で答えよ。
解答群
ア:C-1が60秒でC-2に遷移する。
イ:C-1でボタン押下されても、主道路信号の青が短くならない。
ウ:ボタン押下されていないのに、主道路信号の青が短くなる。
エ:短い時間に繰り返してボタン押下されると、歩行者信号がすぐに青になる。
模範解答
イ
解説
解答の論理構成
-
表2の仕様
- 「P1」の遷移条件は“ボタン押下”、処理前状態は“C-1”、処理後状態は“B-1”、処理内容は“何もしない。”と定義されています。
- これにより、C-1 でボタンが押されたことを検知したという情報だけを B 系列に引き継ぎます。
-
ボタン押下後の青信号短縮ロジック
- “B-1”から“B-2”へは「P2」で“タイマ1終了”が条件となり、処理内容に“タイマ6(10秒)をセット。”が含まれます。
- さらに“B-2”では「Q2」で“タイマ2とタイマ6のいずれかが終了”すると“C-3(黄)”へ遷移し、“終了していないタイマを0にする。”とあります。
- つまり、青信号を最長でも“タイマ6(10秒)”で打ち切り、歩行者を早く渡らせる仕組みです。
-
「P1」が存在しない場合の流れ
- C-1 でボタンが押されても遷移先がなく、状態はそのまま C-1。
- 次に定義されているのは表1の「S2」:“タイマ1終了”で“C-2”へ遷移し、“タイマ2(60秒)をセット。”です。
- よって青信号は通常の“60秒”間継続します。
-
以上より、「P1」が無いと
“C-1でボタン押下されても、主道路信号の青が短くならない。”
という現象が発生し、解答群「イ」が正しいと判断できます。
誤りやすいポイント
- 「P1」は“何もしない。”と書かれているため、無くても同じと見落としやすいですが、実際は B 系列への入口として極めて重要です。
- 青の短縮は“B-2”でセットされる“タイマ6(10秒)”が鍵であり、“C-2”に直接遷移した場合は短縮が起きません。
- 「ボタン押下=即青点灯」と混同し、W 系列(歩行者信号)の挙動と主道路信号の挙動を取り違えるケースも頻発します。
FAQ
Q: 「P1」の処理内容が“何もしない。”なのに、なぜ削除すると問題になるのですか?
A: “何もしない。”のは信号表示ですが、状態を“B-1”へ切り替えることで後続手順「P2」「Q2」に乗せる役割があります。削除すると B 系列に入れず短縮制御が働きません。
A: “何もしない。”のは信号表示ですが、状態を“B-1”へ切り替えることで後続手順「P2」「Q2」に乗せる役割があります。削除すると B 系列に入れず短縮制御が働きません。
Q: 「P1」を残したまま“タイマ6”の設定時間を変えるだけでは対策になりませんか?
A: “タイマ6”は「P2」や「Q1」でセットされています。P1 が無い場合、そもそも B 系列に入らないため“タイマ6”は設定されず、設定時間を変更しても効果がありません。
A: “タイマ6”は「P2」や「Q1」でセットされています。P1 が無い場合、そもそも B 系列に入らないため“タイマ6”は設定されず、設定時間を変更しても効果がありません。
Q: 歩行者信号側(表3)には影響がないのですか?
A: 歩行者信号は“主道路信号が状態C-1に遷移”を起点に青化します。P1 が無くても最終的には C-1 に戻るため青にはなりますが、青になるまでの待ち時間が長くなり、設計意図(待ち時間短縮)を満たせなくなります。
A: 歩行者信号は“主道路信号が状態C-1に遷移”を起点に青化します。P1 が無くても最終的には C-1 に戻るため青にはなりますが、青になるまでの待ち時間が長くなり、設計意図(待ち時間短縮)を満たせなくなります。
関連キーワード: 状態遷移図、タイマ制御、非同期イベント、入力イベント処理
設問3:
〔信号機の信頼性設計〕について、本文中の(1)と(2)の信頼性設計の対応策を表す最も適切な字句を、それぞれ解答群の中から選び、記号で答えよ。
解答群
ア:フールプルーフ
イ:フェールセーフ
ウ:フェールソフト
エ:フォールトアボイダンス
オ:フォールトトレランス
模範解答
(1):イ
(2):ウ
解説
解答の論理構成
- 本文では、交差点 Z の制御ソフトウェア設計とは別に「〔信号機の信頼性設計〕」として二つの対策 (1) と (2) が示されています。
- (1) では “故障が発生しても、車両と歩行者の安全を最優先して危険が拡大しない状態に移行する” ことが目的とされています。このように、異常時に装置を安全側へ導く考え方を表す語は「フェールセーフ」です。解答群の記号はイです。
- (2) では “一部の機能喪失や異常が起きても、信号制御を制限付きで継続し、完全停止は避ける” という主旨が示されています。機能を縮退させながら動作を続ける設計は「フェールソフト」に該当します。解答群の記号はウです。
- したがって、(1):イ、(2):ウ が正答となります。
誤りやすいポイント
- フェールセーフとフールプルーフの混同
異常時に安全側へ倒すのがフェールセーフ(イ)、誤操作そのものを起こさせない工夫がフールプルーフ(ア)です。 - フェールソフトとフォールトトレランスの混同
フェールソフト(ウ)は“機能縮退で継続”に焦点を当て、フォールトトレランス(オ)は“冗長構成で完全機能を維持”する点が異なります。 - 「安全」と「継続」の優先順位
交通信号のように人命が直接関わる装置では、まず安全確保(フェールセーフ)を行い、その後サービス継続策(フェールソフト)を組み合わせる順序になることを押さえておきましょう。
FAQ
Q: フェールセーフとフェールソフトは同時に採用できますか?
A: 可能です。まずフェールセーフで安全側に倒し、その後にフェールソフトで可能な範囲のサービスを継続する二段構えにするケースがよくあります。
A: 可能です。まずフェールセーフで安全側に倒し、その後にフェールソフトで可能な範囲のサービスを継続する二段構えにするケースがよくあります。
Q: フールプルーフは信号機にも必要ですか?
A: はい。例えば誤ってメンテナンスモードに入れないよう鍵付きスイッチを使うなど、操作ミスを未然に防ぐ設計がフールプルーフに当たります。
A: はい。例えば誤ってメンテナンスモードに入れないよう鍵付きスイッチを使うなど、操作ミスを未然に防ぐ設計がフールプルーフに当たります。
Q: フォールトトレランスが採用されない理由は?
A: 交差点単独の信号制御装置に高価な冗長構成を入れるより、フェールセーフ+フェールソフトで安全と運用を確保する方がコスト・保守の面で現実的なためです。
A: 交差点単独の信号制御装置に高価な冗長構成を入れるより、フェールセーフ+フェールソフトで安全と運用を確保する方がコスト・保守の面で現実的なためです。
関連キーワード: フェールセーフ、フェールソフト、フールプルーフ、フォールトトレランス


