PDF de programación - Especificación de Red Ferroviaria

Imágen de pdf Especificación de Red Ferroviaria

Especificación de Red Ferroviariagráfica de visualizaciones

Actualizado el 24 de Octubre del 2020 (Publicado el 14 de Enero del 2017)
1.068 visualizaciones desde el 14 de Enero del 2017
419,8 KB
11 paginas
Creado hace 13a (15/10/2010)
Especificaci´on de Red Ferroviaria

Miguel Teller´ıa, Laura Barros, J.M. Drake

13 Oct 2010

Resumen

Este documento describe la aplicaci´on de red ferroviaria en detalle, los criterios de dise˜no y

como se han dise˜nado las clases.

´Indice

1. Aplicaci´on RedFerroviaria

2. Dise˜no de la aplicaci´on

2.1. Criterios de dise˜no estructural
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. Criterios de dise˜no din´amicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

3. Descripci´on de las clases

.
3.1. Clase RedFerroviaria .
3.2. Class TramoFerroviario .
3.3. Clase Tren .
.
3.4. Class CentroRegulacion .
.
3.5. Class Tunel

.

.

.

.

.

.

.

.

.

.

.

.

.
.
.
.
.

.
.
.
.
.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.

.

.

1

2
2
4

4
4
5
6
8
8

4. Ejemplo de implementacion secuencial: RedFerroviariaSeq

10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.1. Clase PruebaSecuencial .

.

.

.

1. Aplicaci´on RedFerroviaria

La red ferroviaria se compone de un circuito con dos tramos ferroviarios independientes y cerrados que
son recorridos por un conjunto de trenes. En cada tramo los trenes circulan en la misma direcci´on y a
una velocidad que puede ser establecida para cada tren.
Cada tramo ferroviario tiene un centro de regulaci´on, en el que los trenes se aparcan temporalmente a
fin de regular su circulaci´on para que su tr´afico sea uniforme. Pueden utilizarse diferentes estrategias de
regulaci´on de los tiempos de salida. En la versi´on base corresponde a un tiempo fijo establecido en el
programa (por ejemplo, tiempo que el tren m´as lento tarda en recorrerle circuito estando s´olo, partido
por el n´umero de trenes en el tramo).

Page 1 of 11
Page 1 of 11
Page 1 of 11

2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on

Figura 1: Esquema de la red ferroviaria

La red ferroviaria contiene un t´unel que es compartido por los trenes de ambos tramos ferroviarios. Los
trenes de cada tramo ferroviario pasan por el t´unel en sentido contrario, por lo que mientras que un
tren de un tramo ferroviario est´e atravesando el t´unel, los trenes que lleguen del otro tramo ferroviario
deben estacionarse en el acceso del t´unel hasta que no haya trenes circulando en sentido contrario. Sin
embargo dos trenes que circulen en el mismo sentido, si pueden circular simult´aneamente por el t´unel.
Se pueden establecer diferentes pol´ıticas de gesti´on del t´unel. En la versi´on b´asica, se utiliza una pol´ıtica
que maximiza el uso del t´unel (m´aximo throughput), se permite que los trenes que circulen en la misma
direcci´on que el que est´an circulando por ´el, puedan acceder con independencia de que se haya esperando
trenes en el otro extremo del t´unel.

La red ferroviaria representa la infraestructura de se˜nalizaci´on, y de ella, los trenes pueden obtener
informaci´on sobre su situaci´on respecto de los elementos de la v´ıa, del tiempo, y enviar a los recursos
aviso de su situaci´on y estado.

2. Dise˜no de la aplicaci´on

Como se muestra en el diagrama de clases de la figura, la aplicaci´on se ha construido con cinco clases
que representan los principales tipos de objetos que intervienen en la aplicaci´on: RedFerroviaria,
TramoFerroviario, Tren, Tunel y CentroRegulaci´on.

2.1. Criterios de dise˜no estructural

Se ha establecido una estructura de contenedores de tipo ´arbol definido por las relaciones de
composici´on. La ra´ız es RedFerroviaria, el TramoFerroviario es un contendor intermedio, y las
clases Trenes, Tunel y CentroRegulaci´on son los elementos terminales u hojas.

Desde todos los elementos, se proporciona acceso a la clase ra´ız RedFerroviaria, y a partir de ella,
y haciendo uso de la estructura en ´arbol de los componentes se puede acceder a cualquier otro, sin
necesitar pasar todas los accesos a trav´es de los constructores.

Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria

Page 2 of 11
Page 2 of 11
Page 2 of 11

2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on

Figura 2: Diagrama de clases

Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria

Page 3 of 11
Page 3 of 11
Page 3 of 11

ProgramaPrincipal-TIEMPO_ACTUALIZACION_MS : = 100+TIEMPO_DE_EJECUCION_MS : = 50000L+main(in args : String[]) : voidTren-estado : EstadoTren-posicion : int-tramo : Tramos-terminado : boolean-velocidad : int+Tren(tramo : Tramos, laRed : RedFerroviaria, velocidad : int)+actualiza() : void+termina() : void-avanza()TramoFerroviario-posicionLibre : boolean-LONGITUD : int = 96+TramoFerroviario(laRed : RedFerroviaria, tramo : Tramos)+esPosicionLibre(posicion : int) : boolean+longitudTramo() : int+enTunel(posicion : int) : boolean+enCentroRegulacion(posicion : int) : boolean+getCentroRegulacion() : CentroRegulacionTunel-numCirculando : int-autorizadosRojos : boolean-rojosEstacionados : int-azulesEstacionados : int+Tunel(laRed : RedFerroviaria)+salgo() : void+estaciono(tramo : Tramos) : void+autorizadoEntrar(tramo : Tramos) : bool+entro(tramo : Tramos) : voidCentroRegulacionnumTrenes : intproximaPartida : intCentroRegulacion(laRed : RedFerroviaria, tramo : Tramos)entro(tiempoViaje : int) : voidsalgo() : voidpermisoSalida() : boolean<<enum>>EstadoTrenEN_CENTRO_REGULACIONHACIA_TUNELEN_ACCESO_TUNELEN_TUNELHACIA_CENTRO_REGULACION<<enum>>TramosTRAMO_ROJOTRAMO_AZULRedFerroviaria-NUM_MAX_TRENES_POR_TRAMO : = 5+RedFerroviaria()+numMaxTrenesPorTramo() : int+getTunel() : Tunel+getTramoFerroviario(tramo : Tramos) : TramoFerroviario+situaTren(tramo : TramoFerroviario, posicion : int) : void+borraTren(tramo : Tramos, posicion : int) : void+situaTunel(numAzules : int, numRojos : int) : void+situaCentroRegulacion(tramo : Tramos, numTrenes : int) : voidlaRed1laRed1elTunel1tramoAzul1tramoRojo1laRed1listaTrenesRojo1..*listaTrenAzul1..*elCentroRegulacion1laRed1laRed1 Se ha buscado que no haya redundancia de informaci´on. Cada dato s´olo es mantenido en el objeto
que lo genera o en el que por su naturaleza es responsable de ´el. Si un objeto requiere un dato
de forma repetida, lo puede almacenar localmente de forma privada y es responsable de que sea
coherente con el valor oficial. Para evitar transmitir fallos de coherencia, todos deben buscar la
informaci´on en el objeto responsable de ella.

2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on
2 Dise˜no de la aplicaci´on

2.2. Criterios de dise˜no din´amicos

La aplicaci´on es de naturaleza t´ıpicamente concurrente. Los trenes avanzan interaccionando con los
elementos que encuentran, y decidiendo continuar o parar seg´un el estado del elemento (Tunel o Cen-
troRegulaci´on) que encuentra.

3. Descripci´on de las clases

3.1. Clase RedFerroviaria

Representa a la red ferroviaria completa. Es el contenedor ra´ız de los restantes elementos, y a trav´es de
ella se puede localizar cualquier elemento. Constituye la interfaz gr´afica de usuario (GUI) en el que se
muestran todos que constituyen la aplicaci´on.
Atributos:

(cid:28)constant(cid:29) NUM MAX TRENES EN TRAMO = 5 ⇒ N´umero de trenes que se crean para que
circulen por el tramo.

Asociaciones

tramoAzul:TramoFerroviario ⇒ Contiene la instancia del tramo Azul definido en la red fe-
rrroviaria.
tramoRojo:TramoFerroviario ⇒ Contiene la instancia del tramo Rojo definido en la red fe-
rrroviaria.
elTunel:Tunel ⇒ Contiene la instancia del t´unel de la red ferroviaria.

Constructor

RedFerroviaria() ⇒ Constructor ra´ız de la red ferroviaria. Invoca recursivamente todos los
dem´as constructores.

M´etodos

numMaxTrenesEnTramo() ⇒ Retorna el n´umero m´aximo de trenes que pueden circular en el
tramo. Est´a impuesto por la GUI y refleja la dimensi´on finita de los aparcamientos en ´el.
getTunel():Tunel ⇒ Retorna el acceso al objeto t´unel de la red ferroviaria.
getTramoFerroviario(tramo:Tramos): TramoFerroviario ⇒ Retorna el acceso al objeto
tramo ferroviario que es designado con el par´ametro.
situaTren(tramo:Tramo, posicion:int) ⇒ Visualiza en la maqueta de la red ferroviaria
un tren en la posici´on que se pasa como par´ametro.

Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria
Especificaci´on de Red Ferroviaria

Page 4 of 11
Page 4 of 11
Page 4 of 11

3 Descripci´on de las clases
3 Descripci´on de las clases
3 Descripci´on de las clases
borraTren(tramo:Tramo, posicion:int) ⇒ Elimina de la maqueta de la red ferroviaria el
tren situado en el tramo y posici´on que se pasan como par´ametros.
situaTunel(numAzul:int,numRojo:int) ⇒ Visualiza en el estacionamiento del tunel un
n´umero de trenes igual a los que se pasan como par´ametros.
situaCentroRegulacion(tramo:Tramo,numTrenes:int) ⇒ Visualiza en el estacionamien-
to del centro de regulaci´on del tramo que se indica, el n´umero de trenes que se pasa como par´ame-
tro.

3.2. Class TramoFerroviario

Representa un circuito que es seguido por un conjunto de trenes. Contiene un centro de regulaci´on que
controla su tr´afico y comparte un t´unel con otros tramos.
Atributos:

(cid:28)final(cid:29) LONGITUD:int=96 ⇒ Longitud en pasos del tramo ferroviario. Tambi´en representa la
posici´on del centro de regulaci´on en el tramo.
posicionLibre[] ⇒ Estado de cada posici´on de la red. Est´a libre si en ellas no est´a posicionado
ning´un tren. Los trenes ocupan una posici´on cuando visualizan su posici´on con situaTren() y
la dejan libre cuando la borran con borraTren().
tramo: Tramos ⇒ Identificador del tramo ferroviario que representa.

Asociaciones:

laRed: RedFerroviaria ⇒ Da acceso a la red ferroviaria y a sus servicios.
elCentroRegulaci´on:CentroRegulacion ⇒ Contiene la instancia del centro de regulaci´on
que regula e
  • Links de descarga
http://lwp-l.com/pdf1038

Comentarios de: Especificación de Red Ferroviaria (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad