Show simple item record

Transmigration of Object Identity

dc.contributor.advisorCremers, Armin B.
dc.contributor.authorCostanza, Pascal
dc.date.accessioned2020-04-06T21:43:58Z
dc.date.available2020-04-06T21:43:58Z
dc.date.issued2004
dc.identifier.urihttp://hdl.handle.net/20.500.11811/2097
dc.description.abstractThe object-oriented paradigm is one of the central programming paradigms of our time. The following description is a generally accepted characterization of that paradigm: “An object has state, behavior, and identity”. The concept of object identity plays an important role here insofar it is the only characteristic element that is not available in purely declarative programming languages without further effort. Purely declarative languages also incorporate behavior via functions or rules, and state via immutable values that are passed around to such functions and rules. Objects localize state and behavior, and the single means to access state and behavior of objects are their identity. In other words, the major achievement of objectoriented programming languages is to provide constructs for unambiguously mapping object identities to storage locations and procedures that act on those storage locations. Early discussions of the notion of object identity have found strong connections between changes of state and equality predicates for objects. Object identity lies at the center of such discussions: when the state of an object is changed by way of its identity the new state is (re)observable via that same identity; when the same object identity is stored in two different variables it is always the same state that is observable via those variables. Later on, various authors have implicitly or explicitly kept that same basic idea.
Now, this thesis shows that an alternative perception of object identity is possible when an analysis starts from a description of the usage scenarios for object identity. These are reference on the one hand – an object is able to refer to other objects – and comparison on the other hand – two variables may refer to the same or to different objects. These usage scenarios can be separated both on the conceptual level of an object model as well as on the practical level of the implementation of a programming language and run-time environment. From this modified view on object identity new operations can be derived. Especially dynamic object replacement is probably the most intriguing operation that is enabled by the approach taken in this thesis. This operation has the potential to address usage scenarios from the emerging field of unanticipated software evolution. This shows that this thesis is not only of a theoretical nature but also gives insight into possible practical applications. Still, the traditional notion of object identity is kept as a special case of the broader conceptual framework presented in this thesis.
This thesis presents a historical perspective on the concept of object identity by illustrating central notions through summaries of seminal publications on the topic. It then develops the essential ingredients of the Gilgul model – one of the important results of this thesis – and demonstrates these ingredients as extensions of the Java programming language. Furthermore, the intricacies of the replacement of active objects are analyzed – objects with methods executing at the time of their replacement – and extensions of the Gilgul language are presented that help to deal with these intricacies. Finally, the implementation of the Gilgul language and run-time environment are discussed and evaluated, and usage examples are given.
dc.language.isoeng
dc.rightsIn Copyright
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/
dc.subjectProgrammiersprachen
dc.subjectObjektorientierte Programmierung
dc.subjectProgrammevolution
dc.subjectEntwurfsmuster
dc.subjectProgramming Languages
dc.subjectLanguage Constructs and Features
dc.subjectObject-Oriented Programming
dc.subjectSoftware Evolution
dc.subjectDesign Patterns
dc.subject.ddc004 Informatik
dc.titleTransmigration of Object Identity
dc.typeDissertation oder Habilitation
dc.publisher.nameUniversitäts- und Landesbibliothek Bonn
dc.publisher.locationBonn
dc.rights.accessRightsopenAccess
dc.identifier.urnhttps://nbn-resolving.org/urn:nbn:de:hbz:5N-04417
ulbbn.pubtypeErstveröffentlichung
ulbbnediss.affiliation.nameRheinische Friedrich-Wilhelms-Universität Bonn
ulbbnediss.affiliation.locationBonn
ulbbnediss.thesis.levelDissertation
ulbbnediss.dissID441
ulbbnediss.date.accepted2004-12-02
ulbbnediss.fakultaetMathematisch-Naturwissenschaftliche Fakultät
dc.contributor.coRefereeSzyperski, Clemens A.


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

The following license files are associated with this item:

InCopyright