Development graphs - Proof management for structured specifications

Development graphs are a tool for dealing with structured specifications in a formal program development in order to ease the management of change and reusing proofs. In this work, we extend development graphs with hiding (e.g. hidden operations). Hiding is a particularly difficult to realize operation, since it does not admit such a good decomposition of the involved specifications as other structuring operations do. We develop both a semantics and proof rules for development graphs with hiding. The rules are proven to be sound, and also complete relative to an oracle for conservative extensions. We also show that an absolutely complete set of rules cannot exist. The whole framework is developed in a way independent of the underlying logical system (and thus also does not prescribe the nature of the parts of a specification that may be hidden). We also show how various other logic independent specification formalisms can be mapped into development graphs; thus, development graphs can serve as a kernel formalism for management of proofs and of change.

[1]  Peter D. Mosses,et al.  CASL: the Common Algebraic Specification Language , 2002, Theor. Comput. Sci..

[2]  Francisco Dur Structured theories and institutions , 2003 .

[3]  Tomasz Borzyszkowski Logical systems for structured specifications , 2002, Theor. Comput. Sci..

[4]  Tom Lyche,et al.  From Object-Orientation to Formal Methods , 2004, Lecture Notes in Computer Science.

[5]  Peter D. Mosses,et al.  Casl Reference Manual , 2004, Lecture Notes in Computer Science.

[6]  Francisco Durán,et al.  Structured Theories and Institutions , 2003, CTCS.

[7]  Dieter Hutter,et al.  Extending Development Graphs with Hiding , 2001, FASE.

[8]  Till Mossakowski,et al.  Heterogeneous Specification and the Heterogeneous Tool Set , 2004 .

[9]  Till Mossakowski,et al.  Amalgamation in the semantics of CASL , 2005, Theor. Comput. Sci..

[10]  Stefan Wittmann,et al.  Verification Support Environment , 1996, CAV.

[11]  T. Broadbent,et al.  Module Algebra , 1970, Nature.

[12]  Till Mossakowski,et al.  Integrating HOL-CASL into the Development Graph Manager MAYA , 2002, FroCoS.

[13]  Donald Sannella,et al.  Essential concepts of algebraic specification and program development , 1997, Formal Aspects of Computing.

[14]  Donald Sannella,et al.  Specifications in an Arbitrary Institution , 1988, Inf. Comput..

[15]  Martin Wirsing,et al.  Proof Systems for Structured Specifications with Observability Operators , 1997, Theor. Comput. Sci..

[16]  Till Mossakowski Comorphism-Based Grothendieck Logics , 2002, MFCS.

[17]  Petros S. Stefaneas,et al.  Logical support for modularisation , 1993 .

[18]  Dieter Hutter,et al.  System Description: inka 5.0 - A Logic Voyager , 1999, CADE.

[19]  José Meseguer,et al.  General Logics , 2006 .

[20]  Peter D. Mosses,et al.  Casl Reference Manual: The Complete Documentation Of The Common Algebraic Specification Language (LECTURE NOTES IN COMPUTER SCIENCE) , 2004 .

[21]  Grigore Rosu,et al.  Composing Hidden Information Modules over Inclusive Institutions , 2004, Essays in Memory of Ole-Johan Dahl.

[22]  Andreas Nonnengart,et al.  Verification Support Environment , 2005, Mechanizing Mathematical Reasoning.

[23]  Dieter Hutter,et al.  Towards an Evolutionary Formal Software-Development Using CASL , 1999, WADT.

[24]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.