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)};
|