応用情報技術者 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に遷移)がなかった場合に②生じる現象についてレビューで説明を行った。
〔信号機の信頼性設計〕
信号機の制御システムの故障は、人命に関わる事故を引き起こすおそれがあり、M君には十分な信頼性設計を行うように指示が出た。それを受けてM君は、信号機の信頼性設計を完成させた。その設計の中に、次の二つの仕様を含めた。
(1) 主道路信号と従道路信号の連動機構が故障した場合、主道路信号を“黄点滅”(注意して進む)に、従道路信号を“赤点滅”(一時停止し、確認後発進)にして、どちらも“青”にはしない。
(2) 歩行者用押しボタンが故障した場合、その機能を切り離した縮退運転とし、夜間でも昼間と同様に歩行者信号を主道路信号に同期させる。
設問1:〔信号機の仕様と状態遷移図〕について、(1)、(2)に答えよ。
問題文を見る模範解答
a:青
b:赤
c:青点滅
解説
解答の導き方
まず結論を示します。
a:青
b:赤
c:青点滅
a:青
b:赤
c:青点滅
a(図2中のB-2 → 「青」)
- 図2の該当箇所を見るとB-2に [ a ] があり、ここに入るときの表示を問われています。
- 表2の処理を確認すると、P2に「信号を青にし、タイマ6(10秒)をセット。」と明記されています。P2はB-1 → B-2の遷移で実行される処理です。
- 一方、表2のQ1はC-2 → B-2のボタン押下時の遷移で処理内容が「タイマ6(10秒)をセット。」のみであり、灯色変更の指示はありません。
- したがって、B-2に入ったときの表示はP2によって設定される「青」であり、Q1によって遷移しても灯色は変わらないためB-2は青のままです。以上よりa=青 です。
b(図3中のW-3 → 「赤」)
- 図3のW-3に [ b ] があり、W系の遷移は表3に対応します。
- 表3のR1で開始時に「信号を赤にする。」とあり、初期表示は赤です。R2(ボタン押下)は「主道路信号の状態監視を開始する。」であり灯色変更は行いません。R3(主道路信号が状態C-1に遷移)の処理は「主道路信号の状態監視を終了して、タイマ7(3秒)をセット。」であり、やはり灯色変更は指示していません。
- つまりW-3に入った時点では以前に設定された赤の表示が維持され、R4で初めて「信号を青にし、タイマ8(8秒)をセット。」となります。以上よりb=赤 です。
c(図3中のW-5 → 「青点滅」)
- 図3のW-5に [ c ] があり、その後の処理R5を表3で確認するとR5は「信号を青点滅にし、タイマ9(3秒)をセット。」と明記されています。
- したがってW-5の表示は青点滅です。以上よりc=青点滅 です。
誤りやすいポイント
- 表の「処理内容」を正確に読むこと:同じB-2という状態に遷移する経路(P2とQ1)があっても、灯色を変更するのは明示された遷移処理だけです。Q1の「タイマ6(10秒)をセット。」を見落として「青にする」と誤読しないよう注意してください。
- 遷移条件と状態表示を混同しないこと:「主道路信号が状態C-1に遷移」などのイベント(遷移発生)と、その結果として状態が「赤」になることは別扱いです。遷移時に灯色を明示的に設定しているかどうかを確認してください。
- 状態遷移図での順序を確認すること:ある状態で灯色が変わるのはどの遷移(どの処理手順)かを見落とすと、W-3が青か赤かのような誤答につながります。
- タイマと表示は独立に扱われる点:タイマ設定だけの処理(例:Q1)は表示を変えないため、タイマの有無だけで灯色を判断しないようにしてください。
FAQ
Q: C-2(青)のときにボタン押下してQ1でB-2に遷移した場合、B-2が青になるのはC-2側の青の継続か、B-2を青にする処理があるからですか?
A: B-2が青である根拠は表2のP2にある「信号を青にし、タイマ6(10秒)をセット。」です。Q1は「タイマ6(10秒)をセット。」のみで灯色変更を行わないため、B-2の表示はP2による「青」と一致します(C-2の表示が偶然青であっても、B-2の定義はP2によって決まります)。
A: B-2が青である根拠は表2のP2にある「信号を青にし、タイマ6(10秒)をセット。」です。Q1は「タイマ6(10秒)をセット。」のみで灯色変更を行わないため、B-2の表示はP2による「青」と一致します(C-2の表示が偶然青であっても、B-2の定義はP2によって決まります)。
Q: ボタンを短時間に複数回押したらどうなりますか?タイマ6 はどう扱われますか?
A: 表2のQ1はボタン押下時に「タイマ6(10秒)をセット。」とあるため、押下ごとにタイマ6 が(再)セットされると読むのが自然です。問題文に「複数のタイマを同時に処理することができる」とあるため、タイマの並列処理や再設定が可能な設計を想定できます。
A: 表2のQ1はボタン押下時に「タイマ6(10秒)をセット。」とあるため、押下ごとにタイマ6 が(再)セットされると読むのが自然です。問題文に「複数のタイマを同時に処理することができる」とあるため、タイマの並列処理や再設定が可能な設計を想定できます。
Q: なぜ表記を「主道路信号が状態C-1に遷移」としたのですか?単に「赤」ではだめですか?
A: 「赤」という表示だけを条件にすると、赤になるさまざまな状況を同一条件と扱ってしまい、安全上の誤動作を招く恐れがあります。特定の状態遷移(状態C-1へ移ること)をトリガにすれば、意図したタイミングでのみ処理を起こせるため安全性や制御の正確さが向上します。
A: 「赤」という表示だけを条件にすると、赤になるさまざまな状況を同一条件と扱ってしまい、安全上の誤動作を招く恐れがあります。特定の状態遷移(状態C-1へ移ること)をトリガにすれば、意図したタイミングでのみ処理を起こせるため安全性や制御の正確さが向上します。
関連キーワード: 状態遷移図、タイマ、イベント駆動、状態監視、遷移条件
設問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-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: 交差点単独の信号制御装置に高価な冗長構成を入れるより、フェールセーフ+フェールソフトで安全と運用を確保する方がコスト・保守の面で現実的なためです。
関連キーワード: フェールセーフ、フェールソフト、フールプルーフ、フォールトトレランス





