RDBAccessSvc Node1 RDBAccessSvc + RDBAccessSvc() + initialize() + finalize() + queryInterface() + connect() + disconnect() + shutdown() + getRecordsetPtr() + getChildTag() + getChildTag() + getQuery() + getTagDetails() + getAllLeafNodes() + getLockedSupportedTags() + getSession() + interfaceID() - shutdown_connection() Node2 AthService - AthService() - AthService() - operator=() Node2->Node1 Node3 AthCommonMsg< Service > + msg() + msg() + msgLvl() Node3->Node2 Node5 IRDBAccessSvc + getRecordsetPtr() + getChildTag() + getQuery() + getTagDetails() + interfaceID() # connect() # disconnect() # shutdown() Node5->Node1 Node6 IInterface Node6->Node5 Node7 std::map< std::string, TagNameIdByNode * > Node7->Node1 -m_globalTagLookup Node13 std::mutex Node13->Node1 -m_recordsetMutex -m_sessionMutex Node14 std::map< std::string, RecordsetPtrMap > Node14->Node1 -m_recordsetptrs Node17 std::map< std::string, unsigned int > + elements Node17->Node1 -m_openConnections Node18 std::map< std::string, coral::ISessionProxy * > + elements Node18->Node1 -m_sessions