Publicado el 14 de Enero del 2017
913 visualizaciones desde el 14 de Enero del 2017
471,4 KB
26 paginas
Creado hace 13a (27/09/2011)
UML y red ferroviaria
Programación concurrente y Distribuída
Curso 2011-12
Miguel Telleria, Laura Barros, J.M. Drake
telleriam AT unican.es
Computadores y Tiempo Real
http://www.ctr.unican.es
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Objetivos
● Mostrar como aplicar UML a un problema concreto
● Distinguiendo descripciones estáticas y dinámicas
● Fijando el nivel de detalle
● Presentaros la aplicación que vamos a utilizar en muchas
prácticas
● Desde un enfoque funcional (lo que hace), no como lo hace
● Dejar claro también lo que no hace.
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 2 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Contenido
● Requerimientos
● Diagramas estáticos
● Diagramas dinámicos
● Implementación secuencial
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 3 de 26
Requerimientos
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Enunciado de la aplicación
● La red ferroviaria se compone de un circuito con 2 tramos ferroviarios
independientes conectados por un túnel y que son recorridos por un
conjunto de trenes a una velocidad propia.
● Los trenes y cada tramo van asociados a un color y sentido de circulación.
En el túnel trenes de colores (y tramos) distintos circulan en sentidos
opuestos.
● El túnel puede ser compartido por trenes del mismo color, pero no por
trenes de color distinto (ya que habría colisiones).
● Los trenes cuando no circulan están aparcados en los centros de
regulación (del tramo) o en los aparcamientos de acceso (del túnel).
● En las prácticas implementaremos diferentes políticas de salida de los
centros de regulación y/o de los túneles.
● Los trenes obtienen de la red ferroviaria información de ocupación de la
vía y siguen un recorrido en varias fases: centro de regulación, tramo,
túnel y vuelta al centro.
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 5 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Una imagen vale más que 1000 palabras
Tren ROJO
Tren AZUL
Tramo Ferroviario
ROJO
Tramo Ferroviario
AZUL
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 6 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Vamos a verla funcionar
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 7 de 26
Diagramas estáticos
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Diagramas estáticos
● Describimos la información que manejamos y la relación entre los
objetos.
● No describimos algoritmos o procedimientos.
●
● Para esto hay otros diagramas
Importante:
● Donde va cada cosa
● Asociaciones, enlaces entre clases
● Cardinalides entre clases
● Partes públicas y privadas
● Proceso sugerido:
● Primero sacar las clases, sus composiciones y cardinalidades
● Definir la “misión” de cada clase
● Luego detallar atributos y operaciones necesarios para cada misión
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 9 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Identificación de las clases y atributos
● La red ferroviaria se compone de un circuito con 2 tramos ferroviarios
independientes conectados por un túnel y que son recorridos por un
conjunto de trenes a una velocidad propia.
● Los trenes y cada tramo van asociados a un color y sentido de
circulación. En el túnel trenes de colores (y tramos) distintos circulan en
sentidos opuestos.
● El túnel puede ser compartido por trenes del mismo color, pero no por
trenes de color distinto (ya que habría colisiones).
● Los trenes cuando no circulan están aparcados en los centros de
regulación (del tramo) o en los aparcamientos de acceso (del túnel).
● En las prácticas implementaremos diferentes políticas de salida de los
centros de regulación y/o de los túneles.
● Los trenes obtienen de la red ferroviaria información de ocupación de la
vía y siguen un recorrido en varias fases: centro de regulación, tramo,
túnel y vuelta al centro.
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 10 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Composiciones
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 11 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Misiones
● Red ferroviaria
● Datos globales
● Punto de acceso para el resto
de las clases
● Tren
● Objetos activos
● TramoFerroviario
● Ocupación de la vía
● Contiene el centro de
regulación
● Centro de regulación
● Política de salidas
● Tunel
● Exclusión mutua (respecto a
tramos diferentes)
● Política de compartición
● Programa principal
●
Instanciar el sistema
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 12 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Red Ferroviaria
● Maneja la GUI
● Da acceso al resto de
elementos
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 13 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Tren
● Objeto activo
● Tiene un ciclo de vida
● Necesita acceso a la infraestructura
● Para pintarse
● Para entrar y salir del tunel y centro regulación
● Para preguntar su posición
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 14 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
TramoFerroviario
● Lleva la cuenta de las posiciones en la vía
● Da acceso al Centro de Regulación correspondiente
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 15 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
CentroRegulacion
● Tiene la política de entrada y salida
● Da el permiso de salida
● Lleva la cuenta de los trenes aparcados
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 16 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Tunel
● Administra el acceso a un color de los trenes
● Lleva la cuenta de los trenes
estacionados
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 17 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Programa principal
● Instancia la RedFerroviaria
● Instancia los trenes
● Mantiene el programa vivo
● En la implementación secuencial
actualiza periódicamente los trenes
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 18 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Diagrama de clases completo
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 19 de 26
Diagramas dinámicos
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Diagramas dinámicos
● Describen comportamientos, algoritmos, acciones.
● Se basan en la información reflejada en los diagramas
estáticos.
● Importante
● Orden de las acciones (secuencia, actividad)
● Eventos y respuestas
● Decisiones
● Ejemplos típicos
● Ciclo de vida de un objeto activo
● Colaboración de acceso concurrente a un objeto pasivo
● Proceso de inicialización de una aplicación
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 21 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Ciclo de vida de un tren
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 22 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Acceso concurrente entro() en el tunel
● En este diagrama no se
especifica la autorización a
entrar
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 23 de 26
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Proceso de decisión
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 24 de 26
Implementación secuencial
Computadores y Tiempo Real
Universidad de Cantabria
Programación concurrente y distribuída
UML y red ferroviaria
Implementación secuencial
● Los trenes aquí son también
objetos pasivos
● Responden al método
actualiza() enviado por el
programa principal
28 Sept 2011
Miguel Telleria de Esteban telleriam AT unican.es)
Página 26 de 26
Comentarios de: UML y red ferroviaria (0)
No hay comentarios