ns based on events. The EDA can be used to create event rule engines in NMS. The rule engines are programmed to respond with a specific action for an event or set of events. For example, when the event rule engine on the NMS receives a log from a network element stating failure of a service module during a software upgrade, then the event engine can trigger an action command that will cause the software upgrade operation to seize and fall back to the previous version or another action command will be issued to send a mail to the concerned network administrator to handle the problem. The basic techniques used for implementing EDA include simple, stream, and complex event processing to provide event abstraction, aggregation, or triggering corrective actions. In simple event processing, an event is programmed to initiate downstream action(s). This is implemented as simple conditions involving an action triggered whenever an event occurs. In stream event processing, events are screened What Is NMS? for notability and streamed to information subscribers. In complex event processing (CEP), events are monitored over a long period of time and actions triggered based on sophisticated event interpreters, event pattern definition and matching, and cor- relation techniques. An example of complex event processing in the event engine of NMS would involve the number of times a particular log that is issued when a trunk in a trunk group goes down, occurs over a time of one week, and generating a log or triggering a mail to network administrator at the end of one week showing those trunks in the trunk group going down more often than the others. Next we have service oriented architecture. In SOA, data and functionality are exposed as reusable services described using a standards based format. A ser- vice refers to a modular, self-sufficient piece that performs a specific functionality expressed in abstract terms independent of the underlying implementation. Using SOA in NMS would involve developing the function blocks in manageme