Modelo Dinámico (I) Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar leonid@usb.ve
Modelo Dinámico Describe: Captura: Representación: Aspectos concernientes con el tiempo y la secuenciación de operaciones Captura: Control - secuencia de operaciones (no su funcionalidad ni su implementación) Representación: Diagramas de Estados
Eventos Algo que ocurre en algún momento y no tiene duración para efectos de la escala de tiempo Ejemplos Tocar un botón de un teclado Salida de un vuelo Levantar auricular de un teléfono Atributos de un evento: valores que trasmite Clases de eventos: eventos similares
Estados El estado de un objeto es una abstracción de los valores de los atributos y loes enlaces del objeto El estado determina la respuesta del objeto a los eventos recibidos La respuesta a un evento puede ser: Una acción Un cambio de estado
Eventos vs Estados Evento Estado Puntual en el tiempo (no tiene duración) Ocurre entre dos estados (transición) o dentro de un estado (evento interno) Estado Intervalo de tiempo (tiene duración) Ocurre entre dos eventos
Características de Estados Un estado tiene duración en el tiempo Se asocia con Una actividad continua Una actividad que lleva tiempo completar Valor del objeto que satisface cierta condición Ejemplos Los estados del agua Las velocidades de una caja de transmisión
Caracterización de un Estado Nombre de estado Descripción Secuencias de eventos que producen el estado Condición que caracteriza al estado Eventos aceptados en el estado evento - acción - próximo estado
Diagramas de Estados Un Diagrama de estados es un grafo dirigido: Sus nodos representan estados (para una clase de objetos) Sus arcos representan eventos (transiciones) Describe una secuencia de estados causada por una secuencia de eventos Transición: Cambio de estado causado por un evento
Diagramas de Estados Posibles diagramas de estados Lazo continuo Diagramas de vida finita estado inicial estado final destrucción del objeto
Modelo Dinámico Es una colección de diagramas de estados que interactúan a través de eventos compartidos Representa la estructura de control del sistema Sus instancias son llamadas “escenarios” Describe un conjunto de objetos concurrentes
Diagrama de Clases vs Diagrama de Estados Estructura de datos Estructura de diversos objetos Distintos objetos Relacionados Asociaciones entre objetos Clases modelan diferencias esenciales Diagrama de Estados Estructura de control Estados de un mismo objetos Mismo objeto transformado Transiciones entre estados Estados modelan diferencias temporales
Operaciones Describen el comportamiento de un objeto Qué hace frente a un evento: respuesta Se asocian a los estados o a las transiciones Se distinguen dos tipos: Actividades Acciones
Actividad Se asocia con un estado y toma tiempo en completarse Incluye: Operaciones continuas Operaciones secuenciales Puede ser interrumpida prematuramente Notación: “do:A” dentro de la caja del estado
Acción Operación instantánea cuya duración es insignificante para efectos del diagrama Asociada a un evento Puede ser Operación real que no nos interesa modelar en detalle Operación interna de control Notación: “evento/acción” sobre el arco del evento
Acciones Especiales Dentro de un estado Envío de un evento De entrada a un estado: “entry/acción” De salida de un estado: “exit/acción” Internas: se ejecutan sin causar cambio de estado distinto de una transición sobre el mismo estado Envío de un evento “send evento(atributos)” con arco segmentado
Transiciones Custodiadas Condición de guardia: Condición que se asocia a la transición para restringirla La transición se dispara cuando: ocurre el evento y la condición es satisfecha para Notación: “evento[condición]” sobre el arco de la transición
Sub-Estados
Envío de Mensajes
Transición Interna
Transición Compleja
Diagrama de Actividades
Referencias