在java中,我有一组相互连接的对象。让我们假设他们在一起模型,让我们这样称呼它。将Java对象映射到Prolog表示
我想根据某些规范(定义为一组条件)验证该模型。条件可以是这样的:
forall child in parent.children
child.name startswith "A"
可以有一堆这样的条件,他们都必须按顺序说一个模型符合规范得到满足。所有这些条件都是一些由变量和逻辑表达式组成的谓词,我想对待的是SAT问题的一个实例。我不关心该解决方案的复杂性,我只是想使用Prolog来执行找到变量的适当替换(如果它存在,这意味着模型符合规范)。
我正在寻找一种方法,我如何轻松创建Prolog知识库,该知识库将包含表示创建我的模型的对象的语句。
你有什么值得推荐的吗?或者,也许你可以建议一些其他方法来解决这个问题?
不知道这是否有帮助,但你有看看模型检查(如https://en.wikipedia.org/wiki/List_of_model_checking_tools) – GhostCat
如果你可以在你的问题中包括一个最小化的例子,那会让答案更容易。 – 2016-06-09 11:59:40
真是个好主意! –