我正在为系统验证的期末考试而学习,这个问题在最近的考试卷中。我需要帮助来解决它。
直观上讲,发送方将前五个非负整数的平方发送到两个接收方进程。每个号码仅发送一次,并且将其发送到的接收者的选择是随机的。 a)假设通道可以破坏消息。使用损坏消息的机制以及检测和处理损坏消息的机制对上述Promela模型进行修改。在您的解决方案中,您可以添加新的渠道,变量,过程,更改消息的类型等。
chan linkA = [5] of {byte};
chan linkB = [5] of {byte};
proctype sender ()
{ byte n;
do
:: n < 5 -> linkA!n*n; n++
:: n < 5 -> linkB!n*n; n++
:: else -> break
od
}
proctype receiver (chan link)
{ byte m, total;
do
:: link?m -> total=total+m
od
}
init
{
run sender (); run receiver (linkA);
run receiver (linkB)
}