next up previous contents
Next: Modules Up: Shore Data Language Reference Manual Previous: Grammatical Conventions

 

Objects and Values

All persistent state in Shore is encapsulated in objects. An object has attributes, which define its persistent state, operations, which may change its state and/or return information about its current state, and relationships, which determine how it is related to other objects. An object also has a unique identity; that is, modifying the state of an object is different from creating a new object with the new state. Objects do not nest. Although a particular application may define a "part-subpart" relationship between two objects, each object has an independent identity and lifetime. A value is a unit of stored state. In contrast with objects, values may be nested but do not have independent identities. The state of an object is a value, as is the state of each attribute of the object and each component of a structured value.

Each object has a fixed-size core and an optional variable-size extension. The structure of the core is defined by an interface definition in SDL. The extension supports variable-sized strings and sequences. The user can also use the extension as a storage pool to allocate values dynamically and link them to the core and to each other with local references (lrefs) which are converted to pointers (memory addresses) when they are brought into memory.


next up previous contents
Next: Modules Up: Shore Data Language Reference Manual Previous: Grammatical Conventions
This page was generated from LaTeX sources
10/27/1997