我正在开发一种工具,它可以使UML模型不那么模糊(使用Eclipse的EMF和UML2框架)。为了做到这一点,我正在创建模型的不同部分的实例。有谁知道用于生成RANDOM模型实例的任何有效算法?
答案 0 :(得分:1)
你知道USE Tool吗?这个工具具有完全相同的目的(虽然它没有与EMF集成):生成UML / OCL类图的实例,以查看模型是否过多(或过少)限制。有一种脚本语言可以定义您希望工具生成什么类型的实例(以及多少实例)。
但是,我认为实现这一目标最灵活的方法是将您的UML / OCL模型转换为CSP(约束满足问题)或类似问题。然后,您可以要求CSP解算器根据需要生成尽可能多的模型实例,通过添加其他约束,您可以轻松调整要生成的实例类型。我们的工具UMLtoCSP可用于为您自动生成CSP代码(希望我们很快就会有资源重新构建工具并将其迁移到Eclipse / EMF,但至少您可以了解我所说的内容当前的工具版本)。这个想法类似于你可以用Alloy做的,但更好地支持数值约束和更综合的翻译
答案 1 :(得分:0)