Previous Topic: Sintaxis del descriptor assembly

Next Topic: Subentidades input y output

Descripción general

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 &nbsp[ : dflt = value ] 
   property  sname &nbsp[ : 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.
No se produce un error si se especifica un subordinado que no es compatible con una consola de inicio de sesión (bien porque es un componente que no tiene ninguna consola, o bien porque es un ensamblaje que tiene el atributo .console vacío). La única consecuencia de esta configuración será que el ensamblaje resultante no será compatible con una consola de inicio de sesión.

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.).
El contenido de esta entidad debe ser conforme a las reglas de sintaxis generales de UDL, que se presentaron anteriormente en este documento en la sección Reglas de sintaxis que se aplican a todos los tipos de descriptores. Para obtener más información, consulte la especificación de UDL.