The term object graph refers to a graph of object references; an edge LabelledDirectedGraph
. In an object oriented system, each component exports a singly-rooted object graph and all operations performed by a component are modeled as message sends starting from its root.
Of course, an object graph is a NameSpace
and so must follow the namespace ideals in order to be comprehensible to human beings.
An object graph may have any number of additional features built into its fabric. For instance, edges may keep track of their history; when they were created, when they were last traversed, and so on. In an orthogonally secure system, object graphs have built in security features such as PermissionFlags
at every edge.
In a coherent, uniform system, the object graph doesn't refer to what's exported by any particular component of the system. Rather, since components are bound together in a way indistinguishable from objects within a particular component, THE object graph refers to the entirety of all objects within the system.
In a distributed system, the object graph refers to the entirety of all objects in the informational universe.
calls for a unique global object graph stretching from machine to machine across the planet, all parts of it navigable by sufficiently privileged users.
See also OperatingSystemsDesign