P: A programming language designed for asynchrony, fault-tolerance and uncertainty という記事が公開されていた。 OSS化についてはだいぶ前から行われていた けど拾えていませんでした。

この記事でモデル検査を勉強してみたくなったもののP-langのビルドは失敗しました。

(今のところの)P-langのイメージ

P-lang は非同期処理のモデル化が可能な言語でモデル検査器のサポートを受けられる。 また、イベントとして故障をモデル化する事でfault-injectionをサポートしている。 故障モデルを投入できる非同期処理のモデル検査が可能なので分散アルゴリズムの検証を行えるということになる(?)。 そして更に実行可能コードを生成できる。

これらの特徴から、P-lang を用いた開発ではプロトコルの設計時にモデル検査器のサポートを受けられコード自動生成によりバグ混入のない実装を利用することが可能になる。

P-lang は複数の決定性オートマトンを定義してメッセージパッシング(Actor Modelに近そう)でプロトコルを記述する。 メモリ管理はlinear type system を採用しているらしい。

続きを読む

プロフィール画像

Masumi Kanai

quantum mechanism and exact-WKB
news site
distributed storage
stream processing

software engineer

Japan