Spinroot

A forum for Spin users

You are not logged in.

#1 Re: General » Validating Business Idea: Model Checking as a Service » 2024-09-16 15:22:37

I'd really love the opportunity to pitch my idea to someone who has been using Spin in real life industrial applications.

#2 General » Validating Business Idea: Model Checking as a Service » 2024-09-03 19:46:48

jllang
Replies: 1

Hi everyone!

I have a business idea I call Model Checking as a Service. I'm trying to validate it and I'm looking for people to give a short pitch to. If you're interested in hearing what I have to say and giving (brutal) honest feedback or know someone else who might be interested, please feel free to contact me. I'd greatly appreciate it.

#4 Re: General » Sub-sequences » 2022-03-05 16:04:33

I think it would be a little bit more obvious to the user if the line ended with `[d_step]` instead of `[sub-sequence]`. Anyway, thanks!

#5 Re: General » The syntax of PROMELA » 2022-03-05 16:01:28

I've also encountered lines containing `DO`, `IF`, and `.(goto)` as the statement. I presume `DO` and `IF` mean that the process is choosing between possible branches in a `do` or `if` statement. Is `.(goto)` a goto statement that was generated from a `for` loop?

#6 General » Looking for a system to model » 2022-03-04 17:50:15

jllang
Replies: 0

I'm looking for a piece of real life software to model using Spin. I'm developing a tool for displaying information from counterexample traces. It'd be interesting to see my tool in action. Does anybody have suggestions on where to look for a system to model?

#7 Re: General » Sub-sequences » 2022-03-04 17:41:58

For instance, I have the following line in one of the traces outputted by Spin:

84:    proc  1 (Engine:1) ./Engine.pml:146 (state 90)    [sub-sequence]

The line number seems to point to the beginning of a `d_step` block.

#8 Re: General » The syntax of PROMELA » 2022-03-04 17:38:06

I mean the statements that can occur in transitions in a trace.

#9 Re: General » Identifying channels » 2022-01-05 11:31:45

Is it possible that channel identification numbers change during execution?

#10 General » Identifying channels » 2021-12-29 19:28:57

jllang
Replies: 2

Is it possible to uniquely determine a channel by its name, which should suffice for global channels, and possibly also by the name and PID of the process owning the channel in case it's a local channel? Especially, do we need channel identification numbers?

#11 General » Sub-sequences » 2021-12-19 19:10:33

jllang
Replies: 5

What are the transitions whose statements are marked as "sub-sequences" in traces? Do they contain useful information to the end user or can I just ignore them?

#12 General » State Numbers » 2021-12-10 20:59:52

jllang
Replies: 1

I wonder what are state numbers? The traces printed by Spin have a column for state numbers. Are they meant mainly for Spin developers or are they useful to the user?

#13 Re: General » The syntax of PROMELA » 2021-09-03 10:36:10

Is the sublanguage that can occur in traces documented?

#14 Re: General » [SOLVED] Obtaining a trace without printf messages » 2021-08-27 07:00:46

It turns out that the combination of the -p and -b flags of spin (not pan) was what I was looking for.

#15 General » [SOLVED] Obtaining a trace without printf messages » 2021-08-22 09:37:04

jllang
Replies: 1

Is it possible to obtain the trace of an execution with pan, excluding the messages printed by processes? It seems that `grep -E "^[ 0-9]+:"` might find all steps in the trace produced by `pan -r`. The regular expression could also match lines printed by processes, which is my problem.

#16 General » Obtaining the true model that goes to pan » 2021-08-22 09:15:31

jllang
Replies: 1

Macro expansion and/or preprocessing seems to change the line numbers of my PROMELA models. Is there any way to see the exact PROMELA source code that goes to pan when I compile my model using `spin -a`? I'm planning to write a debugger-like trace analyzer tool. I need to be able to connect the line numbers occurring in traces reported by pan to those occurring in the true model. In the future, I might also want to be able to expand d_steps.

#17 General » The syntax of PROMELA » 2021-08-21 19:57:32

jllang
Replies: 7

It seems that there are some differences between the documented syntax of PROMELA and the syntax accepted by Spin. I made some findings while developing my own parser for PROMELA. I wrote my own EBNF for the dialect accepted by my tool along with some comments on the PROMELA syntax. I'd appreciate comments very much. My EBNF is available at GitHub: https://gist.github.com/jllang/54ff523beafa82058d05dd829ccc2671

#18 Re: General » The roles of any_expr and expr in grammar » 2021-08-16 11:03:31

According to the grammar, Boolean expressions belong to the syntactic category `expr`, so a variable declaration such as `bool b = true || false` should be rejected by Spin, but it is accepted. However, `bool b = full(c)` is rejected. I guess the difference between `any_expr` and `expr` is really the presence of `chanpoll`.

#19 Re: General » The -I flag is not documented in Spin online reference » 2021-08-13 12:00:30

Interesting, the syntax produced by the -I flag contains undocumented features, such as anonymous blocks and labels starting with a colon. Additionally, Spin refuses to digest its own output, because the -I flag generates syntax errors...

#20 Re: General » Looking for Promela Models/Datasets » 2021-08-13 11:13:00

Is that project still alive? I'm interested.

#21 Re: General » The -I flag is not documented in Spin online reference » 2021-08-13 09:31:47

By the way, does the -I flag produce the final PROMELA model that goes to the verifier executable? I sometimes get really strange line numbers in error messages produced by pan. They don't seem to correspond with the line numbers in my PROMELA source code.

#22 General » The -I flag is not documented in Spin online reference » 2021-08-13 09:29:25

jllang
Replies: 3

The help command of spin lists the following flag: "-I show result of inlining and preprocessing". This flag seems to be missing from the online documentation at https://spinroot.com/spin/Man/Spin.html

#23 Re: General » The roles of any_expr and expr in grammar » 2021-08-04 16:34:02

What would go wrong if any_expr and expr were combined under a single expression definition?

#24 General » The roles of any_expr and expr in grammar » 2021-08-04 16:26:21

jllang
Replies: 3

I don't understand the division of expressions into any_expr and expr. The assign rule says that a varref may be assigned with an any_expr. This means that for instance the model "init { bool x; x = true || false; }" is malformed because "true || false" is an expr (of the form expr andor expr) that is not an any_expr. What is the point of having any_expr and expr?

#25 General » The precedence between LTL operators and Boolean connectives » 2021-08-03 10:06:41

jllang
Replies: 1

I'm working on a PROMELA parser. I have a simple question: Do LTL operators take precedence over Boolean connectives, or is it the other way around? What about the precedence between LTL operators? I read these manual pages, but they don't seem to give an answer: https://spinroot.com/spin/Man/operators.html https://spinroot.com/spin/Man/ltl.html

Board footer

Powered by FluxBB