建模约束逻辑程序(用于分析)
Posted
技术标签:
【中文标题】建模约束逻辑程序(用于分析)【英文标题】:Modelling Constraint Logic Programs (for analysis) 【发布时间】:2013-10-03 06:54:04 【问题描述】:面向对象的程序可以用不同的模型建模,例如自动机、过程代数、Petri 网或 UML。其中一些模型可用于执行各种分析,以发现性能或设计中的问题。
我正在学习逻辑编程,想知道 CLP 是否有这种模型?您如何分析 CLP 程序?
【问题讨论】:
【参考方案1】:千万不要错过cTI_lt (constraint based termination inference for left termination)!
终止推断是终止分析/检查的无注释概括。它将程序员的注意力从特定情况转移到整个关系。传统上,终止分析器试图证明给定类别的查询终止。这个类必须由用户提供,如果程序之前编写过没有任何注释,这是相当麻烦的。对于终止推断,不需要注释。立即推断所有相关谓词的所有可证明终止类,说明谓词的“多向性”。这意味着谓词可以安全地用于多个“方向”。
【讨论】:
【参考方案2】:我见过使用最多的两种方法是abstract interpretation 和evolving algbras(又名抽象状态机)。 Egon Boerger 发布了 Prolog 的正式定义和 Warren Abstract Machine 使用进化代数的正确性证明。纯逻辑编程语言可以直接在逻辑中建模。
【讨论】:
以上是关于建模约束逻辑程序(用于分析)的主要内容,如果未能解决你的问题,请参考以下文章