Alloy和UML的关系?
Relationship between Alloy and UML?
我开始学习 Alloy 并且非常喜欢我所看到的。
在鼓励同事们和我一起学习和使用Alloy之前,我需要了解一下Alloy和UML的关系。
- Alloy是UML的替代品吗?如果用了Alloy,那么就不用用UML了?
- Alloy 是 UML 的补充吗?推荐的做法是同时使用 Alloy 和 UML 吗?
- Alloy 与 UML 正交吗? Alloy 和 UML 的目的完全不同?
- 在功能方面,Alloy 是 UML 的超集吗?根据我的阅读,我了解到使用 Alloy 语言可以表达很多约束,然后 Alloy 中的 SAT 工具可以根据模型(使用 Alloy 创建)检查约束。我 "think" UML 工具,例如 MagicDraw,不 具有表达约束和根据约束评估 UML 模型的等效能力 -- 正确吗?
一般来说,如果您能告诉我任何关于 Alloy 和 UML 之间的关系(或缺乏关系)的信息,我们将不胜感激。
谢谢。
Alloy 可与 UML class 图相媲美,并使用 UML 的约束语言 OCL 进行扩充。它不会取代 UML 的其他图表。
我建议使用 Alloy 对数据进行建模并在较高级别对行为进行建模。例如,参见 Alloy website。您始终可以将 Alloy 模型转换为 UML 图。
Alloy 旨在提供
— 精确、简洁的数据丰富设计模型
— 全自动分析
UML 图的表现力不足以进行详细建模。 UML 约束语言 OCL 确实涵盖了与 Alloy 相同类型的细节,但没有相同程度的自动化支持。
Alloy中的约束不是为了检查图表的结构,而是为了实际建模系统并表达其属性(然后您可以检查系统是否满足这些属性)。 Alloy在表达能力上与OCL无可比拟:OCL在处理算术方面更具表现力,但它缺乏传递闭包,例如。
我对 UML/OCL 研究不是很了解,所以也许那个领域的人可以插话,但我可以建议您从 Martin Gogolla 小组的工作开始了解更多信息,例如作为 Mark Richters 关于 OCL 语义的论文。
如果您搜索 "Alloy and UML",您会找到一堆关于从 UML 自动翻译到 Alloy 的论文,以及比较论文,例如 this one. We also wrote a paper 返回 OCL 和 Alloy 这可能会批评 OCL 在 Richters 等人的工作中已修复的问题
我开始学习 Alloy 并且非常喜欢我所看到的。
在鼓励同事们和我一起学习和使用Alloy之前,我需要了解一下Alloy和UML的关系。
- Alloy是UML的替代品吗?如果用了Alloy,那么就不用用UML了?
- Alloy 是 UML 的补充吗?推荐的做法是同时使用 Alloy 和 UML 吗?
- Alloy 与 UML 正交吗? Alloy 和 UML 的目的完全不同?
- 在功能方面,Alloy 是 UML 的超集吗?根据我的阅读,我了解到使用 Alloy 语言可以表达很多约束,然后 Alloy 中的 SAT 工具可以根据模型(使用 Alloy 创建)检查约束。我 "think" UML 工具,例如 MagicDraw,不 具有表达约束和根据约束评估 UML 模型的等效能力 -- 正确吗?
一般来说,如果您能告诉我任何关于 Alloy 和 UML 之间的关系(或缺乏关系)的信息,我们将不胜感激。
谢谢。
Alloy 可与 UML class 图相媲美,并使用 UML 的约束语言 OCL 进行扩充。它不会取代 UML 的其他图表。
我建议使用 Alloy 对数据进行建模并在较高级别对行为进行建模。例如,参见 Alloy website。您始终可以将 Alloy 模型转换为 UML 图。
Alloy 旨在提供 — 精确、简洁的数据丰富设计模型 — 全自动分析
UML 图的表现力不足以进行详细建模。 UML 约束语言 OCL 确实涵盖了与 Alloy 相同类型的细节,但没有相同程度的自动化支持。
Alloy中的约束不是为了检查图表的结构,而是为了实际建模系统并表达其属性(然后您可以检查系统是否满足这些属性)。 Alloy在表达能力上与OCL无可比拟:OCL在处理算术方面更具表现力,但它缺乏传递闭包,例如。
我对 UML/OCL 研究不是很了解,所以也许那个领域的人可以插话,但我可以建议您从 Martin Gogolla 小组的工作开始了解更多信息,例如作为 Mark Richters 关于 OCL 语义的论文。
如果您搜索 "Alloy and UML",您会找到一堆关于从 UML 自动翻译到 Alloy 的论文,以及比较论文,例如 this one. We also wrote a paper 返回 OCL 和 Alloy 这可能会批评 OCL 在 Richters 等人的工作中已修复的问题