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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Theoretical computer science Jg. 269; H. 1; S. 363 - 417
Hauptverfasser: Lago, Joaquı́n Mateos, Artalejo, Mario Rodrı́guez
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Amsterdam Elsevier B.V 28.10.2001
Elsevier
Schlagworte:
ISSN:0304-3975, 1879-2294
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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.
Bibliographie: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