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

State machineはTurningの夢を見るか?

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for chiaoi chiaoi
January 26, 2026
100

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は実はすごい構造化言語です。