Due: Friday, January 20, 11:59pm via Gradescope
Each problem is worth 5 points.
In Lecture 5, we defined the Incrementing Counter System as a transition system as follows:
Inc
. Inc
message. Inc
message.Also recall the definitions of an invariant and a stable property.
Note that these definitions are relative to a specific system.
Demonstrate that the Incrementing Counter System models network duplication
despite not having an explicit transition for duplicating a message by describing
an execution where the client only sends the Inc
message once, but the
server increments its counter twice.
In lecture we mentioned that, in the Incrementing Counter System, \(n\ge 1\) is stable but not an invariant because it is false in the initial state. Describe another reachable state that is not the initial state where \(n \ge 1\) is also false.
Consider the property "\(n = 0\)" in the Incrementing Counter System. Is it unstable, stable but not an invariant, or an invariant? If it is unstable, describe an execution where the property is true at some point, but later false. (In this and subsequent problems, don't forget to follow the instructions at the top of this assignment about how to describe an execution.) If it is stable, explain why in one sentence. If it is not an invariant, describe a reachable state where it is false. If it is an invariant, explain why in one sentence.
Consider the property "\(M = \{\mathtt{Inc}\}\)" in the Incrementing Counter System. Is it unstable, stable but not an invariant, or an invariant? If it is unstable, describe an execution where the property is true at some point, but later false. If it is stable, explain why in one sentence. If it is not an invariant, describe a reachable state where it is false. If it is an invariant, explain why in one sentence.
Consider the property "\(n\ge -1\)" in the Incrementing Counter System. Is it unstable, stable but not an invariant, or an invariant? If it is unstable, describe an execution where the property is true at some point, but later false. If it is stable, explain why in one sentence. If it is not an invariant, describe a reachable state where it is false. If it is an invariant, explain why in one sentence.
Consider the property "\(M = \{\}\)" in the Incrementing Counter System. Is it unstable, stable but not an invariant, or an invariant? If it is unstable, describe an execution where the property is true at some point, but later false. If it is stable, explain why in one sentence. If it is not an invariant, describe a reachable state where it is false. If it is an invariant, explain why in one sentence.
Recall the Incrementing Counter System with Response Messages from lecture 5. Here is the transition system for your reference:
Inc
or a message of the form \(\mathtt{Resp}(j)\) where \(j\) is an integer.Inc
message. Inc
message to the set of sent messages.Inc
message.What's new is the Resp
messages, in which the server sends the client a copy of its current counter.
Consider the property "\(M = \{\mathtt{Inc}\}\)" in the Incrementing Counter System with Response Messages. Is it unstable, stable but not an invariant, or an invariant? If it is unstable, describe an execution where the property is true at some point, but later false. (In this and subsequent problems, don't forget to follow the instructions at the top of this assignment about how to describe an execution.) If it is stable, explain why in one sentence. If it is not an invariant, describe a reachable state where it is false. If it is an invariant, explain why in one sentence.
Is the state \((0, \{\mathtt{Inc}, \mathtt{Resp}(1)\})\) reachable in the Incrementing Counter System with Response Messages? If yes, describe an execution that reaches it. On the other hand, if this state is not reachable, describe an invariant that is false in this state. (In this case, explain why your invariant is an invariant in one sentence.)
Is the state \((1, \{\mathtt{Inc}, \mathtt{Resp}(1)\})\) reachable in the Incrementing Counter System with Response Messages? If yes, describe an execution that reaches it. On the other hand, if this state is not reachable, describe an invariant that is false in this state. (In this case, explain why your invariant is an invariant in one sentence.)
Is the state \((2, \{\mathtt{Inc}, \mathtt{Resp}(2)\})\) reachable in the Incrementing Counter System with Response Messages? If yes, describe an execution that reaches it. On the other hand, if this state is not reachable, describe an invariant that is false in this state. (In this case, explain why your invariant is an invariant in one sentence.)