in child class HSS: public Alarm private: Alarm *emp; OSS Design Patterns public: HSS (Alarm *pass) emp = pass; void needHelp(int x) cout <<"In HSS Alarm module"<<endl; if (x != hss) cout <<"No help in HSS Alarm module"<<endl; emp->needHelp(1 ; cout<<"Help identified in HSS Alarm Module"<<endl class HLR: public Alarm private: Alarm *emp; public: HLR (Alarm *pass) emp = pass; void needHelp (int x) cout <<"In HLR Alarm module"<<endl; if(x != ) hlr) emp->needHelp (x) ; cout <<"No help in HLR Alarm module"<<endl cout<<"Help identified in HLR Alarm Module"<<endl; Fundamentals of EMS, NMS and OSS/BSS class General public Alarm public: General ( ) void needHelp (int x) cout "In General Alarm module" <<endl; cout<<"Help identified in General Alarm Module"<<endl void main ( ) General *gen = new General ( ) ; HLR *ana = new HLR (gen) i HSS *man = new HSS (ana) ; // Try requesting help for different values man->needHelp (2) i // Output of the responsibility program is shown in Figure 33.2. ("D:\desktop_08_09\refer\DesignPatterns\Chain_of_Responsibility\Debug\CoR.exe In HSS Alarm module No help in HSS Alarm module In HLR Alarm module Help identified in HLR Alarm Module Press any key to continue Figure 33.2 Output obtained on executing chain of responsibility program. OSS Design Patterns 33.4 Observer Design Pattern Overview: This pattern is used when an event needs to be notified to multiple observers. The typical usages of the observer pattern are: Listening for an external event (such as a user action). Listening for changes of the value of an object property. In a mailing list, where every time an event happens a message is sent to the people subscribed to the list. This design pattern is used extensively in event-driven programming. The observer pattern is also very often associated with the model-view-controller (MVC) paradigm. Example of usage in telecom management programming: Events are an important part of OSS applications. When a specific event occurs, multiple OSS modules might be interested in getting a notificat