-- =============================================================================
--               ITU-T Rec. X.749 (1997) | ISO/IEC 10164-19 : 1997
-- =============================================================================
--<GDMO.Document "ITU-T Rec. X.749 (1997) | ISO/IEC 10164-19 : 1997">--

-- "Imported" Alises - references to other documents with non-standard names

--<GDMO.Alias    "ITU-T Rec. X.721 (1992) | ISO/IEC 10165-2 : 1992"
--               "CCITT Rec. X.721 | ISO/IEC 10165-2">--

--<GDMO.Alias    "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7 : 1996"
--               "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996">--

--<GDMO.Alias    "ITU-T Rec. X.746 (2000) | ISO/IEC 10164-15 : 2002"
--               "ITU-T Rec. X.746 | ISO/IEC 10164-15">--


jurisdictionRelationship RELATIONSHIP CLASS
  BEHAVIOUR jurisdictionRelationshipBehaviour
    BEHAVIOUR DEFINED AS
      "This relationship is the management view of a jurisdiction and identifies
      two roles: policy and domain.

      A jurisdiction is created by an ESTABLISH operation and deleted with a
      TERMINATE operation. The policy and domain of the jurisdiction are set
      when the relationship is established and cannot be modified without
      terminating the relationship.";;
  ROLE policyRole
    COMPATIBLE-WITH policy
    PERMITTED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
    REQUIRED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
  ROLE domainRole
    COMPATIBLE-WITH domain
    PERMITTED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
    REQUIRED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne;
REGISTERED AS { MDMPMF.mdmpmfRelationship 1 };


administrativeAspectRelationship RELATIONSHIP CLASS
  BEHAVIOUR administrativeAspectRelationshipBehaviour
    BEHAVIOUR DEFINED AS
      "This relationship is the management view of an administrative aspect
      relationship and identifies two    roles: administrative aspect and
      administered object.

      An administrative aspect relationship is created by an ESTABLISH operation
      and deleted with a     TERMINATE operation. The administrative aspect and
      administered object of the administrative     aspect relationship are set
      when the relationship is established and cannot be modified without
      terminating the relationship.";;
  ROLE administrativeAspectRole
    COMPATIBLE-WITH administrativeAspect
    PERMITTED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
    REQUIRED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
  ROLE administeredObjectRole
    COMPATIBLE-WITH "CCITT Rec. X.721 | ISO/IEC 10165-2":top
    PERMITTED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
    REQUIRED-ROLE-CARDINALITY-CONSTRAINT MDMPMF.OneToOne
    PERMITTED-RELATIONSHIP-CARDINALITY-CONSTRAINT MDMPMF.OneToOne;
REGISTERED AS { MDMPMF.mdmpmfRelationship 2 };


policy MANAGED OBJECT CLASS
  DERIVED FROM "CCITT Rec. X.721 | ISO/IEC 10165-2":top;
  CHARACTERIZED BY policyPackage
    PACKAGE
    BEHAVIOUR policyPackageBehaviour
      BEHAVIOUR DEFINED AS
        "See definition of (systems management) policy in PDAM2/SMO

        An object creation notification is emitted when an instance of this
        class is created. An object deletion notification is emitted when an
        instance of this class is deleted. A state change notification is
        emitted when the administrative or operational state changes.

        The determine violation status action is used to determine whether an
        object instance, named as a parameter of the action, is in violation of
        this policy. If the policy's operational state is disabled, or if the
        policy's administrative state is not unlocked, or if the availability
        status includes the off-duty status value, the violation status action
        response will indicate that no violation has been detected. Otherwise,
        the action response returns the result of evaluating  this policy to
        determine the object's violation status, returning an indication of
        violation, non-violation, or unknown status.

        The administrative aspect pointer provides the name of any related
        object in the administrative aspect role.";;
    ATTRIBUTES
      policyId      GET SET-BY-CREATE NO-MODIFY,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":administrativeState GET-REPLACE,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":operationalState GET,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":availabilityStatus GET,
      administrativeAspectPointer   GET-REPLACE;
    ATTRIBUTE GROUPS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":state;
    ACTIONS
      determineViolationStatus;
    NOTIFICATIONS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":stateChange,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectCreation,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectDeletion;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 1 };


scheduledPolicy MANAGED OBJECT CLASS
  DERIVED FROM policy;
  CHARACTERIZED BY dutySchedulePackage
    PACKAGE
    BEHAVIOUR dutyScheduleBehaviour
      BEHAVIOUR DEFINED AS
        "This object's availability status is affected by the external scheduler
        referenced by its      external scheduler attribute. This scheduler
        controls whether the availability status       attribute includes the
        off-duty status value.

        When off-duty, this object will not evaluate any object as being in
        violation of its policy.";;
    ATTRIBUTES
      "ITU-T Rec. X.746 | ISO/IEC 10164-15":externalSchedulerName GET-REPLACE;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 2 };


jurisdiction MANAGED OBJECT CLASS
  DERIVED FROM
    "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996":genericRelationshipObject;
  CHARACTERIZED BY jurisdictionPackage
    PACKAGE
    BEHAVIOUR jurisdictionBehaviour
      BEHAVIOUR DEFINED AS
        "See definition of jurisdiction in PDAM2/SMO.

        An objectCreation notification is emitted when an instance of this class
        is created. An objectDeletion notification is emitted when an instance
        of this class is deleted. A stateChange notification is emitted when the
        operational or administrative state changes.

        The list membership action is used to obtain a best-efforts listing of
        the membership of this object's domain. The verify membership status
        action is used to determine whether a given object instance is in the
        set of members of this object's domain. The determine violation status
        action is used to determine whether a given object is in the set of
        members of this object's domain, and, if it is, whether it is in
        violation of this object's policy.

        If this object's operational state is disabled, a processing failure
        will be returned. If the requested object is not among the members of
        this object's domain, or if the membership status cannot be determined,
        the action reply will indicate this fact. Otherwise, if this object's
        administrative state is locked or if its operational state is disabled
        or if its availability status includes the off-duty status, the result
        will indicate that no policy violation has been detected. Otherwise, the
        policy will be consulted, possibly resulting in the detection of a
        policy violation. The result of the policy evaluation is returned in the
        action reply.

        When a policy violation is detected, a policy violation notification
        shall be emitted to report the detected violation. A policy violation
        notification shall not be emitted unless a policy violation has been
        detected. Subclasses may specify additional circumstances under which
        policy violations are detected.

        The administrative aspect pointer provides the name of an object
        fulfilling the administrative aspect role. The value of this attribute
        has no effect on the operation of this object.";;
    ATTRIBUTES
      jurisdictionId     GET SET-BY-CREATE NO-MODIFY,
      domainPointer    GET SET-BY-CREATE,
      policyPointer     GET SET-BY-CREATE,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":administrativeState GET-REPLACE,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":operationalState GET,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":availabilityStatus GET,
      administrativeAspectPointer   GET-REPLACE;
    ATTRIBUTE GROUPS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":state;
    ACTIONS
      listMembership,
      determineViolationStatus,
      verifyMembershipStatus;
    NOTIFICATIONS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":stateChange,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectCreation,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectDeletion,
      policyViolation;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 3 };


enhancedJurisdiction MANAGED OBJECT CLASS
  DERIVED FROM jurisdiction;
  CHARACTERIZED BY dutySchedulePackage,
    operationApplierPackage
    PACKAGE
    BEHAVIOUR operationApplierBehaviour
      BEHAVIOUR DEFINED AS
        "If this object's operational state is disabled, or if its
        administrative state is locked, or if      its availability status
        includes the off-duty status value, the receipt of an apply
        operation      to membership action results in an error response.

        Otherwise, receipt of the applyOperationToMembership action causes it to
        assess each member of its domain for policy violation. For all policy
        violations detected, a policy violation notification is emitted. For all
        members of the domain for which policy violations are not detected, the
        operation is applied. The action result includes, for each member
        object, the outcome of the policy violation assessment and any results
        from the operation if applied.";;
    ACTIONS
      applyOperationToMembership;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 4 };


domain MANAGED OBJECT CLASS
  DERIVED FROM "CCITT Rec. X.721 | ISO/IEC 10165-2":top;
  CHARACTERIZED BY domainPackage
    PACKAGE
    BEHAVIOUR domainBehaviour
      BEHAVIOUR DEFINED AS
        "This object allows specification of a set of members. This set is the
        union of this object's      direct members and its indirect members. The
        set of indirect members is the union of the      sets of members
        specified by the objects named in the indirect membership specifier list.

        The set of direct members is the intersection of the set of objects
        named in the member selection list with the set of objects for which the
        expression in the member selection filter evaluates to true. An empty
        member selection filter always evaluates to true; an empty member
        selection list is equivalent to specifying the set of all managed
        objects. If the member selection filter has a value which always
        evaluates to false, the set of direct members is empty.

        The verify membership status action request is evaluated on a
        best-effort basis, returning a result indicating whether the object for
        which membership status was requested was a member, was not a member, or
        could not be determined.

        The list membership action requests a best-effort determination of which
        object instances are members of this domain. The response contains the
        resulting list.

        The list direct membership action requests a best effort determination
        of which object instances are direct members of this domain. The
        response contains the resulting list.

        An object creation notification is emitted when an instance of this
        class is created. An object deletion notification is emitted when an
        instance of this class is deleted.

        The administrative aspect pointer provides the name of any related
        object in the administrative aspect role.";;
    ATTRIBUTES
      domainId    GET SET-BY-CREATE NO-MODIFY,
      memberSelectionList   GET ADD-REMOVE,
      memberSelectionFilter  GET-REPLACE,
      indirectMembershipSpecifierList GET ADD-REMOVE,
      administrativeAspectPointer  GET-REPLACE;
    ACTIONS
      listDirectMembership,
      listMembership,
      verifyMembershipStatus;
    NOTIFICATIONS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectCreation,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectDeletion;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 5 };


administrativeAspect MANAGED OBJECT CLASS
  DERIVED FROM "CCITT Rec. X.721 | ISO/IEC 10165-2":top;
  CHARACTERIZED BY administrativeAspectPackage
    PACKAGE
    BEHAVIOUR administrativeAspectBehaviour
      BEHAVIOUR DEFINED AS
        "An instance of this class provides information describing
        administrative aspects of an      object related to it.

        The administrative authority attribute describes the administrative
        authority responsible for the related object.

        The administrative contact information attribute describes the
        administrative contact associated with the related object.

        The administrative owner attribute describes the owner of the related object.

        The administrative specifier attribute describes the specifier of the
        related object, and must be provided when an instance of this class is created.

        The creation time attribute records the time at which this object was created.

        The last update time attribute records the most recent time any of its
        administrative authority, administrative contact information,
        administrative owner, or version identifier attributes was modified. The
        initial value of the last update time attribute is the object's time of
        creation.

        The version identifier attribute provides version identification
        information for this object instance.

        The values of this object's attributes do not affect the operation of
        the related object whose administrative aspects it describes.

        An object creation notification is emitted when an instance of this
        class is created. An object deletion notification is emitted when an
        instance of this class is deleted.";;
    ATTRIBUTES
      administrativeAspectId  GET SET-BY-CREATE NO-MODIFY,
      administrativeAuthority  GET-REPLACE,
      administrativeContactInformation GET-REPLACE,
      administrativeOwner   GET-REPLACE,
      administrativeSpecifier  GET SET-BY-CREATE,
      creationTime    GET NO-MODIFY,
      lastUpdateTime   GET NO-MODIFY,
      versionIdentifier   GET-REPLACE;
    NOTIFICATIONS
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectCreation,
      "CCITT Rec. X.721 | ISO/IEC 10165-2":objectDeletion;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 6 };


policyViolationLogRecord MANAGED OBJECT CLASS
  DERIVED FROM "CCITT Rec. X.721 | ISO/IEC 10165-2":eventLogRecord;
  CHARACTERIZED BY policyViolationLogRecordPackage
    PACKAGE
    BEHAVIOUR policyViolationLogRecordBehaviour
      BEHAVIOUR DEFINED AS
        "This log record records the receipt of a policy violation notification.";;
    ATTRIBUTES
      violatorName    GET,
      violatedPolicy    GET;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 7 };


valueAssertionPolicy MANAGED OBJECT CLASS
  DERIVED FROM policy;
  CHARACTERIZED BY valueAsertionPolicyPackage
    PACKAGE
    BEHAVIOUR valueAssertionPolicyBehaviour
      BEHAVIOUR DEFINED AS
        "This object class supports the ability to use value assertions
        specified like CMIS filters      to determine the policy.

        The value of the policy is encapsulated in the assertion attribute, and
        the semantics of specifying a policy in this mannner is described in the
        behaviour of the assertion attribute.";;
    ATTRIBUTES
      assertion GET-REPLACE;;;
REGISTERED AS { MDMPMF.mdmpmfManagedObject 8 };


jurisdictionRelationshipMapping RELATIONSHIP MAPPING
  RELATIONSHIP CLASS jurisdictionRelationship;
  BEHAVIOUR domainRelationshipMappingBehaviour
    BEHAVIOUR DEFINED AS
      "This is a mapping of the jurisdiction relationship class. A jurisdiction
      is a relationship object that binds    a single policy and a single
      domain. The existence of the jurisdiction is directly related to the
      existence of    the relationship object. The policy of the jurisdiction is
      set at creation time of the relationship object and    cannot be modified
      during the lifetime of the relationship object. The domain is set at the
      creation time    of the relationship object and cannot be modified during
      the lifetime of that object.";;
  RELATIONSHIP OBJECT jurisdiction;
  ROLE policyRole RELATED-CLASSES policy
    REPRESENTED-BY RELATIONSHIP-OBJECT-USING-POINTER policyPointer,
  ROLE domainRole RELATED-CLASSES domain
    REPRESENTED-BY RELATIONSHIP-OBJECT-USING-POINTER domainPointer;
  OPERATIONS MAPPING
    ESTABLISH MAPS-TO-OPERATION CREATE OF RELATIONSHIP OBJECT,
    TERMINATE MAPS-TO-OPERATION DELETE OF RELATIONSHIP OBJECT;
REGISTERED AS { MDMPMF.mdmpmfRelationshipMapping 1 };


administrativeAspectRelationshipMapping RELATIONSHIP MAPPING
  RELATIONSHIP CLASS administrativeAspectRelationship;
  BEHAVIOUR administrativeAspectRelationshipMappingBehaviour
    BEHAVIOUR DEFINED AS
      "This is a mapping of the administrative aspect relationship class. The
      relationship is represented by a    relationship pointer, pointing from
      the administered object to the adminstrative aspect object. The
      administered object role is not represented by any relationship
      representation, so there are no means of    inferring which administered
      objects are actually administered by the same administrative aspect     object.";;
  ROLE administrativeAspectRole RELATED-CLASSES administrativeAspect
    REPRESENTED-BY ATTRIBUTE administrativeAspectPointer,
  ROLE administeredObjectRole RELATED-CLASSES domain
    jurisdiction
    policy;
  OPERATIONS MAPPING
    ESTABLISH MAPS-TO-OPERATION ADD administrativeAspectPointer OF
      administeredObjectRole,
    TERMINATE MAPS-TO-OPERATION REMOVE administrativeAspectPointer OF
      administeredObjectRole;
REGISTERED AS { MDMPMF.mdmpmfRelationshipMapping 2 };


--A.5 Definition of attributes
--This Recommendation | International Standard defines the following attributes:
administrativeAspectId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR administrativeAspectIdBehaviour
    BEHAVIOUR DEFINED AS
      "This is the distinguishing attribute of an administrative aspect object.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 1 };


administrativeAspectPointer ATTRIBUTE
  DERIVED FROM
      "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7:1996":participantPointer;
  BEHAVIOUR administrativeAspectPointerBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute represents the relationship between an object and its
      administrative aspects.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 2 };


administrativeAuthority ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.InformationString;
  BEHAVIOUR administrativeAuthorityBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute provides a description of an administrative authority.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 3 };


administrativeContactInformation ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.InformationString;
  BEHAVIOUR administrativeContactInformationBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute provides contact information.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 4 };


administrativeOwner ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.InformationString;
  BEHAVIOUR administrativeOwnerBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute provides ownership information.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 5 };


administrativeSpecifier ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.InformationString;
  BEHAVIOUR administrativeSpecifierBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute provides a description of an administrative specifier.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 6 };


assertion ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.CMISFilter;
  BEHAVIOUR assertionBehaviour
    BEHAVIOUR DEFINED AS
      "An assertion is specified in accordance with the description in 8.2.8
      Every assertion is a boolean expression which evaluates to true or false.

      A value assertion is specified in terms of a pair consisting of an
      identifier identifying the information whose value is to be tested,
      followed by a value to be used in performing the test, in the same form as
      the attribute value assertions defined for use in a CMIS filter.

      To specify identifiers of asserted values, the following object identifier
      values are allocated in Annex A:

        - operationType;

        - errorType;

        - notificationType;

        - actionType;

        - eventInfo;

        - eventReply;

        - actionInfo;

        - actionReply.

      Attribute value assertions are specified in the usual form, applying both
      to attribute oriented operations and notifications (using the WITH
      ATTRIBUTE ID construct). Assertions on other items of information,
      contained in either event replies, action info, and action replies can be
      achieved if the information is properly registered by use of a PARAMETER template.

      A policy is constructed from value assertions in the same way as filters
      are constructed from Attribute Value Assertions (AVA), using the and, the
      or, and the not operators to combine nested policies. See CCITT Rec. X.720
      | ISO/IEC 10165-1 (5.4) for details.

      A policy violation occurs when the policy evaluates to false. No policy
      violation is possible for a policy containing zero rules.

      An empty assertion always evaluates to true.

      Any ordering in the actual evaluation of the filter items in the assertion
      (e.g. for optimization purposes)    is an implementation issue.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 7 };


creationTime ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.TimeStamp;
  BEHAVIOUR creationTimeBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute records an object's time of creation. Its value is
      established when the object is created,    and may not be modified.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 8 };


domainId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR domainIdBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute is the distinguishing attribute for a domain.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 9 };


domainPointer ATTRIBUTE
  DERIVED FROM
      "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996":participantPointer;
  BEHAVIOUR domainPointerBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute represents the relationship between a jurisdiction and its
      domain.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 10 };


indirectMembershipSpecifierList ATTRIBUTE
  DERIVED FROM
      "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996":participantPointer;
  BEHAVIOUR indirectMembershipSpecifierListBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute lists the names of objects whose membership is of interest.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 11 };


jurisdictionId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR jurisdictionIdBehaviour
    BEHAVIOUR DEFINED AS
      "This is the distinguishing attribute of a jurisdiction object.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 12 };


lastUpdateTime ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.TimeStamp;
  BEHAVIOUR lastUpdateTimeBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute records the time of the most recent modification of an
      object, where what constitutes a    modification is recorded in the class
      definition. This attribute is always read-only.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 13 };


memberSelectionFilter ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.CMISFilter;
  BEHAVIOUR memberSelectionFilterBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute represents constraints on membership";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 14 };


memberSelectionList ATTRIBUTE
  DERIVED FROM "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996":participantPointer;
  BEHAVIOUR memberSelectionListBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute names the members of a set of managed objects that are of
      potential interest.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 15 };


policyId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.SimpleNameType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR policyIdBehaviour
    BEHAVIOUR DEFINED AS
      "This is the distinguishing attribute of a policy.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 16 };


policyPointer ATTRIBUTE
  DERIVED FROM
      "ITU-T Rec. X.725 (1995) | ISO/IEC 10165-7: 1996":participantPointer;
  BEHAVIOUR policyPointerBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute represents the relationship between a jurisdiction and its
      policy.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 17 };


versionIdentifier ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.InformationString;
  BEHAVIOUR versionIdentifierBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute describes the version of an object.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 18 };


violatedPolicy ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR violatedPolicyBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute identifies a policy which has been violated.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 19 };


violatorName ATTRIBUTE
  WITH ATTRIBUTE SYNTAX MdmpmfASN1Module.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR violatorNameBehaviour
    BEHAVIOUR DEFINED AS
      "This attribute identifies an object which has violated a policy.";;
REGISTERED AS { MDMPMF.mdmpmfAttribute 20 };


policyViolation NOTIFICATION
  BEHAVIOUR policyViolationBehaviour
    BEHAVIOUR DEFINED AS
      "The policy violation notification is emitted when a policy violation has
      been detected. The violated     policy component identifies the policy
      which has been violated; the violator name component identifies    the
      object which violated the policy.";;
  WITH INFORMATION SYNTAX MdmpmfASN1Module.PolicyViolation
    AND ATTRIBUTE IDS
      violatorName  violatorName,
      violatedPolicy  violatedPolicy;
REGISTERED AS { MDMPMF.mdmpmfNotification 1};


applyOperationToMembership ACTION
  BEHAVIOUR applyOperationToMembershipBehaviour
    BEHAVIOUR DEFINED AS
      "This action is used to apply a specified operation on all the members of
      the domain participating in    the domainRole role in the
      jurisdictionRelationship represented by the enhancedJurisdiction.

      The operation to be performed is specified in the request parameter, and
      can be either a get of attribute    value(s), a set of attribute value(s)
      (replace, addValues, removeValues or setToDefault) or an action. The
      request parameter is structured to contain the relevant argument as
      carried in the CMIP protocol,     GetArgument, SetArgument or ActionArgument.

      The results of applying the operation to the membership of the domain are
      collected and reported in the    reply. The applyOperationToMembership
      action is deemed to have failed only if performing of     operations on
      the membership has not been attempted, i.e. the action will report success
      even if all the    performed operations have failed.

      The results of an attribute oriented applied operation are reported using
      one GetResult or SetResult    alternative component of the OperationResult
      for each of the objects where the applied operation has    succeeded, and
      one GetListError of SetListError alternative component for each object
      where the     applied operation has (partially) failed.

      The results of an action are reported using the ActionResult alternative
      component of the      OperationResult, if the action succeeded. Actions
      that have failed (and failed attribute oriented     operations that cannot
      be appropriately reported using GetListError or SetListError) are
      reported     using the CommonError alternative component of the
      OperationResult. The result reported in the     CommonError is either the
      appropriate CMIP error or any specific error defined as applicable to
      the    operation and managed object in question.

      If one or more managed objects do not respond to the operation applied
      within reasonable time, a time-   out error as specified in the
      timeOutError parameter may be reported in the reply.";;
  MODE CONFIRMED;
  PARAMETERS timeOutError;
  WITH INFORMATION SYNTAX MdmpmfASN1Module.ApplyOperationToMembershipRequest;
  WITH REPLY SYNTAX MdmpmfASN1Module.ApplyOperationToMembershipReply;
REGISTERED AS { MDMPMF.mdmpmfAction 1 };


determineViolationStatus ACTION
  BEHAVIOUR determineViolationStatusBehaviour
    BEHAVIOUR DEFINED AS
      "This action is used to request an assessment of the violation status of
      the object whose name is     provided as a parameter in the action
      request. The response contains the results of this assessment.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX MdmpmfASN1Module.DetermineViolationStatusRequest;
  WITH REPLY SYNTAX MdmpmfASN1Module.DetermineViolationStatusReply;
REGISTERED AS { MDMPMF.mdmpmfAction 2 };


listDirectMembership ACTION
  BEHAVIOUR listDirectMembershipBehaviour
    BEHAVIOUR DEFINED AS
      "This action is used to request a list of the direct members of a domain.
      All objects identified in the     response must satisfy the criteria for
      direct membership in the domain.";;
  MODE CONFIRMED;
  WITH REPLY SYNTAX MdmpmfASN1Module.ListMembershipReply;
REGISTERED AS { MDMPMF.mdmpmfAction 3 };


listMembership ACTION
  BEHAVIOUR listMembershipBehaviour
    BEHAVIOUR DEFINED AS
      "This action is used to request a list of the members of a domain. All
      objects identified in the     membership parameter of the response must
      satisfy the domain membership criteria. The     completeness parameter of
      the response identifies whether the list of members is known to be a
      complete list, is known to be an incomplete list, or if the completeness
      of the list is not known.";;  MODE CONFIRMED;
  WITH REPLY SYNTAX MdmpmfASN1Module.ListMembershipReply;
REGISTERED AS {MDMPMF.mdmpmfAction 4 };


verifyMembershipStatus ACTION
  BEHAVIOUR verifyMembershipBehaviour
    BEHAVIOUR DEFINED AS
      "Requests a determination of the membership status of an object. The
      response indicates whether the    object in question is a member, is not a
      member, or its status could not be determined.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX MdmpmfASN1Module.VerifyMembershipStatusRequest;
  WITH REPLY SYNTAX MdmpmfASN1Module.VerifyMembershipStatusReply;
REGISTERED AS { MDMPMF.mdmpmfAction 5 };


--A.8 Definition of Name Bindings
--This Recommendation | International Standard defines the following name bindings:
domain-System NAME BINDING
  SUBORDINATE OBJECT CLASS domain AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "CCITT Rec. X.721 | ISO/IEC 10165-2":system AND
    SUBCLASSES;
  WITH ATTRIBUTE domainId;
  CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {MDMPMF.mdmpmfNameBinding 1};


policy-System NAME BINDING
  SUBORDINATE OBJECT CLASS policy AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "CCITT Rec. X.721 | ISO/IEC 10165-2":system AND
    SUBCLASSES;
  WITH ATTRIBUTE policyId;
  CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {MDMPMF.mdmpmfNameBinding 2};


jurisdiction-System NAME BINDING
  SUBORDINATE OBJECT CLASS jurisdiction AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "CCITT Rec. X.721 | ISO/IEC 10165-2":system AND
    SUBCLASSES;
  WITH ATTRIBUTE jurisdictionId;
  CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {MDMPMF.mdmpmfNameBinding 3};


administrativeAspect-System NAME BINDING
  SUBORDINATE OBJECT CLASS administrativeAspect AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS "CCITT Rec. X.721 | ISO/IEC 10165-2":system AND
    SUBCLASSES;
  WITH ATTRIBUTE administrativeAspectId;
  CREATE WITH-REFERENCE-OBJECT, WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {MDMPMF.mdmpmfNameBinding 4 };


timeOutError PARAMETER
  CONTEXT MdmpmfASN1Module.CommonError.errorValue;
  WITH SYNTAX MdmpmfASN1Module.Nothing;
  BEHAVIOUR timeoutErrorBehaviour
    BEHAVIOUR DEFINED AS
      "The timeOut parameter registers a value to be reported in the CommonError
      reply of the applyOperationToMembership, in cases where the reply to an
      operation does not arrive within reasonable time.

      Establishing of appropriate time-out periods is done by the implementation
      and may be specified in the    conformance claim associated with the
      timeOut parameter. Furthermore the enhancedJurisdiction     class may be
      specialized to provide the ability to manage time-out periods.

      The syntax of the parameter is a NULL, and only used to allow registration
      of the parameter. It shall    not be transmitted in the CommonError";;
REGISTERED AS { MDMPMF.mdmpmfParameter 1 };

-- =============================================================================
--  Formatted by OpenT2 Version 5.5.6.34 on Fri Aug 20 11:20:49 2004