Abstract
An introduction to coalgebraic specification is presented via examples. A coalgebraic specification describes a collection of coalgebras satisfying certain assertions. It is thus an axiomatic description of a particular class of mathematical structures. Such specifications are especially suitable for state-based dynamical systems in general, and for classes in object-oriented programming languages in particular. This chapter will gradually introduce the notions of bisimilarity, invariance, component classes, temporal logic and refinement in a coalgebraic setting. Besides the running example of the coalgebraic specification of (possibly infinite) binary trees, a specification of Peterson’s mutual exclusion algorithm is elaborated in detail.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt and E.-R. Olderog. Verification of Sequential and Concurrent Programs. Springer, 2nd revised edition, 1997.
E. Astesiano, H.-J. Kreowski, and B. Krieg-BrĂĽckner, editors. Algebraic Foundations of Systems Specification. IFIP State-of-the-Art Reports. Springer, 1999.
C. Cïrstea. Coalgebra semantics for hidden algebra: parametrised objects and inheritance. In F. Parisi Presicce, editor, Recent Trends in Data Type Specification, number 1376 in Lecture Notes in Computer Science, pages 174–189. Springer, Berlin, 1998.
A. Corradini, M. Lenisa, and U. Montanari, editors. Coalgebraic Methods in Computer Science (CMCS’01), number 44 in Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 2001. http://www.elsevier.nl/locate/entcs/volume44.html.
B. A. Davey and H. A. Priestley. Introduction to Lattices and Order. Math. Textbooks. Cambridge Univ. Press, 1990.
E. A. Emerson. Temporal and modal logic. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, pages 995–1072. Elsevier/MIT Press, 1990.
H. P. Gumm. Elements of the general theory of coalgebras. Notes of lectures given at LUATCS’99: Logic, Universal Algebra, Theoretical Computer Science, Johannesburg. Available as http://www.mathematik.uni-marburg.de/~gumm/Papers/Luatcs.ps, 1999.
U. Hensel. Definition and Proof Principles for Data and Processes. Ph Dth esis, Techn. Univ. Dresden, Germany, 1999.
U. Hensel, M. Huisman, B. Jacobs, and H. Tews. Reasoning about classes in objectoriented languages: Logical models and tools. In C. Hankin, editor, European Symposium on Programming, number 1381 in Lecture Notes in Computer Science, pages 105–121. Springer, Berlin, 1998.
C. Hermida and B. Jacobs. Structural induction and coinduction in a fibrational setting. Information & Computation, 145:107–152, 1998.
M.W. Hirsch and S. Smale. Differential Equations, Dynamical Systems, and Linear Algebra. Academic Press, New York, 1974.
B. Jacobs. Mongruences and cofree coalgebras. In V. S. Alagar and M. Nivat, editors, Algebraic Methodology and Software Technology, number 936 in Lecture Notes in Computer Science, pages 245–260. Springer, Berlin, 1995.
B. Jacobs. Inheritance and cofree constructions. In P. Cointe, editor, European Conference on Object-Oriented Programming, number 1098 in Lecture Notes in Computer Science, 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.
B. Jacobs. Behaviour-refinement of coalgebraic specifications with coinductive correctness proofs. In M. Bidoit and M. Dauchet, editors, TAPSOFT’97: Theory and Practice of Software Development, number 1214 in Lecture Notes in Computer Science, pages 787–802. Springer, Berlin, 1997.
B. Jacobs. Invariants, bisimulations and the correctness of coalgebraic refinements. In M. Johnson, editor, Algebraic Methodology and Software Technology, number 1349 in Lecture Notes in Computer Science, pages 276–291. Springer, Berlin, 1997.
B. Jacobs. The temporal logic of coalgebras via Galois algebras. Techn. Rep. CSIR9906, Computer Science Institute, University of Nijmegen. To appear in Mathematical Structures in Computer Science, 1999.
B. Jacobs. Object-oriented hybrid systems of coalgebras plus monoid actions. Theoretical Computer Science, 239:41–95, 2000.
B. Jacobs, L. Moss, H. Reichel, and J. Rutten, editors. Coalgebraic Methods in Computer Science (CMCS’98), number 11 in Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 1998. http://www.elsevier.nl/locate/entcs/volume11.html.
B. Jacobs, L. Moss, H. Reichel, and J. Rutten, editors. Coalgebraic Methods in Computer Science, volume 260(1/2) of Theor. Comp. Sci., 2001. Special issue on CMCS’98.
B. Jacobs and J. Rutten. A tutorial on (co)algebras and (co)induction. EATCS Bulletin, 62:222–259, 1997.
B. Jacobs and J. Rutten, editors. Coalgebraic Methods in Computer Science (CMCS’99), number 19 in Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 1999. http://www.elsevier.nl/locate/entcs/volume19.html.
B. Jacobs, J. van den Berg, M. Huisman, M. van Berkum, U. Hensel, and H. Tews. Reasoning about classes in Java (preliminary report). In Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pages 329–340. ACM Press, 1998.
R. E. Kalman, P. L. Falb, and M. A. Arbib. Topics in Mathematical System Theory. McGraw-Hill Int. Series in Pure & Appl. Math., 1969.
L. Lamport. The temporal logic of actions. ACM Trans. on Progr. Lang. and Systems, 16(3):872–923, 1994.
L. Lamport. Specifying concurrent systems with T LA+. In M. Broy and R. Steinbrüggen, editors, Calculational System Design, number 173 in Series F: Computer and Systems Sciences, pages 183–247. IOS Press, Amsterdam, 1999.
N. Lynch. Simulation techniques for proving properties of real-time systems. In J.W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, A Decade of Concurrency, number 803 in Lecture Notes in Computer Science, pages 375–424. Springer, Berlin, 1994.
N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.
Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, Berlin, 1992.
L. S. Moss. Coalgebraic logic. Annals of Pure & Applied Logic, 96(1–3):277–317, 1999. Erratum in Annals of Pure & Applied Logic, 99(1–3):241–259, 1999.
S. Owre, J. M. Rushby, N. Shankar, and F. von Henke. Formal verification for faulttolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107–125, 1995.
G. L. Peterson. Myths about the mutual exclusion problem. Information Processing Letters, 12(3):115–116, 1981.
G. Plotkin and M. Abadi. A logic for parametric polymorphism. In M. Bezem and J. F. Groote, editors, Typed Lambda Calculi and Applications, number 664 in Lecture Notes in Computer Science, pages 361–375. Springer, Berlin, 1993.
A. Pnueli. The temporal semantics of concurrent programs. Theor. Comp. Sci., 31:45–60, 1981.
E. Poll and J. Zwanenburg. A logic for abstract data types as existential types. In J.-Y. Girard, editor, Typed Lambda Calculus and Applications, number 1581 in Lecture Notes in Computer Science, pages 310–324. Springer, Berlin, 1999.
H. Reichel. An approach to object semantics based on terminal co-algebras. Mathematical Structures in Computer Science, 5:129–152, 1995.
H. Reichel, editor. Coalgebraic Methods in Computer Science (CMCS’00), number 33 in Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 2000. http://www.elsevier.nl/locate/entcs/volume33.html.
J. Rothe, H. Tews, and B. Jacobs. The coalgebraic class specification language CCSL. Journal of Universal Computer Science, 7(2), 2001.
J. Rutten. Behavioural differential equations: a coinductive calculus of streams, automata, and power series. Technical report, CWI Report SEN-R0023, 2000.
J. Rutten. Universal coalgebra: a theory of systems. Theoretical Computer Science, 249:3–80, 2000.
J. J. M. M. Rutten. Automata, power series, and coinduction: Taking input derivatives seriously (extended abstract). In J. Wiedermann, P. van Emde Boas, and M. Nielsen, editors, International Colloquium on Automata, Languages and Programming, number 1644 in Lecture Notes in Computer Science, pages 645–654. Springer, Berlin, 1999.
C. Stirling. Modal and temporal logics. In S. Abramsky, Dov M. Gabbai, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science, volume 2, pages 477–563. Oxford Univ. Press, 1992.
A. S. Tanenbaum and A. S. Woodhull. Operating Systems: Design and Implementation. Prentice Hall, 2nd revised edition, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Jacobs, B. (2002). Exercises in Coalgebraic Specification. In: Backhouse, R., Crole, R., Gibbons, J. (eds) Algebraic and Coalgebraic Methods in the Mathematics of Program Construction. Lecture Notes in Computer Science, vol 2297. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47797-7_7
Download citation
DOI: https://doi.org/10.1007/3-540-47797-7_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43613-3
Online ISBN: 978-3-540-47797-6
eBook Packages: Springer Book Archive