【问题标题】:Relationship between Alloy and UML?合金和UML的关系?
【发布时间】:2017-01-04 01:19:16
【问题描述】:

我开始学习合金并且非常喜欢我所看到的。

在鼓励我的同事和我一起学习和使用 Alloy 之前,我需要了解 Alloy 和 UML 之间的关系。

  1. Alloy 是 UML 的替代品吗?如果使用Alloy,那么就不需要使用UML了吗?
  2. Alloy 是对 UML 的补充吗?推荐的做法是同时使用 Alloy 和 UML 吗?
  3. Alloy 与 UML 正交吗? Alloy 和 UML 的用途完全不同?
  4. 就功能而言,Alloy 是 UML 的超集吗?从我的阅读中我了解到,使用 Alloy 语言可以表达许多约束,然后 Alloy 中的 SAT 工具可以检查模型(使用 Alloy 创建)的约束。我“认为”UML 工具(例如 MagicDraw)具有表达约束和根据约束评估 UML 模型的同等能力——对吗?

一般来说,如果您能告诉我有关 Alloy 和 UML 之间的关系(或缺乏关系)的任何信息,我们将不胜感激。

谢谢。

【问题讨论】:

    标签: alloy


    【解决方案1】:

    Alloy 类似于用 UML 的约束语言 OCL 增强的 UML 类图。它不会取代 UML 的其他图表。

    我建议使用 Alloy 对数据进行建模并在较高级别上对行为进行建模。例如,请参阅Alloy website。您始终可以将 Alloy 模型转换为 UML 图。

    Alloy 旨在提供 — 精确、简洁的数据丰富设计模型 — 全自动分析

    UML 图的表达力不足以进行详细建模。 UML 约束语言 OCL 确实涵盖了与 Alloy 相同类型的细节,但没有达到相同程度的自动化支持。

    Alloy 中的约束不是用于检查图表的结构,而是用于实际建模系统并表达其属性(然后您可以检查系统是否满足这些属性)。 Alloy 在表现力上是 OCL 无法比拟的:OCL 在算术处理上更具表现力,但缺乏传递闭包等。

    我不是很了解 UML/OCL 研究,所以也许该领域的人可以加入,但我可以建议您从 Martin Gogolla 小组的工作开始,例如 Mark Richters 论文关于 OCL 的语义。

    如果您搜索“Alloy 和 UML”,您会发现一堆关于从 UML 到 Alloy 的自动翻译的论文,以及比较论文,例如 this one。我们还写了一篇关于 OCL 和 Alloy 的 paper 回溯,其中可能批评 OCL 已经在 Richters 等人的工作中修复的问题。

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 2014-02-08
      • 1970-01-01
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多