Rechnernetze
Home Nach oben

GDMO, die Sprache zur Definition von MO-Klassen

GDMO (Generic Definition of Managed Objects)
Grundkonstrukt für Struktur managementrelevanter Information 
Schablonen (Templates) zur Definition verschiedener Objekttypen
allgemeine Notation für alle Schablonen 
Es werden folgende Schablonen definiert:
Managed Object Class Template
Package Template
Parameter Template
Name Binding Template
Attribute Template
Attribute Group Template
Behaviour Template
Action Template
Notification Template
Eine Definition beginnt jeweils mit dem Namen des zu definierenden Objekts sowie einem Namen, unter dem auf die definierende Schablone lokal, d.h. aus derselben Datei heraus, Bezug genommen werden kann. Ein Objekt kann global referenziert werden, indem optional am Ende einer Definition – nach den Schlüsselworten REGISTERED AS  – die Positionierung der Definition im globalen Registrierungsbaum angegeben wird.
Am einfachsten lässt sich die Sprache anhand eines Beispiels einführen. Wir betrachten daher im folgenden die Definition einer MO-Klasse und der zugehörigen Objekte für das FDDI Station Management.
Zu Beginn der Definition wird der Name der Klasse (hier fddiSMT) angegeben. Es folgt mit der Angabe DERIVED FROM die Aussage, von welchen Oberklassen die zu definierende Klasse abgeleitet wird. An die Schlüsselworte CHARACTERIZED BY schließen sich nun die Eigenschaften von Instanzen der definierten Klasse an, die nicht bereits aus einer Oberklasse ererbt werden. Diese Eigenschaften sind in mehrere Packages gegliedert, von denen in der Regel eines die notwendigen Eigenschaften von Instanzen der definierten Klasse umfasst. Die übrigen Eigenschaften, welche auf das Schlüsselwort CONDITIONAL PACKAGES folgen, stellen optionale Erweiterungen der Klassendefinition dar. Pro Rechner ist immer nur eine Variante einer Klasse aktiv, welche durch eine bestimmte Menge optionaler Erweiterungen festgelegt ist. Es ist somit unmöglich, dass innerhalb eines Rechensystems Instanzen einer Klasse verschiedenen Grundaufbaus existieren.
Wie jeder Bestandteil, der durch eine Schablone definiert ist, kann entweder der Name des Bestandteils als Verweis auf die Definition oder die Schablone selbst in der übergeordneten Definition enthalten sein. Die Definitionen von Packages werden in dem Beispiel nicht referenziert, sondern sind vollständig in der Klassendefinition enthalten.
Ein Package umfasst nach dem Schlüsselwort BEHAVIOUR jeweils Angaben zum Verhalten und Sinn seiner Bestandteile (oder einen Verweis auf solche Angaben!). Auf das Schlüsselwort ATTRIBUTES folgen dann eine Menge von Paaren von Attributen sowie Eigenschaften dieser Attribute. Im Anschluss werden nach dem Schlüsselwort ATTRIBUTE GROUPS noch Attributgruppierungen angegeben, welche das Package unterstützen. Es folgen dann ggf. nach den Schlüsselworten ACTIONS und NOTIFICATIONS noch Angaben zu Aktionen auf Instanzen der umfassenden Klasse sowie zu Meldungen, die unterstützt werden.
Nicht in der Klassendefinition sind die Schlüsselworte ALLOMORPHIC SETS sowie PARAMETERS und die dazugehörigen Konstrukte enthalten; diese wären zwar zulässig, sind aber für das Beispiel nicht nötig.

fddiSMT MANAGED OBJECT CLASS
    DERIVED FROM "Rec.X.71| ISO/IEC 10165-2":top;
    CHARACTERIZED BY

fddiSMTBase PACKAGE
    BEHAVIOUR
        fddiSMTBaseBhv BEHAVIOUR
            DEFINED AS "The fddiSMT object class provides the support necessary at
            the station (node) level to manage the processes underway in the various
            FDDI lagers such that a station (node) may work cooperatively as a part of an
            FDDI network. The fddiSMT object class provides services such as
            connection management, station insertion and removal, station initialization,
            configuration management, fault isolation and recovery, communication
            protocol for external authority, scheduling policies, and collection of
            statistics.
";;
        ATTRIBUTES
            fddiSMTStationld GET,
            fddiSMTOpVersionld GET,
            fddiSMTHiVersionld GET,
            fddiSMTLoVersionld GET,
            fddiSMTUser Data GET-REPLACE,
            fddiSMTMIBVersionld GET
            fddiSMTMAC-Ct GET,
            fddiSMTNonMaster-Ct GET,
            fddiSMTMaster-Ct GET,
            fddiSMTAvailable Paths GET,
            fddiSMTConfigCapabilities GET,
            fddiSMTConfigPolicy GET-REPLACE,
            fddiSMTConnectionPolicy GET-REPLACE,
            fddiSMTT-Notify GET-REPLACE,
            fddiSMTStatRptPolicy GET-REPLACE,
            fddiSMTTrace-MaxExpiration GET-REPLACE,
            fddiSMTPORTIndexes GET,
            fddiSMTMACIndexes GET,
            fddiSMTBypassPresent GET,
            fddiSMTECMState GET,
            fddiSMTCF-State GET,
            fddiSMTRemoteDisconnectFlag GET,
            fddiSMTStationStatus GET,
            fddiSMTPeerWrapFlag GET,
            fddiSMTTimeStamp GET,
            fddiSMTTransitionTimeStamp GET,
        ATTRIBUTE GROUPS
            fddiSMTStationldGrp,
            fddiSMTStationConfigGrp,
            fddiSMTStatusGrp,
            fddiSMTMIBOperationGrp;
        ACTIONS
            fddiSMTStationAction;
        NOTIFICATIONS
            fddiSMTPeerWrapCondition;;;

    CONDITIONAL PACKAGES

        manufacturerdata PACKAGE
            BEHAVIOUR
                manufacturerdataBhv BEHAVIOUR
                    DEFINED AS "This package provides support for the Manufacturer data attribute of a node.";;
                ATTRIBUTES
                    fddiSMTManufacturer Data, GET;
                ATTRIBUTES GROUPS
                    fddiSMTStationldGrp;
                    fddiSMTManufacturerData;
                REGISTERED AS {iso(1) standard(0) iso9314) fddiMIB(1) fddiSMTpkg(1)
                    manufacturerdata(1)};
                PRESENT IF "Manufacturer Data Supported",

        parametermangement PACKAGE
            BEHAVIOUR
                parametermangementBhv BEHAVIOUR
                    DEFINED AS "This package provides support for the parameter management
                    capability of a node.";;
                ATTRIBUTES
                    fddiSMTSetCount GET,
                    fddiSMTLastSetStationld; GET
                ATTRIBUTE GROUPS
                    fddiSMTMIBOperationGrp
                    fddiSMTSetCount
                    fddiSMTLastSetStationld;
                REGISTERED AS {iso(1) standard(0) iso9314(0314) fddiMIB(1) fddiSMTpkg(1)
                    parametermanagement(2)};
                PRESENT IF "Parameter Management Frame. Set operations are supported";

hold PACKAGE
    BEHAVIOUR
        holdBhv BEHAVIOUR
            DEFINED AS "This package provides support for the Hold policy. The Hold
            policy only applies to dual attach, dual MAC nodes.";;
    ATTRIBUTES
        fddiSMTHoldState GET;
    ATTRIBUTE GROUPS
        fddiSMTStatusGrp
        fddiSMTHold State;
    NOTIFICATIONS
        fddiSMTHoldCondition;
    REGISTERED AS {is(0) standard(0) iso9314(9314) fddiMIB(1) fddiSMTpkg(1) hold(3)};
    PRESENT IF "Hold policy supported",

smtvendorspecific PACKAGE
    BEHAVIOUR
        smtvendorspecificBhv BEHAVIOUR
        DEFINED AS "This package provides support for the extension of the MIB for the
        use of specific vendors.";;
    ATTRIBUTES
        fddiSMTVendorAttrib GET-REPLACE
    ACTIONS
        fddiSMTVendorActions;
    NOTIFICATIONS
        fddiSMTVendorNotification;
    REGISTERED AS {is(0) standard(0) iso9314(9314) fddiMIB(1) fddiSMTpkg(1)
        smtvendorsspecific(4)};
    PRESENT IF "Vendor Extensions Supported";
    REGISTERED AS {is(0) standard(0) iso9314(9314) fddiMIB(1) fddiSMT(16)};

fddiMACCapabilitiesGrp ATTRIBUTE GROUP
    DESCRIPTION
        The MAC capabilities group includes attributes that describe the frame status
        handling, bridge, and timer bounds capabilities.;
    REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiMAC(32)
                            fddiMACCapabilitiesGrp(10)};

fddiSMTStationld ATTRIBUTE
    WITH ATTRIBUTE SYNTAX FDDI-SMT.StationldType;
    BEHAVIOUR
        fddiSMTStationldBhv BEHAVIOUR
    DEFINED AS Used to uniquely identify an FDDIstation.";;
    REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiSMT(16) fddiSMTStationld(11)};

fddiSMTT-Notify ATTRIBUTE
    WITH ATTRIBUTE SYNTAX FDDI-SMT.T-Notify Type;
    BEHAVIOUR
        fddiSMTT-NotifyBhv BEHAVIOUR
    DEFINED AS "The timer, expressed in seconds, used in the Neighbor Notification
                        protocol. It has a range of 2 seconds to 30 seconds, and its default value is 30 seconds.";;
    REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiSMT(16) fddiSMTT-Notify(29)};

            T-NotifyType ::= SEQUENCE {t-notify INTEGER (0..65535)} - - 2octets

 

fddiSMTStation Action ACTION
    BEHAVIOUR
        fddiSMTStationActionBhv BEHAVIOUR
    DEFINED AS "The behavior of these actions is the following.

Connect: Generates a Connect signal to ECM to begin a connection sequence. The fddiSMTRemoteDisconnectFlag is cleared on this action (see 9.4.2).
Disconnect: Generates a Disconnect signal to ECM and sets the fddiSMTRemote DisconnectFlag is received in a Parameter Management Frame (see 9.4.2.).
Path_Test: Initiates a station Path_Test. The Path_Test variable (see 9.4.1) is set to 'Testing'. The results of this action are not specified in this standard.
Self_Test: Initiates a station Self_Test. The results of this action are not specified in this standard.
Disable_A Causes a PC_Disable on the A port if the A port mode is peer.
Disable_B Causes a PC_Disable on the B port if the B port mode is peer.
Disable_M Causes a PC_Disable on all M ports.";;

    WITH INFORMATION SYNTAX FDDI-SMT.ActionInfoType;
    REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiSMT(16)
                              fddiSMTStationAction(60)};

fddiSMTPeerWrapCondition NOTIFICATION
    BEHAVIOUR
        fddiSMTPeerWrapConditionBhv BEHAVIOUR
    DEFINED AS "This condition is active when fddiSMTPeerWrapFlag is set. This
                        notification is a Condition in the Status Report Protocol (see 7.2.7 and 8.3).";;
    WITH INFORMATION SYNTAX FDDI-SMT.PeerWrapConditionData Type;
    REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiSMT(16)
                            fddiSMTPeerWrapCondition(72)};

 

fddiMACName NAME BINDING
SUBORDINATE OBJECT CLASS fddiMAC;
NAMED BY SUPERIOR OBJECT CLASS fddiSMT;
WITH ATTRIBUTE fddiMacIndex;
REGISTERED AS {iso(1) standard(0) iso9314(9314) fddiMIB(1) fddiName Binding(6) fddiMAC(1)};