HeadQuarter architecture overview
Real world objects defined by the application share information by assembling data from several subsystems.
Each subsystem stores its facettes in a way that is most appropriate to the problem space. The location subsystem e.g. might apply a spatially indexed structure. Additionally, the strategies or even the protocols used to distribute information over the network are defined by the subsystem itself.
This makes it possible to apply the optimal treatment.
In contrast to other distributed environments, different applications may assemble different sets of facettes to implement its specific view to an object. E.g. a 'radar screen' application might only be interested in the location subsystem. Object type, name, health etc. are of no relevance. Additionally it might no be interested in a certain object but need to enumerate all in a given spatial area. That is a task the location subsystem can perform.
An identity is everything suitable to uniquely identify an object in a certain context. It may be a plain name, a ID, a database query, a network host, a URL.
Identity is one of the key HeadQuarter concepts!