GDMO (Guidelines for Definition of Managed Objects)

GDMO es un metalenguaje de plantillas (templates) simple (ISO 10165-4), basado en ASN.1 (ISO 8824). Es utilizado para describir las Clases de Objetos Administrables (MOCs) en el modelo de información de la arquitectura de administración OSI. GDMO especifica el formato y los lineamientos para las definiciones de las MOC. En las definiciones de plantilla se puede hacer referencia a otras (definiciones de) plantillas. Cada referencia a otra plantilla puede ser reemplazada en línea (macro expansion) por la correspondiente definición de plantilla.

OSI-SMI utiliza las siguientes estructuras genéricas para las plantillas:

La plantilla managed object class es el nivel más alto; otras plantillas pueden ser utilizadas para definir esta de manera más exacta utilizando una descomposición descendente (por ejemplo, la clase está compuesta por paquetes, el paquete está compuesto por atributos, notificaciones, comportamientos y parámetros).

Plantilla genérica para definir una clase
 

MANAGED OBJECT CLASS
[DERIVED FROM  
            [,]*;
]
[CHARACTERIZED BY
                [,]*;
]
[CONDITIONAL PACKAGE
                     PRESENT IF conditional-definition
                   [, PRESENT IF conditional-definition]*;
]
REGISTERED AS {object-identifier-value};

Plantilla generica para definir un package
 

PACKAGE
[BEHAVIOUR  
         [,]*;
]
[ATTRIBUTES propertylist [parameter-label]*
          [, propertylist [parameter-label]* ]*;
]
[ATTRIBUTE GROUPS [attribute-label]*
                [, [attribute-label]* ]*;
]
[ACTIONS [parameter-label]*
       [, [parameter-label]* ]*;
]
[NOTIFICATIONS [parameter-label]*
             [, [parameter-label]* ]*;
]
[REGISTERED AS {object-identifier-value}];

Plantilla genérica para definir una clase
 

MANAGED OBJECT CLASS
[DERIVED FROM  
            [,]*;
]
[CHARACTERIZED BY
                [,]*;
]
[CONDITIONAL PACKAGE
                     PRESENT IF conditional-definition
                   [, PRESENT IF conditional-definition]*;
]
REGISTERED AS {object-identifier-value};

Plantilla generica para definir un package
 

PACKAGE
[BEHAVIOUR  
         [,]*;
]
[ATTRIBUTES propertylist [parameter-label]*
          [, propertylist [parameter-label]* ]*;
]
[ATTRIBUTE GROUPS [attribute-label]*
                [, [attribute-label]* ]*;
]
[ACTIONS [parameter-label]*
       [, [parameter-label]* ]*;
]
[NOTIFICATIONS [parameter-label]*
             [, [parameter-label]* ]*;
]
[REGISTERED AS {object-identifier-value}];

Ejemplos de plantillas

1. ManagedElement es un objeto administrable que representa un elemento de red (NE). La plantilla abreviada para la MOC es la siguiente
 

managedElement MANAGED OBJECT CLASS
DERIVED FROM "Recommendation X.721:1992": top;
CHARACTERIZED BY 
   managedElementPackage PACKAGE --definición de paquetes in-line
   BEHAVIOUR managedElementBehaviour;
   ATTRIBUTES
     managedElementId                                      GET,
     "Recomendation X.721:1992":systemTitle                GET-REPLACE,
     alarmStatus                                           GET,
     "Recomendation X.721:1992":administrativeState        GET-REPLACE,
     "Recomendation X.721:1992":operationalState           GET,
     "Recomendation X.721:1992":usageState                 GET;
   NOTIFICATIONS
     "Recomendation X.721:1992":enviromentalAlarm,
     "Recomendation X.721:1992":equipmentAlarm,
     "Recomendation X.721:1992":processingErrorAlarm,
     "Recomendation X.721:1992":comunicationsAlarm;;;
CONDITIONAL PACKAGE 
createDeleteNotificationsPackage PRESENT IF "the creation and deletion
notifications are supported by an instance od this class,"
attributeValueChangeNotificationsPackage  PRESENT IF "the attribute value change 
notifications are supported by an instance od this class,"
userLabelPackage        PRESENT IF "an instance supports it,"
vendorNamePackage       PRESENT IF "an instance supports it,"
versionPackage          PRESENT IF "an instance supports it,"
locationNamelPackage    PRESENT IF "an instance supports it";

--no todos los paquetes están incluidos en este ejemplo. Revise la recomendación ITU M.3100

REGISTERED AS {ccitt recomendation m(13) gnm(3100) informationModel(0) objectClass(3) 3};

2.  La plantilla para una MOC del circuit pack es la siguiente
 

circuitPack MANAGED OBJECT CLASS
DERIVED FROM equipmentR1; --La superclase "equipmentR1" es una 
                          --revision de la clase "equipment"
CHARACTERIZED BY 
   createDeleteNotificationsPackage,
   administrativeOperationalStatesPackage,
   stateChangeNotificationPackage,
   equipmentsEquipmentAlarmR1Package,
   currentProblemListPackage,
   equipmentAlarmEffectOnServicePackage,
   alarmSeverityAssignmentPointerPackage,
   circuitPackPackage PACKAGE
   BEHAVIOUR circuitPackBehavior;
   ATTRIBUTES
     cicrcuitPackType                                   GET SET-BY-CREATE,
     "Recomendation X.721:1992":availabilityStatus 
        PERMITTED VALUES ASN1DefinedTypesModule.CircuitPAck AvailabilityStatus 
        GET;;;
REGISTERED AS {ccitt recomendation m(13) gnm(3100) informationModel(0) objectClass(3) 30};

3.  La plantilla para el PACKAGE availabilityStatusPackage es la siguiente
 

availabilityStatusPackage PACKAGE
   BEHAVIOUR 
   availabilityStatusBehaviour   BEHAVIOUR
   DEFINED AS "This package is described in CCITT Recommendation X.734,
   X.735| ISO/IEC 10164-5,6. It is used to indicate the availability of
   the resource according to a predetermined time schedule." ;;
   ATTRIBUTES
      availabilityStatus REQUIRED VALUES 
        Attribute-ASN1Module.SchedulingAvailability GET;
REGISTERED AS {joint-iso-ccitt ms(9) smi(3) part2(2) package(4) 22};

4.  La plantilla para el BEHAVIOUR circuitPackBehaviour es la siguiente
 

circuitPackBehaviour BEHAVIOUR
DEFINE AS
"The Circuit Pack object class is a class of managed objects that represents a plug-in replaceable unit that can be inserted into or removed from the equipment holder of the Network Element. Examples of plug-in cards include line cards, processors, and power supply units.";
--see M.3100 for complete definition

5.  La plantilla para el ATTRIBUTE circuitPackType es la siguiente
 

circuitPackType ATTRIBUTE
   WITH ATTRIBUTE SYNTAX ASN1DefinedTypesModule.CircuitPackType;
   MATCHES FOR EQUALITY, SUBSTRINGS;
   BEHAVIOUR 
      circuitPackTypeBehavior BEHAVIOUR
         DEFINED AS "This attribute indicates the type of the circuit pack.";;
REGISTERED AS {ccitt recomendation m(13) gnm(3100) informationModel(0) attribute(7) 54};

6.  La plantilla para el ATTRIBUTE GROUP state es la siguiente
 

state ATTRIBUTE GROUP
--this is not a fixed group
DESCRIPTION 
CHARACTERIZED BY 
   createDeleteNotificationsPackage,
   administrativeOperationalStatesPackage,
   stateChangeNotificationPackage,
   equipmentsEquipmentAlarmR1Package,
   currentProblemListPackage,
   equipmentAlarmEffectOnServicePackage,
   alarmSeverityAssignmentPointerPackage,
   circuitPackPackage PACKAGE
   BEHAVIOUR circuitPackBehavior;
   ATTRIBUTES
     cicrcuitPackType                                   GET SET-BY-CREATE,
     "Recomendation X.721:1992":availabilityStatus 
        PERMITTED VALUES ASN1DefinedTypesModule.CircuitPAck AvailabilityStatus 
        GET;;;
REGISTERED AS {ccitt recomendation m(13) gnm(3100) informationModel(0) objectClass(3) 30};

 



İOscar Agudelo.  2000-2001. Todos los derechos reservados.