GDMO - Guidelines for Definition of Managed Objects
Defining managed object constructs and behaviors for TMN and CMIP Based Systems
If you are either developing equipment intended for use by the major telecommunications
service providers or are actively involved in standards targeted toward the ITU, you are likely
to run across a need to either understand the content of information described in GDMO, or to
develop new Management Information Bases using GDMO. GDMO provides a language
for the definition of managed objects within TMN based systems. Over the last few months,
we've been taking a look at the Telecommunications Management Network (TMN)
strategies and concepts that are becoming more popular in the telecommunications arena.
To develop management solutions using the TMN framework and CMIP services, the
managed information base (MIB) is described using a schema called GDMO, which is
short for Guidelines for the Definition of Managed Objects. GDMO, specified in ISO/IEC
10165 / ITU-T X.722 is a structured description language that provides a way of specifying the
classes of objects, the object's behaviors, attributes and class ancestry. While loosely analogous
to the SNMP Structures of Managed Information (SMI), the GDMO format is not derived from
Abstract Syntax Notation One (ASN.1). However, it does make use of ASN.1 for definition
of the syntax and encoding of attributes within the system.
Containment of information in GDMO is organized into managed Objects that contain:
In reviewing the GDMO structure, we can first take a look at the templates defined within the
standards for defining the objects. At the highest level, the template for the Managed Object Class is:
<class-label> MANAGED OBJECT CLASS
[DERIVED FROM <class-label> [<class-label>]*;]
[CHARACTERIZED BY <package-label> [,<package-label>]*;]
[CONDITIONAL PACKAGES <package-label> PRESENT IF condition-definition
[,<package-label> PRESENT IF condition-definition]*;]
REGISTERED AS object-identifier;
The DERIVED FROM clause specifies the superclass or superclasses from which this managed object
is derived (inherited). With the exception of the managed object class "top," this
term must be included. Typically, the highest level object classes, such as system and managed element,
are derived from top. The characteristics of the superclasses are not repeated in
the derived class definition.
Packages included in the object class definition are identified by the CHARACTERIZED BY and
CONDITIONAL PACKAGES clauses. The CHARACTERIZED BY clause identifies the
package or packages that are always present when the managed object is included in the system.
The CONDITIONAL PACKAGES clause is used to identify those packages that may
or may not be included each time the a managed object of this class is instantiated.
Finally, the REGISTERED AS clause identifies the location of the managed object class on the
ISO Registration Tree.
<package-label> PACKAGE
[BEHAVIOR <behavior-definition-label> [,<behavior-definition-label>]*;]
[ATTRIBUTES <attribute-label> propertylist [,<parameter-label>]*
[,<attribute-label> propertylist [,<parameter-label>]*]*;]
[ATTRIBUTE GROUPS <group-label> [<attribute-label>]*
[<group-label> [<attribute-label>]*]* ;]
[ACTIONS <action-label> [<parameter-label>]*
[<action-label> [<parameter-label>]*]* ;]
[NOTIFICATIONS <notification-label> [<parameter-label>]*
[<notification-label> [<parameter-label>]*]* ;]
[REGISTERED AS object-identifier];
supporting productions
propertylist -> [REPLACE-WITH-DEFAULT]
[DEFAULT VALUE value-specifier]
[INITIAL VALUE value-specifier]
[PERMITTED VALUES type-reference]
[REQUIRED VALUES type-reference]
[ GET | REPLACE | GET-REPLACE ]
[ ADD | REMOVE | ADD-REMOVE ]
<attribute-label> ATTRIBUTE
derived-or-with-syntax-choice;
[MATCHES FOR qualifier [,qualifier]*;]
[BEHAVIOR <behavior-definition-label>
[,<behavior-definition-label>]*;]
[PARAMETERS <parameter-label> [,<parameter-label>]*;]
[REGISTERED AS object-identifier];
supporting productions:
qualifier -> EQUALITY | ORDERING | SUBSTRINGS |
SET-COMPARISON | SET-INTERSECTION
derived-or-
with-syntax-choice -> DERIVED FROM <attribute->label> |
WITH ATTRIBUTE SYNTAX type-reference
The PARAMETER clause provides a way to associate error parameters with the defined
attribute's behavior.
Notifications are signals emitted by the managed objects. The template for defining notifications
in GDMO is as follows:
<notification-label> NOTIFICATION
[BEHAVIOR <behavior-definition-label> [,<behavior-definition-label>]*;]
[PARAMETERS <parameter-label> {,<parameter-label>}*;]
[WITH INFORMATION SYNTAX type-reference
[AND ATTRIBUTE IDS <field-name><attribute-label>
[,<field-name><attribute-label>]* ];]
[WITH REPLY SYNTAX type-reference;]
[REGISTERED AS object-identifier;
<action-label> ACTION
[BEHAVIOR <behavior-definition-label>
[,<behavior-definition-label>]*;]
[MODE CONFIRMED;]
[PARAMETERS <parameter-label>[,<parameter-label>]*;]
[WITH INFORMATION SYNTAX type-reference;]
[WITH REPLY SYNTAX type-reference;]
REGISTERED AS object-identifier
managedElement MANAGED OBJECT CLASS
DERIVED FROM "Recommendation X.721: 1992":top;
CHARACTERIZED BY
managedElementPackage PACKAGE
BEHAVIOR
managedElementBehavior BEHAVIOR
DEFINED AS
"The Managed Element object class is
"
;;
ATTRIBUTES
managedElementId GET,
"Recommendation X.721:1992":systemTitle GET-REPLACE,
alarmStatus GET,
"Recommendation X.721:1992":administrativeState GET-REPLACE,
"Recommendation X.721:1992":operationalState GET-REPLACE,
"Recommendation X.721:1992":usageState GET-REPLACE;
NOTIFICATIONS
"Recommendation X.721:1992":environmentalAlarm,
"Recommendation X.721:1992":equipmentAlarm,
"Recommendation X.721:1992":communicationsAlarm,
"Recommendation X.721:1992":processinErrorAlarm;;;
CONDITIONAL PACKAGES
createDeleteNotificationsPackage PRESENT IF "the objectCreation and
objectDeletion notifications defined in Recommendation X.721
are supported by an instance of this class."
;
REGISTERED AS {m3100ObjectClass 3}