The assembly descriptor contains one assembly entity, defining a new component that consists of several components, which can be either simple components or other assemblies. An assembly that is made up entirely of instantiable components (all residing in a catalog), is itself considered instantiable. If a singleton component appears anywhere in an assembly, the assembly itself is a singleton and cannot be moved into a catalog.
The assembly descriptor has the following structure:
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
{
...
}
}
The following attributes are defined for assemblies only, they have no meaning in simple components:
|
.console |
The name of a subordinate component, which will serve as the default login target for this assembly. This makes it possible to define an assembly that behaves like a simple component in the sense of allowing the assembly to accept a login request the same way as a simple component that has support for a login console can. As not every component is required to have a login console (depends on the OS and the software installed on it), an assembly is not required to have one. If the assembly does not need a login console or does not have any component that can serve as one, this attribute can be omitted or set to the empty string. As a special exception, when the attribute is omitted (rather than set explicitly to the empty string), and the assembly has only one subordinate it is silently assumed that this subordinate is the default login target. The subordinate specified by the .console attribute (or assumed by default, for single-subordinate assemblies) can itself be an assembly. |
The following attributes are defined for an assembly; they have the same meaning as their counterparts for a simple component:
|
.category |
An arbitrary string that defines the general category to which the component belongs. It is allowed by the ADL syntax, but is not interpreted in any way. It is intended for use by the CA AppLogic® visual tools to organize components in component libraries (catalogs). |
|
.description |
A short description of the component. Similarly to .category, the value of this attribute is arbitrary and intended for documentation purposes only. |
The order of entities in the assembly is not important and all of the sub-entities are optional, except that an assembly must have at least one subordinate entity.
Here is a summary of the sub-entities of the 'assembly' entity, followed by sub-sections defining each one in detail:
|
input, output |
These sub-entities define the assembly's terminals. |
|
property |
Defines a property of the assembly. Each property must be connected to at least one property of a subordinate component - see the subordinate entity. |
|
volume |
Defines a property of the assembly, similar to the property entity. |
|
subordinate |
Defines a subordinate component in the assembly. |
|
connections |
Defines the assembly's connection table. This is an array entity, each element corresponds to one connection. |
|
visual |
Visual presentation data. ADL does not define the contents of this entity. It is intended for a GUI editor to store information related to how the assembly is displayed in the editor's window (color, icon shape, layout of terminals, layout of subordinate components, routing of connections, and so on). |
|
Copyright © 2012 CA.
All rights reserved.
|
|