Ringer::IRingerProcedure Node1 Ringer::IRingerProcedure + write() + ~IRingerProcedure() Node3 Ringer::Discrimination ::IDiscriminator + execute() Node1->Node3 Node5 Ringer::Discrimination ::IThreshold + execute() Node1->Node5 Node7 Ringer::PreProcessing ::IPreProcessor * execute() Node1->Node7 Node2 IRedirectMsgStream Node2->Node1 Node4 Ringer::Discrimination ::IDiscriminatorVarDep + read() Node3->Node4 Node6 Ringer::Discrimination ::IThresholdVarDep + read() Node5->Node6 Node8 Ringer::PreProcessing ::IPreProcessorVarDep + read() Node7->Node8 Node18 Ringer::PreProcessing ::Norm::ConstantValue - m_constantInv + ConstantValue() + ConstantValue() + execute() - ConstantValue() Node7->Node18