Ringer::PreProcessing::Norm::Sqrt Node1 Ringer::PreProcessing ::Norm::Sqrt + Sqrt() + execute() - Sqrt() Node2 Ringer::PreProcessing ::IPreProcessor * execute() Node2->Node1 Node3 Ringer::IRingerProcedure + write() + ~IRingerProcedure() Node3->Node2 Node4 IRedirectMsgStream Node4->Node3 Node5 RedirectMsgStream Node5->Node1