Building Specifications in an Arbitrary Institution

A set of operations for constructing algebraic specifications in an arbitrary logical system is presented. This builds on the framework provided by Goguen and Burstall's work on the notion of an institution as a formalisation of the concept of a logical system for writing specifications. We show how to introduce free variables into the sentences of an arbitrary institution and how to add quantifiers which bind them. We use this foundation to define a set of primitive operations for building specifications in an arbitrary institution based loosely on those in the ASL kernel specification language. We examine the set of operations which results when the definitions are instantiated in an institution of first-order logic and compare these with the operations found in existing specification languages. The result of instantiating the operations in an institution of partial first-order logic is also discussed.

[1]  Martin Wirsing,et al.  Structured Algebraic Specifications: A Kernel Language , 1986, Theor. Comput. Sci..

[2]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part 1: Comma Categories, Colimits, Signatures and Theories , 1984, Theor. Comput. Sci..

[3]  Peter Burmeister,et al.  Partial algebras—survey of a unifying approach towards a two-valued model theory for partial algebras , 1982 .

[4]  Hartmut Ehrig,et al.  Algebraic Specifications with Generating Constraints , 1983, ICALP.

[5]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[6]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[7]  Mitchell Wand,et al.  Final Algebra Semantics and Data Type Extensions , 1979, J. Comput. Syst. Sci..

[8]  José Meseguer,et al.  Universal Realization, Persistent Interconnection and Implementation of Abstract Modules , 1982, ICALP.

[9]  K. J. Barwise,et al.  Axioms for abstract model theory , 1974 .

[10]  Samuel N. Kamin Final Data Types and Their Specification , 1983, TOPL.

[11]  J. A. Bergstra,et al.  I/O-computable data structures , 1981, SIGP.

[12]  Bernard Sufrin Formal Specification of a Display-Oriented Text Editor , 1982, Sci. Comput. Program..

[13]  Martin Gogolla,et al.  Algebraic and Operational Semantics of Specifications Allowing Exceptions and Errors , 1984, Theor. Comput. Sci..

[14]  Andrzej Tarlecki,et al.  Free Constructions in Algebraic Institutions , 1984, MFCS.

[15]  M. Arbib,et al.  Arrows, Structures, and Functors: The Categorical Imperative , 1975 .

[16]  Johann A. Makowsky,et al.  Characterizing Specification Languages which Admit Initial Semantics , 1984, Theor. Comput. Sci..

[17]  Joseph A. Goguen,et al.  Abstract Errors for Abstract Data Types , 1977, Formal Description of Programming Concepts.

[18]  Horst Reichel Structural induction on partial algebras , 1984 .

[19]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[20]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part II: Signed and Abstract Theories , 1984, Theor. Comput. Sci..

[21]  Hartmut Ehrig,et al.  A Kernel Language for Algebraic Specification and Implementation , 1983, ADT.