Visión general
Un objeto activo consta de cápsulas con protocolos y puertos.
Las cápsulas son objetos muy encapsulados que utilizan la comunicación basada en mensajes con otras cápsulas a través
de sus objetos de puerto. Las cápsulas pueden agregar otras cápsulas. Una estructura de cápsulas pueden contener otras
cápsulas, que son roles de cápsulas.
El conjunto de mensajes intercambiados entre dos objetos cumple con un patrón de comunicación denominado un protocolo.
Básicamente, es un acuerdo contractual que define los tipos de mensajes válidos que se pueden intercambiar entre los
participantes del protocolo.
Un diagrama de estado es un modo de definir el comportamiento de los objetos. Muestra la secuencia de estados por los
que pasa un objeto o interacción durante su vida en respuesta a los mensajes recibidos, junto con sus respuestas y
acciones.
Pasos de la herramienta
Para diseñar objetos activos en Rational Rose RealTime, debe llevar a cabo los pasos siguientes:
-
Crear un rol de cápsula
-
Crear puertos y vincularlos a protocolos
-
Definir una máquina de estado de cápsula
-
Definir estados y subestados
-
Definir transiciones de estado
-
Definir atributos en clases
Las cápsulas se crean en la vista lógica del navegador de modelos.
-
Seleccione la herramienta Rol de cápsula en el cuadro de herramientas.
-
Sitúe el cursor en la ubicación en la que se va a colocar el rol de cápsula y pulse el botón izquierdo del ratón.
-
Seleccione la nueva cápsula asociada al rol de cápsula de la lista desplegable.
-
Proporcione un nombre adecuado al rol de cápsula.
-
Repita los pasos anteriores para cada rol de cápsula que desee crear.
-
Busque la cápsula en el navegador de modelos o en un diagrama de clase.
-
Expanda los elementos de la cápsula del navegador, o bien, pulse el botón derecho del ratón sobre la cápsula de un
diagrama de clase para abrir el diagrama de estructura de la cápsula.
-
Utilice la herramienta Puerto del cuadro de herramientas para colocar un puerto en el diagrama de estructura
de la cápsula. El puerto se puede soltar en el borde de la cápsula o dentro del área de rectángulo.
-
Establezca el nombre del puerto.
-
Seleccione un protocolo de la lista o cree uno nuevo.
-
Pulse el botón derecho del ratón sobre el puerto para seleccionar el diálogo Especificación del puerto.
-
Utilice el diálogo Especificación del puerto para cambiar el protocolo, para seleccionar si el puerto va a estar
cableado o no, y para establecer si el puerto se va a conjugar.
-
Busque la cápsula en el navegador de modelos o en un diagrama de clase.
-
Expanda los elementos de la cápsula en el navegador, o bien, pulse el botón derecho del ratón sobre la cápsula de
un diagrama de clase para abrir el diagrama de estado de la cápsula.
-
Utilice el cuadro de herramientas Diagrama de estado para colocar estados y transiciones en el diagrama de
estado.
-
Busque la cápsula para la que se está actualizando el comportamiento. Las cápsulas se pueden encontrar en el
navegador de modelos o en un diagrama de clase.
-
Pulse el botón derecho del ratón sobre la cápsula para abrir el Diagrama de estado. De este modo, se abre el
diagrama en un editor de diagramas de estado.
-
Utilice la herramienta Estado del cuadro de herramientas para soltar un nuevo estado en el diagrama. Repita
esta acción para cada estado que desee crear.
-
Proporciona un nombre adecuado a cada estado.
-
Efectúe una doble pulsación en un estado que vaya a tener subestados. De este modo, se muestra un nuevo diagrama de
estado en el que puede añadir subestados.
-
Utilice la pestaña que se encuentra en la parte inferior de la ventana para elegir el nivel de estado en el que
desea volver a navegar.
Nota: De forma alternativa, puede añadir estados a través del área Navegador del editor de diagramas de estado.
Añadir transiciones iniciales
-
Pulse en el punto inicial del diagrama y arrastre la transición encima del estado de destino. El punto inicial es
el círculo negro que aparece en el ángulo superior izquierdo del diagrama.
-
Proporcione un nombre adecuado para la transición, si no es el valor por omisión. La transición inicial tiene el
nombre por omisión de Inicial. Puede cambiar el nombre seleccionando la etiqueta y escribiéndolo en la misma. La
transición inicial se invoca de modo automático en el tiempo de ejecución al crear la instancia de la cápsula.
Todos los códigos de acción asociados a la transición inicial se ejecutan en cuanto se crea la instancia de la
cápsula.
Añadir transiciones
-
Seleccione la herramienta de transición del cuadro de herramientas y arrastre una transición del estado de origen
al estado de destino.
-
Proporcione un nombre adecuado para la transición, o bien, acepte el valor por omisión.
Añadir código de detalle a las máquinas de estado
Se puede añadir código C, C++ o Java como acciones en transiciones, puntos de opción y entrada o salida de estado en
los diagramas de estado de la cápsula para que se ejecuten en el tiempo de ejecución. En el código generado para el
modelo, sólo se incluye el código añadido a los diagramas de estado de la cápsula. Las acciones detalladas en diagramas
de estado de clase de datos o protocolo no se incluyen en el código generado para estas clases.
Añadir desencadenantes
Antes de que se pueda establecer un desencadenante para una transición, se debe haber definido el puerto en el que se
va a recibir el desencadenante.
-
Efectúe una doble pulsación en la transición para abrir el diálogo Especificación de la transición.
-
Seleccione la pestaña Desencadenante.
-
Con el cursor en el área de la lista de puertos, pulse el botón derecho del ratón y seleccione Insertar en
el menú.
-
En el área Puerto, seleccione el puerto en el que se va a recibir el desencadenante.
-
En el área Señal, seleccione la señal de puerto que va a causar el suceso desencadenante.
-
Pulse los botones Aceptar para cerrar los diálogos abiertos.
Añadir código a la transición
Ahora que ya tiene todos los elementos necesarios colocados (estado inicial, transición inicial y puertos), debe añadir
código de detalle a la transición inicial, así como transiciones de estado a estado. El código de detalle se ejecuta
cuando se ejecuta la transición inicial en el tiempo de ejecución del modelo, o bien, cuando se recibe un
desencadenante en la transición de estado a estado.
-
Efectúe una doble pulsación en la transición para abrir el diálogo Especificación de la transición.
-
Seleccione la pestaña Acciones para visualizar la ventana de código.
-
Añada el código que se va a ejecutar en la transición.
-
Seleccione el botón Aceptar para cerrar el diálogo abierto.
Nota: No es necesario que incluya llaves de apertura y cierre "{`, `}". El generador de código las añade
automáticamente.
-
Abra el recuadro de diálogo Especificación de la cápsula efectuando una doble pulsación en la cápsula del
navegador, o bien, seleccionando la cápsula en un diagrama y seleccionando Abrir especificación en el menú
emergente.
-
Seleccione la pestaña Atributos de la Especificación de la cápsula.
-
Con el cursor en el área abierta de la pestaña, pulse el botón derecho del ratón y seleccione Insertar.
-
Cambie el nombre de NewAttribute1 por algo que le resulte más significativo y, a continuación, pulse Intro.
-
Efectúe una doble pulsación en el nuevo atributo para visualizar el diálogo Especificación del atributo.
-
Utilice el diálogo Especificación del atributo para establecer el tipo de atributo y el valor inicial.
|