Issue No. 10 - October (1995 vol. 21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.469460
The paper provides examples of situations where formal specifications of procedures in the standard pre/postcondition style become lengthy, cumbersome and difficult to change, a problem which is particularly acute in the case of object-oriented specifications with inheritance. We identify the problem as the inability to express that a procedure changes <it>only</it> those things it has to, leaving everything else unmodified, and review some attempts at dealing with this “frame problem” in the Software Specification community. The second part of the paper adapts a recent proposal for a solution to the frame problem in Artificial Intelligence—the notion of explanation closure axioms—to provide an approach whereby one can state such conditions succinctly and modularly, with the added advantage of having the specifier be reminded of things that she may have omitted saying in procedure specifications. Since this approach is based on standard Predicate Logic, its semantics is relatively straight-forward. The paper also suggests an algorithm which generates syntactically the explanation closure axioms from the pre/postcondition specifications, provided they are written in a restricted language; it also suggests a model theory supporting it.
Formal, specifications, languages, frame assertion, proof obligations, semantics of specification languages, inheritance.
A. Borgida, R. Reiter and J. Mylopoulos, "On the Frame Problem in Procedure Specifications," in IEEE Transactions on Software Engineering, vol. 21, no. , pp. 785-798, 1995.