Der Assembly-Deskriptor enthält eine Entität "assembly", die eine neue Komponente definiert, welche aus einigen Komponenten besteht, die entweder einfache Komponenten oder andere Assemblys sein können. Eine Assembly, die gänzlich aus Komponenten des Typs "instantiable" (die sich alle in einem Katalog befinden) besteht, wird als "instantiable" betrachtet. Wenn eine Singleton-Komponente in einer Assembly vorkommt, ist die Assembly selbst ein Singleton und kann in keinen Katalog verschoben werden.
Der Assembly-Deskriptor hat folgende Struktur:
assembly sname { .category = text .description = "Text" .console = " subord-name " input sname output sname ... property sname  [ : dflt = value ] property sname  [ : mandatory ] ... volume sname subordinate sname { .class = clsname attr = val ... } connections [ sub-name . trm-name => sub-name . trm-name .... ] visual { ... } }
Die folgenden Attribute sind nur für Assemblys definiert, sie haben in einfachen Komponenten keine Bedeutung:
.console |
Der Name einer untergeordneten Komponente, die als Standardanmeldungsziel dieser Assembly dienen soll. Dies ermöglicht es, einen Assembly zu definieren, der sich insofern wie eine einfache Komponente verhält, indem der Assembly erlaubt wird, eine Anmeldungsanforderung auf ähnliche Weise zu akzeptieren wie es eine einfache Komponente kann, die eine Anmeldekonsole unterstützt. Da nicht jede Komponente über eine Anmeldekonsole verfügt (hängt vom BS und der darauf installierten Software ab), ist es nicht zwingend, dass eine Assembly eine Anmeldekonsole hat. Wenn die Assembly keine Anmeldekonsole braucht oder keine Komponente hat, die als solche fungieren kann, dann kann dieses Attribut weggelassen oder auf eine leere Zeichenfolge festgelegt werden. Es gibt eine spezielle Ausnahme: Wenn das Attribut nicht angegeben wird (statt es ausdrücklich auf eine leere Zeichenfolge festzulegen) und wenn die Assembly nur eine untergeordnete Komponente hat, dann wird stillschweigend davon ausgegangen, dass diese untergeordnete Komponente das Standardanmeldungsziel ist. Die durch das Attribut ".console" angegebene (oder für einzelne untergeordnete Assemblys standardmäßig angenommene) untergeordnete Komponente kann eine Assembly sein. |
Die folgenden Attribute sind für eine Assembly definiert; sie haben die gleiche Bedeutung wie ihre Gegenstücke für eine einfache Komponente:
.category |
Eine willkürliche Zeichenfolge, welche die allgemeine Kategorie definiert, zu der die Komponente gehört. Dieses Attribut ist in der ADL-Syntax zulässig, wird aber nicht interpretiert. Es ist für die Verwendung durch die visuellen CA AppLogic®-Tools zur Organisierung von Komponenten in Komponentenbibliotheken (Kataloge) vorgesehen. |
.description |
Eine kurze Beschreibung der Komponente. Ähnlich wie beim Attribut ".category", ist der Wert dieses Attributs willkürlich und nur für Dokumentationszwecke vorgesehen. |
Die Reihenfolge der Entitäten in der Assembly ist nicht wichtig und alle Sub-Entitäten sind optional. Es gilt nur, dass eine Assembly mindestens eine Entität "subordinate" enthalten muss.
Es folgt eine Zusammenfassung der Sub-Entitäten der Entität "assembly". In den nachfolgenden Abschnitten werden die einzelnen Sub-Entitäten ausführlich beschrieben:
input, output |
Diese Sub-Entitäten definieren die Assembly-Terminals. |
property |
Definiert eine Eigenschaft der Assembly. Jede Eigenschaft muss mindestens einer Eigenschaft einer untergeordneten Komponente zugeordnet werden - siehe Entität "subordinate". |
volume |
Definiert eine Eigenschaft der Assembly, ähnelt der Entität "property". |
subordinate |
Definiert eine untergeordnete Komponente in der Assembly. |
connections |
Definiert die Verbindungstabelle der Assembly. Dies ist eine Array-Entität, jedes Element entspricht einer Verbindung. |
visual |
Daten für die visuelle Darstellung. ADL definiert die Inhalte dieser Entität nicht. Der GUI-Editor soll die Information speichern, die angeben, wie die Assembly im Fenster des Editors angezeigt wird (Farbe, Symbolform, Layout von Terminals, Layout von untergeordneten Komponenten, Routing von Verbindungen, und so weiter). |
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|