La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Diagrama de Estados Arquitectura física: Diagramas.

Presentaciones similares


Presentación del tema: "Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Diagrama de Estados Arquitectura física: Diagramas."— Transcripción de la presentación:

1 Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Diagrama de Estados Arquitectura física: Diagramas de Componentes Diagramas de Despliegue

2 Máquinas de Estados Una máquina de estados especifica la secuencia de estados por la que pasa un objeto durante su vida. La evolución se produce a causa de eventos, bien internos o bien enviados desde otro objeto. También se pueden utilizar para modelar el comportamiento dinámico de otros elementos de modelado (instancias de una clase, un caso de uso o un sistema completo).

3 Máquinas de Estados Relación con otros diagramas: Diagramas de interacción. Modelan el comportamiento de una sociedad de objetos, mientras que la máquina de estados modela el comportamiento de un objeto individual Diagramas de actividades. Se centran en el flujo de control entre actividades, no en el flujo de control entre estados. El evento para pasar de una actividad a otra es la finalización de la anterior actividad

4 Máquinas de Estados Elementos: Estado: condición o situación de un objeto durante la cual: - se satisface alguna condición. - se realiza alguna actividad. - se espera algún evento. Evento: especificación de un acontecimiento significativo que ocupa un lugar en el tiempo y en el espacio. -en el contexto de las máquinas de estados, un estímulo que puede disparar una transición entre estados. Transición: relación entre dos estados que indica como los objetos cambian de estado. (eventos+condiciones) Actividad: ejecución no atómica en curso dentro de una máquina de estados. Acción: computación atómica ejecutable que produce un cambio de estado en el modelo o devuelve un valor.

5 Máquinas de Estados

6 Estados Elementos: Nombre (puede ser anónimo) Acciones de entrada/salida (al entrar y salir del estado) Transiciones internas (se manejan sin cambiar de estado) Subestados: estructura anidada que engloba subestados: - Secuenciales: subestados disjuntos, es decir activos secuencialmente. - Concurrentes: activos concurrentemente. Eventos diferidos: lista de eventos que no se manejan en eses estado, pero que no se pierden.

7 Estados

8 Estados Acciones de entrada/salida: Se utilizan cuando al entrar o salir de un estado se requiere realizar una acción Son independientes de la transición por la que se llega o por la que se abandona el estado Se puede lograr el mismo efecto con una máquina de estados plana, pero sería necesario especificar estas acciones en cada entrada y salida No pueden tener parámetros Se representan con entry/acción, exit/acción dentro del estado

9 Estados Transiciones Internas: Son transiciones como respuesta a eventos que deben ser manejados sin abandonar el estado. Son distintas de las autotransiciones: - En las autotransiciones, se abandona el estado y se vuelve a él. - Se ejecutan las acciones de entrada y de salida - Pueden tener eventos con parámetros - Son básicamente interrupciones Se representan mediante transición/acción, dentro del estado

10 Estados Actividades: Cuando un objeto esta en un estado, puede no estar ocioso, sino ejecutando alguna tarea Estas tareas son las actividades y se ejecutan de forma continuada hasta que se recibe un evento Para representarlas se utiliza la transición do/actividad Se pueden especificar secuencias do/a1;a2;a3 En este caso las acciones no se interrumpen, pero la actividad se puede interrumpir entre acciones.

11 Estados Eventos diferidos: En UML, sólo los eventos especificados son tratados Si un evento llega y no esta especificado el comportamiento en ese estado, se pierde Si se quiere conservar un evento, pero no se quiere tratar, hay que especificarlo como diferido Existe una cola interna donde se almacenan estos eventos Son tratados tan pronto como el objeto entra en un estado que no difiere estos eventos Se especifica nombre_evento/defered, dentro del estado

12 Estados

13 Transiciones Una transición tiene cinco partes - Estado orígen - Evento de disparo - Condición de respaldo - Acción - Estado destino Una transición puede tener: - Muchos Orígenes (join): unión de estados concurrentes - Muchos Destinos (fork): división en múltiples estados concurrentes

14 Transiciones Initialization Registration Closed Open exit/ update database do/ refresh screen on select window( window )/ display new window Closed Open exit/ update database do/ refresh screen on select window( window )/ display new window Cancelled Cancel course Add student / Set count = 0 Add student[ Count < 10 ] [ Count = 10 ] ^CourseReport.Create

15 Subestados Ayudan a simplificar las máquinas complejas Pueden ser concurrentes y secuenciales Subestados secuenciales: - Sólo un estado dentro del subestado está activo al mismo tiempo - Se pueden especificar transiciones comunes a todos los subestados (cancelar en el ejemplo) - Pueden tener o no un estado inicial - Cómo máximo pueden tener un estado inicial y otro final

16 Subestados idle inicializar( Nombre Simulador ) freeze Cargar IC cargar nueva IC En Ejecución Esperar Confirmación run Enviar Información Interpretar comando Esperar Confirmación run Pasar a Run[ IC cargada ] ^Gestor MC.pasar_a_run Enviar Información freeze run Interpretar comando after 0.5 seg comando simulación

17 Subestados Estados de historia: Cuando una transición entra en un subestado compuesto, por defecto, la máquina anidada empieza de nuevo su ejecución, a menos que la transición sea a directa A veces se requiere recordar el último subestado que estaba activo antes de abandonar el subestado compuesto Ej. ¿Cómo se podría hacer con una máquina plana? En UML un estado de historia permite que se recuerde el último subestado

18 Subestados El símbolo representa una historia superficial, recuerda el estado de la submáquina inmediata. Para recordar el estado más interno a cualquier profundidad se utiliza H H*

19 Subestados Subestados concurrentes: - Permiten especificar dos o más submáquinas que se ejecutan en paralelo en el contexto del objeto. - Para describir un subestado concurrente es necesario especificar un estado por cada submáquina. En lugar de dividir el estado de un objeto en estados concurrentes se pueden definir dos objetos activos, con su propia máquina Si el comportamiento de uno de los objetos depende del estado del otro es mejor usar subestados

20 Subestados Si los comportamientos dependen sólo de los mensajes, es mejor utilizar objetos activos Si hay poca o ninguna comunicación es indiferente usar uno u otro, aunque en general es más claro usar objetos activos Inactivo Mantenimiento Probar Perifericos Autodiagno sis EsperaOrden Probar Perifericos Autodiagno sis EsperaOrden mantener continuar tecla pulsada

21 Diagramas de Componentes Definición Un componente es una parte física y reemplazable de un sistema. nombre agente.java agentefraudes.dll Realiza AgenteFraudes PoliticaFraudes BuscarPatrones system::dialog.dll {version = 2.0.1} Ej:

22 Diagramas de Componentes Componentes y clases Las clases representan abstracciones lógicas. Los componentes son elementos físicos del mundo real. Un componente es la implementación física de un conjunto de otros elementos lógicos, como clases y colaboraciones. Ejemplo de un componente y las clases que implementa: agentefraudes.dll AgenteFraudes PoliticaFraudes BuscarPatrones

23 Dependencias entre componentes La dependencia entre dos componentes se muestra como una flecha punteada. La dependencia quiere decir que una componente necesita de la otra para completar su definición. Ejemplos: Diagramas de Componentes

24 home.html > animlogo.java > animator.java > Diagramas de Componentes

25 Window Handler (whnd.cpp) Window Handler (whnd.obj) Graphic lib (graphic.dll) Client Program (client.exe) Comm Handler (comhnd.obj) Comm Handler (comhnd.cpp) Main Class (main.cpp) Main Class (main.obj)

26 Componentes de despliegue - Los necesarios y suficientes para formar un sistema ejecutable: Bibliotecas dinámicas (DLLs) y ejecutables. Componentes producto del trabajo - Productos finales del proceso de desarrollo: Archivos de código fuente y archivos de datos a partir de los cuales se crean los componentes de despliegue. Componentes de ejecución -Se crean como consecuencia de un sistema en ejecución: Un proceso que se crea a partir de un ejecutable Tipos de Componentes

27 Todos los mecanismos de extensibilidad se pueden aplicar a los componentes (incluidos los estereotipos) UML define cinco estereotipos estándar - executable: componente que se puede ejecutar en un nodo - library: biblioteca de objetos dinámica o estática - table: componente que representa una tabla de una base de datos - file: documento con código fuente o datos - document: componente que representa un documento Tipos de Componentes

28 Rational Rose no utiliza los anteriores componentes estándar, sino el siguiente conjunto propio de estereotipos Tipos de Componentes Espec. Paquete Cuerpo Subprog. Prog. PrincipalEspec. Subprog. Cuerpo PaqueteEspec. ProcesoCuerpo Proceso

29 Especificación de Componentes

30 Modelado de código fuente signal.h {ver=3.5}signal.h {ver=4.0}signal.h {ver=4.1} interp.cpp signal.cpp irq.h device.cpp parent

31 Diagramas de Despliegue Diagramas de despliegue Describen la arquitectura física del sistema durante la ejecución, en términos de: –procesadores –dispositivos –componentes de software Describen la topología del sistema: la estructura de los elementos de hardware y el software que ejecuta cada uno de ellos.

32 Diagramas de Despliegue Los nodos son objetos físicos que existen en tiempo de ejecución, y que representan algún tipo de recurso computacional (capacidad de memoria y procesamiento): –Computadores con procesadores –Otros dispositivos impresoras lectoras de códigos de barras dispositivos de comunicación Dell Pentium 466 MMX máquina1: Dell Pentium 466 MMX Ventas Despliega pos.exe contactos.exe

33 Diagramas de Despliegue Dispositivos Los dispositivos del sistema también se representan como nodos. Generalmente se usan estereotipos para identificar el tipo de dispositivo. HP LaserJet 5MP > Cisco Router X2000 >

34 Los nodos se conectan mediante asociaciones de comunicación. Estas asociaciones indican: –Algún tipo de ruta de comunicación entre los nodos –Los nodos intercambian objetos o envían mensajes a través de esta ruta El tipo de comunicación se identifica con un estereotipo que indica el protocolo de comunicación o la red. Diagramas de Despliegue

35 clienteA: Compaq Pro PC clienteB: Compaq Pro PC Servidor de Aplicaciones: Silicon Graphics O2 Servidor de Base de Datos: VAX >

36 Diagramas de Despliegue Nodos y componentes Los nodos son los elementos donde se ejecutan los componentes. Ventas pos.execontactos.exe

37 Diagramas de Despliegue Si un tipo de componente puede ejecutarse en un tipo de nodo, se crea una dependencia con el estereotipo > –Una instancia de la componente podría localizarse en una instancia de ese nodo. UNIX Transaction Server Program Silicon Graphics O2 >

38 Diagramas de Despliegue máquina1:Dell Pentium 466 MMX > CL:Transaction Client Library cliente1:Cliente Instancias ejecutándose en un nodo.


Descargar ppt "Luis A. Guerrero Universidad de Chile Departamento de Ciencias de la Computación CC61J - Taller de UML Diagrama de Estados Arquitectura física: Diagramas."

Presentaciones similares


Anuncios Google