The Web Graph Database

wiki:ForwardReference

Term: ForwardReference

A fully functional MeshObject in InfoGrid that nevertheless acts as a "placeholder" for a Replica that has not arrived yet in the local NetMeshBase. ForwardReferences are most typically instantiated in Probes.

The term ForwardReference comes from the domain of compiler construction: in some languages, such as C++, program code can refer to symbols that have not been fully defined yet but about which some things are known already (e.g. "abc will be a class, be we don't know yet which fields it will have").

Similarly, when creating a ForwardReference in InfoGrid, the application developer specifies what is known about the MeshObject, such as some or all of its types and where the real underlying MeshObject is to be found. The ForwardReference will be transparently replaced by the real Replica as soon as it has been obtained via XPRISO, for example from a ShadowMeshBase accessing a Probe.

Unlike for other MeshObjects, ForwardReferences may be blessed with abstract EntityTypes, with the expectation that once resolved, the resolved MeshObject will be blessed with a concrete subtype of the abstract EntityType.

Example: When a Web browser parses an HTML file, it may encounter an image tag with a particular source URL. Depending on the attributes given, the web browser may or may now know the MIME type of the referenced image, or its size. While the image has not been loaded yet, in InfoGrid terms, the web browser represents the image tag as ForwardReference that is blessed with an abstract image type. When later, the image has been loaded, the ForwardReference is replaced with that actual MeshObject carrying the specific EntityType and the specific attribute values that were not known yet earlier. InfoGrid generalizes this delayed-loading approach to arbitrary data objects whose types are becoming gradually known.

See also:

Last modified 5 years ago Last modified on 01/19/10 04:13:06