Upgrade to Pro — share decks privately, control downloads, hide ads and more …

State machineはTurningの夢を見るか?

Avatar for chiaoi chiaoi
January 26, 2026
98

State machineはTurningの夢を見るか?

Avatar for chiaoi

chiaoi

January 26, 2026
Tweet

Transcript

  1. State Machine A D C B 0 0 0 1

    0, 1 1 1 C 文字列を受理するか拒否するか を決定できる機械
  2. 文字列 10010 A D C B 0 0 0 1

    0, 1 1 1 C 受理!
  3. ASLとは - Pass - Choice - Wait - Parallel -

    Map - Succeed - Fail - Variables - JSONata/(JSONPath) - 埋め込み関数 注)TaskStateを含むとLambdaやSDKが実行できてしまうので 今 回はなしとします。
  4. State machine - Pass - Choice - Wait - Parallel

    - Map - Succeed - Fail - Variables - JSONata/(JSONPath) - 埋め込み関数
  5. 今回使う機能 - Pass - Choice - Wait - Parallel -

    Map - Succeed - Fail - Variables - JSONata/(JSONPath) - 埋め込み関数
  6. 2 Counter Machine 必要な操作 - 2つのカウンタを初期化する(最初だけ) - INC(c) : カウンタを

    +1 する - DEC(c) : カウンタを -1 する - JZ(c) : ゼロなら分岐する
  7. AWS Step Functionsは2 counter machineを模倣する 必要な操作 - 2つのカウンタを初期化する(最初だけ) → Variables

    - INC(c) : カウンタを +1 する → {% c + 1 %} - DEC(c) : カウンタを -1 する → {% c - 1 %} - JZ(c) : ゼロなら分岐する → Choice + {% c == 0 %}
  8. まとめ 計算理論から見ると、「AWS Step Functions」「AWS Lambda Durable Functions」の計算能力に差はない。 「ASLはワークフローを作るための言語で、AWS Lambda Durable

    Functions よりもできることが少ないので弱い」は計算理論の面から見ると間違い。 二つの違いを調べるためには、並列計算モデルなどのさら に高次な比較が必要です。 ASLは実はすごい構造化言語です。