Skip to main content
Log in

Applications of Category Theory to the Area of Algebraic Specification in Computer Science

  • Published:
Applied Categorical Structures Aims and scope Submit manuscript

Abstract

The theory of algebraic specifications – one of the most important mathematical approaches to the specification of abstract data types and software systems – is reviewed from a mathematical and a computer science point of view. The important role of category theory in this area is discussed and it is shown how the following selected problems are treated using category theory: First, a unified framework for specification logics, second compositional semantics, third partial algebras and their specification, and fourth specifications and models for concurrent systems. For the solution of two of the problems classifying categories are used. They allow to present categories of algebras as functor categories and to derive a number of important properties from well known results for functor categories.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abramsky, S.: Interaction categories (extended abstract), Theory and Formal Methods 1993: Proc. First Imperial College Department of Computing Workshop on Theory and Formal Methods, Springer-Verlag Workshops in Computer Science, 1993.

  2. Abramsky, S.: Interaction categories and communicating sequential processes, A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice Hall, New York, 1994.

    Google Scholar 

  3. Bidoit, M. and Choppy, C.: ASSPEGIQUE: an integrated environment for algebraic specifications, Proc. Joint Conf. on Theory and Practice of Software Development, Pisa, Springer-Verlag, Berlin, 1985.

    Google Scholar 

  4. Bidoit, M., Choppy, C. and Voisin, F.: The ASSPEGIQUE specification environment: motivations and design, Recent Trends in Data Type Specification, Proc. 3rd Workshop on Theory and Applications of Abstract Data Types, Springer IFB 116, 1985.

  5. Burstall, R. M. and Goguen, J. A.: Putting theories together to make specifications, Proc. Int. Conf. Artificial Intelligence, 1977.

  6. Burstall, R. M. and Goguen, J. A.: The semantics of CLEAR, a specification language, Abstract Software Specification, Proc. 1979 Copenhagen Winter School, LNCS 86, Springer-Verlag, Berlin, 1980.

    Google Scholar 

  7. Bergstra, J. A., Heering, J. and Klint, R.: Algebraic Specification, Addison Wesley, New York, 1989.

    Google Scholar 

  8. Bidoit, M.: PLUSS, un language pour le développement de spécifications algébrique modulaires, PhD thesis, Université Paris-Sud, Orsay, 1989.

    Google Scholar 

  9. Bidoit, M., Kreowski, H. J., Lescanne, P., Orejas, F. and Sannella, D.: Algebraic System Specification and Development, volume 501 of LNCS, Springer-Verlag, Berlin, 1991.

    Google Scholar 

  10. Birkhoff, G. and Lipson, J.D.: Heterogeneous algebras, J. Combinatorial Theory 8(1970), 115-133.

    Google Scholar 

  11. Barr, M. and Wells, C.: Toposes, triples, and theories, Springer-Verlag, Berlin, 1985.

    Google Scholar 

  12. Claßen, I., Große-Rhode, M. and Wolter, U.: Categorical concepts for parameterized partial specifications, Math. Struct. in Comp. Science 5(2) (1995), 153-188.

    Google Scholar 

  13. CIP Language Group, Report on a wide spectrum language for program specification and development, Technical Report TUM-18104, Technische Universität München, 1981.

  14. Claßen, I.: Compositionality of Application Oriented Structuring Mechanisms for Algebraic Specification Languages with Initial Semantics, PhD thesis, Technische Universität Berlin, 1993.

  15. Cerioli, M. and Meseguer, J.: May I Borrow Your Logic? Technical report, SRI International, Menlo Park, 1993.

    Google Scholar 

  16. Cohn, P.M.: Universal Algebra, Harper & Row, New York, 1965.

    Google Scholar 

  17. Ehrig, H. and Große-Rhode, M.: Structural theory of algebraic specifications in a specification logic - Part 1: Functorial parameterized specifications, Technical Report 91-23, Technische Universität Berlin, 1991.

  18. Ehrig, H. and Große-Rhode, M.: Functorial theory of parameterized specifications in a general specification framework, Theoretical Computer Science 135(1994), 221-266.

    Article  Google Scholar 

  19. Ehrich, H.-D., Gogolla, M. and Lipeck, U. W.: Algebraische Spezifikation abstrakter Datentypen, Teubner, Stuttgart, 1989.

    Google Scholar 

  20. Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types, JACM 29(1982), 206-227. Also appeared as Technical Report, Universität Dortmund, 1978.

    Article  Google Scholar 

  21. Ehrig, H.: Algebraic specification of modules and modular software systems within the framework of specification logics, Technical Report 89-17, TU Berlin, 1989.

  22. Ehrig, H., Kreowski, H.-J. and Weber, H.: Algebraic specification schemes for data base systems, Proc. 4th Int. Conf. Very Large Data Bases, Hahn-Meitner-Institut für Kernforschung, HMI-B266, 1978.

  23. Ehrig, H. and Mahr, B.: Fundamentals of Algebraic Specification 1: Equations and Initial Semantics, volume 6 of EATCS Monographs on Theoretical Computer Science, Springer-Verlag, Berlin, 1985.

    Google Scholar 

  24. Ehrig, H. and Mahr, B.: Fundamentals of Algebraic Specification 2: Module Specifications and Constraints, volume 21 of EATCS Monographs on Theoretical Computer Science, Springer-Verlag, Berlin, 1990.

    Google Scholar 

  25. Ehrig, H. and Mahr, B.: A decade of TAPSOFT: Aspects of progress and prospects in theory and practice of software development, LNCS 915(1995), 3-24.

    Google Scholar 

  26. Fey, W.: Pragmatics, concepts, syntax, semantics, and correctness notions of ACT TWO: An algebraic module specification and interconnection language, Technical Report 88/26, Technische Universität Berlin, 1988.

  27. Futatsugi, K., Goguen, J. A., Jouannaud, J. P. and Meseguer, J. L.: Principles of OBJ2, Proc. 12th ACM Symposium on Principles of Programming Languages, Association for Computing Machinery, 1985.

  28. Freyd, P.: Aspects to topoi, Bull. Austr. Math. Soc. 7(1972), 1-72.

    Google Scholar 

  29. Freyd, P.: Aspects to topoi, corrections, Bull. Austr. Math. Soc. 8(1973), 467-480.

    Google Scholar 

  30. Fiadeiro, J. and Sernadas, A.: Structuring theories on consequence, Recent Trend in Data Type Specification, LNCS 332, Springer-Verlag, Berlin, 1987.

    Google Scholar 

  31. Goguen, J. A. and Burstall, R. M.: Introducing institutions, Proc. Logics of Programming workshop, Carnegie-Mellon, LNCS 164, Springer-Verlag, Berlin, 1984.

    Google Scholar 

  32. Goguen, J. A. and Burstall, R. M.: Institutions: Abstract model theory for computer science, Technical Report CSLI-85-30, Stanford University, 1985.

  33. Goguen, J. A. and Burstall, R. M.: Institutions: Abstract model theory for specification and programming, J. ACM 39(1) (1992), 95-146.

    Article  Google Scholar 

  34. Guttag, J. V., Horning, J. J. and Modet, A.: Report on the Larch shared Language: Version 2.3, System Research Center Report 58, Digital Equipment Corporation, 1990.

  35. Guttag, J. V., Horning, J. J. and Wing, J. M.: Larch in five easy pieces. System Research Center Report 5, Digital Equipment Corporation, 1985.

  36. Grätzer, G.: Universal Algebra, Van Nostrand Reinhold, 1969.

  37. Goguen, J. A. and Tardo, J. J.: An introduction to OBJ: A language for writing and testing formal algebraic program specification, Proc. IEEE Conf. Specification on Reliable Software, IEEE, 1979.

  38. Goguen, J. A., Thatcher, J. W. and Wagner, E. G.: An initial algebra approach to the specification, correctness and implementation of abstract data types, Current Trends in Programming Methodology IV: Data Structuring, Prentice Hall, New York, 1978.

    Google Scholar 

  39. Goguen, J. A., Thatcher, J. W., Wagner, E. G. and Wright, J. B.: Abstract data types as initial algebras and the correctness of data representations, Proc. Conf. on Computer Graphics, Pattern Recognition and Data Structures, 1975.

  40. Guttag, J. V.: The Specification and Application to Programming of Abstract Data Types, PhD thesis, University of Toronto, 1975.

  41. Goguen, J. A. and Winkler, T.: Introducing OBJ3, Technical Report SRI-CSL-88-9, SRI, August 1988.

  42. Hansen, H.: The ACT-system: experiences and future enhancements, Recent Trends in Data Type Specification, Selected Papers from the 5th Workshop on Specification of Abstract Data Types, Gullane, Scotland, Lecture Notes in Computer Science 332, Springer-Verlag, Berlin, 1988.

    Google Scholar 

  43. Hupbach, U. L., Kaphengst, K. and Reichel, H.: Initial algebraic specification of data types, parameterized data types and algorithms. Technical Report WIB 15, VEB Robotron, Zentrum für Forschung und Technik, Dresden, 1980.

    Google Scholar 

  44. Hyland, J. M. E. and Pitts, A. M.: The theory of constructions: Categorical semantics and topos-theoretic models, Categories in Computer Science and Logic, AMS-IMS-SIAM Joint Summer Research Conference, University of Colorado, Boulder, 1989.

    Google Scholar 

  45. Jiménez, R., Orejas, F. and Ehrig, H.: Compositionality and compatibility of parameterization and parameter passing in specification languages, Math. Struct. in Comp. Science 5(1995), 283-314.

    Google Scholar 

  46. Kelly, G. M.: Review of the elements of 2-categories, Lecture Notes in Mathematics 420(1974), 74-103.

    Google Scholar 

  47. Krieg-Brückner, B. and Plump, D.: COMPASS: a COMPrehensive Algebraic approach to System Specification and development, Final Report. Technical Report 7/91, Universität Bremen, 1991.

  48. Kaphengst, H. and Reichel, H.: Operative Theorien und Kategorien von operativen Systemen, Studien zur Algebra und ihren Anwendungen, volume 16, pp. 41-56. Akademie-Verlag, 1972.

    Google Scholar 

  49. Kock, A. and Reyes, G. E.: Doctrines in categorical logic, Handbook of Mathematical Logic, Elsevier Science B.V., Amsterdam, 1977.

    Google Scholar 

  50. Lawvere, F. W.: Functorial semantics of algebraic theories, Proc. National Academy of Science, U.S.A., 50Columbia University, 1963.

  51. Lambek, J. and Scott, P. J.: Introduction to higher order categorical logic, Cambridge University Press, Cambridge, 1986.

    Google Scholar 

  52. Meseguer, J.: General logics, Logic colloquium' 87, Elsevier Science B.V., Amsterdam, 1989.

    Google Scholar 

  53. Meseguer, J.: Rewriting as a unified model of concurrency, Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, 1990.

  54. Meseguer, J.: Conditional rewriting logic as a unified model of concurrency, TCS 96(1992), 73-155.

    Google Scholar 

  55. Meseguer, J. and Goguen, J. A.: Initiality, induction, and computability, Algebraic Methods in Semanticschapter 14, pp. 459-541. Cambridge University Press, Cambridge, 1985.

    Google Scholar 

  56. Poigné, A.: Algebra categorically, Category Theory and Computer Programming, pp. 77-102, LNCS 240, Springer-Verlag, Berlin, 1985.

    Google Scholar 

  57. Reichel, H.: Initial Computability, Algebraic Specifications, and Partial Algebras, Oxford University Press, Oxford, 1987.

    Google Scholar 

  58. Seely, R. A. G.: Locally cartesian closed categories and type theory, Math. Proc. Cambridge Philosophical Soc. 95(1984), 33-48.

    Google Scholar 

  59. Seely, R. A. G.: Categorical semantics for higher order polymorphic lambda calculus, J. Symbolic Logic 52(4) (1987), 969-989.

    Google Scholar 

  60. Srinivas, Y. Y. and Jüllig, R.: SPECWARE™: Formal support for composing software, Technical Report KES.U.94.5, Kestrel Institute, 1994.

  61. Wand, M.: Final algebra semantics and data type extensions, JCSS 19(1979).

  62. Zilles, S. N.: Algebraic specification of data types, Technical Report 11, MIT Project MAP Progress Report, 1974.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ehrig, H., Große-Rhode, M. & Wolter, U. Applications of Category Theory to the Area of Algebraic Specification in Computer Science. Applied Categorical Structures 6, 1–35 (1998). https://doi.org/10.1023/A:1008688122154

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008688122154

Navigation