[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlaplus] Specifying Systems- BoundedFIFO error- Figure 4.2



Please note that Specifying Systems introduces the language TLA+, a priori without consideration for TLC, which is restricted to a subset of TLA+, as explained in the corresponding chapter.

I'd suggest using the examples used in the video course. There is also a collection of TLA+ specifications available on GitHub [1]. In particular, [2] is a collection of specs from Specifying Systems that can be checked with TLC.

Regards,
Stephan



On 1 Sep 2022, at 14:25, Anand Kumar <akkeshavan@xxxxxxxxx> wrote:

What is your recommendation, then? should I continue with 'Specifying systems" or use the examples in the Hyperbook to learn this? Most of these examples don't seem to work--  Even the Channel example ends up in a deadlock  ( I mean in the 'Specifying systems book).



On Thu, Sep 1, 2022 at 12:05 PM Stephan Merz <stephan.merz@xxxxxxxxx> wrote:
Hello,

TLC cannot handle specifications that involve unbounded quantification or quantification over state variables. In your case, `q' is a state variable and Spec should really be defined as

Spec == \EE q: Inner(q)!Init /\ [][BNext(q)]_<<in,out,q>>

where \EE denotes quantification over a state variable (i.e., a sequence of values). Such specifications are not handled by any of the existing verification tools for TLA+.

Regards,
Stephan

On 1 Sep 2022, at 06:27, Anand Kumar <akkeshavan@xxxxxxxxx> wrote:

Hi,

"The configuration file did not specify the initial state predicate.

Can also be caused by trying to run TLC on a specification from

a module imported with a parameterized INSTANCE statement."

This is my spec, what am I doing wrong? Similar error comes in the FIFO spec lso. I have checked your earlier answer, but that doesn;t seem to provide a solution. I understand the Professor Lamport prefers us to use the Hyperbook, but that gives a lot fo permission errors etc on a mac.

Sorry to trouble you with this-- but since i am new to this I would really appreciate the help.

EXTENDS Naturals, Sequences

CONSTANT Message,N

VARIABLES in, out


ASSUME (N \in Nat) /\ (N > 0 )


Inner(q) == INSTANCE InnerFIFO


BNext(q) == 

            /\ Inner(q)! Next

            /\ Inner(q)! BufReceive => (Len(q) < N )



Spec == \E q: Inner(q)!Init /\ [][BNext(q)]_<<in,out,q>>


--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/eb83eb50-5e91-4330-9e1b-9999a530e268n%40googlegroups.com.


--
You received this message because you are subscribed to a topic in the Google Groups "tlaplus" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tlaplus/aASP2cDy1-c/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/7C62B09E-48AE-4447-B935-BC6C0EB403F3%40gmail.com.


--
(Please read my books, if you like programming: 

Listen to my music:
Thank you)



--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/CAJp900%2B3bmZn9PeYX-p9MeV_jn9iJaC7YqUHHMuOkNSkLVDC-w%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups "tlaplus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tlaplus+unsubscribe@xxxxxxxxxxxxxxxx.
To view this discussion on the web visit https://groups.google.com/d/msgid/tlaplus/387EAB74-26BE-4987-8810-9174DA514449%40gmail.com.