首页 文章

合金和UML之间的关系?

提问于
浏览
2

我开始学习Alloy并且非常喜欢我所见过的 .

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

  • Alloy是UML的替代品吗?如果使用Alloy,那么不需要使用UML吗?

  • Alloy是UML的补充吗?推荐的做法是同时使用Alloy和UML吗?

  • 合金是否与UML正交? Alloy和UML的用途完全不同?

  • 在功能方面,Alloy是UML的超集吗?从我的阅读中我了解到,使用Alloy语言可以表达许多约束,然后Alloy中的SAT工具可以检查模型的约束(使用Alloy创建) . 我认为,像MagicDraw这样的UML工具没有相应的表达约束和根据约束评估UML模型的能力 - 这是正确的吗?

一般来说,你可以告诉我关于Alloy和UML之间关系(或缺乏关系)的任何事情都会非常感激 .

谢谢 .

1 回答

  • 5

    Alloy与使用UML的约束语言OCL扩充的UML类图相当 . 它不会取代UML的其他图表 .

    我建议使用Alloy来建模数据和高级建模行为 . 有关示例,请参阅Alloy website . 您始终可以将Alloy模型转换为UML图表 .

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

    UML图表对于详细建模不够具有表现力 . UML约束语言OCL确实涵盖了与Alloy相同的细节,但没有相同程度的自动支持 .

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

    我对UML / OCL的研究不是很了解,所以也许该领域的某些人可能会参与其中,但我可以建议您了解更多信息,首先是Martin Gogolla小组的工作,例如Mark Richters关于语义的论文OCL .

    如果你搜索"Alloy and UML",你会发现一堆关于从UML到Alloy的自动翻译的论文,以及比较论文,如this one . 我们还写了一篇关于OCL和Alloy的文章,这可能会批评OCL在Richters等人的工作中已经修复过的东西 .

相关问题