Automated Software Engineering - ASE'97

12th IEEE International Conference


Panel 2 - Category Theory: Past Impact and Future Prospects

Tuesday November 4, 8:30 - 9:30

Category theory is a mathematical framework that originated in the work of Samuel Eilenberg and Saunders Mac Lane [1, 2]. At the end of World War II they were doing research in the field of algebraic topology, and developed some of the basic notions of category theory in order to formalize the notion of "homology theory" and an equivalence of such theories. They defined the concepts of category, functor (a mapping between categories), and natural transformation (a mapping between functors). In the sixties and seventies category theory started having an impact well beyond algebraic topology, both in other areas of mathematics and in computer science. It is now often viewed as an alternate foundation for mathematics instead of set theory. In computer science, it is often viewed as a means of achieving representation independence and abstraction, and providing conceptual unification over fragmented subdisciplines [3].

From a concrete viewpoint, a category is any set of objects and maps that can be described as a directed graph but with possibly more than one distinct edge (map) between any two nodes (objects). The paths are called morphisms. Thus functors are like mappings between graphs that preserve the relation of nodes to paths. However, the main intuition is that a category is a way to describe all the things that have some mathematical structure, by concentrating on their maps [3]. Like set theory, category theory is primarily a language for talking about other things. In set theory, a field of mathematics is defined by giving layers of definitions for the objects under study. The internal structure of the objects is defined in successive layers, using operations on sets. To make an analogy, set theory is a programming language for mathematics, providing a base upon which to build up the structure of objects of a field of mathematics. Of course, this entails that precisely defining the objects of a field of mathematical study can require making arbitrary implementation decisions regarding their internal structure. In contrast, category theory is primarily concerned with the external relationships between objects - the mappings between them -and not their internal structure. To continue the analogy, category theory is a specification language for mathematics, which builds up a field of mathematics by describing the universal relationships between objects. Not surprisingly, one area in which category theory has had an impact is in specification languages.

In recent years, this conference has had a number of papers describing categorical approaches to aspects of automated software engineering. This year there are also two tutorials based on categorical approaches. This panel will debate the following questions:

  1. What impact has category theory had to date on aspects of computer science related to automated software engineering?
  2. In the next 15 years, what and where will be the impact of category-theory based mathematics/frameworks on automated software engineering?
  3. What alternate formal frameworks are contenders for the same areas(s) of predicted impacts? How do they compare/complement/compete with category-theory based formal frameworks?
  4. Like set theory, category theory is primarily a language for talking about other things, such as sheaves, or theories with theory morphisms. If someone wants to use category theory in automated software engineering, what should they study beyond the basics? For example, what about topoi theory [4]? Or enriched category theory?
References

[1] Samuel Eilenberg and Saunders Mac Lane. General theory of natural equivalences. Transactions of the American Mathematical Society, 58:231-294, 1945.

[2] Saunders Mac Lane. Categories for the Working Mathematician. Springer, 1971.

[3] Joseph Goguen. A Categorical Manifesto. Mathematical Structures in Computer Science, 1(1):49-67, 1991. URL http://www-cse.ucsd.edu/users/goguen/pubs/

[4] Robert Goldblatt. Topoi, the Categorial Analysis of Logic. North-Holland, 1979.