Ringer::Discrimination::IThreshold Node1 Ringer::Discrimination ::IThreshold + execute() Node4 Ringer::Discrimination ::IThresholdVarDep + read() Node1->Node4 Node2 Ringer::IRingerProcedure + write() + ~IRingerProcedure() Node2->Node1 Node3 IRedirectMsgStream Node3->Node2