Tool Design for Structuring Mechanisms for Algebraic Specification Languages with Initial Semantics

In [18] a ML-program for computations in category theory, including an implementation of the semantics of specification-building operations for the language CLEAR [6] is presented. We propose a similar approach but use object oriented methods to achieve better abstractness, reusability and efficiency. We prove correctness and the worst case time bounds of the basic algorithm computing colimits on set diagrams. We show how the comma category representations of signatures, specifications and attributed graphs suggests colimit algorithms on the corresponding diagrams.

[1]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[2]  Michael Löwe,et al.  AGG - An Implementation of Algebraic Graph Rewriting , 1993, RTA.

[3]  Mehdi Jazayeri,et al.  Component Programming - a Fresh Look at Software Components , 1995, ESEC.

[4]  Alexander A. Stepanov,et al.  Generic Programming , 1988, ISSAC.

[5]  Joseph A. Goguen,et al.  A categorical manifesto , 1989, Mathematical Structures in Computer Science.

[6]  Rod M. Burstall,et al.  Computational category theory , 1988, Prentice Hall International Series in Computer Science.

[7]  Horst Herrlich,et al.  Abstract and concrete categories , 1990 .

[8]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[9]  Ingo Claßen,et al.  ALPHA - A Class Library for a Metamodel Based on Algebraic Graph Theory , 1996, AMAST.

[10]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.

[11]  Robert E. Tarjan,et al.  Data structures and network algorithms , 1983, CBMS-NSF regional conference series in applied mathematics.

[12]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[13]  Ingo Claßen,et al.  Revised ACT ONE: Categorical Constructions for an Algebraic Specification Language , 1988, Categorial Methods in Computer Science.