Closed prpr2770 closed 2 years ago
As an alternative, when attempting to specify a ping-pong
protocol, I've attempted two different representations, where I intend to use a transport-layer to send and receive messages.
When using a custom transport module
that's been defined with a relation sent
to keep track of the messages-that've been sent over the network, I can verify the system.
However, when I modify the same, to ensure that I can use the network library
, there are two failed checks.
The script I'm using for the implementation of ping-pong
using the network library
is located here
I got it to ivy_check OK
and also, to compile and generate the test-scripts, by ensuring that I updated the gate-conditions within the sock.recv
with the ghost-variables defined in the specification
. The final verified script can be found here.
The script that I'm trying to verify, is a connection-management protocol used by multiple-clients with one common server. The protocols consists of a two-way handshake.
Connction-Request
Message is sent by a client that is not connected to the Server. The Server may non-deterministically choose to eitherAccept
the request orReject
it, by sending as a response theConnection-Accept
message or aConnection-Reject
message. The ivy-script for the same can be obtained here.I'm having issues in debugging the type of failures indicated, as the structure of the
network
library, seems to be quite different from that of previous versions of IVy( < v1.8).I have obtained the following error when checking the code using :
ivy_check trace=true filename.ivy