生成随机UML实例的算法

时间:2010-08-11 15:23:28

标签: uml

我正在开发一种工具,它可以使UML模型不那么模糊(使用Eclipse的EMF和UML2框架)。为了做到这一点,我正在创建模型的不同部分的实例。有谁知道用于生成RANDOM模型实例的任何有效算法?

2 个答案:

答案 0 :(得分:1)

你知道USE Tool吗?这个工具具有完全相同的目的(虽然它没有与EMF集成):生成UML / OCL类图的实例,以查看模型是否过多(或过少)限制。有一种脚本语言可以定义您希望工具生成什么类型​​的实例(以及多少实例)。

但是,我认为实现这一目标最灵活的方法是将您的UML / OCL模型转换为CSP(约束满足问题)或类似问题。然后,您可以要求CSP解算器根据需要生成尽可能多的模型实例,通过添加其他约束,您可以轻松调整要生成的实例类型。我们的工具UMLtoCSP可用于为您自动生成CSP代码(希望我们很快就会有资源重新构建工具并将其迁移到Eclipse / EMF,但至少您可以了解我所说的内容当前的工具版本)。这个想法类似于你可以用Alloy做的,但更好地支持数值约束和更综合的翻译

答案 1 :(得分:0)

HMM。您是否正在尝试构建某种模拟/验证工具?

如果是这样,你看了alloy及其附带的分析仪?

来自常见问题:

什么是合金?

  

Alloy类似于OCL,即Object   UML的语言,但它有更多   传统语法和更简单   语义,是专为   自动分析。

什么是合金分析仪?

  

合金分析仪是一种约束   解决方案,提供全自动   模拟和检查。

语言/工具可能相关或不相关 - 但community可能是一个很好的帮助来源。