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.
Similar content being viewed by others
References
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.
Abramsky, S.: Interaction categories and communicating sequential processes, A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice Hall, New York, 1994.
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.
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.
Burstall, R. M. and Goguen, J. A.: Putting theories together to make specifications, Proc. Int. Conf. Artificial Intelligence, 1977.
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.
Bergstra, J. A., Heering, J. and Klint, R.: Algebraic Specification, Addison Wesley, New York, 1989.
Bidoit, M.: PLUSS, un language pour le développement de spécifications algébrique modulaires, PhD thesis, Université Paris-Sud, Orsay, 1989.
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.
Birkhoff, G. and Lipson, J.D.: Heterogeneous algebras, J. Combinatorial Theory 8(1970), 115-133.
Barr, M. and Wells, C.: Toposes, triples, and theories, Springer-Verlag, Berlin, 1985.
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.
CIP Language Group, Report on a wide spectrum language for program specification and development, Technical Report TUM-18104, Technische Universität München, 1981.
Claßen, I.: Compositionality of Application Oriented Structuring Mechanisms for Algebraic Specification Languages with Initial Semantics, PhD thesis, Technische Universität Berlin, 1993.
Cerioli, M. and Meseguer, J.: May I Borrow Your Logic? Technical report, SRI International, Menlo Park, 1993.
Cohn, P.M.: Universal Algebra, Harper & Row, New York, 1965.
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.
Ehrig, H. and Große-Rhode, M.: Functorial theory of parameterized specifications in a general specification framework, Theoretical Computer Science 135(1994), 221-266.
Ehrich, H.-D., Gogolla, M. and Lipeck, U. W.: Algebraische Spezifikation abstrakter Datentypen, Teubner, Stuttgart, 1989.
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.
Ehrig, H.: Algebraic specification of modules and modular software systems within the framework of specification logics, Technical Report 89-17, TU Berlin, 1989.
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.
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.
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.
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.
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.
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.
Freyd, P.: Aspects to topoi, Bull. Austr. Math. Soc. 7(1972), 1-72.
Freyd, P.: Aspects to topoi, corrections, Bull. Austr. Math. Soc. 8(1973), 467-480.
Fiadeiro, J. and Sernadas, A.: Structuring theories on consequence, Recent Trend in Data Type Specification, LNCS 332, Springer-Verlag, Berlin, 1987.
Goguen, J. A. and Burstall, R. M.: Introducing institutions, Proc. Logics of Programming workshop, Carnegie-Mellon, LNCS 164, Springer-Verlag, Berlin, 1984.
Goguen, J. A. and Burstall, R. M.: Institutions: Abstract model theory for computer science, Technical Report CSLI-85-30, Stanford University, 1985.
Goguen, J. A. and Burstall, R. M.: Institutions: Abstract model theory for specification and programming, J. ACM 39(1) (1992), 95-146.
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.
Guttag, J. V., Horning, J. J. and Wing, J. M.: Larch in five easy pieces. System Research Center Report 5, Digital Equipment Corporation, 1985.
Grätzer, G.: Universal Algebra, Van Nostrand Reinhold, 1969.
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.
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.
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.
Guttag, J. V.: The Specification and Application to Programming of Abstract Data Types, PhD thesis, University of Toronto, 1975.
Goguen, J. A. and Winkler, T.: Introducing OBJ3, Technical Report SRI-CSL-88-9, SRI, August 1988.
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.
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.
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.
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.
Kelly, G. M.: Review of the elements of 2-categories, Lecture Notes in Mathematics 420(1974), 74-103.
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.
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.
Kock, A. and Reyes, G. E.: Doctrines in categorical logic, Handbook of Mathematical Logic, Elsevier Science B.V., Amsterdam, 1977.
Lawvere, F. W.: Functorial semantics of algebraic theories, Proc. National Academy of Science, U.S.A., 50Columbia University, 1963.
Lambek, J. and Scott, P. J.: Introduction to higher order categorical logic, Cambridge University Press, Cambridge, 1986.
Meseguer, J.: General logics, Logic colloquium' 87, Elsevier Science B.V., Amsterdam, 1989.
Meseguer, J.: Rewriting as a unified model of concurrency, Technical Report SRI-CSL-90-02, SRI International, Computer Science Laboratory, 1990.
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency, TCS 96(1992), 73-155.
Meseguer, J. and Goguen, J. A.: Initiality, induction, and computability, Algebraic Methods in Semanticschapter 14, pp. 459-541. Cambridge University Press, Cambridge, 1985.
Poigné, A.: Algebra categorically, Category Theory and Computer Programming, pp. 77-102, LNCS 240, Springer-Verlag, Berlin, 1985.
Reichel, H.: Initial Computability, Algebraic Specifications, and Partial Algebras, Oxford University Press, Oxford, 1987.
Seely, R. A. G.: Locally cartesian closed categories and type theory, Math. Proc. Cambridge Philosophical Soc. 95(1984), 33-48.
Seely, R. A. G.: Categorical semantics for higher order polymorphic lambda calculus, J. Symbolic Logic 52(4) (1987), 969-989.
Srinivas, Y. Y. and Jüllig, R.: SPECWARE™: Formal support for composing software, Technical Report KES.U.94.5, Kestrel Institute, 1994.
Wand, M.: Final algebra semantics and data type extensions, JCSS 19(1979).
Zilles, S. N.: Algebraic specification of data types, Technical Report 11, MIT Project MAP Progress Report, 1974.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008688122154