The Stratified Loose Approach: A Generalization of Initial and Loose Semantics

Besides the respective advantages and drawbacks of the initial and loose approaches to algebraic semantics, the choice of either initial semantics or loose semantics for a given specification language often relies on methodological considerations. In this paper, we briefly recall the main features of the Pluss specification language, the semantics of which was originally designed following the loose approach. Then we study how far some basic concerns, such as modularity and reusability, interact with the design of the semantics of the Pluss specification-building primitives. We show that neither the initial approach nor the loose one is powerful enough to reflect our intuition and needs about software reusability and modularity, and we introduce a more sophisticated framework, the stratified loose semantics, which can be considered as a generalization of both loose and initial semantics.

[1]  Stéphane Kaplan,et al.  Simplifying Conditional Term Rewriting Systems: Unification, Termination and Confluence , 1987, J. Symb. Comput..

[2]  Donald Sannella,et al.  Completeness of Proof Systems for Equational Specifications , 1985, IEEE Transactions on Software Engineering.

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

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

[5]  James W. Thatcher,et al.  Data Type Specification: Parameterization and the Power of Specification Techniques , 1982, TOPL.

[6]  Christine Choppy,et al.  Abstract Implementations and Correctness Proofs , 1986, STACS.

[7]  Hartmut Ehrig,et al.  ACT ONE - An Algebraic Specification Language with two Levels of Semantics , 1983, ADT.

[8]  Gilles Bernot,et al.  Good Functors... are Those Preserving Philosophy , 1987, Category Theory and Computer Science.

[9]  Christine Choppy,et al.  Formal Specifications, Prototyping and Integration Tests , 1987, ESEC.

[10]  Michel Bidoit Algebraic Specification of Exception Handling and Error Recovery by Means of Declarations and Equations , 1984, ICALP.

[11]  Donald Sannella,et al.  Building Specifications in an Arbitrary Institution , 1984, Semantics of Data Types.

[12]  Friedrich L. Bauer,et al.  The Munich Project CIP , 1988, Lecture Notes in Computer Science.

[13]  Christine Choppy,et al.  Abstract Data Types with Exception Handling: An Initial Approach Based on a Distinction Between Exceptions and Errors , 1986, Theor. Comput. Sci..

[14]  Craig Schaffert,et al.  CLU Reference Manual , 1984, Lecture Notes in Computer Science.

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

[16]  Manfred Broy,et al.  Abstract Data Types as Lattices of Finitely Generated Models , 1980, MFCS.

[17]  Christine Choppy,et al.  The ASSPEGIQUE Specification Environment - Motivations and Design , 1984, ADT.

[18]  Hartmut Ehrig,et al.  Algebraic Implementation of Abstract Data Types , 1982, Theor. Comput. Sci..

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

[20]  Brigitte Biebow,et al.  Exception Handling: Formal Specification and Systematic Program Construction , 1984, IEEE Transactions on Software Engineering.

[21]  H. Ehrig,et al.  Algebraic implementation of abstract data types: an announcement , 1979, SIGA.

[22]  Brigitte Biebow,et al.  Algebraic Specification of Synchronisation and Errors: A Telephonic Example , 1985, TAPSOFT, Vol.2.

[23]  Michel Bidoit,et al.  How to Make Algebraic Specifications More Understandable? , 1987, Algebraic Methods.

[24]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[25]  Joëlle Despeyroux An algebraic specification of a Pascal compiler , 1983, SIGP.

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

[27]  Friedrich L. Bauer,et al.  The Munich Project CIP: Volume I: The Wide Spectrum Language CIP-L , 1985 .

[28]  Michel Bidoit,et al.  How to Make Algebraic Specifications More Understandable: An Experiment with the PLUSS Specification Language , 1989, Sci. Comput. Program..