Skip to content

Instantly share code, notes, and snippets.

@y-taka-23
y-taka-23 / alloy_kubernetes.als
Last active December 19, 2016 19:08
Alloy による Kubernetes のコンテナスケジューリングのモデリング
open util/ordering[Time]
sig Time {}
abstract sig Event {
pre, post : Time,
} {
post = pre.next
}
@y-taka-23
y-taka-23 / promela_leader.pml
Last active January 4, 2016 18:49
A Model of Leader Election on Promela/SPIN
/*
* Leader Election by Chang-Roberts Algorithm
*/
byte leader = 0; /* number of leaders */
proctype Node(chan ch_in, ch_out) {
byte tok;
@y-taka-23
y-taka-23 / promela_8puzzle.pml
Created January 11, 2014 10:12
A Model of the 8-Puzzle on Promela/SPIN
/*
* Impossibility of the 8-Puzzle
*
* NOTICE: For full statespace search, run-time option -m230000 needed, e.g.
* $ spin -a promela_8puzzle.pml
* $ gcc -o pan pan.c
* $ ./pan -m230000
*/
#define SPACE 0
@y-taka-23
y-taka-23 / alloy_channel.als
Last active January 1, 2016 21:19
Alloy による非同期通信チャネルのモデリング (キューの仕様については https://gist.github.com/y-taka-23/8202051 を参照のこと)
// **************************************************
// 通信チャネルとしてキューを用いたモデル
// **************************************************
open util/ordering[Time]
open alloy_queue[Request]
sig Time {} // 時刻パラメータ
sig Client, Server {} // 通信に参加するクライアントとサーバ
sig Request {} // クライアントがサーバに送るメッセージ
@y-taka-23
y-taka-23 / alloy_queue.als
Last active January 1, 2016 21:09
Alloy によるキューのモデリングと代数的仕様記述
// ************************************
// 連結リストを用いたキューのモデル
// ************************************
module alloy_queue[Value]
// ------------------------------------
// 各要素の定義
// ------------------------------------
@y-taka-23
y-taka-23 / alloy_exclusion.als
Created December 13, 2013 15:20
Alloy による排他制御のモデリング
// ************************************
// 排他制御のモデル
// ************************************
// Time シグネチャに全順序構造を導入
open util/ordering [Time]
// 時刻を表すシグネチャ
sig Time {}
@y-taka-23
y-taka-23 / whitespace_fizzbuzz.ws
Created November 7, 2013 12:08
FizzBuzz (up to 100) on Whitespace
.
.
.
.
.
.
.
.
.
.
@y-taka-23
y-taka-23 / whitespace_sieve.ws
Created November 7, 2013 12:09
Sieve of Eratosthenes (up to 100) on Whitespace
.
.
.
.
.
.
.
.
.
.
@y-taka-23
y-taka-23 / whitespace_pumpkin.ws
Created November 7, 2013 12:06
CodeIQ「カボチャの種を数えて!」の Whitespace による解答です。 処理系の仕様により EOF が扱えないため、「標準入力で '?' より前に現れた 'O' の個数」をカウントします。
.
.
.
.
.
.
.
.
.
.
@y-taka-23
y-taka-23 / alloy_group.als
Created October 31, 2013 18:33
Alloy による群のモデリング
// ************************************
// 群のモデル
// ************************************
// ------------------------------------
// 群の公理
// ------------------------------------
// 群の元
sig Element {