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

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

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

--<GDMO.Alias    "ITU-T Rec. X.738 (1993) | ISO/IEC 10164-13 : 1995"
--               "Rec. X.738|ISO/IEC 10164-13:1992">--

--<GDMO.Alias    "ITU-T Rec. X.739 (1993) | ISO/IEC 10164-11 : 1994"
--   "Rec. X.739 (1993) | ISO/IEC 10164-11 : 1994">--

--<GDMO.Alias    "ITU-T Rec. M.3100 (1995)"
--               "ITU-T Recommendation M.3100",
--               "ITU-T Recommendation M.3100: 1995",
--               "Rec. M.3100:1995">--


scheduler MANAGED OBJECT CLASS
  DERIVED FROM  "Rec. X.721 | ISO/IEC 10165-2 : 1992":top;
  CHARACTERIZED BY
    schedulerObjectPackage,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":duration;
  CONDITIONAL PACKAGES
    scheduledManagedObjectsPackage
    PRESENT IF "An instance supports it.";
REGISTERED AS {schedMo 1};


dailyScheduler MANAGED OBJECT CLASS
  DERIVED FROM   scheduler;
  CHARACTERIZED BY
    multipleDailyScheduling;
REGISTERED AS {schedMo 2};


weeklyScheduler MANAGED OBJECT CLASS
  DERIVED FROM   scheduler;
  CHARACTERIZED BY
    multipleWeeklyScheduling;
REGISTERED AS {schedMo 3};


monthlyScheduler MANAGED OBJECT CLASS
  DERIVED FROM   scheduler;
  CHARACTERIZED BY
    multipleMonthlyScheduling;
REGISTERED AS {schedMo 4};


periodicScheduler MANAGED OBJECT CLASS
  DERIVED FROM   scheduler;
  CHARACTERIZED BY
    periodicSchedulingPackage;
  CONDITIONAL PACKAGES
    resynchronizeModePackage PRESENT IF "an instance supports it and the
      periodSynchronizationPackage package is not present",
    "Rec. X.739 (1993) | ISO/IEC 10164-11:1994":periodSynchronizationPackage
    PRESENT IF "Synchronization to a specified time other than the duration
      start time is required, and the resynchronizeMode package is not present.";
REGISTERED AS {schedMo 5};


dailyOperationScheduler  MANAGED OBJECT CLASS
  DERIVED FROM   dailyScheduler;
  CHARACTERIZED BY
    operationsSchedulingPackage;
  CONDITIONAL PACKAGES
    operationNotificationPackage PRESENT IF "the results of the operation need
      to be reported or the operation performed is a GET operation";
REGISTERED AS {schedMo 6};


weeklyOperationScheduler MANAGED OBJECT CLASS
  DERIVED FROM   weeklyScheduler;
  CHARACTERIZED BY
    operationsSchedulingPackage;
  CONDITIONAL PACKAGES
    operationNotificationPackage PRESENT IF "the results of the operation need
      to be reported or the operation performed is a GET operation";
REGISTERED AS {schedMo 7};


monthlyOperationScheduler MANAGED OBJECT CLASS
  DERIVED FROM   monthlyScheduler;
  CHARACTERIZED BY
    operationsSchedulingPackage;
  CONDITIONAL PACKAGES
    operationNotificationPackage PRESENT IF "the results of the operation need
      to be reported or the operation performed is a GET operation";
REGISTERED AS {schedMo 8};


periodicOperationScheduler MANAGED OBJECT CLASS
  DERIVED FROM   periodicScheduler;
  CHARACTERIZED BY
    operationsSchedulingPackage;
  CONDITIONAL PACKAGES
    operationNotificationPackage PRESENT IF "the results of the operation need
      to be reported or the operation performed is a GET operation";
REGISTERED AS {schedMo 9};


operationResultRecord  MANAGED OBJECT CLASS
  DERIVED FROM   "Rec. X.721 | ISO/IEC 10165-2" : eventLogRecord;
  CHARACTERIZED BY
    operationResultRecordPackage  PACKAGE
      BEHAVIOUR operationResultRecordBehaviour BEHAVIOUR
        DEFINED AS
          "see 8.3.11.2";;
      ATTRIBUTES
        operationResult GET;;;
REGISTERED AS {schedMo 10};


multiScheduler  MANAGED OBJECT CLASS
  DERIVED FROM scheduler;
  CHARACTERIZED BY
    multiSchedulerPackage PACKAGE
      BEHAVIOUR multiSchedulerPackageBeh BEHAVIOUR
        DEFINED AS
          "See section 8.2.10 Multi-scheduler.";;
      ATTRIBUTES
        schedulingData GET-REPLACE ADD-REMOVE;;;
  CONDITIONAL PACKAGES
    intervalSchedulingPackage PACKAGE
      BEHAVIOUR intervalSchedulingPackageBeh BEHAVIOUR
        DEFINED AS
          "Because the schedules defined in the attribute schedulingData are
          independent, the possibility exists that none of the intervals are
          valid. In that situation, the value indicated by the default index is
          applicable. The following restrictions apply to the schedulingData attribute:

          - index is the only valid component of IndexOrOperSpec,

          - intervalsOfDayWps is the only valid component of TimeOfDayWps.

            When the interval scheduler is created or resumed at a time that is
            within the scheduler's defined duration, the activity within the SMO
            will be set according to the index defined by the interval
            scheduler's schedule. When the interval scheduler is deleted or
            suspended, or the scheduler exists at a time outside the scheduler's
            defined duration, the activity within the SMO will be set according
            to the default index.";;
      ATTRIBUTES
        defaultIndex REPLACE-WITH-DEFAULT
          DEFAULT VALUE Schedulerev1-ASN1Module.defaultDefaultIndex GET-REPLACE;
    REGISTERED AS { schedPkg 1};
    PRESENT IF "Instance provides interval scheduling",
    triggerSchedulingPackage PACKAGE
      BEHAVIOUR triggerSchedulingPackageBeh BEHAVIOUR
        DEFINED AS
          "The following restrictions apply to the schedulingData attribute:

          - TimesOfDayWps shall have the component triggerTimes;

          - the optional component priority shall be absent.

          When the trigger scheduler is created or resumed at a time that is
          within the scheduler's defined duration, the first triggering of an
          activity within the SMO will occur according to the schedule. When the
          trigger scheduler is deleted or suspended, or the scheduler exists at
          a time outside the scheduler's defined duration, the scheduled
          activities within the SMO will not be triggered.";;
    REGISTERED AS { schedPkg 2};
    PRESENT IF "Instance provides trigger scheduling",
    typeOfDayControllerInstancePackage PACKAGE
      BEHAVIOUR typeOfDayControllerInstancePackageBeh BEHAVIOUR
        DEFINED AS
          "The attribute typeOfDayControllerInstance identifies the instance of
          OC  typeOfDayController that is relevant for this instance of OC
          multiScheduler.";;
      ATTRIBUTES
        typeOfDayControllerInstance GET-REPLACE;
    REGISTERED AS { schedPkg 3};
    PRESENT IF "More than one instance of OC typeOfDayController can exist in
      managedElement and if scheduler instance uses 'type of day' scheduling",
    "ITU-T Rec. X.746 (2000) | ISO/IEC 10164-15 : 2002":operationNotificationPackage
    PRESENT IF "the results of an operation need to be reported or an operation
      performed is a GET operation.";
REGISTERED AS { schedMo 11};


typeOfDayController MANAGED OBJECT CLASS
  DERIVED FROM
    "ITU-T Recommendation X.721:1992":top;
  CHARACTERIZED BY
    typeOfDayControllerPackage PACKAGE
      BEHAVIOUR
        typeOfDayControllerPackageBeh BEHAVIOUR
          DEFINED AS
            "As in section Type of day controller. The mapping is maintained in
            the attributes  'dateTranslationList' and 'weekDayTranslationList'.
            The typeOfDay value that is specified for specific  dates (via
            dateTranslationList attribute) has precedence on the typeOfDay value
            for a week day (via  weekDayTranslationList attribute). ";;
      ATTRIBUTES
        typeOfDayControllerId GET,
        currentTypeOfDay INITIAL VALUE DERIVATION RULE currentTypeOfDayAlgorithm GET,
        dateTranslationList REPLACE-WITH-DEFAULT
          DEFAULT VALUE Schedulerev1-ASN1Module.defaultDateTranslationList
          GET-REPLACE ADD-REMOVE,
        weekDayTranslationList REPLACE-WITH-DEFAULT
          DEFAULT VALUE Schedulerev1-ASN1Module.defaultWeekDayTranslationList
          GET-REPLACE;;,
    "ITU-T Recommendation M.3100: 1995":objectManagementNotificationsPackage;
REGISTERED AS { schedMo 12};


--The following NAME-BINDING templates provide the name binding currently
--defined for naming instances of the scheduler managed object classes.
scheduler-system NAME BINDING
  SUBORDINATE OBJECT CLASS
    scheduler  AND SUBCLASSES;
  NAMED BY
    SUPERIOR OBJECT CLASS
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":system
      AND SUBCLASSES;
  WITH ATTRIBUTE
    schedulerID;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING
      "Rec. X.738|ISO/IEC 10164-13:1992":conflictingPackagesRequestedError;
  DELETE
    ONLY-IF-NO-CONTAINED-OBJECTS;
REGISTERED AS {schedNb 1};


scheduler-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS
    scheduler  AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Recommendation M.3100":managedElement
      AND SUBCLASSES;
  WITH ATTRIBUTE
    schedulerID;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE;
REGISTERED AS { schedNb 2};


--The following NAME-BINDING templates provide the name binding currently
--defined for naming instances of the typeOfDayController managed object classes.
typeOfDayController-managedElement NAME BINDING
  SUBORDINATE OBJECT CLASS
    typeOfDayController AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Recommendation M.3100": managedElement
      AND SUBCLASSES;
  WITH ATTRIBUTE
    typeOfDayControllerId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE;
REGISTERED AS { schedNb 3};


typeOfDayController-system NAME BINDING
  SUBORDINATE OBJECT CLASS
    typeOfDayController AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":system AND SUBCLASSES;
  WITH ATTRIBUTE
    typeOfDayControllerId;
  CREATE
    WITH-REFERENCE-OBJECT,
    WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE;
REGISTERED AS { schedNb 4};


multipleDailyScheduling  PACKAGE
  BEHAVIOUR  multipleDailySchedulingBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.3 and 8.3.4.3";;
  ATTRIBUTES
    sequenceOfDays  DEFAULT VALUE Schedulerev1-ASN1Module.defaultSequenceOfDays
      GET-REPLACE;
REGISTERED AS {schedPkg 10};


multipleMonthlyScheduling PACKAGE
  BEHAVIOUR  multipleMonthlySchedulingBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.3 and 8.3.6.3";;
  ATTRIBUTES
    sequenceOfMonths
      DEFAULT VALUE Schedulerev1-ASN1Module.defaultSequenceOfMonths GET-REPLACE;
REGISTERED AS {schedPkg 11};


multipleWeeklyScheduling PACKAGE
  BEHAVIOUR  multipleWeeklySchedulingBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.3 and 8.3.5.3";;
  ATTRIBUTES
    sequenceOfWeeks
      DEFAULT VALUE Schedulerev1-ASN1Module.defaultSequenceOfWeeks GET-REPLACE;
REGISTERED AS {schedPkg 12};


periodicSchedulingPackage PACKAGE
  BEHAVIOUR  periodicSchedulingBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.7.3";;
  ATTRIBUTES
    timePeriod   DEFAULT VALUE Schedulerev1-ASN1Module.defaultTimePeriod GET-REPLACE;
REGISTERED AS {schedPkg 4};


resynchronizeModePackage PACKAGE
  BEHAVIOUR  resynchronizeModePackageBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.8.3";;
  ATTRIBUTES
    resynchronizeMode  GET-REPLACE;
REGISTERED AS {schedPkg 5};


scheduledManagedObjectsPackage PACKAGE
  BEHAVIOUR  scheduledManagedObjectBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.2";;
  ATTRIBUTES  scheduledManagedObjects GET;
REGISTERED AS {schedPkg 6};


schedulerObjectPackage  PACKAGE
  BEHAVIOUR  schedulerObjectBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.1.4";;
  ATTRIBUTES
    schedulerID GET,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":administrativeState GET-REPLACE,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":operationalState GET;
  NOTIFICATIONS
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":attributeValueChange,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":stateChange,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":objectCreation,
    "Rec. X.721 | ISO/IEC 10165-2 : 1992":objectDeletion;
REGISTERED AS {schedPkg 7};


operationsSchedulingPackage PACKAGE
  BEHAVIOUR  operationsSchedulingBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.10";;
  ATTRIBUTES
    operationSpecifications GET-REPLACE ADD-REMOVE;
REGISTERED AS {schedPkg 8};


operationNotificationPackage PACKAGE
  BEHAVIOUR  operationNotificationBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.11";;
  NOTIFICATIONS
    operationResultNotification;
REGISTERED AS {schedPkg 9};


currentTypeOfDay ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.TypeOfDay;
  MATCHES FOR EQUALITY;
REGISTERED AS {schedAtt 12};


dateTranslationList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.DateTranslationList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR dateTranslationListBeh BEHAVIOUR
    DEFINED AS
      "The translation list is a set that contains the mapping of a particular
      date into a type of day. The typeOfDay can be either a weekday type
      ('workday' or 'weekend'), or one of the special days that are defined. A
      specific date value may only occur once in dateTranslationList attribute.";;
REGISTERED AS {schedAtt 13};


defaultIndex ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.DefaultIndex;
  MATCHES FOR EQUALITY;
  BEHAVIOUR defaultIndexBeh BEHAVIOUR
    DEFINED AS
      "As in section 8.2.10 Multi-scheduler.";;
REGISTERED AS {schedAtt 14};


--This attribute is included in Scheduled Managed objects. It specifies the SO
--instance that controls the activity in the SMO.
externalSchedulerName ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.ExternalSchedulerName;
  MATCHES FOR EQUALITY;
  BEHAVIOUR  externalSchedulerNameBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.4.1.1";;
REGISTERED AS {schedAtt 1};


--This attribute is included in SMOs. It specifies the current status of the
--activity in the SMO.
onDuty ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.OnDuty;
  MATCHES FOR EQUALITY;
  BEHAVIOUR onDutyBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.4.1.2";;
REGISTERED AS {schedAtt 2};


--This attribute defines the mode of synchronization of a periodic scheduler's
--triggering periods.
resynchronizeMode ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.ResynchronizeMode;
  MATCHES FOR EQUALITY;
  BEHAVIOUR resynchronizeModeBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.8.2";;
REGISTERED AS {schedAtt 3};


--This attribute is defined in the Scheduler object to specify the SMO instances
--and the attribute identifier of the attribute associated with the activities
--within those instances that are controlled by the SO.
scheduledManagedObjects ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.ScheduledManagedObjectsList;
  MATCHES FOR SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR  scheduledManagedObjectsBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.2.2";;
REGISTERED AS {schedAtt 4};


--This attribute is the distinguished attribute for naming instances of a SO.
schedulerID ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.SimpleNameType;
  MATCHES FOR EQUALITY, SUBSTRINGS;
  BEHAVIOUR schedulerIDBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.1.2";;
REGISTERED AS {schedAtt 5};


schedulingData ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.SchedulingData;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR schedulingDataBeh BEHAVIOUR
    DEFINED AS
      "As in section 8.2.10 Multi-scheduler.

      Intervals within one member of the set shall be non-overlapping, but
      intervals defined in different members of the set can overlap. In that case,
      the (optional) sequence member 'priority' shall be present in each member
      of the set containing an interval that overlaps. The priority associated
      with each member of the set determines which activity will be scheduled.
      The higher priority numerical value has precedence on the lower one.";;
REGISTERED AS {schedAtt 15};


--This structured attribute defines a sequence of intervals of day.
sequenceOfDays ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.SequenceOfDays;
  MATCHES FOR EQUALITY;
  BEHAVIOUR sequenceOfDaysBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.4.2";;
REGISTERED AS {schedAtt 6};


--This structured attribute defines a sequence of month masks.
sequenceOfMonths ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.SequenceOfMonths;
  MATCHES FOR EQUALITY;
  BEHAVIOUR sequenceOfMonthsBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.6.2";;
REGISTERED AS {schedAtt 7};


--This structured attribute defines a sequence of week masks.
sequenceOfWeeks ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.SequenceOfWeeks;
  MATCHES FOR EQUALITY;
  BEHAVIOUR sequenceOfWeeksBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.5.2";;
REGISTERED AS {schedAtt 8};


timePeriod  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.TimePeriod;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR timePeriodBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.7.2";;
REGISTERED AS {schedAtt 9};


operationSpecifications ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.OperationSpecifications;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR operationSpecificationsBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.10.2";;
REGISTERED AS {schedAtt 10};


operationResult ATTRIBUTE
  WITH ATTRIBUTE SYNTAX
    Schedulerev1-ASN1Module.OperationResult;
  MATCHES FOR EQUALITY;
  BEHAVIOUR operationResultBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.11.2";;
REGISTERED AS {schedAtt 11};


typeOfDayControllerInstance ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.ObjectInstance;
  MATCHES FOR EQUALITY;
  BEHAVIOUR typeOfDayControllerInstanceBeh BEHAVIOUR
    DEFINED AS
      "This attribute points to an instance of OC typeOfDayController.";;
REGISTERED AS {schedAtt 16};


typeOfDayControllerId ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.NameType;
  MATCHES FOR EQUALITY;
REGISTERED AS {schedAtt 17};


weekDayTranslationList ATTRIBUTE
  WITH ATTRIBUTE SYNTAX Schedulerev1-ASN1Module.WeekDayTranslationList;
  MATCHES FOR EQUALITY, SET-COMPARISON, SET-INTERSECTION;
  BEHAVIOUR weekDayTranslationListBeh BEHAVIOUR
    DEFINED AS
      "The translation list is a set that contains the mapping of a particular
      day of the week into a type of day. The typeOfDay can be either a weekday
      type ('workday' or 'weekend'), or one of the special days that are
      defined. In weekDayTranslationList attribute, there shall be one mapping
      for every week day and a weekday value shall only occur once.";;
REGISTERED AS {schedAtt 18};


currentTypeOfDayAlgorithm BEHAVIOUR
  DEFINED AS
    "The currentTypeOfDay attribute is determined in accordance to the value of
    the attributes 'dateTranslationList' and 'weekDayTranslationList'.";


operationResultNotification NOTIFICATION
  BEHAVIOUR operationResultNotificationBehaviour BEHAVIOUR
    DEFINED AS
      "See 8.3.11.2";;
  WITH INFORMATION SYNTAX Schedulerev1-ASN1Module.OperationResult;
REGISTERED AS {schedNotif 1};

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