A declarative framework for object-oriented programming with genetic inheritance

Seeking the integration of the object-oriented and declarative programming paradigms offers advantages for the software life-cycle activities. Specification is benefited from using declarative expressions as functional descriptions of components, enjoying formal semantic models. But the integration...

Full description

Saved in:
Bibliographic Details
Published in:Theoretical computer science Vol. 269; no. 1; pp. 363 - 417
Main Authors: Lago, Joaquı́n Mateos, Artalejo, Mario Rodrı́guez
Format: Journal Article
Language:English
Published: Amsterdam Elsevier B.V 28.10.2001
Elsevier
Subjects:
ISSN:0304-3975, 1879-2294
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Seeking the integration of the object-oriented and declarative programming paradigms offers advantages for the software life-cycle activities. Specification is benefited from using declarative expressions as functional descriptions of components, enjoying formal semantic models. But the integration of both paradigms, object-oriented and declarative, following a translation scheme sets an unavoidable representation distance. Classes, inheritance, attributes and methods are codified with abstract elements, thus not being primitive. This work aims to offer a declarative formal model where the main features of object-oriented programming are nuclear, focusing in an algebraic formalization of purely functional objects. Substantially extending (Mateos-Lago and Rodrı́guez-Artalejo, PLILP’96, Lecture Notes in Computer Science, Vol. 1140, Springer, Berlin, 1996, pp. 62–76), we include operations to homogeneously model methods and class-external functions. Multiple inheritance is supported and extended with genetic inheritance and expressions are flexibly typed using genome typing. Following (González-Moreno et al., J. Logic Programming 40(1) (1999) 47), we use a rewriting logic as a technical tool that helps to formalize the semantics based on continuous algebras (Goguen et al., J. ACM 24(1) (1977) 68), and we show initiality with the existence of a distinguished model for program semantics.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0304-3975
1879-2294
DOI:10.1016/S0304-3975(01)00013-5