Objetos localmente efectivos y tipos abstractos de datos

There are a lot of techniques that allow to tackle the problem of verifying whether a program runs correctly, that is, in the way intended by the user. This doctoral thesis represents a contribution to the analysis of the data types handled by programs. Particularly, we focused on the modelling of data structures in a Symbolic Computation system called EAT (Effective Algebraic Topology) designed by Rubio and Sergeraert. EAT is a Common Lisp system devoted to Algebraic Topology and a tool for the mechanized computation of homology groups of infinite topological spaces (namely, iterated loop spaces). In order to perform a formal analysis of the EAT data structures, an operation on Abstract Data Types is defined. This operation (defined within the classical Algebraic Specification framework) is inspired by the EAT way of working with complex mathematical structures. Looking for a connection with the current mainstream topics in the field of Algebraic Specification, we found that our approach was closely related to some object-oriented formalisms, namely, hidden specifications and the coalgebraic view. These relations made explicit the implicit object-oriented features of the EAT system. This was unexpected since the crux in EAT is the role of the functional programming. The main tool used is a syntactic operation between signatures, denoted ()imp, which is extended to Abstract Data Types and intends to capture the EAT way of working. This operation constructs from an abstract data type T a new abstract data type, Timp, which should be considered as the abstract data type of the implementations of T. We established an implementation framework in which we proved that the EAT data structures used are implementations of Timp abstract data types. Moreover, we obtained mathematical results that characterize the EAT data structures as coproducts and final objects in certain categories of implementations. These results allow us to claim that the EAT way of implementation has appropriate properties. The characterization of the EAT data structures obtained includes those coding algebraic structures of finite nature, called Effective Objects, as well as those coding information of infinite nature, called Locally Effective Objects.

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

[2]  Manfred Broy Equational Specification of Partial Higher-Order Algebras , 1988, Theor. Comput. Sci..

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

[4]  A. Church The calculi of lambda-conversion , 1941 .

[5]  Mitchell Wand,et al.  Final Algebra Semantics and Data Type Extensions , 1979, J. Comput. Syst. Sci..

[6]  John C. Reynolds Theories of programming languages , 1998 .

[7]  Joseph A. Goguen,et al.  Types as theories , 1991 .

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

[9]  Michel Bidoit,et al.  Modular correctness proofs of behavioural implementations , 1998, Acta Informatica.

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

[11]  Julio Rubio García Homologie effective des espaces de lacets itérés: un logiciel , 1991 .

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

[13]  Rolf Hennicker,et al.  Implementation of Parameterized Observational Specifications , 1989, TAPSOFT, Vol.1.

[14]  César Domínguez,et al.  Hidden Specification of a Functional System , 2001, EUROCAST.

[15]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[16]  Hartmut Ehrig,et al.  Formal specification , 2001 .

[17]  Bernhard Möller Algebraic Specifications with Higher-Order Operations , 1986, ADT.

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

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

[20]  James J. Horning,et al.  The algebraic specification of abstract data types , 1978, Acta Informatica.

[21]  Bart Jacobs,et al.  Mongruences and Cofree Coalgebras , 1995, AMAST.

[22]  Michael Barr,et al.  Additions and Corrections to "Terminal Coalgebras in Well-founded Set Theory" , 1994, Theor. Comput. Sci..

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

[24]  Donald Sannella,et al.  Toward formal development of programs from algebraic specifications: Implementations revisited , 1987, TAPSOFT, Vol.1.

[25]  Rolf Hennicker,et al.  Object-Oriented Implementation of Abstract Data Type Specifications , 1996, AMAST.

[26]  Razvan Diaconescu,et al.  Behavioural Coherence in Object-Oriented Algebraic Specification , 2000, J. Univers. Comput. Sci..

[27]  Hendrik Pieter Barendregt,et al.  Functional Programming and Lambda Calculus , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[28]  Bernhard Möller On the algebraic specification of infinite objects — ordered and continuous models of algebraic types , 2004, Acta Informatica.

[29]  Francis Sergeraert,et al.  The Computability Problem in Algebraic Topology , 1994 .

[30]  S. Maclane,et al.  General theory of natural equivalences , 1945 .

[31]  Michael Barr,et al.  Terminal Coalgebras in Well-Founded Set Theory , 1993, Theor. Comput. Sci..

[32]  Carlos José Pereira de Lucena,et al.  Higher order data types , 1980, International Journal of Computer & Information Sciences.

[33]  Egidio Astesiano,et al.  Partial higher-order specifications , 1992, Fundam. Informaticae.

[34]  Stephen N. Zilles,et al.  Introduction to Data Algebra , 1979, Abstract Software Specifications.

[35]  Manfred Broy,et al.  Partial abstract types , 1982, Acta Informatica.

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

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

[38]  Peter Aczel,et al.  A Final Coalgebra Theorem , 1989, Category Theory and Computer Science.

[39]  Andrzej Tarlecki Institutions: An Abstract Framework for Formal Specifications , 1999, Algebraic Foundations of Systems Specification.

[40]  Christoph Beierle,et al.  Implementation Specifications , 1984, ADT.

[41]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1977, CACM.

[42]  Grigore Rosu,et al.  Hidden Congruent Deduction , 1998, FTP.

[43]  R. J. Wilson Analysis situs , 1985 .

[44]  William R. Cook,et al.  Object-Oriented Programming Versus Abstract Data Types , 1990, REX Workshop.

[45]  Grigore Rosu,et al.  Hiding More of Hidden Algebra , 1999, World Congress on Formal Methods.

[46]  Carlos Domínguez,et al.  Modelling implementations as institution morphisms , 2001 .

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

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

[49]  Simon Thompson,et al.  Type theory and functional programming , 1991, International computer science series.

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

[51]  Julio Rubio,et al.  Constructive algebraic topology , 2002 .

[52]  Corina Cı̂rstea Semantic constructions for the specification of objects , 2001, Theor. Comput. Sci..

[53]  Julio Rubio Locally Effective Objects and Artificial Intelligence , 2000, AISC.

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

[55]  P. Burmeister A Model Theoretic Oriented Approach to Partial Algebras , 1986 .

[56]  Wolfgang Wechler,et al.  Universal Algebra for Computer Scientists , 1992, EATCS Monographs on Theoretical Computer Science.

[57]  Gregory J. Chaitin,et al.  The Limits of Mathematics , 1995, J. Univers. Comput. Sci..

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

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

[60]  J. D. Lipson Elements of algebra and algebraic computing , 1981 .

[61]  Richard D. Jenks,et al.  AXIOM: the scientific computation system , 1992 .

[62]  Magne Haveraaen,et al.  Guarded Algebras: Disguising Partiality so You Won't Know Whether It's There , 1999, WADT.