[Skip Navigation] [Remove Frame] [CS320] [Text Version] comp.objects.2.Glossary.html Sat Dec 23 07:59:40 PST 2006


    .Title Objects: Concepts and Terms

    [Snyder 93, Alan Snyder<alan.snyder@eng.sun.com>, The Essence of Objects: Concepts and Terms, IEEE Software V10n1(Jan 93)pp31-42]

    Core Concepts

  1. OBJECT_0::=Net{All objects embody an abstraction. Objects provide services. Clients issue requests. Objects are encapsulated. Requests can identify objects. New objects can be created. Operations can be generic. Objects can be classified in terms of their services. Objects can have common implementations. Objects can share partial implementations.}
  2. OBJECT_1::=
      Objects, Abstractions, Services, Clients, Requests, Implementations, Part_Implementations::Sets.
    1. embody::Objects(any)-(1)Abstarctions.
    2. provide::Objects(any)-(1)Services.
    3. issue::Clients(any)-(any)Requests.
    4. identifies::Requests(any)-(1)Objects.
    5. classification::Equivalence_relation(Objects ). classification ==> (=)mod provide.
    6. implements::Objects(any)-(any)Implementations. Part_Implementations part_of Implementations,
    7. share::(@Objects)(any)-(1)Part_implementations.

      New objects can be created. Operations can be generic. Objects are encapsulated.

    8. Classes::=Objects/classification.
    9. is_a::@(Classes,Classes)=Every object in (1st) is also a (2nd).
    10. has_a::@(Classes,Classes)=Every object of (1st) encapsulates an object of class (2nd).
    11. like_a::@(Classes,Classes)=1(1st) shares an abtration with (2nd).



    12. Object::=something that is identifiable and has a visible role in providing a service that a client can request.
    13. Client::=A user or a program.

    14. Encapsulated_0bject::=An object that can only be accessed by clients by issuing requests.

    15. Embedded_object::=An object created by wrapping an existing structure or process that is not an object within an appropriate interface.

    16. Protected_Object::=An object that restricts the ability of specific clients to request its services.

    17. Object_reference::=a value that reliably identifies a specific object

    18. Request::=a client action to cause a service to be performed and identifies an operation denoting the requested service and includes parameters which may identify object.

    19. Generic_operation::=an operation that has different implementations for different objects, with observably different behavior, but a single uniform request.

    20. Interface::=describes the ways that an object can be used. Describes a set of potential requests that identify the object as a parameter.

    21. Interface_Hierarchy::=a classification of interfaces in terms of conformance. A lattice in which higher interfaces are more general and accept requests that are also accepted by conforming objects.

    22. Type::=An identifiable entity with an associated predicate defined of values. A member of the type satisfies the associated predicate.

    23. Sub_type::=A type whose members are also members of another type that is called a super-type.

    24. Super_type::=A type some of whose members can be also members of another type called a subtype.

    25. Binding::=The process of selecting the code to perform a requested service.

    26. Dynamic_binding::=A binding made at the time the service is requested.

    27. Static_Binding::=A binding is made before the service is requested.

    28. Object_implementation::=An executable description of how to perform the set of services associated with an object plus the data associated with the object.

    29. State_Variable::=Serves as the concrete realization of the data associated with objects.

    30. Method::=A procedure that performs a service.

    31. Implementation_Inheritance::=A mechanism for creating object implementations incrementally in terms of other object implementations.

      Associated Concepts

    32. Active_objects::=objects that can initiate computation without being requested to do so by a client.

    33. Composite_objects::=objects that are formed by combining or linking together other objects so that they can be manipulated as a unit.

    34. Hot_link::=Changes in an object linked into a composite object is reflected in the composite object.

    35. Event_notification::=A client can register interest in an event or condition occurring in an object and be notified when it occurs.

    36. Event_driven_control_structure::=A program structure with a top-level loop that waits for events and dispatches them to appropriate handlers.

    37. Presentation_semantic_split::=Using separate objects to represent meaning in abstract and to display information to the user. There can be many ways to display one meaning.

    38. Relationships::=Information that is associated with multiple objects not with individual objects.

      Classical vs Generalized Model.

    39. Classical_model_of_objects::=A request has a parameter that identifies the object that provides the service.

      Other useful terms

    40. Persistance::=The property of an object through which its existance trancends time (i.e. the object continues to exist after its creator ceases to exist) and/or space (i.e. the object's location moves from the address space in which it was created). [Booch 91, p70]