4

面向对象的程序可以用不同的模型建模,例如自动机、过程代数、Petri 网或 UML。其中一些模型可用于执行各种分析,以发现性能或设计中的问题。

我正在研究逻辑编程,想知道 CLP 是否有这种模型?您如何分析 CLP 程序?

4

2 回答 2

3

一定不要错过cTI_lt (左终止的基于约束的终止推断)

终止推断是终止分析/检查的无注释概括。它将程序员的注意力从特定情况转移到整个关系。传统上,终止分析器试图证明给定类别的查询终止。这个类必须由用户提供,如果程序之前编写过没有任何注释,这是相当麻烦的。对于终止推断,不需要注释。立即推断所有相关谓词的所有可证明终止类,说明谓词的“多向性”。这意味着谓词可以安全地用于多个“方向”。

于 2015-04-23T11:30:00.020 回答
2

我见过使用最多的两种方法是抽象解释进化代数(又名抽象状态机)。Egon Boerger发表了 Prolog 的正式定义和使用进化代数对 Warren Abstract Machine 的正确性证明。纯逻辑编程语言可以直接在逻辑中建模。

于 2014-05-12T00:46:18.920 回答