Basis 0.PROMELAの基本文法 1.Hello World 2.プロセスの作成 3.プロセスを実行(1) 4.プロセスを実行(2) 5.プロセスを実行(応用) 6.列挙型 7.マクロ 8.if式 9.do式 10.永久に止まるプロセス 11.プロセスのステップ 12.ステップをまとめて実行 13.プロセス間対話 14.同期通信/非同期通信 15.意外と使えるgoto 16.何もしない式 Same as C 補足1.データ型 補足2.配列 Reference 参考文献
0.PROMELAの基本文法
PROMELAはC言語と非常によく似ています。そのため、C言語を使ったことがある人には、とても親しみやすいはずです。多くの方はC言語も知っていると思いますので、C言語とは異なった部分を紹介していきます。 まず、C言語と違うところで注意しなければならないのが;(セミコロン)の使い方です。;はC言語では文の終端をあらわすものでした。しかし、PROMELAでは文を分割するものです。そのため、
【C言語】 文; 文; 文; 文; 【Promela】 文; 文; 文; 文
となります。また、文分割は;だけではなく、->(アロー)でも分割することもできます。どちらも同じ意味ですが、前後の文に関係がある場合は明示的にアローを、それ以外の文ならセミコロンを使うのが習慣(?)です。 次に、C言語のmainに当たるものはありませんが、よく似ている(?)のはinitです。ただ、initは多くの場合省略されます。むしろ、状態遷移を正しく表現するには、書かないほうが良いといわれます。(ホントかな?)