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

Erweiterungen

Im Gegensatz zu Projekten mit Disablern, bei denen nach dem Maximalprinzip alle Varianten in der Basisbibliothek vorhanden sein müssen, wird bei Projekten mit Erweiterungspunkten jede Variante in einer separaten Bibliothek vorgehalten. Mit Hilfe von Erweiterungspunkten (Schnittstellen) werden die Komponenten aus den Variantenbibliotheken an den richtigen Positionen mit der Basisbibliothek verbunden.

Die Erweiterungspunkte können sowohl für mechatronische Komponenten, wie auch für Disziplinkomponenten definiert werden. Auch bei Erweiterungspunkten kann die Disablerfunktion genutzt werden. Die betroffenen Instanzen werden im Modus Varianten explizit aktualisieren (statischer Disabler-Modus) gelöscht oder neu instanziiert, wie klassendefinierte Komponenten.

Die Eigenschaften eines Erweiterungspunkts werden auf Klassenebene definiert.

Erweiterungspunkte werden als Einfügeplatz erstellen angelegt, die das Attribut Erweiterungspunkt bekommen, wie im folgenden Bild:

Erweiterungspunkte verhalten sich im Projekt wie normale Einfügeplätze. Das mehrfache Verbauen (Multiplizität) wird nicht zum Zeitpunkt des Instanziierens geprüft, sondern normal zum Zeitpunkt des Validierens. Eventuell vorhandene Rekursionen werden nicht geprüft.

Die Aktionen Aktualisieren der Erweiterungspunkte und Erweiterungen entfernen ermöglichen Typ-Umbauten während der Bibliotheksentwicklung mit vorhandenen Projekten. Die Aktionen müssen manuell aktiviert werden! Es gibt keine automatische Aktualisierung der Erweiterungspunkte. Die zugehörigen Commands erlauben eine automatisierte Verwendung in benutzerdefinierten Aktionen (siehe BASIS-Aktionen).

Vorgehensweise beim Umbau von Bibliotheken auf Erweiterungspunkte:

  1. Starten Sie mit allen vorhandenen Bibliotheken, aber ohne Projekte.
  2. Definieren Sie die Schnittstellen (Interfaces) für die Erweiterungspunkte: Für jeden unterschiedlichen Variantenplatz eine Schnittstelle im Baukasten.
  3. Löschen Sie alle fest eingebauten Varianten (Klassen notieren!) und bauen Sie die entsprechenden neu hinzugefügten Einfügeplätze als Erweiterungspunkte um.
  4. Entfernen Sie von der Basisbibliothek die importierten Varianten-Bibliotheken und importieren Sie von den Varianten-Bibliotheken die Basis-Bibliothek.
  5. Tragen Sie die richtigen Schnittstellen in den, in Punkt 3 notierten, Klassen ein.

Anzeige der implementierten und erweiterten Schnittstellen im Editor

In der Schnittstellen-Sicht des Editors werden die Beziehungen zu den Schnittstellen in der Spalte Deklariert in angezeigt. Für das unten dargestellte Modell ergibt sich für die Klasse Station folgende Deklaration der Schnittstellen:

In der Tabelle werden die, von der Komponente selbst implementierten Schnittstellen vor den ererbten Schnittstellen aufgelistet.

Die folgende Abbildung zeigt ein Modell in dem die Oberklasse Abstract_Station die Schnittstellen I1 und I3 implementiert. Die Klasse Station implementiert die Schnittstelle I2, welche die Schnittstelle I3 erweitert.

Mehr: