On the Frame Problem in Procedure Specifications

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 only 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 are relatively straightforward. 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. >

[1]  John McCarthy,et al.  Applications of Circumscription to Formalizing Common Sense Knowledge , 1987, NMR.

[2]  John Mylopoulos,et al.  Generalization/Specialization as a Basis for Software Specification , 1982, On Conceptual Modelling.

[3]  Dewayne E. Perry The inscape environment , 1989, ICSE '89.

[4]  Anthony Hall,et al.  Using Z as a Specification Calculus for Object-Oriented Systems , 1990, VDM Europe.

[5]  David J. Duke,et al.  Towards a Semantics for Object-Z , 1990, VDM Europe.

[6]  Michael W. Godfrey,et al.  Formal Specification in Metamorphic Programing , 1991, VDM Europe.

[7]  José Luiz Fiadeiro,et al.  Sharing Actions and Attributes in Modal Action Logic , 1991, TACS.

[8]  H. B. M. Jonkers Upgrading the Pre- and Postcondition Technique , 1991, VDM Europe.

[9]  W. T. Harwood,et al.  The specification of complex systems , 1986 .

[10]  John McCarthy,et al.  SOME PHILOSOPHICAL PROBLEMS FROM THE STANDPOINT OF ARTI CIAL INTELLIGENCE , 1987 .

[11]  Raymond Reiter,et al.  The Frame Problem in the Situation Calculus: A Simple Solution (Sometimes) and a Completeness Result for Goal Regression , 1991, Artificial and Mathematical Theory of Computation.

[12]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[13]  Kevin Lano,et al.  Object-oriented specification case studies , 1994 .

[14]  A. Haas The Case for Domain-Specific Frame Axioms , 1987 .

[15]  Joseph A. Goguen,et al.  Specification in OOZE with examples , 1994 .

[16]  S. A. Schuman,et al.  Object-oriented subsystem specification , 1987 .

[17]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[18]  John Mylopoulos,et al.  Support for Data-Intensive Applications: Conceptual Design and Software Development , 1989, DBPL.

[19]  Susan Stepney,et al.  Object Orientation in Z , 1992, Workshops in Computing.

[20]  Klaus-Dieter Schewe,et al.  Specification and Refinement in an Integrated Database Application Environment , 1991, VDM Europe.

[21]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[22]  Linda Simon,et al.  Using VDM Within an Object-Oriented Framework , 1992, Formal Methods in Databases and Software Engineering.

[23]  Lenhart K. Schubert Monotonic Solution of the Frame Problem in the Situation Calculus: An Efficient Method for Worlds wi , 1990 .

[24]  Jacques Hagelstein,et al.  Reconciling Operational and Declarative Specifications , 1992, CAiSE.

[25]  Alexander Borgida,et al.  On the Definition of Specialization Hierarchies for Procedures , 1981, IJCAI.

[26]  J. McCarthy Situations, Actions, and Causal Laws , 1963 .

[27]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[28]  Raymond Reiter,et al.  On Specifying Database Updates , 1995, J. Log. Program..

[29]  Fangzhen Lin,et al.  State Constraints Revisited , 1994, J. Log. Comput..

[30]  Fangzhen Lin,et al.  Provably correct theories of action , 1991, JACM.

[31]  Vladimir Lifschitz,et al.  Toward a Metatheory of Action , 1991, KR.

[32]  Edwin P. D. Pednault,et al.  ADL: Exploring the Middle Ground Between STRIPS and the Situation Calculus , 1989, KR.