สำหรับใน Blog ตอนนี้ผมเน้นไปทางสาวกหน้าต่างนะครับ Microsoft Windows นะครับ สำหรับบันทึกการลง Spin ในวิชา Formal Verification
เตรียมตัวก่อนลง
- SPIN ผมลง 6.4.6 โดยผมสนใจ Full distribution, with sources ครับ
- Spin - เป็น Core
- iSpin - เป็น GUI เหมือนฝั่ง Java ก็จะเป็น jSpin
- UPDATE ตั้งแต่ปี 2019 เวอร์ชั่น 6.5 ย้ายไป Tags · nimble-code/Spin (github.com)
- Cygwin - ตัวที่ทำให้ใช้คำสั่ง Linux บน Windows ได้
- Tcl/Tk - ทำให้เปิด iSpin ได้
- Graphviz - เอาไว้ทำ Graph ถ้าสนใจแล้ว ไปดู Blog อีกตอนได้เลย
- มี Internet ด้วยครับ ตัว Cygwin ผมให้มันไปหา Package จาก Internet ครับ
- ตัว Setup บางตัวมี Version 32 bit กับ 64 bit ระวังด้วยนะ เป็นไปได้ให้ลงเหมือนๆกัน
ลง Cygwin
- Double Click ลงเลยครับ
- จำ Path ที่ลงไว้ครับ อย่างผมลงตัว 64 bits ที่ Path C:\cygwin64\bin
- เลือก Category ในกลุ่ม Devel ครับ
- ตอนลง Package สำคัญครับ โดยตัวที่ผมเลือก มีดังนี้
- ต้องลง Package "gcc-core:GNU Compiler Collection (C,OpenMP)"
- Mintty - เอาไว้ใช้ Cygwin Terminal
- Make กับ bison(yacc) - เอามาบิ้ว
- ตัว lex ผมลงตาม Link ใน Reference ไม่รู้ว่าต้องใช้ไหม ลงเผื่ออนาคตก่อนครับ
- เปิด Cygwin Terminal
- ถ้ามี Error เกี่ยวกับ Mintty ลองไปคลิกขวาที่ Shortcut เติม .exe ลงไป ดังรูป
- ก่อนไป Step ถัดไป มา Test ก่อนว่าใช้ได้ไหม ลองด้วย
gcc-version
- ถ้าไม่มั่นใจ ดูตาม Wizard ที่ Capture ไว้ก่อนลงครับ
ทำให้ Cygwin ใช้กับ dos command
- เราต้องเอาไป Cygwin ผูกใน Enviroment PATH
- คลิกขวาที่ This PC (Window 10 ++) หรือ My Computer (Window XP, 7, 8) เลือก property
- ไปที่ tab Advance >> Enviroment Variables
- เพิ่ม Path ที่ผมลงไว้ตอนแรกนะครับ ซึ่งก็คือ C:\cygwin64\bin (ชอบหน้าจอการจัดการ Enviroment Variable ของ Window 10 ของ version เก่าๆนี่ดูยากมากกกกกกก) จากนั้นกด OK
- Test โดยการเปิด Command Line Test gcc-version
- ถ้าไม่ได้ทดสอบ โดยการ Logoff แล้ว Login แล้วลองใหม่อีกครั้ง
ลง SPIN
- ผมสร้าง Folder C:\FV\Spin
- แตกไฟล์ที่ Download มา อย่างของผมใช้ 6.4.6 เป็นไฟล์ชื่อ spin646.tar.gz
- ผมใช้ 7-Zip แตกไฟล์ เอา tar กับ gz ออกไป
- ข้างใน Folder มีโครงสร้างประมาณนี้
C:\FV\Spin >> Spin --->> Doc --->> Examples --->> iSpin --->> Man --->> Src6.4.6 (แล้วแต่เวอร์ชันที่ Download ครับ)
- เปิด Cygwin Terminal จาก Path ข้างต้น C:\FV\Spin ให้พิมพ์คำสั่ง ดังนี้
//เข้าไปที Drive C cd /cygdrive/c //เข้าไปที่ FV/Spin cd FV/Spin //ตรวจว่าใช่ข้อมูลในโพลเดอร์ มี srcX.X.X หรือไม่ ด้วยคำสั่ง ls ls //เตรียมเข้าไปที่ Source Code cd Src6.4.6 //บิ้วโปรแกรม make
- เราสนใจที่ SRC บิ้วมันเลย ด้วยคำสั่ง make
- ถ้าขึ้น make: yacc: Command not found แสดงว่าลง Package ไม่ครบ ให้ไปลง bison กับ make ด้วย
- หรือ ถ้ามี Error ลองใช้คำสั่งนี้แทนครับ
yacc -v -d spin.y; cc -o spin *.c
- จะได้ไฟล์ spin.exe
- Add ทำให้มันใช้งานที่ไหนก็ได้ ด้วยคำสั่ง
cp spin.exe /usr/bin/spin.exe
- ลอง Test ว่า Exe มันใช้ได้ไหม โดยลองเรียก spin ตรงๆ มันบอกเลข Version และบอกว่าเราใส่ Parameter ผิด ตามรูป
ลง ActiveTcl
- คลิกขวา Run as Admin ก่อนครับ
- ตั้งตามค่า Default ครับ
- ถ้าไม่มั่นใจ ดูตาม Wizard ที่ Capture ไว้ก่อนลงครับ
ผูก iSpin
- ตอนนี้ใน Cygwin เรามาสนใจที่ C:\FV\Spin\iSpin
- เปิด GUI ได้นะ โดยการพิมพ์คำสั่ง
wish ispin.tcl หรือ wish86 ispin.tcl
- ปรับให้สามารถ execute ได้ โดยใช้คำสั่ง
chmod +x ispin.tcl
- ได้หน้าตา GUI มาแล้ว แต่ไม่รู้ว่าใช้ตัวเดียวกับที่ อาจารย์ใช้ หรือป่าว ?
- ทำ Shortcut ไปที่ Desktop เผื่อเรียกใช้ง่ายๆ
ถ้ามีเวลาเพิ่มเติม ผมอยากลองลงกับตัว Ubuntu Sub-System ที่มากับ Windows10 นะครับ แต่ต้องทำ VM แยก คราวก่อนลอง Docker ไป คอมเปิดไม่ติดเลย 5555
Reference
- Can't open Cygwin terminal after installation
- How To Improve Your Cygwin Console With Mintty
- Installing Spin on Windows
- spinroot.com/spin/Src/
- nimble-code/Spin: Explicit state logic model checking tool -- 2002 winner of the ACM System Software Award. (github.com)
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.