-- Copyright 12/05/03 Sun Microsystems, Inc. All rights reserved.
-- @(#)nc.gdmo	2.32 03/12/05 Sun Microsystems

-- Portions of this product are derived from the DiMONS 3G software licensed
-- from Netlabs, Inc.
--
-- Copyright 1990, 1991, 1992, 1993 NetLabs, Incorporated, 4920 El Camino Real,
-- Los Altos, CA 94022, USA.
--
--                       ALL RIGHTS RESERVED
--
-- This software, and the ideas, mechanisms and algorithms expressed
-- therein, is the intellectual and material property of NetLabs,
-- Incorporated, and is provided for use under applicable license agreement
-- only.  No title to or ownership of the software is hereby transferred.
-- No license to copy, modify, distribute, translate, decompile, reverse
-- engineer or otherwise remanufacture this software except under the above
-- license is granted.
--
--  Notice:  Notwithstanding any other lease or license that may pertain to,
--  or accompany the delivery of, this computer software, the rights of the
--  Government regarding its use, reproduction and disclosure are as set
--  forth in Section 52.227-19 of the FARS Computer Software-Restricted
--  Rights clause.
--
--  (c) Copyright 1990, 1991, 1992, 1993 NetLabs, Inc.  Unpublished - all
--  rights reserved under the Copyright laws of the United States.
--
--  RESTRICTED RIGHTS NOTICE:  Use, duplication, or disclosure by the
--  Government is subject to the restrictions as set forth in subparagraph
--  (c)(1)(ii) of the Rights in Technical Data and Computer Software clause
--  at DFARS 52.227-7013.
--
--  NetLabs, Inc.
--  4920 El Camino Real
--  Los Altos, CA 94022
--  (415)961-9500
--
--  RESTRICTED RIGHTS LEGEND:  This computer software is submitted with
--  restricted rights.  Use, duplication or disclosure is subject to the
--  restrictions as set forth in NASA FAR SUP 18-52.227-79 (April 1985)
--  Commercial Computer Software- Restricted Rights (April 1985). NetLabs,
--  Inc., 4920 El Camino Real, Los Altos, CA  94022.  If the contract
--  contains the Clause at 18-52.227-74 "Rights in Data General" then the
--  "Alternate III" clause applies.
-- Document "EM Nerve Center"
MODULE "EM Nerve Center"

-- Object classes

containerObject MANAGED OBJECT CLASS
	DERIVED FROM "EM NCMI" : namedObject;
	REGISTERED AS { em-nc-objectClass 1 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 3 1 };

nerveCenterSummary MANAGED OBJECT CLASS
	DERIVED FROM "EM NCMI" : namedObject;
	REGISTERED AS { em-nc-objectClass 2 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 3 2 };

minigerDef MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		minigerDefPackage;
	REGISTERED AS { em-nc-objectClass 3 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 3 3 };

minigerDefPackage PACKAGE
	BEHAVIOUR minigerDefDefinition BEHAVIOUR DEFINED AS
		!The managed object represents a condition to be
		evaluated in the frame work of the nerve center.
		The pollRateName represents the default poll rate
		for minigers using this definition.!;
	;
	ATTRIBUTES
		minigerDefName GET,
		minigerDefDesc GET-REPLACE,
		minigerDefStates GET-REPLACE ADD-REMOVE,
		minigerDefTrans GET-REPLACE ADD-REMOVE
	;
;

condition MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		conditionPackage;
	REGISTERED AS { em-nc-objectClass 10 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 3 10 };

conditionPackage PACKAGE
	BEHAVIOUR conditionDefinition BEHAVIOUR DEFINED AS
		!The managed object represents a condition to be
		evaluated in the frame work of the nerve center.!;
	;
	ATTRIBUTES
		conditionName GET,
		conditionDesc GET-REPLACE,
		conditionExpression GET-REPLACE;
	;

minigerImplementation MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		minigerImplementationPackage;
	REGISTERED AS { em-nc-objectClass 11 };

minigerImplementationPackage PACKAGE
    BEHAVIOUR minigerImplementationDefinition BEHAVIOUR DEFINED AS
		!The managed object represents a condition to be
		evaluated in the frame work of the nerve center.
		Attribute defaultPollInterval is the default poll interval.!;
    ;
    ATTRIBUTES
		minigerName				GET,
		defInstance				GET,
		defaultPollInterval
			DEFAULT VALUE EM-NC-ASN1.defaultPollRate
			GET,
		"Rec. X.721 | ISO/IEC 10165-2 : 1992":operationalState
			DEFAULT VALUE EM-NC-ASN1.defaultOperationalState
			GET,
		"Rec. X.721 | ISO/IEC 10165-2 : 1992":administrativeState
			DEFAULT VALUE FORUM-ASN1-4.defaultAdministrativeState
			GET-REPLACE,
		minigerImplementationInfo		GET,
		requestInfoList
			DEFAULT VALUE EM-NC-ASN1.defaultRequestInfoList
			GET-REPLACE
			ADD-REMOVE
    ;
    ACTIONS
	createNCRequests,
	deleteNCRequests,
	getNCRequestList,
	getNCRequestsRuntimeInfo
    ;
;

-- nerveCenterOC MANAGED OBJECT CLASS
-- 	DERIVED FROM "EM NCMI" : namedObject;
-- 	REGISTERED AS { em-nc-objectClass 12 };

pollRate MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		pollRatePackage;
	REGISTERED AS { em-nc-objectClass 13 };

pollRatePackage PACKAGE
	BEHAVIOUR pollRateDefinition BEHAVIOUR DEFINED AS
		!The managed object represents a pollRate.!;
	;
	ATTRIBUTES
		pollRateName GET,
		pollInterval GET-REPLACE;
		-- Additional attributes such as max and min interval
		-- type of service can be added here.
	;

summary MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		summaryPackage;
	REGISTERED AS { em-nc-objectClass 14 };

summaryPackage PACKAGE
	BEHAVIOUR summaryDefinition BEHAVIOUR DEFINED AS
		!An arbitraty set of attributes that nerve center
		objects can inherit.  The basic nature of the summary
		is that it describes objects by associating a state
		with the object.  Each state has an associated
		description, and states are constricted to a specified
		range.  Initially these states will not have
		conditions/actions associated with them.  Actions
		associated these state changes will be added in future
		releases.

		Therefore a summary is a set of states with the
		following limitations: the states are consecutive
		integer values, this set of consecutive integer values
		is composed of named sub ranges.

		It might also be desirable for summaries to be
		real numbers.  With real numbers named summaries can serve
		as beginning and end points, named ranges, and as separators.
		Beginning points, end points and separators can be modeled as
		null ranges.  The main logical difference being what kinds of
		questions are asked i.e. is value in range X-Y vs. is value
		less than point X.!;
	;
	ATTRIBUTES
		summaryName GET,
		summaryDesc GET,
		summaryLowValue GET,
		summaryHighValue GET,
		summaryRanges GET-REPLACE ADD-REMOVE,
		summaryTrans GET-REPLACE ADD-REMOVE;
	;

severity MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		severityPackage;
	REGISTERED AS { em-nc-objectClass 15 };

severityPackage PACKAGE
	BEHAVIOUR severityDefinition BEHAVIOUR DEFINED AS
		!The managed object represents a severity.!;
	;
	ATTRIBUTES
		severityName GET,
		severityValue GET,
		severityColor GET;
	;

nerveCenterAnnotation MANAGED OBJECT CLASS
	DERIVED FROM "EM Annotation" : annotation;
	CHARACTERIZED BY
		nerveCenterAnnotationPackage;
	REGISTERED AS { em-nc-objectClass 16 };

nerveCenterAnnotationPackage PACKAGE
	BEHAVIOUR nerveCenterAnnotationPackageDefinition BEHAVIOUR DEFINED AS
		!This managed object allows an application to store
		in the common network model database arbitrary annotation
		data about a managed object.  Classes derived from
		this class will have additional attributes/behaviours
		that comprise the annotation.!;
	;
	ATTRIBUTES
		nerveCenterAnnotationInfo GET-REPLACE ADD-REMOVE;
	;

actionTemplate MANAGED OBJECT CLASS
	DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992" : top;
	CHARACTERIZED BY
		actionTemplatePackage;
	REGISTERED AS { em-nc-objectClass 17 };

actionTemplatePackage PACKAGE
	BEHAVIOUR actionTemplateDefinition BEHAVIOUR DEFINED AS
		!The managed object represents an actionTemplate.!;
	;
	ATTRIBUTES
		actionTemplateName GET,
		actionTemplateDesc GET,
		actionTemplateUsage GET,
		actionTemplateFormats GET,
		actionTemplateManager GET;
	;

nerveCenterAlarmRecord      MANAGED  OBJECT  CLASS
--	DERIVED FROM   "Rec. X.721 | ISO/IEC 10165-2 : 1992" : eventLogRecord;
-- Abhay
	DERIVED FROM   "EM-ALARM" : emAlarmRecord;
	CHARACTERIZED BY
                nerveCenterAlarmRecordPackage      PACKAGE
                BEHAVIOUR
                nerveCenterAlarmRecordBehaviour    BEHAVIOUR
                DEFINED AS  "This managed object is used to represent
			an alarm/event posted by a request template
			builder in a condition.";;
		ATTRIBUTES
			mosiSeverity GET,
			mosiStateID GET;;;
	REGISTERED AS { em-nc-objectClass 111 };

-- Name Bindings

containerObject-emApplicationDatabase NAME BINDING
	SUBORDINATE OBJECT CLASS containerObject AND SUBCLASSES;
	NAMED BY
	SUPERIOR OBJECT CLASS "EM GMI":emApplicationDatabase;
	WITH ATTRIBUTE "EM NCMI":em-name;
	BEHAVIOUR containerObject-emApplicationDatabaseBehaviour BEHAVIOUR DEFINED AS
		!This name binding is used to create containerObjects
		which are used as the container for Nerve Center objects.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 1 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 1 };

containerObject-emKernel NAME BINDING
	SUBORDINATE OBJECT CLASS containerObject AND SUBCLASSES;
	NAMED BY
	SUPERIOR OBJECT CLASS "EM GMI":emKernel;
	WITH ATTRIBUTE "EM NCMI":em-name;
	BEHAVIOUR containerObject-emKernelBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding is used to create containerObjects
		which are used as the container for minigerImplementation
		objects.!;
	;
	CREATE;
--	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 2 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 2 };

nerveCenterSummary-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS nerveCenterSummary;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE "EM NCMI":em-name;
	BEHAVIOUR nerveCenterSummary-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create nickname lists of managed objects.!;
	;
	CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 3 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 3 };

minigerDef-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS minigerDef;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE minigerDefName;
	BEHAVIOUR minigerDef-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create nickname lists of managed objects.!;
	;
	CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 4 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 4 };

minigerImplementation-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS minigerImplementation;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE minigerName;
	BEHAVIOUR minigerImplementation-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding defines relatoionship of
		minigerImplementations to containters.!;
	;
	CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
	DELETE DELETES-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 8 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 8 };

condition-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS condition;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE conditionName;
	BEHAVIOUR condition-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding defines the location of the
		condition objects.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 9 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 6 9 };

--nerveCenterOC-root NAME BINDING
--	SUBORDINATE OBJECT CLASS nerveCenterOC AND SUBCLASSES;
--	NAMED BY
--	SUPERIOR OBJECT CLASS "Rec. X.660 | ISO/IEC 9834-1 : 1992":root;
--	WITH ATTRIBUTE "EM NCMI":em-name;
--	BEHAVIOUR nerveCenterOC-rootBehaviour BEHAVIOUR DEFINED AS
--		!This name binding allows an application to find a specific
--		nerveCenterOC instance.!;
--	;
--	CREATE;
--	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
--	REGISTERED AS { em-nc-binding 10 };

pollRate-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS pollRate;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE pollRateName;
	BEHAVIOUR pollRate-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create new pollRates.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 12 };

severity-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS severity;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE severityName;
	BEHAVIOUR severity-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create new severities.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 13 };

summary-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS summary;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE summaryName;
	BEHAVIOUR summary-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create new summaries.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 14 };

actionTemplate-containerObject NAME BINDING
	SUBORDINATE OBJECT CLASS actionTemplate;
	NAMED BY
	SUPERIOR OBJECT CLASS containerObject;
	WITH ATTRIBUTE actionTemplateName;
	BEHAVIOUR actionTemplate-containerObjectBehaviour
		BEHAVIOUR DEFINED AS
		!This name binding allows EM applications to
		create new severities.!;
	;
	CREATE;
	DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
	REGISTERED AS { em-nc-binding 15 };

-- Attributes

minigerDefName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerDefName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerDefNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the minigerDef.!;
	;
	REGISTERED AS { em-nc-attribute 3 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 7 3 };

minigerDefDesc ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerDefDesc;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerDefDescBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the minigerDef.!;
	;
	REGISTERED AS { em-nc-attribute 4 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 7 4 };

minigerDefStates ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerDefStates;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerDefStatesBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the minigerDef.!;
	;
	REGISTERED AS { em-nc-attribute 5 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 7 5 };

minigerDefTrans ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerDefTrans;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerDefTransBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the minigerDef.!;
	;
	REGISTERED AS { em-nc-attribute 6 };

minigerName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the miniger.!;
	;
	REGISTERED AS { em-nc-attribute 8 };

minigerImplementationInfo ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MinigerImplementationInfo;
	MATCHES FOR EQUALITY;
	BEHAVIOUR minigerImplementationInfoBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the miniger.!;
	;
	REGISTERED AS { em-nc-attribute 11 };

requestInfoList ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.RequestInfoList;
	MATCHES FOR EQUALITY;
	BEHAVIOUR requestInfoListBehavior BEHAVIOUR DEFINED AS
		!This attribute contains the info about the requests: requestHandle and
		Mosi OI pairs.!;
	;
	REGISTERED AS { em-nc-attribute 18 };

defaultPollInterval ATTRIBUTE
    WITH ATTRIBUTE SYNTAX EM-NC-ASN1.PollRateName;
    MATCHES FOR EQUALITY;
    BEHAVIOUR defaultPollIntervalBehaviour BEHAVIOUR DEFINED AS
        !This attribute contains the default poll Interval.!;
    ;
    REGISTERED AS { em-nc-attribute 12 };

defInstance ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.DefInstance;
	MATCHES FOR EQUALITY;
	BEHAVIOUR defInstanceBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the object instance of the
		annotation datebase.!;
	;
	REGISTERED AS { em-nc-attribute 14 };

createNCRequests ACTION
	BEHAVIOUR createNCRequestsBehavior BEHAVIOUR DEFINED AS
		!This action allows one to create one or more NC requests !;
	;
    MODE CONFIRMED;
	WITH INFORMATION SYNTAX EM-NC-ASN1.CreateNCRequestsActionArg;
	WITH REPLY SYNTAX EM-NC-ASN1.CreateNCRequestsActionReply;
	REGISTERED AS { em-nc-action 2 };

deleteNCRequests ACTION
	BEHAVIOUR deleteNCRequestsBehavior BEHAVIOUR DEFINED AS
		!This action allows one to delete one or more NC requests !;
	;
    MODE CONFIRMED;
	WITH INFORMATION SYNTAX EM-NC-ASN1.DeleteNCRequestsActionArg;
	WITH REPLY SYNTAX EM-NC-ASN1.DeleteNCRequestsActionReply;
	REGISTERED AS { em-nc-action 3 };

getNCRequestList ACTION
	BEHAVIOUR getNCRequestListBehavior BEHAVIOUR DEFINED AS
		!This action allows one to get a list of NC requests !;
	;
    MODE CONFIRMED;
	WITH INFORMATION SYNTAX EM-NC-ASN1.GetNCRequestListActionArg;
	WITH REPLY SYNTAX EM-NC-ASN1.GetNCRequestListActionReply;
	REGISTERED AS { em-nc-action 4 };


getNCRequestsRuntimeInfo ACTION
	BEHAVIOUR getNCRequestsRuntimeInfoBehavior BEHAVIOUR DEFINED AS
		!This action allows one to get a list of runtime info of 
		NC requests !;
	;
    MODE CONFIRMED;
	WITH INFORMATION SYNTAX EM-NC-ASN1.GetNCRequestsRuntimeInfoActionArg;
	WITH REPLY SYNTAX EM-NC-ASN1.GetNCRequestsRuntimeInfoActionReply;
	REGISTERED AS { em-nc-action 5 };

mosiSeverity ATTRIBUTE
        WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MosiSeverity;
        MATCHES FOR EQUALITY;
        BEHAVIOUR mosiSeverityBehaviour BEHAVIOUR DEFINED AS
                !This attribute contains the name of the mosi.!;
        ;
        REGISTERED AS { em-nc-attribute 21 };

mosiStateID ATTRIBUTE
        WITH ATTRIBUTE SYNTAX EM-NC-ASN1.MosiStateID;
        MATCHES FOR EQUALITY;
        BEHAVIOUR mosiStateIDBehaviour BEHAVIOUR DEFINED AS
                !This attribute contains the name of the mosi.!;
        ;
        REGISTERED AS { em-nc-attribute 22 };

conditionName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ConditionName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR conditionNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the condition.!;
	;
	REGISTERED AS { em-nc-attribute 31 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 7 31 };

conditionDesc ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ConditionDesc;
	MATCHES FOR EQUALITY;
	BEHAVIOUR conditionDescBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the description of the condition.!;
	;
	REGISTERED AS { em-nc-attribute 32 };

conditionExpression ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ConditionExpression;
	MATCHES FOR EQUALITY;
	BEHAVIOUR conditionExpressionBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the condition.!;
	;
	REGISTERED AS { em-nc-attribute 34 };
--	REGISTERED AS { 1 3 6 1 4 1 78 3 1 2006 7 34 };

pollRateName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.PollRateName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR pollRateNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the pollRate.!;
	;
	REGISTERED AS { em-nc-attribute 35 };

pollInterval ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.PollInterval;
	MATCHES FOR EQUALITY;
	BEHAVIOUR pollIntervalBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the poll Interval.!;
	;
	REGISTERED AS { em-nc-attribute 36 };

severityName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SeverityName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR severityNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the name of the severity.!;
	;
	REGISTERED AS { em-nc-attribute 37 };

severityValue ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SeverityValue;
	MATCHES FOR EQUALITY;
	BEHAVIOUR severityValueBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the severity value.!;
	;
	REGISTERED AS { em-nc-attribute 38 };

severityColor ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SeverityColor;
	MATCHES FOR EQUALITY;
	BEHAVIOUR severityColorBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the severity color.!;
	;
	REGISTERED AS { em-nc-attribute 39 };

summaryName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the summary name.!;
	;
	REGISTERED AS { em-nc-attribute 42 };

summaryDesc ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryDesc;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryDescBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the summary description.!;
	;
	REGISTERED AS { em-nc-attribute 43 };

summaryLowValue ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryLowValue;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryLowValueBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the summary low value.!;
	;
	REGISTERED AS { em-nc-attribute 44 };

summaryHighValue ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryHighValue;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryHighValueBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the summary high value.!;
	;
	REGISTERED AS { em-nc-attribute 45 };

summaryRanges ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryRanges;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryRangesBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains a set of summary ranges.!;
	;
	REGISTERED AS { em-nc-attribute 46 };

summaryTrans ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.SummaryTrans;
	MATCHES FOR EQUALITY;
	BEHAVIOUR summaryTransBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains a set of transition actions.!;
	;
	REGISTERED AS { em-nc-attribute 47 };

nerveCenterAnnotationInfo ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.NerveCenterAnnotationInfo;
	MATCHES FOR EQUALITY;
	BEHAVIOUR nerveCenterAnnotationInfoBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the annotation information.!;
	;
	REGISTERED AS { em-nc-attribute 48 };

actionTemplateName ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ActionTemplateName;
	MATCHES FOR EQUALITY;
	BEHAVIOUR actionTemplateNameBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the actionTemplate name.!;
	;
	REGISTERED AS { em-nc-attribute 49 };

actionTemplateDesc ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ActionTemplateDesc;
	MATCHES FOR EQUALITY;
	BEHAVIOUR actionTemplateDescBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains a description of this
		actionTemplate.!;
	;
	REGISTERED AS { em-nc-attribute 50 };

actionTemplateUsage ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ActionTemplateUsage;
	MATCHES FOR EQUALITY;
	BEHAVIOUR actionTemplateUsageBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains a usage description for the
		actionTemplate.!;
	;
	REGISTERED AS { em-nc-attribute 51 };

actionTemplateFormats ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ActionTemplateFormats;
	MATCHES FOR EQUALITY;
	BEHAVIOUR actionTemplateFormatsBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains a set of formats one for each
		argument.!;
	;
	REGISTERED AS { em-nc-attribute 53 };

actionTemplateManager ATTRIBUTE
	WITH ATTRIBUTE SYNTAX EM-NC-ASN1.ActionTemplateManager;
	MATCHES FOR EQUALITY;
	BEHAVIOUR actionTemplateManagerBehaviour BEHAVIOUR DEFINED AS
		!This attribute contains the object instance of the
		application instance responsible for supporting this
		actionTemplate (if this is an internal action then this
		attribute is NULL.!;
	;
	REGISTERED AS { em-nc-attribute 54 };

-- Parameters

-- Actions

--topoNodeAddArc ACTION
--	BEHAVIOUR topoNodeAddArc-Behaviour BEHAVIOUR DEFINED AS
--		!This action requests that a new arc be added to
--		the topoNodeArcList attribute of a topoNode.  If
--		the specified topoNode exists, and is allowed to connect
--		to the topoNode the action is invoked on, then an
--		arc will be added.  Otherwise, a noSuchNode or
--		illegalArc SpecificError will be returned.!;
--	;
--	MODE CONFIRMED;
--	PARAMETERS
--		topoNoSuchNode,
--		topoIllegalArc;
--	WITH INFORMATION SYNTAX CNM.TopoAddArcRequest;
-- REGISTERED AS { cnm-action 4 };
--X	REGISTERED AS { cnm-action 4 };
--
--topoNodeDeleteArc ACTION
--	BEHAVIOUR topoNodeDeleteArc-Behaviour BEHAVIOUR DEFINED AS
--		!!;
--	;
--	MODE CONFIRMED;
--	PARAMETERS
--		topoNoSuchArc;
--	WITH INFORMATION SYNTAX CNM.TopoDeleteArcRequest;
-- REGISTERED AS { cnm-action 5 };
--X	REGISTERED AS { cnm-action 5 };

-- Notifications

nerveCenterAlarm
         NOTIFICATION
        BEHAVIOUR       nerveCenterAlarmBehaviour;
        WITH INFORMATION SYNTAX  EM-NC-ASN1.NerveCenterAlarmInfo
                AND ATTRIBUTE IDS
                probableCause
                "Rec. X.721 | ISO/IEC 10165-2 : 1992": probableCause,
		perceivedSeverity 
		"Rec. X.721 | ISO/IEC 10165-2 : 1992": perceivedSeverity,
		additionalText
                "Rec. X.721 | ISO/IEC 10165-2 : 1992": additionalText,
		additionalInformation
                "Rec. X.721 | ISO/IEC 10165-2 : 1992": additionalInformation,
		mosiSeverity mosiSeverity,
		mosiStateID mosiStateID;

REGISTERED AS   { em-nc-notification 1};

ncRequestsCreation NOTIFICATION
        BEHAVIOUR ncRequestsCreationBehavior BEHAVIOUR DEFINED AS
                !This action returns the requests creation status !;
        ;
        WITH INFORMATION SYNTAX EM-NC-ASN1.NCRequestsCreationInfo;
        REGISTERED AS { em-nc-notification 2 };

ncRequestsDeletion NOTIFICATION
        BEHAVIOUR ncRequestsDeletionBehavior BEHAVIOUR DEFINED AS
                !This action returns the requests deletion status !;
        ;
        WITH INFORMATION SYNTAX EM-NC-ASN1.NCRequestsDeletionInfo;
        REGISTERED AS { em-nc-notification 3 };
END
