ENLACES DE LA PROGRAMACION ORIENTADA A OBJETOS CON SIMULADORES

ARQUITECTURA DE LOS SIMULADORES

Por arquitectura se entiende el reparto de funciones en diferentes módulos o aplicaciones de lo que constituye el software y el tránsito de información entre ellos o comunicaciones.
En el anterior punto se comentaban los distintos componentes que a nivel funcional constituían un simulador. La arquitectura está más relacionada con la concepción, prestaciones y desarrollo del software que con la funcionalidad final del simulador.
Obviamente arquitectura y funcionalidad están íntimamente ligadas y la primera se orienta primeramente dependiendo de la segunda, pero la arquitectura tiene otros condicionantes y objetivos.
Independientemente de otros criterios más sutiles, como la extensión de la filosofía cliente servidor, el factor más importante a considerar en el diseño de una arquitectura es su grado de concentración o, inversamente, su grado de distribución. Entendemos por aplicación el módulo de software que puede funcionar autónomamente en un solo ordenador.
Una arquitectura concentrada es aquella en la que hay una o pocas aplicaciones que concentran cada una un número elevado de funcionalidades, funcionan en uno o pocos ordenadores con poco flujo de comunicación exterior. Una arquitectura distribuida tiene varias o muchas aplicaciones funcionando en varios ordenadores con un flujo importante de comunicaciones.

ARQUITECTURA DISTRIBUIDA

La arquitectura concentrada permite desarrollos simples de muy corto alcance. Aunque debido al incremento de potencia de la computación personal permite resultados casi profesionales, la arquitectura concentrada se queda corta rápidamente en simuladores complejos.
La utilización de la arquitectura distribuida basada en una red de ordenadores personales tiene un objetivo global: obtener prestaciones razonables a un coste bajo. A continuación una breve discusión de las principales ventajas de la arquitectura distribuida:
• Evita la sobrecarga de procesador con cálculos sobre los modelos matemáticos y generación de la escena.
• Permite una mayor reutilización del código: al ser compartimentos más o menos estancos, las mayores variaciones se realizan en interfase de usuario.
• El uso de ordenadores personales reduce el coste inicial de implantación.
• Los ordenadores personales son altamente fiables, se reparan fácilmente y se sustituyen de forma inmediata.
• Es software empleado es de gran difusión y se encuentra fácilmente software desarrollado y personal cualificado.
• El uso del mismo tipo de ordenador para tareas distintas permite un coste de mantenimiento más reducido.

Inconvenientes de la arquitectura distribuida:
• Es más difícil diseñar y desarrollar el software para el trabajo en paralelo que para una aplicación única lineal.
• Hay adquirir y aprender un software para las comunicaciones entre los distintos ordenadores.
• Los problemas de organización del tráfico de información para garantizar la consistencia de las comunicaciones es una tarea bien compleja.
• Se necesita un hardware de red de suficiente fiabilidad.
• La depuración de los programas en este tipo de arquitectura se dificulta enormemente. En algunos casos es necesario desarrollar herramientas ad-hoc para obtener datos que puedan ayudar a la depuración.

COMUNICACION DE UN SIMULADOR

La visión tradicional de las redes es como una serie de capas, con cada capa agregando nuevas funciones y capacidades a las capas debajo de ella. A modo de explicación resumida, la red se considera que tiene tres capas.

-La capa física, la capa más baja, consiste en los cables, los conectores, las tarjetas, etc. Esta capa especifica la representación física de datos mientras se transmite (e.g., los niveles de voltaje, los pulsos de luz).

-La capa de transmisión de datos amplía la capacidad de la capa física de transmitir datos en la capacidad de comunicarse entre dos o más ordenadores. Para hacer esto, la capa de transmisión de datos debe realizar dos funciones. La primera es controlar quién puede transmitir y cuando. Por ejemplo, en redes de Ethernet, un ordenador con datos a transmitir procurará hacerlo tan pronto que ve que ningún otro ordenador está transmitiendo. Si dos ordenadores tratan de transmitir al mismo tiempo cada uno detectará una colisión, y esperará un período del tiempo al azar antes de procurar retransmitir sus datos. La segunda función es especificar el formato de los datos transmitidos. Por ejemplo, en las redes de LocalTalk los datos se transmiten en paquetes. El paquete comienza con identificar un paquete de tres octetos qué identifica al ordenador que envió los datos, y que ordenador va a recibir los datos, y el tipo de datos. El resto del paquete son los datos mismos, que pueden ser hasta 600 octetos de largo.

-La capa del protocolo amplía las capacidades de la comunicación de las capas de transmisión de datos permitiendo el enlace conjunto de redes múltiples, incluso siendo ésas de diversos tipos. Por ejemplo, TCP/IP enlaza una variedad de redes sobre todo el mundo para formar Internet. Los protocolos también proporcionan comúnmente un número de instalaciones de comunicación de alto nivel, que van más allá de enviar simple de mensajes. Por ejemplo, Appletalk proporciona el Data Stream Protocol, una facilidad que permite que un flujo de octetos sea enviado a de un ordenador a otro, y garantiza que los octetos llegarán en el orden en la cual fueron enviados.

Las capas físicas y de transmisión pueden considerarse como combinaciones de las que existen varias posibilidades como líneas serie, RS-232, IEEE422, USB, Token-ring, Ethernet y otras específicas de fabricantes como LocalTalk de Apple. Las características fundamentales que diferencias a unas de otras son las siguientes:
• Ancho de banda: o capacidad de transmitir medido normalmente en bit por segundo, bps. Las líneas serie oscilan entre los 57Kbps y los mas modernos 250Kbps. Las modernas líneas USB alcanzan 1,5 Mbps, aunque tienen frecuencia de reloj de 12 Mhz. Las Token-ring unos 4,1 Mbps y las Ethernet llegan a 1000 Mbps.
• Coste: aunque no es un factor decisivo por el abaratamiento generalizado del hardware.
• Distancias máximas de conexión: este factor puede ser importante en determinados tipos de arquitectura muy distribuida. La sensibilidad al ruido de la capa física suele ser el que determina estas distancias.
• Determinación del tiempo de transmisión: en algunas combinaciones como Ethernet no se puede determinar el tiempo en que se va a recibir el siguiente mensaje por la aleatoriedad del propio protocolo. Las de tipo Token-ring son deterministas en este aspecto.

La selección habitual son las redes Ethernet que tiene unas prestaciones muy buenas, están implementadas en la mayoría de los sistemas operativos y bajo ciertas condiciones los problemas de indeterminación pueden ser minimizados. Respecto al protocolo a utilizar este debe suministrar una serie de servicios y disponer de características de estabilidad y fiabilidad. En el caso habitual de emplear Ethernet el protocolo más habitual es el TCP/IP que es el empleado en Internet. Este protocolo funciona bien para redes grandes y pequeñas pero tiene ciertos problemas. Empleando el User Datagram Protocol (UDP) que se ajusta más al tráfico habitual en simuladores nos encontramos con el problema de la localización inicial de los distintos ordenadores de unos para con otros.

No hay comentarios:

Publicar un comentario en la entrada