-4

我是合金新手,我有一项与合金有关的任务。

我必须在合金中建模一个协议,该协议是一个网络协议。

我有一个发送者、接收者和一个中间实体。

我在这些实体上写了签名,但我不知道如何运行这个模型。

我试图理解电子邮件客户端地址簿的示例,但是当我执行该示例时,它会生成许多将名称映射到一个地址的简单书的实例。

我认为模型中有 3 个签名,即 Book、Name 和 Addr。如果我们将这个模型运行为 3 但第 1 册,那么该示例将产生多少个实例?9?18?或者更多?

请指导我如何使合金工作!


我想在 ALLOY 中建模一个 web 协议,用于通信的基本实体是三个。三个实体发送消息和接收消息,每条消息都固定在特定时间,如消息 o 到 time0,消息 1 到 time1。

我在通过 Alloy 进行协议建模时面临很多困难,特别是消息序列的制作和处理其他消息序列。

如何解决?

4

1 回答 1

2

毫无疑问,您的 Web 协议可以在 Alloy 中指定。

Alloy 允许您通过运行谓词来生成可满足的实例,或者允许通过检查断言来查找反例。

此实例生成实际上将帮助您验证模型的某些属性,并允许您在某些预期属性未满足时更正您的模型。(因此,由于实例生成,您可以逐步改进您的模型)。

生成的实例数量将取决于您的范围框架中存在的可满足实例的数量。

请在您的问题中添加更多详细信息,以便我们更具体地回答。

于 2014-07-02T11:35:02.510 回答