-- =============================================================================
--<GDMO.Document "ITU-T Rec. X.743 | ISO/IEC 10164-20 : 1998">--
-- =============================================================================
-- <GDMO.Document "ITU-T Rec. X.743 (1998) | ISO/IEC 10164-20 : 1998">--

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

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

-- <OpenT.INCLUDE "formal-language/gdmo/database/itu-t/x/x721/1992/include.txt">--
-- <OpenT.INCLUDE "asn1/database/itu-t/x/x743/1998-tc1/TimeMF.asn">--
-- <OpenT.INCLUDE "asn1/database/itu-t/x/x743/1998-tc1/TimeRepresentation.asn">--


clockSource MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 | ISO/IEC 10165-2":top;
  CHARACTERIZED BY
    clockSourcePkg PACKAGE
      BEHAVIOUR clockSourceBeh BEHAVIOUR
        DEFINED AS
          "The clockSource object provides access to and information about a
          source of time within a system. Clock status attribute is identified
          as state attribute. A change in the value of the operationalState
          attribute causes a stateChange notification to be emitted. ";;
      ATTRIBUTES
        clockID GET SET-BY-CREATE NO-MODIFY,
        "Rec. ITU-T X.721 | ISO/IEC 10165-2": operationalState GET NO-MODIFY,
        clockStatus GET,
        clockValue GET,
        clockEventCounter GET,
        clockEventCode GET,
        clockEventTime GET;
      ACTIONS
        clockReset ;
      NOTIFICATIONS
        "ITU-T Rec. X.721 | ISO/IEC 10165-2": stateChange;;;
  CONDITIONAL PACKAGES
    clockSourceDetailPkg PACKAGE
      BEHAVIOUR clockSourceDetailBeh BEHAVIOUR
        DEFINED AS
          "The clockSourceDetailPkg package provides detailed information about
          a source of time within a system. ";;
      ATTRIBUTES
        clockPrecision GET,
        clockDrift GET,
        clockMaximumError GET,
        clockEstimatedError GET;
    REGISTERED AS { TimeMF.clockSourceDetailPkgOID };
    PRESENT IF !an instance supports it.!,
    leapSecondPkg PACKAGE
      BEHAVIOUR leapSecondBeh BEHAVIOUR
        DEFINED AS
          "The leapSecondPkg package provides access to and information about
          the leap seconds of a source of time within a system. ";;
      ATTRIBUTES
        leapSecondIndication GET-REPLACE SET-BY-CREATE,
        leapSecondCount GET-REPLACE SET-BY-CREATE;
    REGISTERED AS {TimeMF.leapSecondPkgOID};
    PRESENT IF !an instance supports it.!;
REGISTERED AS {TimeMF.clockSourceOID};


localClock MANAGED OBJECT CLASS
  DERIVED FROM clockSource;
  CHARACTERIZED BY
    localClockPkg PACKAGE
      BEHAVIOUR localClockBeh BEHAVIOUR
        DEFINED AS
          "The localClock object provides access to and information about an
          internal source of time within a system.";;
      ATTRIBUTES
        localClockAddress GET,
        peerClockAddresses GET-REPLACE ADD-REMOVE SET-BY-CREATE,
        synchronizationSourceAddress GET,
        clockStratum GET,
        clockAdjustmentInterval GET-REPLACE SET-BY-CREATE;;;
REGISTERED AS {TimeMF.localClockOID};


referenceClock MANAGED OBJECT CLASS
  DERIVED FROM clockSource;
  CHARACTERIZED BY
    referenceClockPkg PACKAGE
      BEHAVIOUR referenceClockBeh BEHAVIOUR
        DEFINED AS
          "The referenceClock object provides access to and information about a
          source of external time information within a system.";;
      ATTRIBUTES
        referenceClockType GET;;;
REGISTERED AS {TimeMF.referenceClockOID};


synchronizationProtocol MANAGED OBJECT CLASS
  DERIVED FROM "ITU-T Rec. X.721 | ISO/IEC 10165-2":top;
  CHARACTERIZED BY
    synchronizationProtocolPkg PACKAGE
      BEHAVIOUR synchronizationProtocolBeh BEHAVIOUR
        DEFINED AS
          "The synchronizationProtocol object provides general information about
          clock coordination service present in a system.";;
      ATTRIBUTES
        synchronizationProtocolID GET SET-BY-CREATE NO-MODIFY,
        synchronizationProtocolType GET,
        synchronizedClock GET,
        synchronizingClocks GET;
      ACTIONS
        leapSecond,
        protocolReset  ;;;
REGISTERED AS {TimeMF.synchronizationProtocolOID};


clockAdjustmentInterval ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.AdjustmentInterval;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockAdjustmentIntervalBeh BEHAVIOUR
    DEFINED AS
      "This attribute specifies the interval over which gradual phase
      adjustments to the local clock are to be applied.";;
REGISTERED AS {TimeMF.clockAdjustmentIntervalOID};


clockDrift ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockDrift;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockDriftBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the clock manufacturer's specified value of drift.";;
REGISTERED AS {TimeMF.clockDriftOID};


clockEstimatedError ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockEstimatedError;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockEstimatedErrorBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the estimated error of the clock.";;
REGISTERED AS {TimeMF.clockEstimatedErrorOID};


clockEventCode ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockEventCode;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockEventCodeBeh BEHAVIOUR
    DEFINED AS
      "This attribute identifies the latest system exception event.";;
REGISTERED AS {TimeMF.clockEventCodeOID};


clockEventCounter ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockEventCounter;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR clockEventCounterBeh BEHAVIOUR
    DEFINED AS
      "This attribute specifies a counter indicating the number of system
      exception events that have occurred since the last time the counter was
      checked and cleared.";;
REGISTERED AS {TimeMF.clockEventCounterOID};


clockEventTime ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockEventTime;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockEventTimeBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the time at which the latest system exception
      event occurred.";;
REGISTERED AS {TimeMF.clockEventTimeOID};


clockID ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockID;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockIDBeh BEHAVIOUR
    DEFINED AS
      "This attribute identifies the clock being modeled by the managed object.";;
REGISTERED AS {TimeMF.clockIDOID};


clockMaximumError ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockMaximumError;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockMaximumErrorBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the maximum error of the clock.";;
REGISTERED AS {TimeMF.clockMaximumErrorOID};


clockPrecision ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.Precision;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockPrecisionBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the precision of the clock.";;
REGISTERED AS {TimeMF.clockPrecisionOID};


clockStatus ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.Status;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockStatusBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the current status of the clock";;
REGISTERED AS {TimeMF.clockStatusOID};


clockStratum ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.Stratum;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR clockStratumBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the current stratum value for this local clock
      in this node.";;
REGISTERED AS {TimeMF.clockStratumOID};


clockValue ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockValue;
  MATCHES FOR EQUALITY;
  BEHAVIOUR clockValueBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the current time of the clock.";;
REGISTERED AS {TimeMF.clockValueOID};


leapSecondCount ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.CumLeapSeconds;
  MATCHES FOR EQUALITY, ORDERING;
  BEHAVIOUR leapSecondCountBeh BEHAVIOUR
    DEFINED AS
      "This attribute specifies the cumulative number of leap seconds that have
      occurred since January 1, 1972.";;
REGISTERED AS {TimeMF.leapSecondCountOID};


leapSecondIndication ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.LeapIndication;
  MATCHES FOR EQUALITY;
  BEHAVIOUR leapSecondIndicationBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates that a leap second is going to occur at the end
      of the current day.";;
REGISTERED AS {TimeMF.leapSecondIndicationOID};


localClockAddress ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ClockAddress;
  MATCHES FOR EQUALITY;
  BEHAVIOUR localClockAddressBeh BEHAVIOUR
    DEFINED AS
      "This attribute indicates the network address of this node.";;
REGISTERED AS {TimeMF.localClockAddressOID};


peerClockAddresses ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.PeerClockAddresses;
  MATCHES FOR EQUALITY;
  BEHAVIOUR peerClockAddressesBeh BEHAVIOUR
    DEFINED AS
      "This attribute lists the network addresses of the peers currently being
      maintained by this node.";;
REGISTERED AS {TimeMF.peerClockAddressesOID};


referenceClockType ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.ReferenceClockType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR referenceClockTypeBeh BEHAVIOUR
    DEFINED AS
      "This attribute specifies the type of reference clock or external source
      that this object represents.";;
REGISTERED AS {TimeMF.referenceClockTypeOID};


synchronizationProtocolID ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.SynchronizationProtocolID;
  MATCHES FOR EQUALITY;
  BEHAVIOUR syncronizationProtocolIDBeh BEHAVIOUR
    DEFINED AS
      "This attribute identifies the synchronization protocol being modeled by
      the managed object. This attribute is used for naming";;
REGISTERED AS {TimeMF.synchronizationProtocolIDOID};


synchronizationProtocolType ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.SynchronizationProtocolType;
  MATCHES FOR EQUALITY;
  BEHAVIOUR syncronizationProtocolTypeBeh BEHAVIOUR
    DEFINED AS
      "This attribute identifies the synchronization protocol type being modeled
      by the managed object.";;
REGISTERED AS {TimeMF.synchronizationProtocolTypeOID};


synchronizationSourceAddress ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.CurrSynchSourceAddress;
  MATCHES FOR EQUALITY;
  BEHAVIOUR synchronizationSourceAddressBeh BEHAVIOUR
    DEFINED AS
      "This attribute specifies the network address or the reference clock type
      of the current synchronization source for this node.";;
REGISTERED AS {TimeMF.synchronizationSourceAddressOID};


synchronizedClock  ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.SynchronizedClock;
  MATCHES FOR EQUALITY;
  BEHAVIOUR syncronizedClockBeh BEHAVIOUR
    DEFINED AS
      "The clock being synchronized by this instance of the time synchronization
      protocol.";;
REGISTERED AS {TimeMF.synchronizedClockOID};


synchronizingClocks ATTRIBUTE
  WITH ATTRIBUTE SYNTAX TimeMF.SynchronizingClocks;
  MATCHES FOR EQUALITY;
  BEHAVIOUR syncronizingClocksBeh  BEHAVIOUR
    DEFINED AS
      "The set of clocks exchanging information with this clock for the purposes
      of synchronization.";;
REGISTERED AS {TimeMF.synchronizingClocksOID};


clockReset ACTION
  BEHAVIOUR clockResetBeh BEHAVIOUR
    DEFINED AS
      "The BEHAVIOUR of this action is undefined in this Recommendation |
      International Standard. It provides the capability to distribute an
      indication to all instances of the time service to restart the time
      synchronization protocol.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX TimeMF.ClockResetInfo;
REGISTERED AS {TimeMF.clockResetActionOID};


leapSecond ACTION
  BEHAVIOUR leapSecondActionBeh BEHAVIOUR
    DEFINED AS
      "The BEHAVIOUR of this action is undefined in this Recommendation |
      International Standard. It provides the capability to distribute an
      indication that a leap second is about to occur. It includes a mechanism
      to set the appropriate parameters in the protocol.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX TimeMF.LeapSecondInfo;
REGISTERED AS {TimeMF.leapSecondActionOID};


protocolReset ACTION
  BEHAVIOUR protocolResetBeh BEHAVIOUR
    DEFINED AS
      "The BEHAVIOUR of this action is undefined in this Recommendation |
      International Standard. It provides the capability to distribute an
      indication to all instances of the time service to restart the time
      synchronization protocol.";;
  MODE CONFIRMED;
  WITH INFORMATION SYNTAX TimeMF.ProtocolResetInfo;
REGISTERED AS {TimeMF.protocolResetActionOID};


clockSource-system NAME BINDING
  SUBORDINATE OBJECT CLASS clockSource AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.721 | ISO/IEC 10165-2:1992": system AND SUBCLASSES;
  WITH ATTRIBUTE clockID;
  CREATE WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE DELETES-CONTAINED-OBJECTS;
REGISTERED AS{TimeMF.clockSource-systemOID};


synchronizationProtocol-system NAME BINDING
  SUBORDINATE OBJECT CLASS synchronizationProtocol AND SUBCLASSES;
  NAMED BY SUPERIOR OBJECT CLASS
    "ITU-T Rec. X.721 | ISO/IEC 10165-2:1992": system AND SUBCLASSES;
  WITH ATTRIBUTE synchronizationProtocolID;
  CREATE WITH-AUTOMATIC-INSTANCE-NAMING;
  DELETE DELETES-CONTAINED-OBJECTS;
REGISTERED AS{TimeMF.synchronizationProtocol-systemOID};
-- =============================================================================
--<GDMO.EndDocument "ITU-T Rec. X.743 | ISO/IEC 10164-20 : 1998">--

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