Behavioural approaches to algebraic specifications

This paper focuses on observability issues in the framework of loose algebraic specifications. The main purpose of observability is to extend the model class of some given algebraic specification in order to consider not only the algebras that satisfy the axioms of the specification in order to consider not only the algebras that satisfy the axioms of the specification, but as well other ones, provided that the differences between the properties satisfied by these algebras and the properties required by the specification (i.e., the axioms) are not “observable”. We compare various behavioural approaches developed so far. We point out their respective advantages and limitations. Expressive power is our main criterion for the discussion.

[1]  Heinrich Hußmann,et al.  Unification in Conditional Equational Theories , 1985, European Conference on Computer Algebra.

[2]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[3]  Rolf Hennicker Observational implementation of algebraic specifications , 2005, Acta Informatica.

[4]  Friederike Nickl,et al.  A Behavioural Algebraic Framework for Modular System Design with Reuse , 1992, COMPASS/ADT.

[5]  Laurent Fribourg,et al.  SLOG: A Logic Programming Language Interpreter Based on Clausal Superposition and Rewriting , 1985, SLP.

[6]  Oliver Schoett Two impossibility theorems on behaviour specification of abstract data types , 2005, Acta Informatica.

[7]  Joseph A. Goguen,et al.  Final Algebras, Cosemicomputable Algebras and Degrees of Unsolvability , 1992, Theor. Comput. Sci..

[8]  Donald Sannella,et al.  Toward formal development of programs from algebraic specifications: Implementations revisited , 1987, TAPSOFT, Vol.1.

[9]  Ugo Montanari,et al.  Observability Concepts in Abstract Data Type Specifications , 1976, MFCS.

[10]  N. W. P. van Diepen,et al.  Implementation of Modular Algebraic Specifications , 1988, ESOP.

[11]  Philip Wadler,et al.  A Syntax for Linear Logic , 1993, MFPS.

[12]  Donald Sannella,et al.  On Observational Equivalence and Algebraic Specification , 1987, J. Comput. Syst. Sci..

[13]  Oliver Schoett,et al.  Data abstraction and the correctness of modular programming , 1986 .

[14]  Michel Bidoit,et al.  Proving the Correctness of Algebraically Specified Software: Modularity and Observability Issues , 1991, AMAST.

[15]  Marie-Claude Gaudel,et al.  A Theory of Software Reusability , 1988, ESOP.

[16]  Fernando Orejas,et al.  Initial Behaviour Semantics for Algebraic Specifications , 1988, ADT.

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

[18]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .

[19]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[20]  Marie-Claude Gaudel,et al.  Software testing based on formal specifications: a theory and a tool , 1991, Softw. Eng. J..

[21]  Teodor Knapik,et al.  Specifications algebriques observationnelles modulaires : une semantique fondee sur une relation de satisfaction observationnelle , 1993 .

[22]  Rolf Hennicker,et al.  Context induction: A proof principle for behavioural abstractions and algebraic implementations , 1991, Formal Aspects of Computing.

[23]  Harald Ganzinger,et al.  Parameterized Specifications: Parameter Passing and Implementation with Respect to Observability , 1983, TOPL.

[24]  Satish R. Thatte,et al.  Generalization of Final Algebra Semantics by Relativization , 1989, Mathematical Foundations of Programming Semantics.

[25]  M. Wirsing Algebraic description of reusable software components , 1988, [Proceedings] COMPEURO 88 - System Design: Concepts, Methods and Tools.

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