Questions tagged [spin]

Spin is a popular open-source software tool, that can be used for the formal verification of distributed software systems. The tool was developed at Bell Labs in the original Unix group of the Computing Sciences Research Center, starting in 1980.

Spin is a popular open-source software tool that can be used for the formal verification of distributed software systems. The tool was developed at Bell Labs in the original Unix group of the Computing Sciences Research Center, starting in 1980.

References

158 questions
1
vote
1 answer

Where are my promela syntax errors?

I seem to be too stupid to see it. The log shows me where my syntax errors are (line 12, 22 and 25), I read some tutorials, but cannot find the errors.. The program is very simple, it should count the amount of 0's and 1's through a synchronized…
Joe Eifert
  • 1,306
  • 14
  • 29
1
vote
2 answers

In SPIN/Promela, how to receive a MSG from a channel in the correct way?

I read the spin guide yet there is no answer for the following question: I have a line in my code as following: Ch?x where Ch is a channel and x is channel type (to receive MSG) What happens if Ch is empty? will it wait for MSG to arrive or not? Do…
Junior Fasco
  • 227
  • 2
  • 11
1
vote
1 answer

Is it possible to print out the state space using SPIN?

I would like SPIN to print out the computed state space, so that I can make its visualization and then manually explore it. Is that possible? I have already checked such flags as -DCHECK and -DVERBOSE, but I guess, that those are not what I am…
Dmitry Korolev
  • 675
  • 4
  • 20
1
vote
1 answer

“long long long” is too long for gcc?

When I try to verify a model with ispin, I get an error of "long long long is too long for gcc". Is there a problem with my gcc?
user1487718
0
votes
0 answers

spin: modex_model3.pml.nvr:5, Error: syntax error, saw ''/' = 47'

everyone! when I run the following pml file with spin command: pml file: [https://github.com/kikishao/ACC/blob/main/modex_model3.pml] spin command: spin -f !([] (((((states==stop)&&(currentspeed==0)&&(timeGap==0)))-((controlAction==fullystop))))) -a…
kiki Shao
  • 19
  • 3
0
votes
1 answer

Positioning Spinning Icons

I have a piece of code that I can't wrap my head around it and I need help. I have a couple icons that I would like them to spin in a circle while they remain straight and don't rotate around themselves. The code looks like this:
Daniel Bisceanu
  • 1,117
  • 1
  • 9
  • 15
0
votes
0 answers

VECTORSZ size is too small in ispin

i do not know where to write such types of commands in ispin like -DVECTORSZ and many more so anyone can tell where these commands are written and recompile.they said -DVECTORSZ=N and N>1024.I KNOW WHAT IS COMMAND TO WRITE THIS WHERE TO WRITE IN…
0
votes
0 answers

spin giving the error: error, the version of spin that generated this pan.c assumed a different wordsize (4 iso 8) even if both 64 bit

I am trying to use verification with the spin model checker. I am using the 64-bit version of spin using the spin651_windows64 binary. Together with the 64 bit of cygwin. And yet when I try to do spin -a ex_1a.pml (the exercises from the spin model…
0
votes
0 answers

side effects error when using SPIN model checker with Promela c_expr primitive

I am trying the example of c_expr manual page (https://spinroot.com/spin/Man/c_expr.html). The example is following as: c_code { int fct(void) { return 1; } } active proctype ex1() { int x; do :: c_expr { Pex1->x < 10 }…
backpacker
  • 43
  • 3
0
votes
0 answers

How to convert python 3 code to promela syntax?

I have a python3 program that utilizes multi-threading concepts to implement it. I want to verify the implemented model(my algorithm) in a formal manner. My goal is to convert the code to promela language and do the verification through it. I am…
0
votes
0 answers

SPIN: How to interact with this model checker passing parameter from outside?

I'm using SPIN Model Checker, I'd like to know If SPIN is a close box or not. Can be used passing parameters from an upper level (ex: Phyton or batch?). I'm interested on Simulation mode of SPIN, not on the Verification mode. In the end, I'd like to…
0
votes
0 answers

Promela, SPIN assertion violated

Following is my promela program of a railway station and my assertion is getting violated when I used "SETUP" function, kindly give me a workaround (SETUP process is mandatory) mtype = { T1, T2, ENTRY, PERMISSION, EXIT, EMPTY, ALLOWED, NOT_ALLOWED …
0
votes
0 answers

Using promela and Spin to solve algorithmic puzzle about frogs

I study verification at the university using promela. And as an example, i need to solve algorithmic puzzle about frogs. I tried to solve the problem but something doesn't work right In how many moves will the frogs exchange places? Frogs jump in…
0
votes
1 answer

Spin: gcc-6: unrecognized command line option

I want to use SPIN model checker on Windows 10 (64bit) and I have followed the instructions on the spin website: I installed MinGW and gcc, updated path, and checked in the command prompt it shows version 6.3.0 I installed ActiveTCL updated path,…
0
votes
1 answer

How can i define such a macro in spin?

I wrote the following model: #define inc(sn)if :: sn < 255 -> sn = sn + 1; ::else -> sn = 1; fi; #define inc_twice(sn) if :: sn+2 >255 -> sn= sn-253; ::else -> sn=sn+2; fi; active proctype monitor() { byte sn = 255; assert (inc(sn)…
Hongjian Jiang
  • 307
  • 1
  • 6