asg::UnitTestService1 Node1 asg::UnitTestService1 + m_isInitialized + m_propertyString + m_propertyInt + m_initializeFail + UnitTestService1() + ~UnitTestService1() + initialize() + getPropertyString() + getPropertyInt() + setPropertyInt() + isInitialized() + instance_counts() Node2 asg::IUnitTestService1 + DeclareInterfaceID() + getPropertyString() + getPropertyInt() + setPropertyInt() + isInitialized() Node2->Node1 Node3 asg::IAsgService + print() Node3->Node2 Node5 asg::AsgService - m_interfaces + AsgService() + print() + declareServiceInterface() + queryInterface() * initialize() * finalize() Node3->Node5 Node4 INamedInterface Node4->Node3 Node5->Node1 Node6 AsgServiceBase - AthService() - AthService() - operator=() Node6->Node5 Node7 AthCommonMsg< Service > + msg() + msg() + msgLvl() Node7->Node6 Node8 Service Node8->Node7