next up previous contents
Next: 4.1.2 Schritt 2: Das Up: 4.1 Umwandlung von MOF Previous: 4.1 Umwandlung von MOF

4.1.1 Schritt 1: Das Skript pass1.pl

Dieses Skript kopiert die Eingabedatei CIM_CoreSchema20.mof in die Ausgabedatei _CIM_CoreSchema20.mof, wobei allerdings folgende Zeilen nicht übernommen werden, da sie für die Umwandlung ins JMAPI-.mo-Format irrelevant sind:

Qualifier, die sich auf Klassen oder Attribute beziehen, stehen nach der MOF-Syntax jeweils vor den jeweiligen Klassen oder Attributen. Sie sind in eckigen Klammern eingeschlossen.

Beispiel:

        [Description (
        "The name of the organization responsible for producing the"
        "Physical Element.")] 
    string Manufacturer;

Die hierbei angegebenen Qualifier sind in der Regel nicht auf entsprechende Konstrukte in JMAPI abbildbar und werden deswegen übergangen. Ausnahmen bilden die Qualifier Abstract und Association. Auf ihre Behandlung wird unten eingegangen.

Obiges Beispiel würde demnach, unter Fortlassen der eckigen Klammern mitsamt des dazwischenstehenden Description-Qualifiers, zu

    string Manufacturer;

Der Qualifier Abstract deutet, wie in der objektorientierten Modellierung üblich, an, daß eine Klasse nicht instantiiert werden kann. Diese Semantik sollte bei einer Übersetzung in Java-Klassen erhalten bleiben. In der Ausgabedatei wird eine derartige Klasse durch Voranstellen des Wortes abstract vor die jeweilige Klassendefinition gekennzeichnet.

Beispiel:

        [Association, Abstract, Description (
        "A generic association to establish dependency relationships"
        "between objects.") , Schema ("CIM") ] 
class CIM_Dependency
{
  ...
}

wird zu[*]

abstract class CIM_Dependency

Ein weiterer Qualifier verdient bei der Umwandlung von MOF-Dateien in .mo-Dateien besondere Bedeutung: Durch den Identifikator Association werden Klassen gekennzeichnet, die Associations zwischen Managed Objects modellieren. Wie bereits erläutert, handelt es sich bei Associations nicht um Managed Objects, deshalb werden die entsprechenden Klassen samt zugehörigen Qualifiern vom Skript entfernt und nicht in die Ausgabedatei übernommen.

Enthält die MOF-Klassendefinition Methoden, so müssen diese im Java-Code als public abstract gekennzeichnet werden, da die Implementierung der Methoden fehlt, und die Methoden auch von anderen Java-Packages aus aufrufbar sein sollen. Das Skript pass1.pl fügt daher diese beiden Schlüsselworte vor Methodendeklarationen ein.

Beispiel:

    uint8 start();

wird zu

    public abstract uint8 start();

next up previous contents
Next: 4.1.2 Schritt 2: Das Up: 4.1 Umwandlung von MOF Previous: 4.1 Umwandlung von MOF
Copyright Munich Network Management Team