Steadfast logic programs

https://doi.org/10.1016/S0743-1066(98)10023-7Get rights and content
Under an Elsevier user license
open archive

Abstract

We present the notion of steadfastness that at once embodies modularity, reusability, and formal correctness. A steadfast program is an open program with parameters, which is parametrically correct in the sense that it will always be correct with respect to its (open) specification whenever its parameters are computed correctly. Thus, a steadfast program is correct, modular and reusable. Therefore, steadfastness provides a basis for hierarchical construction of correct reusable modules. We first introduce the idea of steadfastness in an informal manner. Then we give a model-theoretic characterisation of steadfastness, followed by an operational semantics based on the (open) completion of an open program. Finally, we apply our general results to program correctness with respect to parametric specifications.

Keywords

Correctness
Modularity
Reusability
Open programs
Parametric programs
Parametric specifications

Cited by (0)