Arquitectura de simuladores

Revisión del 12:08 19 oct 2011 de Yoangel jc.scu (discusión | contribuciones) (Otros Artículos de Interés)
Arquitectura de Simuladores
Información sobre la plantilla
Evaluacion de arquitectura-de-software-atam.JPG

Arquitectura de Simuladores,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 dependiendo de la segunda, pero la arquitectura tiene otros condicionantes y objetivos.

Introducción

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 su grado de distribución.

Arquitectura Concentrada

Una arquitectura concentrada es aquella en la que hay una o pocas aplicaciones que concentran cada una un número elevado de funcionalidades y funcionan en uno o pocos ordenadores con poco flujo de comunicación exterior, entiéndase por aplicación el módulo de software que puede funcionar autónomamente en un solo ordenador. La arquitectura concentrada permite desarrollos simples de muy corto alcance. Aunque debido al incremento de potencia de las computadoras personales permiten resultados casi profesionales; la arquitectura concentrada se queda corta rápidamente en simuladores complejos.

Arquitectura Distribuida

Una arquitectura distribuida tiene varias o muchas aplicaciones funcionando en varios ordenadores con un flujo importante de comunicaciones. Cuando se quieren implementar simuladores complejos como los simuladores a tiempo real resulta casi absurdo pensar en una arquitectura concentrada, la distribuida ofrece múltiples beneficios y sin duda es la candidata perfecta.

Arquitectura Distribuida, principales ventajas

  • 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 interfaz 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.

Ejemplo

Un ejemplo importante a mencionar cuando se habla de arquitecturas distribuidas y simulación de procesos es el Standard CAPE-OPEN, plataforma que ofrece interoperatividad e integración de componentes para la simulación de procesos físicos y químicos. Es multiplataforma y utiliza importantes frameworks y middlewares como CORBA, COM, J2EE, EJB, etc., orientada a componentes, tiene una concepción de interfaces orientadas a objetos y usa técnicas de reingeniería y encapsulación. Entre los ambientes para la simulación de procesos desarrollados sobre esta plataforma están ProsimPlus de la compañía ProSim SA, simulador estacionario para la producción de oxígeno, INDISS de RSI, este último para la simulación dinámica y otros como Aspen Engineering Suite, Process Engineering Suite, HYSYS, INDISS, ProSimPlus, gPROMS.

Simuladores Estacionarios

Al hablar de simuladores estacionarios y no muy complejos, es muy apropiado el uso de una arquitectura concentrada, pues se evitan inconvenientes como:

  • Necesidad de adquirir y aprender un software para las comunicaciones entre los distintos ordenadores.
  • Problemas de organización del tráfico de información para garantizar la consistencia de las comunicaciones.
  • Necesidad de un hardware de red de suficiente fiabilidad.
  • Los problemas aparejados a la depuración de los programas en arquitecturas distribuidas en los cuales se dificulta enormemente.

En estos casos es conveniente una arquitectura propia que se adapte a las condiciones de lo que se quiere lograr con el simulador en materia de funcionalidad y que garantice un desempeño adecuado cuando este terminado el producto. Lo más importante no seria el grado de concentración sino que esta se estructure de manera eficiente y se puedan aprovechar mejor los recursos, además de elementos tan importantes como la reusabilidad, interoperatividad, flexibilidad, mantenibilidad, robustez, etc. Otro factor fundamental a tener en cuenta es el hecho de que sea multiplataforma, lo que amplia las posibilidades de uso del simulador.

Otros Artículos de Interés

Fuentes

  • Garlan, D. y Shaw, M. (1993). An Introduction to Software Architecture. New Jersey, World Scientific Publishing Company.
  • Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M (1996). Pattern-Oriented Software Architecture: A System of Patterns.