The Atlas collaboration at CERN has adopted the Gaudi software architecture
which belongs to the blackboard family: data objects produced by knowledge
sources (e.g. reconstruction modules) are posted to a common in-memory data
base from where other modules can access them and produce new data objects. The
StoreGate has been designed, based on the Atlas requirements and the experience
of other HENP systems such as Babar, CDF, CLEO, D0 and LHCB, to identify in a
simple and efficient fashion (collections of) data objects based on their type
and/or the modules which posted them to the Transient Data Store (the
blackboard). The developer also has the freedom to use her preferred key class
to uniquely identify a data object according to any other criterion. Besides
this core functionality, the StoreGate provides the developers with a powerful
interface to handle in a coherent fashion persistable references, object
lifetimes, memory management and access control policy for the data objects in
the Store. It also provides a Handle/Proxy mechanism to define and hide the
cache fault mechanism: upon request, a missing Data Object can be transparently
created and added to the Transient Store presumably retrieving it from a
persistent data-base, or even reconstructing it on demand.