next up previous contents
Next: Beispiel Up: 6.2 Generierung von IDL-Objektbeschreibungen Previous: Hinzufügen von IDL-Code und

Die Dialogbox zur IDL-Code-Erzeugung

Das Kommando Generate IDL for <object> des Class Browser öffnet die Dialogbox, die in Abbildung 6.4 abgebildet ist. Hier werden Parameter eingestellt, die die Code-Erzeugung insgesamt beinflussen.


 
Abbildung 6.4:  Die Dialogbox zur IDL-Code-Erzeugung
50#50

Nach Angabe des Verzeichnises, in das die IDL-Dateien geschrieben werden sollen, muß entschieden werden, ob für jede Klasse eine eigene IDL-Datei erstellt werden soll. Der IDL-Compiler kann den Code für eine vererbte Unterklasse jedoch nur verarbeiten, wenn dieselbe IDL-Datei auch die Deklarationen für die Oberklasse(n) enthält. Normalerweise fügt StP ein Include-Kommando für die IDL-Datei der Oberklasse ein. Alternativ dazu kann der Code für ausgewählte bzw. für alle Klassen eines Diagramms auch in einer Datei erzeugt werden, für die ein Name angegeben werden muß.

Die Option ,,Use Class's Module Information`` hat für OMT-Modelle keine Bedeutung. Im nächsten Feld kann die Extension der IDL-Dateien bestimmt werden.

Die nächsten beiden Optionen legen fest, ob StP auch für Assoziationen bzw. Aggregationen Code einfügen soll. Wird «Instance» selektiert, werden assozierte Objektinstanzen als zusätzliche Attribute der Klasse eingebettet. Beispielsweise entsteht aus der 1:n-Assoziation zwischen der Klasse UNIXSystem und UNIXProcess das folgende Attribut:

attribute sequence<UNIXProcess> assnUNIXProcess;

Diese Einbettung von Instanzen assoziierter Objektklassen führt bei der Implementierung der CORBA-Objekte jedoch zu Problemen, da ein Mechanismus zur Initialisierung der ,,Beziehungsattribute`` fehlt. Für den Prototypen wurde daher auf die Code-Erzeugung für Assoziationen und Aggregationen durch «Suppress» verzichtet. Beziehungen aus dem Objektmodell und deren Einschränkungen durch die Multiplizitätsangaben müssen daher bei der Implementierung der Server-Objekte extra beachtet werden. Wünschenswert wäre die Abbildung von Beziehungen auf den CORBA Relationship-Service. Dies wird aber weder in der eingesetzten Version von StP unterstützt, noch enthält der VisiBroker for Java diesen Service.

Für die übrigen Parameter können die Default-Einstellungen verwendet werden. Die genaue Bedeutung kann [Int96d] entnommen werden.


next up previous contents
Next: Beispiel Up: 6.2 Generierung von IDL-Objektbeschreibungen Previous: Hinzufügen von IDL-Code und
Copyright Munich Network Management Team