首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >合金模型的用途?

合金模型的用途?
EN

Stack Overflow用户
提问于 2016-12-21 11:23:16
回答 1查看 264关注 0票数 1

为什么要创建一个使用合金的模型?

我相信我知道答案,但我想和你确认一下。

我们使用合金创建一个模型,因为我们希望验证该模型是否适用于某些属性。请允许我举几个例子来说明我的意思:

  1. 我们建立了一个交通灯系统的合金模型,因为我们想要验证交通灯系统永远不会在一个路口同时有两个绿灯(垂直方向)。通过建立合金模型并利用合金分析仪对其进行检验,可以验证交通信号灯系统是安全的。
  2. 我们创建了一个领导人选举协议的合金模型(在一堆分散的、通信的过程中,有一个进程被选举为领导者),因为我们希望验证该协议是否导致将一个进程选举为领导者。
  3. 我们创建了一个酒店运营的合金模型,因为我们想要验证没有任何未经授权的访问任何房间。

这些例子说明了为什么我们创建合金模型:这样我们就可以验证某些属性是否有效。在创建合金模型并验证所需属性是否有效之后,如果我们忠实地实现该模型,那么我们就可以确信系统将具有所需的属性。这就是我们创造合金模型的原因。你同意吗?你还有什么要补充的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 09:22:30

我认为合金的主要原因是提供一种建模语言。在合金中,您可以定义问题或算法的核心结构。由于该工具可以提供有关此模型的反馈,因此您首先可以快速了解您对问题的误解。

第二,它是一种规范语言。例如,如果您查看Javadoc,那么您将看到API的语义是注释。在合金中,您实际上可以用一种无法用不同方式解释的方式定义更多的这些语义。它很容易声明不变量和后置条件。例如,在博客文章中,我在Java中定义了一些操作。有趣的是,建模表明了null键和值方面对于Java映射的重要性。这在Javadoc中几乎没有提到。

最后,您可以使用合金检查系统的属性,正如您所指出的。我最近确实发现了一个使用合金的并发问题的案例。但是,通常情况下,一旦您找到它,您就会将其工作到模型中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41261651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档