唐突にlock-freeをAlloyで書いてみたくなったので書いた。 what is lock-free 冬のLock free祭り safe from Kumazaki Hiroki www.slideshare.net kumagiさんの資料によると、lock-free stackはリンクリストみたいなもので、先頭へのポインタをCAS(Compare and Swap)で切り替えるらしい。 素直にAlloy化するとこうなる。 sig Data {} // linked elements of stack. sig StackElem { data:Data , next:lone StackElem // edge dosen't have next element. } { no next & this // prevent self pointing. } sig HeadPoin
![Alloy model of lock-free stack - osiire’s blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/f14d3406e7a21d5d059678dbd62577733d5d3725/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fosiire%2F20160408%2F20160408022626.png)