In der Konfiguration des Master-Knotens ist festzulegen, wie der Slave-Knoten am Rand des Master-Knotens angeordnet werden soll. Das Prinzip für die Anordnung an der Außenseite der Kontur des Master-Knotens wird outside-edged genannt, die Anordnung an der Innenseite der Kontur inside-edged (wird derzeit nicht unterstützt).
Initial wird ein Slave-Knoten in der Himmelsrichtung am Master-Knoten positioniert, die mit dem Attribut direction des Elements <slaveNode> angegebenen ist. In welcher Himmelsrichtung ein Slave-Knoten am Master-Knoten manuell positioniert werden darf wird mit dem Attribut direction des Unterelements <movement> vorgegeben.
Beispielcode für die Anordnung von Slave-Knoten an einem Master-Knoten:
Das Beispiel des Thermodynamik-Modells zeigt die Anordnung von Ein- und Ausgängen als Slave-Knoten, die am Master-Knoten immer so anzuordnen sind, dass die Strömungsrichtung der Luft eingehalten wird.
In der Konfiguration des Master-Knotens (id="AbstrakteThermodynamikKomponente") wird mit dem Attribut slaveNodes="=rmos('Thermodynamik_Architektur.Anschluss')" angegeben, dass alle untergeordneten Komponenten vom Typ Anschluss als Slave-Knoten anzuordnen sind.
Als Slave-Knoten sind sowohl Knoten mit node="LuftEingang", wie auch node="LuftAusgang" definiert. Deren Orientierung am Master-Knoten wird mit dem Attribut direction="WEST" und direction="EAST" festgelegt.
Beispielcode für einen Master-Knoten mit Slave-Knoten als Andockpunkte
<node id="AbstrakteThermodynamikKomponente"
super="Komponente"
slaveNodes="=rmos('Thermodynamik_Architektur.Anschluss')"
valid="=isInstanceOf('Thermodynamik_Architektur.IThermodynamikFunktion')">
<figureImage>
<configuration>
<editRequestHandler xsi:type="formui:formui-handler"/>
<editRequestHandlerInfo xsi:type="formui:formui-handler-info"
refId="TDD"/>
</configuration>
<properties>
<property id="img">
<read value="=type('Thermodynamik_Baukasten.
Diagramm_Konfiguration.Bildregister').image(this)"/>
</property>
</properties>
</figureImage>
<slaveNode node="LuftEingang" layout="outsideEdged" direction="WEST"
parent="=mc">
<movement direction="EAST SOUTH WEST NORTH" rotate="YES"/>
</slaveNode>
<slaveNode node="LuftAusgang" layout="outsideEdged"
direction="EAST" parent="=mc">
<movement direction="EAST SOUTH WEST NORTH" rotate="YES"/>
</slaveNode>
</node>
<node id="ThermodynamischerAnschluss" super="Komponente"
valid="=isInstanceOf('Thermodynamik_Architektur.Anschluss')">
<property id="prefWidth">
<read value="20"/>
</property>
<property id="prefHeight">
<read value="20"/>
</property>
<property id="boColor">
<read value="0,0,0"/>
</property>
<property id="boWidth">
<read value="0"/>
</property>
</node>
<node id="LuftEingang" super="ThermodynamischerAnschluss"
valid="=isInstanceOf('Thermodynamik_Baukasten.Basis.LuftEingang')">
<property id="img">
<read value="=type('Thermodynamik_Baukasten.
Diagramm_Konfiguration.Bildregister').image(this)"/>
</property>
</node>
<node id="LuftAusgang" super="ThermodynamischerAnschluss"
valid="=isInstanceOf('Thermodynamik_Baukasten.Basis.LuftAusgang')">
<property id="img">
<read value="=type('Thermodynamik_Baukasten.
Diagramm_Konfiguration.Bildregister').image(this)"/>
</property>
</node>
Ergebnis: