ステートマシン図とは?
ステートマシン図とは、1つのオブジェクトが取りうる状態と、事象(イベント)によって状態がどう遷移するかを表すUMLの図。状態遷移図とも呼ばれ、角丸の四角で状態、矢印に「事象[条件]/動作」を添えて遷移を表す。組込みや業務の状態管理で使う。
基本情報技術者試験の過去問では5回出題されています(2016年度〜2022年度)。
すてーとましんず
ステートマシン図の意味
1つのオブジェクトが取りうる状態と、事象(イベント)によって状態がどう遷移するかを表すUMLの図。状態遷移図とも呼ばれ、角丸の四角で状態、矢印に「事象[条件]/動作」を添えて遷移を表す。組込みや業務の状態管理で使う。
ステートマシン図の具体例
注文オブジェクトが「受付済」→(入金確認)→「入金済」→(出荷)→「発送済」と遷移する。「受付済」で取消事象が起きれば「取消済」へ移り、「発送済」からは取消できない、といった制約を図で明示できる。
ステートマシン図は試験でどう引っ掛けられる?
表す対象は「処理の順序」ではなく「対象の状態」。同じ処理が状態によって許されたり拒否されたりする点が本質である。状態遷移表は同じ内容を表形式にしたもので、遷移の漏れを機械的に確認しやすい。
ステートマシン図と関連する用語
ステートマシン図が出た過去問
300円の商品を販売する自動販売機の状態遷移図はどれか。ここで,入力と出力の関係を“入力/出力”で表し,入力の“a”は“100円硬貨”を,“b”は“100円硬貨…
正解:S0(初期状態,二重丸)→a/0→S1→a/0→S2、S2からa/1でS0へ戻る。各状態でb/0の自己ループあり。
要点:状態遷移図は入力回数と出力タイミングの対応で判定する
100円硬貨(a)を3枚受け取った時点で初めて商品を販売する必要がある。したがってS0→S1→S2の2枚目までは出力0で、3枚目のaで出力1を出し初期状態へ戻る図が正しい。また100円硬貨以外(b)はすぐ返却するだけで状態は変わらないので、各状態でb/0の自己ループになる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問3(IPA)次の状態遷移図で表現されるオートマトンで受理されるビット列はどれか。ここで,ビット列は左から順に読み込まれるものとする。
正解:1010
要点:受理列は0*1+0に続く任意列。1の後の0が鍵
この状態遷移図は、初期状態で0を読み飛ばし、1が現れると次の状態へ移り、そこで1が続く限りとどまり、0を読んだ時点で受理状態に入って以降は何が来ても受理状態のままという構造になっている。つまり受理される列は「0が0個以上→1が1個以上→0→任意の列」という形である。この形にあてはまるのは1010で、1で第2状態へ移り、続く0で受理状態に達し、残りの10はそのまま受理状態を回る。
出典:平成28年度 春期 基本情報技術者試験 午前 問2(IPA)システム結合テストにおける状態遷移テストに関する記述として,適切なものはどれか。
正解:設計されたイベントと内部状態の組合せどおりにシステムが動作することを確認する手法
要点:状態遷移テストはイベントと内部状態の組合せを検証する
状態遷移テストは、システムが内部にもつ状態と、そこへ入力されるイベントの組合せに着目する手法である。状態遷移図や状態遷移表をもとに、設計どおりの遷移が起きるか、想定外の遷移が起きないかを確認する。内部状態をもつシステムに適した手法であることが要点になる。
出典:平成28年度 春期 基本情報技術者試験 午前 問48(IPA)入力記号、出力記号の集合が{0, 1}であり、状態遷移図で示されるオートマトンがある。0011001110を入力記号とした場合の出力記号はどれか。ここで、S1は…
正解:0001000110
要点:オートマトンは入力を1文字ずつ追い、辺の出力側を順に並べる
状態遷移図に従って入力を1文字ずつ処理し、遷移のラベルの出力側を並べればよい。初期状態S1から 0,0 は自己ループで出力0が2個。次の1でS1→S2(出力0)、続く1でS2→S3(出力1)。次の0でS3→S1(出力0)、0で自己ループ(出力0)、1でS1→S2(出力0)、1でS2→S3(出力1)、1はS3の自己ループ(出力1)、最後の0でS3→S1(出力0)。並べると 0001000110 となる。
出典:平成30年度 春期 基本情報技術者試験 午前 問4(IPA)入力記号、出力記号の集合が{0, 1}であり、状態遷移図で示されるオートマトンがある。0011001110を入力記号とした場合の出力記号はどれか。ここで、入力記…
正解:0001000110
要点:オートマトンは初期状態から遷移を順にたどり出力を並べる
初期状態から入力を1文字ずつ読み、遷移のラベルに従って出力を並べる。出力が1になるのは、1が2つ以上続いて第3の状態へ入った後だけで、それ以外の遷移はすべて0を出力する。入力を順にたどると、2組目の1の位置と、その後に1が3つ続く箇所の2文字目以降で1が現れ、出力は0001000110となる。
出典:令和4年度 s 基本情報技術者試験 kamokuA 問4(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。