• No results found

AIA Loop Contractions and Downflows

5.3 Methods and Results

5.3.3 AIA Loop Contractions and Downflows

La definición de la notación grafica es hecha en el contexto de un diagrama, que a su vez esta relacionado con la definición de un editor.

Diagrama

El diagrama es un contenedor para mapas de figuras y conectores. La figura 4-4 muestra la definición de un diagrama para a un DSL.

Figura 10-3-1: Definition of diagram for Issue State DSL

Categorias de las propiedades configurables del diagrama

• Appearance: permite configurar la apariencia visual del diagrama, por ejemplo el color de fondo.

• Code: permite hacer modificaciones al código generado para el diagrama.

• Definition: Estos settings son similares a aquellos para la clase de dominio (name, namespace, base diagram).

• Documentation: define una única propiedad que contiene notas sobre el diseño del DSL.

• Exposed Style Properties: Estas son todas las propiedades de solo lectura e indican si es posible que el usuario edite un estilo en la categoría appearance.

• Resources: Estas propiedades proveen los recursos de texto que serán usados dentro de la UI del designer destino.

Editor

La definición de un editor aparece debajo del nodo llamado “Editor” que esta dentro del DSL explorer. La información definida aquí es usada para generar la implementación de una clase EditorFactory, el Toolbox, y el comportamiento de las validaciónes. En figura 10-3-2 se puede ver la definición del Editor para el Issue State DSL.

Figura 10-3-2: Definition of designer in Issue State DSL

Las propiedades del editor incluyen una referencia a la Clase Raiz (Root Class) asociada con el Designer. El “Editor Guid” es usado en el código para la generación de la clase EditorFactory. En la categoría Resources, se define la extensión de las archivos usados para almacenar el modelo para el DSL y se puede definir el icono asociado a estos archivos.

Designer

Cuando el editor es un Designer, hay un campo en la categoria Definition de la property Windows, que referencia a la clase del Diagrama que usara el Designer.

10.4 Figuras (Shapes)

Las Figuras son los nodos de una notación gráfica y son usadas para visualizar elementos de un modelo.

Categorias de las propiedades configurables de las figuras

• Appearance: es la configuración de la apariencia visual de la figura, tal como color, espesor de la linea, etc.

• Code: es la configuración del código generado para la figura.

• Definition: Estos settings son similiares a aquellos para la clase de dominio (name, namespace, figura geometrica base) con el agregado de la propiedad tooltip.

• Documentation: define una única propiedad que contiene notas sobre el diseño del DSL.

• Exposed Style Properties: Estas son todas las propiedades de solo lectura que indican si un estilo en la categoría apperearance, como color, puede ser seteada por el usuario del Designer Final en la vista de propiedades (properties window.)

• Layout: estas propiedades modifican el layout y tamaño de la figura.

• Resources: Estas propiedades proveen recoursos de texto e imagen, los cuales serán usados dentro de la UI del Desginer destino.

Tipos de Figuras

Hay cinco tipos de figuras diferentes: figuras geométricas, figuras compartimientos, figuras de imágenes, puertos y swimlanes.

Geometry Shapes

La figura 10-4-1 muestra la anotomía de una figura geométrica. Es posible configurarle las propiedades de ancho alto, color, entre otras.

Figura 10-4-1: Anatomy of a geometry shape

Figura Compartimiento (compartment shape)

Una figura compartimiento es una figura geométrica con compartimientos. Un comportimiento es usado para visualizar una lista de elementos que pertenecen a un elemento mapeado a la instancia de la figura compartimiento. La figura 10-4-2 muestra la anotomía de la figura compartimiento.

Figura 10-4-2: Anatomy of a compartment shape

Figura imagen (Image Shapes)

Una figura imagen es una figura que muestra una imagen. La figura 10-4-3 muestra la anatomía de una figura imagen.

Figura 10-4-3 Anatomy of an image shape

Puertos (Ports)

Un puerto es una figura adjuntada al borde de otra figura y que solo puede ser movido alrededor del borde de esta, como muestra la figura 10-4-4.

Figura 10-4-4: Geometry shape with ports attached

Swimlanes

Los swimlanes son usados para particionar un diagrama en filas o columnas. La anatomía de un swimlane vertical es mostrado en la figura 10-4-5, y la de un swimlane vertical es mostrada en la Figura 10-4-6

Figura 10-4-5: Anatomy of a vertical swimlane

Figura 10-4-6: Anatomy of a horizontal swimlane

Mapeadores de Figuras (Shape Maps)

Los Mapeadores de figuras (Shape maps) son usados para asociar una clase de una figura con la clase de dominio que representa.

10.5 Conectores

De la misma manera que las figuras definen la apariencia de los nodos en una notación gráfica, los conectores definen la apariencia de los enlances.

Apariencia de la anatomia del conector

La anatomía del conector es mostrada en la figura 10-5-1. El conector usado en el ejemplo es el definido en el template del dsl de flujo de tareas (Task Flow DSL Template).

Figura 10-5-1: Anatomy of a connector

Un conector es direccional, tiene una fuente y un destino. Las categorías de las propiedades configurables que un conector tiene son las mismas que las de las figuras.

La configuración de las propiedades impactará en la apariencia de la línea usada para dibujar el conector y permite definir el estilo de los extremos para la fuente y el destino. Por ejemplo la propiedades configurables para el conector ilustrado anteriormente se muestrana en la Figura 10-5-2.

Figura 10-5-2: Connector settings

Connector Maps

Un mapeador de conector asocia un conector a una relación de dominio. La figura 10-5-3 muestra la definición de un mapa de conector para el FlowConnector.

Figura 10-5-3: Definition of a connector map

10.6 Decoradores (Decorators)

Los decoradores adornan a las figuras y conectores con texto o imágenes. Tipos de Decoradores

Hay tres tipos decoradores: texto, icono, y expand collapse. Un decorador texto es usado para adornar una figura con texto, y un decorador icono es usado para adornar una una figura o conector con una imagen. La figura 10-6-1 muestra la definición de una figura ProjectShape, la cual define un decorador texto y un decorador expand collapse. Tambien se define una figura puerto InPortShape, la cual tiene un decorador icono. Esto define como las instancias de estas figuras serán mostradas cuando se ejecute el designer.

Figura 10-6-1: Different kinds of decorator

Mapeadores de Decoradores

La apariencia de un decorador en una instancia particular de una figura puede ser modificada dinámicamente en función de los cambios que se producen en el modelo. Este comportamiento se define en los mapeadore de decoradores, los cuales son parte de los mapeadores de figuras y los mapeadores de conecteores.

Capitulo 11 Creación, borrado y actualización del