asg::IUnitTestService1 Node1 asg::IUnitTestService1 + DeclareInterfaceID() + getPropertyString() + getPropertyInt() + setPropertyInt() + isInitialized() Node4 asg::UnitTestService1 + m_isInitialized + m_propertyString + m_propertyInt + m_initializeFail + UnitTestService1() + ~UnitTestService1() + initialize() + getPropertyString() + getPropertyInt() + setPropertyInt() + isInitialized() + instance_counts() Node1->Node4 Node2 asg::IAsgService + print() Node2->Node1 Node3 INamedInterface Node3->Node2