Detecting equivalence of modular specifications with categorical diagrams

Abstract The composition of modular specifications can be modeled, in a category theoretic framework, by colimits of diagrams. Pushouts in particular describe the combination of two specifications sharing a common part. In this paper, we propose to represent the combination of modular specification as diagrams. First, we define a term language to represent modular specifications built with colimit constructions over a category of base specifications. Then, we propose to associate with each term a diagram. This interpretation provides us with a more abstract representation of modular specifications because irrelevant steps of the construction are eliminated. Finally, we propose an algorithm to normalize diagrams, in the case when the base category is skeletal, finite and cycle free. This allows us to detect “construction isomorphisms” between modular specifications, i.e. isomorphisms which do not depend on the semantics of the base specifications, but only on their combination.

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

[2]  Thomas Streicher,et al.  Dependent Types Considered Necessary for Specification Languages , 1990, ADT.

[3]  S. Lane Categories for the Working Mathematician , 1971 .

[4]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[5]  Joseph A. Goguen,et al.  Sheaf semantics for concurrent interacting objects , 1992, Mathematical Structures in Computer Science.

[6]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[7]  F. Linton,et al.  Categories et Structures. , 1968 .

[8]  James W. Thatcher,et al.  Why algebraic theories , 1986 .

[9]  Hartmut Ehrig,et al.  Initial Semantics of Specifications , 1985 .

[10]  Hartmut Ehrig,et al.  Compositionality Results for Different Types of Parameterization and Parameter Passing in Specification Languages , 1993, TAPSOFT.

[11]  Catherine Oriat Etude des spécifications modulaires : constructions de colimites finies, diagrammes, isomorphismes. (Modular specifications: finite colimits constructions, diagrams, isomorphisms) , 1996 .

[12]  Catherine Oriat Detecting Isomorphisms of Modular Specifications with Diagrams , 1995, AMAST.

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

[14]  Rachid Echahed,et al.  Spécification, généricité, prototypage : aspects du langage LPG , 1995 .

[15]  Didier Bert,et al.  A Model Inference System for Generic Specification with Application to Code Sharing , 1995, TAPSOFT.

[16]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[17]  Dominique Duval,et al.  Sketches and Computation - II: Dynamic Evaluation and Applications , 1994, Math. Struct. Comput. Sci..

[18]  Richard Jüllig,et al.  Specware: Formal Support for Composing Software , 1995, MPC.

[19]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .

[20]  Jean-Claude Reynaud Putting Algebraic Components Together: A Dependent Type Approach , 1990, DISCO.

[21]  John Cartmell,et al.  Generalised algebraic theories and contextual categories , 1986, Ann. Pure Appl. Log..

[22]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

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

[24]  Johan Lewi,et al.  Abstract Data Types as Initial Algebras , 1989 .

[25]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[26]  Joseph A. Goguen,et al.  Institutions: abstract model theory for specification and programming , 1992, JACM.

[27]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation: Part 3: Indexed Categories , 1991, Theor. Comput. Sci..

[28]  K. Mani Chandy,et al.  Current trends in programming methodology , 1977 .

[29]  S L Bloom,et al.  Many-sorted theories and their algebras with some applications to data types , 1986 .

[30]  W. Tholen,et al.  Completions of categories and initial completions , 1989 .

[31]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[32]  Dominique Duval,et al.  Sketches and Computation - I: Basic Definitions and Static Evaluation , 1994, Math. Struct. Comput. Sci..

[33]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .