Diese Funktionalität ist nur in bestimmten Ausbaustufen verfügbar.

Auswahlformel

Für Einfügeplätze und Erweiterungspunkte kann eine Auswahlformel angegeben werden (siehe folgende Abbildung), durch die beim Instanziieren bzw. Aktualisieren ermittelt wird, welche der sichtbaren Bibliothekskomponenten instanziiert werden soll. Bei der manuellen Konfiguration kann die Auswahl auf eine Untermenge der Bibliothekskomponenten des Erweiterungspunkts eingeschränkt werden.

Für die Berechnung der Auswahlformel gelten folgende Regeln:

Hinweis:

Manuelles Aktualisieren der Erweiterungspunkte:

Ist die Anzahl der zu instanziierenden Komponenten größer als es die Angabe für die Multiplizität zulässt, wird die Instanziierung nicht durchgeführt. Es wird eine entsprechende Fehlermeldung ausgegeben.

Aktualisieren der Erweiterungspunkte beim Erstellen eines Projekts:

Ist die Anzahl der zu instanziierenden Komponenten größer als es die Angabe für die Multiplizität zulässt, wird die Instanziierung durchgeführt. Es wird empfohlen das Modell über den Menüpunkt Modell > Modell validieren auf seine Gültigkeit hin zu prüfen.

Liefert die Auswahlformel keinen booleschen Wert, oder tritt ein Formelfehler auf, wird dies nach Aktualisierung der Erweiterungspunkte angezeigt: Die betroffenen Bibliothekskomponenten werden instanziiert und es wird - analog zum Disabler - auf der Parameterseite das Ergebnis der Auswahlformel für diese Projektkomponente angezeigt. Das Ergebnis ist mit dem Formel-Inspektor analysierbar.

Hinweis:

Kann die Auswahlformel keinen Wert ermitteln, verhält sich der Einfügeplatz, bzw. Erweiterungspunkt so als ob keine Auswahlformel angegeben ist.

Die Modellvariable Maximale Anzahl der Klassen, die für die Auswahlformel eines Einfügeplatzes auszuwerten sind definiert einen Grenzwert, ab dem eine Warnung ausgegeben wird. Die Warnung weist den Benutzer darauf hin, dass die Auswertung der Auswahlformel eine längere Zeit in Anspruch nehmen wird. Dieser Fall tritt ein, wenn zahlreiche Bibliothekskomponenten dem Typ des Erweiterungspunkts entsprechen (wenn z.B. Engineering.Component als Typ gewählt wird). Die Auswahlformel muss dann für jede in Frage kommende Bibliothekskomponente berechnet werden.

Beispiel:

Auswahlformel:

=mc.$SelectionConditionAndType.name.startsWith('A')

Hier wird die Instanziierung von einer Bedingung in der umhüllenden, mechatronischen Komponente, kombiniert mit einer Namenskonvention der Klasse abhängig gemacht.

Hinweis:

Beim Instanziieren per Drag & Drop wird die Auswahlformel für den Einfügeplatz oder Erweiterungspunkt während des Drag-Vorgangs nicht berechnet, sodass die Instanziierung nicht ausgeschlossen werden kann. Sind in der instanziierten Komponente weitere Erweiterungspunkte mit Auswahlformeln enthalten, werden diese ausgewertet.