Behaviour-Refinement of Coalgebraic Specifications with Coinductive Correctness Proofs

A notion of refinement is defined in the context of coalgebraic specification of classes in object-oriented languages. It tells us when objects in a “concrete” class behave exactly like (or: simulate) objects in an “abstract” class. The definition of refinement involves certain selection functions between procedure-inputs and attribute-outputs, which gives this notion considerable flexibility. The coalgebraic approach allows us to use coinductive proof methods in establishing refinements (via (bi)simulations). This is illustrated in several examples.

[1]  Jan J. M. M. Rutten,et al.  On the Foundation of Final Semantics: Non-Standard Sets, Metric Spaces, Partial Orders , 1992, REX Workshop.

[2]  Bart Jacobs,et al.  Automata and behaviours in categories of processes , 1996 .

[3]  J. Goguen,et al.  Extended abstract of a hidden agenda , 1996 .

[4]  Joseph A. Goguen,et al.  An Algebraic Approach to Refinement , 1990, VDM Europe.

[5]  Nancy A. Lynch,et al.  Forward and Backward Simulations: I. Untimed Systems , 1995, Inf. Comput..

[6]  Bart Jacobs Coalgebraic Specifications and Models of Determinatistic Hybrid Systems , 1996, AMAST.

[7]  N. Shankar,et al.  Pvs: Combining Speciication, Proof Checking, and Model Checking ? 1 Combining Theorem Proving and Typechecking , 1996 .

[8]  Nancy A. Lynch,et al.  Forward and Backward Simulations, II: Timing-Based Systems , 1996, Inf. Comput..

[9]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[10]  Joseph A. Goguen,et al.  Proof of correctness of object representations , 1994 .

[11]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[12]  Manfred Broy Specification and refinement of a buffer of length one , 1996, NATO ASI DPD.

[13]  Bart Jacobs,et al.  Inheritance and Cofree Constructions , 1996, ECOOP.

[14]  Michel Bidoit,et al.  Proving the Correctness of Behavioural Implementations , 1995, AMAST.

[15]  Horst Reichel,et al.  An approach to object semantics based on terminal co-algebras , 1995, Mathematical Structures in Computer Science.

[16]  N. Lynch,et al.  Forward and backward simulations , 1993 .

[17]  Bart Jacobs,et al.  Mongruences and Cofree Coalgebras , 1995, AMAST.

[18]  Martin Wirsing,et al.  Behavioural and Abstractor Specifications , 1995, Sci. Comput. Program..

[19]  Joseph A. Goguen,et al.  Towards an Algebraic Semantics for the Object Paradigm , 1992, COMPASS/ADT.

[20]  Donald Sannella,et al.  Extended ML: Past, Present, and Future , 1990, ADT.

[21]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[22]  Oliver Schoett,et al.  Behavioural Correctness of Data Representations , 1990, Sci. Comput. Program..

[23]  Bart Jacobs,et al.  Objects and Classes, Co-Algebraically , 1995, Object Orientation with Parallelism and Persistence.

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

[25]  Grzegorz Rozenberg,et al.  Semantics: Foundations and Applications , 1992, Lecture Notes in Computer Science.