next up previous contents
Next: 3.2 IBM TMN WorkBench Up: 3.1 Die Arbeiten der Previous: Der Algorithmus

Der MIB-Compiler  

Vom Telecommunications Laboratory des Technical Research Centre of Finland (VTT/TEL) wurde ein Compiler für die Übersetzung von Internet SNMP MIBs zu OSI GDMO MIBs entwickelt. Dieser ,,SMIC2GDMO``-Compiler ist eine Erweiterung des von Dave Perkins von SynOptics entwickelten SNMP MIB Compilers ,,SMIC``. Der Übersetzungsalgorithmus basiert dabei auf den Grundlagen des von der IIMC veröffentlichten Internet Drafts, wie er im vorigen Abschnitt kurz eingeführt wurde.
Der SMIC2GDMO-Compiler erwartet als Eingabe eine SNMPv1-MIB und liefert als Ausgabe die GDMO-Darstellung dieser Eingabe-MIB, siehe Abbildung 3.1.

 
Abbildung:   Der Ablauf einer Übersetzung von einer Internet-MIB zu einer GDMO-MIB.
19#19

Dabei muß beachtet werden, daß für jede neue SNMPv1-MIB, die mit diesem Compiler übersetzt werden soll, alle in dieser MIB enthaltenen SNMP-Gruppen in eine oder mehrere Tabellen (zum Beispiel ,, pszSnmpV1mib_2BuildinGroups``) in der Datei ,,smdump_gdmo.ic`` eingetragen werden müssen (siehe [Reilly]). Anschließend muß der gesamte Compiler neu übersetzt und gebunden werden, damit die Änderungen gültig werden.
Weiterhin soll darauf hingewiesen werden, daß die entstandene GDMO-MIB eventuell nachbearbeitet werden muß (siehe dazu [Reilly93]). So erhalten zum Beispiel alle NAME BINDINGs der Managementobjekt-Klassen, die aus SNMP-Gruppen entstanden sind, als SUPERIOR OBJECT CLASS die OSI-Klasse ,,system``. Dies muß für jede Klasse nachträglich verändert werden, wenn die tatsächliche SUPERIOR OBJECT CLASS nicht der Klasse ,,system`` entspricht, da sonst keine Instanzen dieser Klasse kreiert werden können (da die NAME BINDING-Restriktionen verletzt werden). So wurde in dem gerade vorgestellten ,,internetSystem-mib2NB`` NAME BINDING die ursprünglich vom Compiler falsch generierte NAMED BY SUPERIOR OBJECTCLASS ISO/ITU Klasse ,,system`` mit der richtigen ISO/ITU Klasse ,,mib2`` ausgetauscht.
Wie in Abbildung 3.1 ersichtlich ist, dienen die aus dieser Übersetzung entstandenen GDMO-Templates und ASN.1-Typdefinitionen als Eingabe für den Agenten-Entwicklungsprozesses, wie er in 3.2.3 beschrieben wird. Dort wird diese neue GDMO-MIB mit dem Managed Object Compiler auf die Konformität zu dem OSI-Informationsmodell überprüft. Dies erscheint eigentlich als ein überflüssiger Test, denn der SMIC2GDMO-Compiler übersetzt definitionsgemäß SNMP-MIBs in OSI-SMI-konforme MIBs. Dieser Schritt wird aber dennoch benötigt, da der SMIC2GDMO-Compiler an einigen Stellen der GDMO-Templates Parameter einsetzt, die der Managed Object Compiler nicht auflösen und damit der Entwicklungsprozeß nicht fortgesetzt werden kann:
So übersetzt der SMIC2GDMO-Compiler zum Beispiel die SNMP-Variable ,,sysContact``, siehe dazu auch den vorherigen Abschnitt, in ein GDMO-Attribut. Das Ergebnis lautet folgendermaßen, wobei nur für diese Betrachtung relevante Teile dargestellt werden:
sysContact ATTRIBUTE
        WITH ATTRIBUTE SYNTAX
                IIMCRFC12131354ASN1.DisplayString;
        BEHAVIOUR
                [...]
        REGISTERED AS
           { iimcAutoObjAndAttr 1 3 6 1 2 1 1 4};

Dieses GDMO-Template kann der Managed Object Compiler nicht fehlerfrei übersetzen, da er den Parameter ,,iimcAutoObjAndAttr`` nicht auflösen kann. Dieser wird zwar in einer ASN.1-Datei richtig definiert, muß aber nachträglich vom Entwickler ausgebessert werden:

sysContact ATTRIBUTE
        WITH ATTRIBUTE SYNTAX
                IIMCRFC12131354ASN1.DisplayString;
        BEHAVIOUR
                [...]
        REGISTERED AS
           { 1 2 124 360501 14 1 1 3 6 1 2 1 1 4};


next up previous contents
Next: 3.2 IBM TMN WorkBench Up: 3.1 Die Arbeiten der Previous: Der Algorithmus
Copyright Munich Network Management Team