Hostname: page-component-77c89778f8-gvh9x Total loading time: 0 Render date: 2024-07-16T10:44:02.079Z Has data issue: false hasContentIssue false

D-oids: a model for dynamic data-types

Published online by Cambridge University Press:  04 March 2009

Egidio Astesiano
Affiliation:
Dipartimento di Informatica e Scienze dell’Informazione, Via Dodecaneso 35, 16146 Genova (Italy) Email: {astes, zucca}@disi.unige.it
Elena Zucca
Affiliation:
Dipartimento di Informatica e Scienze dell’Informazione, Via Dodecaneso 35, 16146 Genova (Italy) Email: {astes, zucca}@disi.unige.it

Abstract

We propose a semantic framework for dynamic systems, which, in a sense, extends the well-known algebraic approach for modelling static data structures to the dynamic case. The framework is based on a new mathematical structure, called a d-oid, consisting of a set of instant structures and a set of dynamic operations. An instant structure is a static structure, e.g. an algebra; a dynamic operation is a transformation of instant structures with an associated point to point map, which allows us to keep track of the transformations of single objects and thus is called a tracking map. By an appropriate notion of morphism, the d-oids over a dynamic signature constitute a category.

It is shown that d-oids can model object systems and support an abstract notion of possibly unique object identity; moreover, for a d-oid satisfying an identity preserving condition, there exists an essentially equivalent d-oid where the elements of instant structures are just names.

Type
Research Article
Copyright
Copyright © Cambridge University Press 1995

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Adámek, J., Herrlich, H. and Strecker, G. (1990) Abstract and Concrete Categories. Pure and Applied Mathematics. Wiley Interscience, New York.Google Scholar
Ancona, D., Astesiano, E. and Zucca, E. (1993) Towards a classification of inheritance relations. In: Proc. ISCORE ‘93 (International Workshop on Information Systems - Correctness and Reusability), Number 01 in Informatik-Berichte, Institut für Informatik, Hannover.Google Scholar
Astesiano, E. and Reggio, G. (1992) Algebraic specification of concurrency. In: Bidoits, M. and Choppy, C. (eds.) Recent Trends in Data Type Specification. Springer-Verlag Lecture Notes in Computer Science 655.Google Scholar
Astesiano, E. and Zucca, E. (1994) A free construction of dynamic terms. (To appear in Journal of Computer and System Sciences.)Google Scholar
Börger, E. and Rosenzweig, D. (1992) The WAM-definition and compiler correctness. Technical Report 14/92, Dipartimento di Informatica, Università di Pisa.Google Scholar
Breu, R. (1991) Algebraic Specification Techniques in Object Oriented Programming Environment. PhD thesis, Universität Passau - TU München, Berlin.CrossRefGoogle Scholar
Dauchy, P. (1992) Développement et Exploitation d’une Spécification Algébrique du Logiciel Embarqué d’un Métro. PhD thesis, Universite de Paris-Sud, Centre d’Orsay, Paris.Google Scholar
Dauchy, P. and Gaudel, M. C. (1993) Implicit state in algebraic specifications. In: Proc. ISCORE ‘93 (International Workshop on Information Systems - Correctness and Reusability), Number 01 in Informatik-Berichte, Institut für Informatik, Hannover.Google Scholar
Ganzinger, H. (1983) Denotational semantics for languages with modules. In: Bjorner, D. (ed.) IFIP - Formal Description of Programming Concepts II, North-Holland.Google Scholar
Gaudel, M. C. (1983) Correctness proof of programming language translations. In: Bjorner, D. (ed.) IFIP - Formal Description of Programming Concepts II, North-Holland.Google Scholar
Goguen, J. A. and Diaconescu, R. (1993) Towards an algebraic semantics for the object paradigm. In: Proc. ADT ‘92. Springer-Verlag Lecture Notes in Computer Science.CrossRefGoogle Scholar
Goguen, J. A. and Meseguer, J. (1987) Unifying functional, object-oriented and relational programming with logical semantics. In: Shriver, B. and Wegner, P. (eds.) Research Direction in Object-Oriented Programming, MIT Press 417–77.Google Scholar
Gurevich, Y. (1991) Evolving algebras, a tutorial introduction. Bulletin of the EATCS 43 264284.Google Scholar
Maibaum, T. S. E. and Lucena, C. J. (1980) Higher order data types. International Journal of Computer and Information Sciences 9 (1) 3153.CrossRefGoogle Scholar
McCarthy, J. (1963) A basis for a mathematical theory of computation. In: Braffort, P. and Hirschberg, D. (eds.) Computer Programming and Formal Systems, North-Holland3370.CrossRefGoogle Scholar
Wegner, P. (1987) Dimensions of object based language design. In: Proc. OOPSLA ‘87 168182.CrossRefGoogle Scholar
Wirsing, M. and Bergstra, J. A. (eds.) (1987) Algebraic Methods: Theory, Tools and Applications. Springer-Verlag Lecture Notes in Computer Science 394.Google Scholar