Abstract
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.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
M. Bidoit and R. Hennicker. Proving the correctness of behavioural implementations. In V.S. Alagar and M. Nivat, editors, Algebraic Methods and Software Technology, number 936 in Lect. Notes Comp. Sci., pages 152–168. Springer, Berlin, 1995.
M. Bidoit, R. Hennicker, and M. Wirsing. Behavioural and abstractor specifications. Science of Comput. Progr., 25:149–186, 1995.
M. Broy. Specification and refinement of a buffer of length one. Marktoberdorf Summerschool 1994.
J.A. Goguen. An algebraic approach to refinement. In D. Bjorner, C.A.R. Hoare, and H. Langmaack, editors, VDM '90. VDM and Z-Formal Methods in Software Development, number 428 in Lect. Notes Comp. Sci., pages 12–28. Springer, Berlin, 1990.
J.A. Goguen and R. Diaconescu. Towards an algebraic semantics for the object paradigm. In H. Ehrig and F. Orejas, editors, Recent Trends in Data Type Specification, number 785 in Lect. Notes Comp. Sci., pages 1–29. Springer, Berlin, 1994.
J.A. Goguen and G. Malcom. Proof of correctness of object representations. In A.W. Roscoe, editor, A Classical Mind. Essays in honour of C.A.R. Hoare, pages 119–142. Prentice Hall 1994.
J.A. Goguen and G. Malcom. An extended abstract of a hidden agenda. In J., A. Meystel, and R. Quintero, editors, Proceedings of the Conference on Intelligent Systems: A Semiotic Perspective, pages 159–167. Nat. Inst. Stand. &. Techn., 1996.
R. Hennicker. Context induction: a proof principle for behavioural abstractions and algebraic implementations. Formal Aspects of Comp., 3(4):326–345, 1991.
C.A.R. Hoare. Proof of correctness of data representations. Ada Informatica, 1:271–281, 1972.
B. Jacobs. Mongruences and cofree coalgebras. In V.S. Alagar and M. Nivat, editors, Algebraic Methods and Software Technology, number 936 in Lect. Notes Comp. Sci., pages 245–260. Springer, Berlin, 1995.
B. Jacobs. Automata and behaviours in categories of processes. CWI Techn. Rep. CS-R9607, 1996.
B. Jacobs. Coalgebraic specifications and models of deterministic hybrid systems. In M. Wirsing and M. Nivat, editors, Algebraic Methods and Software Technology, number 1101 in Lect. Notes Comp. Sci., pages 520–535. Springer, Berlin, 1996.
B. Jacobs. Inheritance and cofree constructions. In P. Cointe, editor, European Conference on Object-Oriented Programming, number 1098 in Lect. Notes Comp. Sci., pages 210–231. Springer, Berlin, 1996.
B. Jacobs. Objects and classes, co-algebraically. In B. Freitag, C.B. Jones, C. Lengauer, and H.-J. Schek, editors, Object-Orientation with Parallelism and Persistence, pages 83–103. Kluwer Acad. Publ., 1996.
P. Lucas. Two constructive realizations of the block concept and their equivalence. Technical Report 25.085, IBM Laboratory, Vienna, 1968.
N. Lynch and F. Vaandrager. Forward and backward simulations. I. Untimed systems. Inf. & Comp., 121(2):214–233, 1995.
N.A. Lynch and M.R. Tuttle. An introduction to input/output automata. CWI Quarterly, 2(3):219–246, 1989.
G. Malcolm and J.A. Goguen. Proving correctness of refinement and implementation. Techn. Monogr. PRG 114, Oxford Univ., 1996.
B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.
R. Milner. An algebraic definition of simulation between programs. In Sec. Int. Joint Conf. on Artificial Intelligence, pages 481–489. British Comp. Soc. Press, London, 1971.
S. Owre, S. Rajan, J.M. Rushby, N. Shankar, and M. Srivas. PVS: Combining specification, proof checking, and model checking. In R. Alur and T.A. Henzinger, editors, Computer Aided Verification, number 1102 in Lect. Notes Comp. Sci., pages 411–414. Springer, Berlin, 1996.
H. Reichel. An approach to object semantics based on terminal co-algebras. Math. Struct. Comp. Sci., 5:129–152, 1995.
B. Rumpe and C. Klein. Automata describing object behaviour. In H. Kilov and W. Harvey, editors, Specification of Behavioral Semantics in Object-Oriented Information modeling, pages 265–286. Kluwer Acad. Publ., 1996.
J. Rutten and D. Turi. On the foundations of final semantics: non-standard sets, metric spaces and partial orders. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, Semantics: Foundations and Applications, number 666 in Lect. Notes Comp. Sci., pages 477–530. Springer, Berlin, 1993.
O. Schoett. Behavioural correctness of data representations. Science of Comput. Progr., 14:43–57, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jacobs, B. (1997). Behaviour-refinement of coalgebraic specifications with coinductive correctness proofs. In: Bidoit, M., Dauchet, M. (eds) TAPSOFT '97: Theory and Practice of Software Development. CAAP 1997. Lecture Notes in Computer Science, vol 1214. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0030641
Download citation
DOI: https://doi.org/10.1007/BFb0030641
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62781-4
Online ISBN: 978-3-540-68517-3
eBook Packages: Springer Book Archive