採択 2021/09/19 16:30〜 Track A LT(5分)

ほんの一瞬だけでもConcurrencyの計算理論に触れてみませんか? iOSDC Japan 2021

banjun ばんじゅん🍓 banjun

非同期のコードはよく書くものの、その振舞いを把握できているか不安になることもありますよね。
 
そのようなとき、オートマトンや状態遷移系のような知識は役に立つのでしょうか?つまりそれ自体を使ってコードを書くことはないものの、基礎的な考え方になるようなものです。並行計算の分野ではCCS(Calculus of Communicating Systems)やpi-calculusのような理論が提唱されていました。このLTではCCSを中心に計算理論の例をみていきます。
 
CCSで記述することで、並行計算を状態遷移として捉えることができます。状態を数えることができれば、非同期に惑わされずに振舞いを把握できます。そこでは同期通信とインターリーブという抽象化された計算過程があります。何を抽象できるかのインスピレーションが得られるでしょう。
 
async/awaitなどの実際的な機能も重要ですが、ここらでちょっと理論面にも目を向けてみようかな?というきっかけになればと思っています。たった5分で、「それ聞いたことがある」状態になれることをサポートします。