Implementierung

von Thomas Hütsch (thomas.huetsch@huetsch.de)


Das Abbilden der Modelle soll an zwei Beispielen verdeutlicht werden: Das erste Beispiel zeigt die Namens- und Werteabbildung das zweite die Strukturabbildung.

Namens- und Werteabbildung


Hinzufügen der abgebildeten Werte zu einer CIM-Instanz
(Metamodell , Modell , Metamodell+Modell )

Die Namens- und Werteabbildung wird durch die konkreten Klassen der Schnittstelle IPropertyMapping realisiert. Die IPropertyMapping-Schnittstelle verbirgt die Abbildungslogik der konkreten Klassen vor dem Modell bzw. Metamodell. Die Klasse MappingContext dient wiederum dem Modell und Metamodell als Fassade gegenüber der Abbildungslogik der Mapping-Klassen. Das Modell kann problemlos geändert werden, ohne die Abbildungslogik zu beeinflussen. Die Abbildungslogik kann leicht um neue Klassen, die von der IPropertyMapping Schnittstelle erben, erweitert werden.


Abbilden eines Wertes durch das EnummerationMapping
(Metamodell , Metamodell+Modell )

Das Prinzip der Namens- und Werteabbildung soll am Beispiel der Funktion getValue() einer EnummerationMapping Instanz gezeigt werden.
Die Bezeichnungen wurden in Anlehnung an die Abbildungsfunktion y = f(x) gewählt. Analog dazu steht CIM auf der linken Seite des Gleichheitszeichens und die MIB auf der rechten. Der MappingContext liefert den Wert des rechten Modells zu einem Namen einer Eigenschaft des rechten Modells. Der Wert wird unter Zuhilfenahme einer Lookup-Tabelle in den Wert des linken Modells abgebildet. Das Beispiel zeigt deutlich, dass die Mapping-Instanzen keine Kenntnis darüber erlangen woher der angeforderte Wert stammt.


getValue() Funktion des MappingContexts
(Modell , Metamodell+Modell )

Der MappingContext delegiert die an Ihn gerichteten Aufrufe an das Modell und Metamodell. In diesem Fall wird der Aufruf weiter delegiert bis zur konkreten Session, die den Wert zurückliefert. Die abstrakte Schnittstelle ISession verbirgt das Protokoll über das auf die Eigenschaft des verwalteten Geräts zugegriffen wird.

Strukturabbildung

Die Strukturabbildung soll am Beispiel von dynamischen Assoziationen/Aggregationen zwischen Klassen gezeigt werden:


Erzeugung der logischen Geräte (Metamodell , Modell )

Das Metamodell erzeugt aus den Informationen des Modells und Metamodells die logischen Geräte (engl. sub-devices) und verbindet diese mit dem Aggregat. Die Kardinalzahl der Assoziation/Aggregation wird in diesem Beispiel einer Eigenschaft des Modells entnommen.


$Id: implement.html 68 2005-02-24 12:32:40Z thuet $