Recommended
PDF
PDF
Effective Modern C++ 勉強会#3 Item16
PPTX
PDF
PPTX
PPTX
PPTX
PDF
ジェネリック関数の呼び出され方 #cocoa_kansai
PDF
Swift 2.0 の Error Handling #yhios
PDF
PDF
PDF
Effective Modern C++ 勉強会#3 Item 15
PPTX
PPTX
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
PDF
PDF
ちょっと詳しくJavaScript 特別編【悪霊の神々】
PDF
effective modern c++ chapeter36
PPTX
HascTool BlockDevelopment
PPTX
PDF
PDF
Swift 2.0 で変わったところ「前編」 #cswift
PDF
PDF
PDF
Javaセキュアコーディングセミナー東京第3回講義
PDF
Async design with Unity3D
PPTX
Javascript with Generative Art
PDF
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
PDF
PDF
More Related Content
PDF
PDF
Effective Modern C++ 勉強会#3 Item16
PPTX
PDF
PPTX
PPTX
PPTX
PDF
ジェネリック関数の呼び出され方 #cocoa_kansai
What's hot
PDF
Swift 2.0 の Error Handling #yhios
PDF
PDF
PDF
Effective Modern C++ 勉強会#3 Item 15
PPTX
PPTX
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
PDF
PDF
ちょっと詳しくJavaScript 特別編【悪霊の神々】
PDF
effective modern c++ chapeter36
PPTX
HascTool BlockDevelopment
PPTX
PDF
PDF
Swift 2.0 で変わったところ「前編」 #cswift
PDF
PDF
PDF
Javaセキュアコーディングセミナー東京第3回講義
PDF
Async design with Unity3D
PPTX
Javascript with Generative Art
PDF
PDF
C#次世代非同期処理概観 - Task vs Reactive Extensions
Similar to xv6から始めるSPIN入門
PDF
PDF
ODP
PDF
アルゴリズムのお勉強 アルゴリズムとデータ構造 [素数・文字列探索・簡単なソート]
PDF
PDF
Rubyの御先祖CLUのお話(OSC 2011 Shimane LT 資料)
PDF
PFIセミナー 2013/02/28 「プログラミング言語の今」
PDF
“Adoption and Focus: Practical Linear Types for Imperative Programming”他の紹介@P...
PDF
PDF
Step-Oriented Programming による任意コード実行の可能性
PDF
Step-Oriented Programming による任意コード実行の可能性 by 坂井 弘亮
PDF
Synthesijer and Synthesijer.Scala in HLS-friends 201512
PDF
Processing によるプログラミング入門 第1回
PDF
Alluren of prototype-based OOP
PDF
クイズ・Python勝ち抜きバトル pycon jp_2017
PDF
Rubyの御先祖CLU(くるう)のお話(OSC2013 Hamamatsu 発表資料)
PDF
PDF
Error handling in Erlang and Scala
PDF
PDF
Debug Hacks at Security and Programming camp 2011
More from Ryousei Takano
PDF
Error Permissive Computing
PDF
Opportunities of ML-based data analytics in ABCI
PDF
ABCI: An Open Innovation Platform for Advancing AI Research and Deployment
PDF
PDF
クラウド環境におけるキャッシュメモリQoS制御の評価
PDF
USENIX NSDI 2016 (Session: Resource Sharing)
PDF
User-space Network Processing
PDF
Flow-centric Computing - A Datacenter Architecture in the Post Moore Era
PDF
A Look Inside Google’s Data Center Networks
PDF
PDF
AIST Super Green Cloud: lessons learned from the operation and the performanc...
PDF
PDF
Expectations for optical network from the viewpoint of system software research
PDF
Exploring the Performance Impact of Virtualization on an HPC Cloud
PDF
PDF
High-resolution Timer-based Packet Pacing Mechanism on the Linux Operating Sy...
PDF
クラウドの垣根を超えた高性能計算に向けて~AIST Super Green Cloudでの試み~
PDF
From Rack scale computers to Warehouse scale computers
PDF
高性能かつスケールアウト可能なHPCクラウド AIST Super Green Cloud
PDF
Iris: Inter-cloud Resource Integration System for Elastic Cloud Data Center
xv6から始めるSPIN入門 1. 2. 3. SPINって何?
¤ 並行システムのモデル検査ツール
l ソフトウェアが「正しく」動くことを証明したり、
反証を示すことが可能
l テスト手法とは異なり、設計段階で使用
l 例:通信プロトコルの状態遷移チェック、
排他制御アルゴリズムの検証
¤ PromelaというC言語ライクなモデリング言語
¤ 1980年ごろからベル研で開発
¤ 現在、http://spinroot.com/から入手可能
4. SPINって何?
SPIN:
Simple
Promela
Interpreter
モデル Promela:
Process
Meta
Language
(Promela)
SPIN
pan.c
C compiler
spinpスクリプトは検証モードで動作:
あらゆる状態遷移を生成し、所定の
pan (protocol
analyzer)
性質を満たしているか検証
5. 6. “Hello, world!”
/* My first promela program. */
active proctype main() {
printf(“Hello, world!n”);
}
$ spin hello.p !
Hello, world!!
1 process created!
7. 8. データ型、配列
¤ 基本的にC言語と同じ
l 例外:初期値は0かfalse
¤ スコープ
l グローバル変数
l プロセス内ローカル変数
# define N 2
#defineや#include文は内部でcppにより
bit lk; 処理されるので、C言語同様に利用可能
byte value;
bit sleeping[N]
9. 10. 11. 12. 13. 14. インストール for Mac OS X
¤ Mountain Lion + Xcode command line tools
¤ spinroot.comからソースコードをダウンロード
して、コンパイル
l makefileのCFLAGSに-DMACを追加
¤ 最新版はVersion 6.2.2
$ ./spinp sleep1.p !
...snip...!
State-vector 48 byte, depth reached 236,
errors: 0!
...snip...!
15. デッドロック
¤ ソースコード冒頭のコメントに従い、間違った
ロックの使い方をするように改変すると、、、
¤ エラーが発生すると、各プロセスの実行トレー
スを出力
$ ./spinp sleep1.p !
...snip...!
State-vector 48 byte, depth reached 236,
errors: 5!
...snip...!
16.