Service model event classes

The service model implements event structures. These event structures are in the form of BAROC event classes. The file containing the root class definitions, mc_sm_root.baroc, is in the installationDirectory\pw\server\etc\cellName\kb directory.

CORE_EVENT base class

CORE_EVENT is the base class for all Infrastructure Management event classes. This base class is defined in mc_root_internal.baroc file, and extended in the mc_root_redef.baroc file. It is not specific to the service model, but it includes slots specifically for service impact management functionality.

CORE_EVENT partial data class definition

The following figure shows the Infrastructure Management-related definition of the class. For a complete description of all event class slots, see CORE_EVENT base event class.

Partial CORE_EVENT definition

MC_EV_CLASS : 
   CORE_EVENT
   DEFINES {
      event_handle : INTEGER, parse = no, read_only = yes;
      mc_ueid : STRING, read_only = yes;
      mc_client_address : STRING, parse = no;
      adapter_host : STRING;
      mc_location : STRING;
      mc_service : STRING;
      mc_host_class : STRING; mc_host : STRING;
      mc_host_address : STRING;
      mc_host_id : INTEGER, hidden = yes;
      mc_account : STRING;
      mc_object_class : STRING;
      mc_object : STRING;
      mc_object_uri : STRING;
      mc_object_owner : STRING;
      mc_tool_class : STRING;
      mc_tool : STRING;
      mc_tool_id : STRING;
      mc_tool_rule : STRING;
      mc_tool_key : STRING;
      mc_tool_sev : STRING;
      mc_tool_address : STRING;
      mc_tool_uri : STRING;
      mc_tool_time : INTEGER, representation = date;
      mc_tool_suggestion : STRING;
      mc_origin_class : STRING;
      mc_origin : STRING;
      mc_origin_key : STRING;
      mc_origin_sev : STRING;
      mc_parameter : STRING;
      mc_parameter_value : STRING;
      mc_parameter_unit : STRING;
      mc_parameter_threshold : STRING;
      mc_event_category : MC_EVENT_CATEGORY;
      mc_event_subcategory : MC_EVENT_SUBCATEGORY, default=OTHER;
      mc_event_model_version : STRING, default = '1.1.00';
      mc_incident_time : INTEGER, representation = date;
      mc_incident_report_time : INTEGER, representation = date;
      mc_arrival_time : INTEGER, representation = date;
      mc_local_reception_time : INTEGER, representation = date;
      date_reception : INTEGER, representation = date;
      date : STRING, hidden=yes;
      status : STATUS, default = OPEN;
      severity : SEVERITY, default = WARNING;
      mc_original_severity : SEVERITY, parse = no;
      mc_priority : MC_PRIORITY, default = PRIORITY_5;
      mc_original_priority : MC_PRIORITY, parse = no;
      mc_owner : STRING;
      mc_long_msg : STRING;
      msg : STRING;
      duration : INTEGER, parse = no;mc_timeout : INTEGER;
      repeat_count : INTEGER;
      mc_action_count : INTEGER;
      administrator : STRING;
      mc_acl : LIST_OF STRING, parse = no;
      mc_date_modification : INTEGER, representation = date;
      mc_notes : LIST_OF STRING, hidden = yes;
      mc_operations : LIST_OF STRING, hidden = yes;
      mc_notification_history : LIST_OF STRING, hidden = yes;
      mc_bad_slot_names : LIST_OF STRING;
      mc_bad_slot_values : LIST_OF STRING;
      mc_history : LIST_OF STRING, hidden = yes;
      mc_modhist : LIST_OF STRING, hidden = yes;
      mc_propagations : LIST_OF STRING, parse = no;
      mc_collectors : LIST_OF STRING, parse = no, hidden = yes;
      mc_abstraction : LIST_OF INTEGER, parse = no, hidden = yes;
      mc_abstracted : LIST_OF INTEGER, parse = no, hidden = yes;
      mc_associations : LIST_OF STRING, parse = no, hidden = yes;
      mc_cause : INTEGER, parse = no, hidden = yes;
      mc_effects : LIST_OF INTEGER, parse = no, hidden = yes;
      mc_event_relations : LIST_OF STRING, parse = no, hidden = yes;
      mc_relation_source : STRING;
mc_smc_id : STRING;
      mc_smc_alias : STRING;
      mc_smc_impact : MC_SMC_IMPACT, default=NOT_ELECTED;
      mc_smc_type : STRING;
      mc_smc_priority : REAL, parse=no, read_only=yes;
      mc_smc_causes : LIST_OF STRING, parse = no, hidden=yes;
      mc_smc_effects : LIST_OF STRING, parse = no, hidden=yes;
      itsm_category : STRING;
      itsm_type : STRING;
      itsm_item : STRING;
      itsm_product_name : STRING;
      itsm_model_version : STRING;
      itsm_manufacturer : STRING;
      itsm_operational_category1 : STRING;
      itsm_operational_category2 : STRING;
      itsm_operational_category3 : STRING;
      itsm_company : STRING;
      itsm_location : STRING;
      pn_detail_diag : INTEGER, hidden = yes;
      pn_detail_diag_count : INTEGER, hidden = yes;
      pn_device_name : STRING;
   };

CORE_EVENT slots

The CORE_EVENT slots are listed in CORE_EVENT base event class.

Root event class

The MC_SMC_ROOT event class is used to isolate the service management events from the other branches of the event hierarchy and, more specifically, to distinguish among the events associated with a component, those which come from the outside, and those which have been generated internally.

The following figure shows the BAROC definition of the MC_SMC_ROOT class, which is located in the mc_sm_root.baroc file.

MC_SMC_ROOT definition

MC_EV_CLASS : 
MC_SMC_ROOT ISA EVENT;
END

The service model root event class branches into two subclasses: a history event class and an impact event class.

History event class

The history event class, SMC_STATE_CHANGE, is an internal event class used to trace the status changes of components.

The following figure shows the BAROC definition of the SMC_STATE_CHANGE class, which is located in the state.change.baroc file.

SMC_STATE_CHANGE definition

MC_EV_CLASS:
SMC_STATE_CHANGE ISA EVENT DEFINES
{
mc_smc_id: STRING, dup_detect=yes;
smc_status: SIM_NOTIFICATION_STATUS;
smc_previous_status: SIM_NOTIFICATION_STATUS;
msg: default='A Service Management Component status has changed';
mc_smc_impact: default=NON_ELECTABLE;
};
END

Events of class SMC_STATE_CHANGE are automatically generated and associated with their component by the cell. As history events, they are not used in the status computation process.

Impact event class

The MC_SMC_EVENT internal event class must be used as the abstract class when abstracting raw events into service model events. The BAROC definition of the class follows.

The following figure shows the BAROC definition of the MC_SMC_EVENT class, which is located in the mc_sm_root.baroc file.

MC_SMC_EVENT definition

MC_EV_CLASS:
MC_SMC_EVENT ISA MC_CELL_EVENT DEFINES
{
mc_smc_impact: MC_SMC_IMPACT, default = ELECTED;
component_sub_type: STRING;
component_name: STRING;
};
END

Events of class MC_SMC_EVENT, or any custom subclass of that class, are not used in the status computation process.

Was this page helpful? Yes No Submitting... Thank you

Comments