0

ここで問題をより明確に変更しました。送信側モデルと受信側モデルの 2 つの異なるモデルがあります。送信されたメッセージが受信者が受信したものと同じではないというプロパティを確認したい。

MODULE main()
VAR 
    state : { informationsource, getinformation, transmitter, receiver, destination, ACK }; 
    messageReceived : boolean;
    messageTransmitted : boolean;

ASSIGN
    init(state) := informationsource; 
    init(messageReceived) := FALSE;


    next(state) := case 
        state = informationsource : getinformation; 
        state = getinformation : transmitter; 
        state = transmitter : receiver; 
        state = receiver  & messageReceived = TRUE : destination;
        TRUE : {destination, ACK} ;

    esac;

LTLSPEC (G(状態=受信者 -> messageTransmited != messageReceived))

4

0 に答える 0