Semantics of First Order Parametric Specifications

Parametricity is one of the most effective ways to achieve compositionality and reuse in software development. Parametric specifications have been thoroughly analyzed in the algebraic setting and are by now a standard part of most software development toolkits. However, an effort towards classifying, specifying and refining algorithmic theories, rather than mere datatypes, quickly leads beyond the realm of algebra, and often to full first order theories. We extend the standard semantics of parametric specifications to this more general setting. The familiar semantic characterization of parametricity in the algebraic case is expressed in terms of the free functor, i.e. using the initial models. In the general case, initial models may not exist, and the free functor is not available. Various syntactic, semantic, and abstract definitions of parametricity have been offered, but their exact relationships are often unclear. Using the methods of categorical model theory, we establish the equivalence of two well known, yet so far unrelated, definitions of parametricity, one syntactic, one semantic. Besides providing support for both underlying views, and a way for aligning the systems based on each of them, the offered general analysis and its formalism open several avenues for future research and applications.

[1]  M. Makkai Stone duality for first order logic , 1987 .

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

[3]  José Meseguer,et al.  PROGRAMMING WITH PARAMETERIZED ABSTRACT OBJECTS IN OBJ. , 1983 .

[4]  M. Makkai,et al.  First order categorical logic , 1977 .

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

[6]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[7]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[8]  Michael Makkai,et al.  Accessible categories: The foundations of categorical model theory, , 2007 .

[9]  Martin Wirsing,et al.  Implementation of Parameterised Specifications (Extended Abstract) , 1982, ICALP.

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

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

[12]  Hartmut Ehrig,et al.  Module specifications and constraints , 1990 .

[13]  Yellamraju V. Srinivas Refinement of parameterized algebraic specifications , 1997, Algorithmic Languages and Calculi.

[14]  Harald Ganzinger,et al.  Parameterized Specifications: Parameter Passing and Implementation with Respect to Observability , 1983, TOPL.

[15]  Theodosis Dimitrakos,et al.  Formal support for specification, design and implementation , 1998 .

[16]  Johann A. Makowsky,et al.  Finitary Sketches , 1997, J. Symb. Log..

[17]  Hartmut Ehrig,et al.  Parameter passing commutes with implementation of parameterized data types , 1982 .

[18]  José Meseguer,et al.  Universal Realization, Persistent Interconnection and Implementation of Abstract Modules , 1982, ICALP.

[19]  E. Manes Algebraic Theories in a Category , 1976 .

[20]  Hartmut Ehrig,et al.  Functorial Theory of Parameterized Specifications in a General Specification Framework , 1994, Theor. Comput. Sci..

[21]  Michael Löwe,et al.  Parametric algebraic specifications with Gentzen formulas – from quasi-freeness to free functor semantics , 1995, Mathematical Structures in Computer Science.

[22]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[23]  P. Gabriel,et al.  Lokal α-präsentierbare Kategorien , 1971 .

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

[25]  Christopher Strachey,et al.  Fundamental Concepts in Programming Languages , 2000, High. Order Symb. Comput..

[26]  Martin Wirsing,et al.  Implementation of parameterised specifications: Automata, Languages and Programming , 1982 .

[27]  Joseph A. Goguen,et al.  Principles of parameterized programming , 1989 .

[28]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2 , 1990, EATCS Monographs on Theoretical Computer Science.

[29]  James W. Thatcher,et al.  Data Type Specification: Parameterization and the Power of Specification Techniques , 1982, TOPL.

[30]  Richard S. Bird,et al.  Algorithmic Languages and Calculi , 1997, IFIP Advances in Information and Communication Technology.

[31]  J. Adámek,et al.  Locally Presentable and Accessible Categories: Bibliography , 1994 .