Hidden Specification of a Functional System

This paper is devoted to the formal study of the data structures appearing in a symbolic computation system, namely the EAT system. One of the main features of the EAT system is that it intensively uses functional programming techniques. This implies that some formalisms for the algebraic specification of systems must be adapted to this functional setting. Specifically, this work deals with hidden and coalgebraic methodologies through an institutional framework. As a byproduct, the new concept of coalgebraic institution associated to an institution is introduced. Then, the problem of modeling functorial relationships between data structures is tackled, giving a hidden specification for this aspect of the EAT system and proving the existence of final objects in convenient categories, which accurately model the EAT way of working.

[1]  Julio Rubio,et al.  Locally effective objects and algebraic topology , 1993 .

[2]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[3]  Jr. Guy L. Steele,et al.  Common LISP: the language (2nd ed.) , 1990 .

[4]  Hartmut Ehrig,et al.  Recent trends in data type specification : 9th Workshop on Specification of Abstract Data Types, joint with the 4th COMPASS Workshop, Caldes de Malavella, Spain, October, 26-30, 1992 : selected papers , 1994 .

[5]  Hans-Dieter Ehrich,et al.  Specification of abstract data types , 1996 .

[6]  Vico Pascual,et al.  Specifying implementations , 1999, ISSAC '99.

[7]  César Domínguez,et al.  Modeling inheritance as coercion in a symbolic computation system , 2001, ISSAC '01.

[8]  Corina Cîrstea,et al.  Coalgebra semantics for hidden algebra: Parameterised objects an inheritance , 1997, WADT.

[9]  Joseph A. Goguen,et al.  Towards an Algebraic Semantics for the Object Paradigm , 1992, COMPASS/ADT.

[10]  Philip Wadler,et al.  How to make ad-hoc polymorphism less ad hoc , 1989, POPL '89.

[11]  G. L. Steele Common Lisp , 1990 .

[12]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[13]  Jon P. May Simplicial objects in algebraic topology , 1993 .

[14]  Jan J. M. M. Rutten,et al.  Universal coalgebra: a theory of systems , 2000, Theor. Comput. Sci..

[15]  Guy L. Steele,et al.  Common Lisp the Language , 1984 .

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

[17]  Răzvan Diaconescu,et al.  Hiding and behaviour: an institutional approach , 1994 .

[18]  Joseph A. Goguen,et al.  A hidden agenda , 2000, Theor. Comput. Sci..