Object Acquaintance Selection and Binding

Document type: Journal Articles
Article type: Original article
Peer reviewed: Yes
Author(s): Jan Bosch
Title: Object Acquaintance Selection and Binding
Journal: Theory and Practice of Object Systems
Year: 1998
Volume: 4
Issue: 3
ISSN: 1074-3227
Publisher: Wiley
City: 151-68
ISI number: 000075432300002
Organization: Blekinge Institute of Technology
Department: Dept. of Computer Science and Business Administration (Institutionen för datavetenskap och ekonomi)
*** Error ***
+46 455 780 00
*** Error ***
Authors e-mail: jan.bosch@ide.hk-r.se
Language: English
Abstract: Large object-oriented systems have at least four characteristics that complicate object communication: the system is distributed, it contains large numbers of objects, objects need to be reallocated at run-time, and objects can be replaced by other objects in order to adapt to the dynamic changes in the system. Traditional object communication is based on sending a message to a receiver object known to the sender of the message. At linking or instantiation time, an object establishes its acquaintances through name/class-based binding and uses these objects throughout its lifetime. If this is too rigid, the software engineer has to implement the binding of objects manually using pointers. We found the traditional acquaintance communication semantics to be too limited, and we identified several problems related to the reusability of objects and selection mechanisms, understandability and expressiveness. It is important to separate a class or object's requirements on its acquaintances from the way an object selects and binds its acquaintances in actual systems. We studied the necessary expressiveness for acquaintance handling and identified four relevant aspects: type and duration of binding, conditions for binding, number of selected objects, and selection region for binding. To implement these aspects, we defined acquaintance layers as part of the layered object model. Acquaintance layers uniformly extend the traditional OO acquaintance handling semantics and allow for the first-class representation of acquaintance selection and binding, thereby increasing traceability and reusability
Subject: Software Engineering\General