El descriptor assembly contiene una entidad de ensamblaje que define un nuevo componente formado por varios componentes, que pueden ser componentes sencillos u otros ensamblajes. Un ensamblaje que está compuesto en su totalidad por componentes de los que se puede crear una instancia (residen todos en un catálogo) se considera también instanciable. Si un componente de singleton aparece en cualquier lugar del ensamblaje, el propio ensamblaje es un singleton y no se puede mover a un catálogo.
El descriptor assembly tiene la estructura siguiente:
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
{
...
}
}
Los siguientes atributos se definen solamente para ensamblajes, no tienen ningún significado en componentes sencillos:
|
.console |
Nombre de un componente subordinado, que servirá como destino de inicio de sesión predeterminado de este ensamblaje. De esta manera, se puede definir un ensamblaje que se comporte de la misma forma que un componente sencillo a la hora de permitir que el ensamblaje acepte una solicitud de inicio de sesión, de la misma forma que puede hacerlo un componente sencillo que admite una consola de inicio de sesión. Como no es necesario que todos los componentes tengan una consola de inicio de sesión (depende del SO y del software instalados), no se exige que un ensamblaje tenga uno. Si el ensamblaje no necesita una consola de inicio de sesión o no tiene ningún componente que pueda hacer las funciones de esta, este atributo se puede omitir o se puede dejar la cadena vacía. Como excepción especial, cuando el atributo se omite (en lugar de definir explícitamente una cadena vacía) y el ensamblaje solamente tiene un subordinado, se supone que este subordinado es el destino de inicio de sesión predeterminado. El subordinado especificado por el atributo .console (o asumido de forma predeterminada para ensamblajes de un único subordinado) puede constituir por sí mismo un ensamblaje. |
Los siguientes atributos, que se definen para un ensamblaje, tienen el mismo significado que sus homólogos de un componente sencillo:
|
.category |
Cadena arbitraria que define la categoría general a la cual pertenece el componente. La sintaxis de ADL lo permite, pero no se interpreta de ninguna manera. Está destinada para que la usen las herramientas visuales de CA 3Tera AppLogic con el fin de organizar los componentes en bibliotecas de componentes (catálogos). |
|
.description |
Descripción corta del componente. Del mismo modo que .category, el valor de este atributo es arbitrario y únicamente tiene fines de documentación. |
El orden de las entidades en el ensamblaje no es relevante y todas las subentidades son opcionales, pero un ensamblaje debe tener como mínimo una entidad subordinada.
A continuación se resumen las subentidades de la entidad 'assembly', seguidas por subsecciones que las definen en más detalle:
|
input, output |
Estas subentidades definen los terminales del ensamblaje. |
|
property |
Define una propiedad del ensamblaje. Cada propiedad se debe conectar al menos a una propiedad de un componente subordinado; véase la entidad subordinate. |
|
volume |
Define una propiedad del ensamblaje y se parece a la entidad property. |
|
subordinate |
Define un componente subordinado del ensamblaje. |
|
connections |
Define la tabla de conexión del ensamblaje. Se trata de una entidad de colección, cada elemento corresponde a una conexión. |
|
visual |
Datos de presentación visuales. ADL no define el contenido de esta entidad. Se pretende que un editor de GUI almacene información relacionada con la forma en la que el ensamblaje se mostrará en la ventana del editor (color, figura de icono, diseño de terminales, diseño de los componentes subordinados, enrutamiento de las conexiones, etc.). |
| Copyright © 2011 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |