1 / 38

Simulación Dr. Ignacio Ponzoni

Simulación Dr. Ignacio Ponzoni. Clase XXI I I: Evolución del Software para Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Año 2005. Evolución del Software de Simulación. Dividiremos la historia en seis períodos:

calder
Download Presentation

Simulación Dr. Ignacio Ponzoni

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SimulaciónDr. Ignacio Ponzoni Clase XXIII: Evolución del Software para Simulación Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Año 2005

  2. Evolución del Software de Simulación Dividiremos la historia en seis períodos: • 1955-60: El Período de Búsqueda • 1961-65: El Advenimiento • 1966-70: El Período de Formación • 1971-78: El Período de Expansión • 1979-86: El Período de Consolidación y Regeneración • 1987-Actualidad: El Período de Ambientes Integrados (VIMS)

  3. Evolución del Software de SimulaciónPeríodo de Búsqueda (1955-60) • En los primeros años, la simulación se realizó en lenguajes de propósito general como Fortran que programan sin el apoyo de las rutinas específicas de simulación. • En este período se hicieron muchos esfuerzos en la búsqueda por unificar conceptos y en el desarrollo de rutinas reusables para facilitar la simulación. • GSP (General Simulation Program) desarrollado por Tocher y Owen constituyó la primera librería diseñada específicamente para simulación.

  4. Evolución del Software de SimulaciónEl Advenimiento (1961-65) • En este período aparecen los precursores de los lenguajes de programación de simulación (LPS) actuales. • El primer LPS desarrollado con interacción de procesos fue GPSS (General Purpose Simulation System) presentado por IBM en 1961. • GPSS fue diseñado para simular comunicaciones y sistemas de computo, pero rápidamente se extendió a otras áreas de aplicación. • Básicamente GPSS, usa una representación de diagramas de bloques apropiada para modelar sistemas de colas.

  5. Evolución del Software de SimulaciónEl Advenimiento (1961-65) • En 1963 surgió SIMSCRIPT, el cual fue desarrollado por RAND bajo el auspicio de la Fuerza Aerea de EEUU. • SIMSCRIPT estaba fuertemente influenciado por FORTRAN, y en sus principios estaba orientado a la planificación de eventos. • Al mismo tiempo apareció GASP orientado a Planificación de Eventos y basado inicialmente en Algol, pero implementaciones posteriores fueron hechas basadas en Fortran. • GASP no era un lenguaje apropiado, sino una colección de rutinas de Fortran para facilitar la simulación en este último lenguaje.

  6. Evolución del Software de SimulaciónPeríodo de Formación (1966-70) • Los conceptos fueron revisados y redefinidos para promover una representación más consistente de cada vista del mundo. La mayoría de los LPS maduraron y lograron un uso más amplio. • Los rápidos avances del hardware y las demandas de los usuarios forzaron a que algunos lenguajes sean revisados y sufrieran cambios notables. • Tal es el caso de la aparición de GPSS/360, diseñado para las IBM 360, y SIMSCRIPT II. Otras versiones de GPSS fueron desarrolladas por otras empresas. • El LPS SIMULA agregó el concepto de clases y herencia, transformándose en un precursor de los modernos lenguajes de programación orientados a objetos.

  7. Evolución del Software de SimulaciónPeríodo de Expansión (1971-78) • En este período ocurrieron los mayores avances en GPSS. Se desarrolló GPSS/H, versión principal de GPSS que sigue utilizándose actualmente. • Apareció GASP IV que agregó soporte para emplear Barrido de Actividades. • Se realizaron esfuerzos intentando simplificar la modelación de procesos. • Usando a SIMULA como base, se empezó a desarrollar las primeras herramientas de alto nivel tratando de automatizar el proceso de traducción del modelo conceptual al computacional.

  8. Evolución del Software de SimulaciónConsolidación y Regeneración (1979-86) • En este período los principios de los LPS se adaptaron para su utilización en computadoras personales y microordenadores manteniendo su estructura básica. • También comenzaron los esfuerzos por lograr LPS que permitieran modelar utilizando distintas vistas del mundo. • SLAM (Simulation Language for Alternative Modeling) soporta planificación de eventos basada en GASP, un enfoque de red (derivado de la interacción de procesos) y un enfoque para el modelado de sistemas continuos. • SIMAN (SIMulation ANalysis) permite utilizar planificación de eventos e interacción de procesos usando FORTRAN como base, y también incorpora rutinas para simulación continua.

  9. Evolución del Software de SimulaciónPeríodo de Ambientes Integrados (1987-Act.) • En este período es notable el crecimiento de LPS para computadoras personales con ambientes de simulación con interfaces gráficas de usuario, animaciones (2D y 3D) y otras herramientas para la visualización. • Varios de estos ambientes también contienen analizadores de datos de entrada y de salidas. Algunos paquetes intentan simplificar el modelado de procesos mediante el uso de flujos de procesos o diagramas de bloques dando origen a los paquetes VIMS.

  10. Criterios para Selección del Software de Simulación Las características a considerar ante la selección de un software de simulación son: • La Interface • El Procesamiento • La Salida • El Ambiente • El Costo y Proveedor del Software

  11. Selección del Software de SimulaciónLa Interface • Amigable para el usuario. • Importación de archivos de datos. • Exportación de archivos de datos. • Sintaxis comprensible, consistente y libre ambigüedades. • Controlador interactivo de corridas (debugger). • Interfaces con otros lenguajes. • Capacidad de análisis de datos de entrada y salida.

  12. Selección del Software de SimulaciónConsideraciones de Procesamiento • Velocidad de cómputo. • Flexibilidad en la especificación del tiempo de corrida. • Generadores de Variables Aleatorias. • Capacidad para Replicación Independiente. • Definición de Variables Globales y Atributos. • Programación de detalles específicos. • Portabilidad.

  13. Selección del Software de SimulaciónLa Salida • Generadores de Reportes Estandarizados. • Generadores de Reportes Personalizados. • Gráficos de Negocios. • Mantenimiento de Bases de Datos. • Colección de expresiones matemáticas. • Medidas de performance personalizadas. • Posibilidad de enviar las salidas a un archivo para un análisis posterior o manipulación.

  14. Selección del Software de SimulaciónEl Ambiente • Facilidad de uso. • Facilidad para su autoaprendizaje. • Calidad de la ayuda y tutoriales. • Capacidades de animación. • Creación de una aplicación Stand-Alone. • Estabilidad del producto en el mercado. • Evolución del software.

  15. Selección del Software de SimulaciónEl Costo y Proveedor • El costo del software de simulación en general es variable, desde u$s500 a u$s50.000, estabilizándose los más populares alrededor de los u$s15.000. • Es importante tener en cuenta cual es la política del proveedor del software respecto de las actualizaciones. • El elevado costo de un paquete de software puede ser bien amortizado si las actualizaciones no son caras. • En todo caso, nunca se debe perder de vista las funcionalidades del paquete respecto del tipo de sistemas que vamos a modelar. Un software barato que no satisface los requerimientos de nuestro problema siempre resultará caro.

  16. Selección del Software de SimulaciónResumiendo • Precisión y detalles pueden ser muy importantes. • Capacidades poderosas y mayor nivel de abstracción pueden hacer que la productividad del diseñador de modelos se incremente. • Tener en cuenta que el soft demo muchas veces no muestra las verdaderas capacidades del paquete de simulación. • La implementación y capacidades del software es siempre lo más importante.

  17. Clasificación del Software de Simulación El software empleado para desarrollar modelos de simulación puede dividirse en cuatro categorías: • Complementos para Planillas de Cálculo Crystal Ball, Risk, etc. • Lenguajes de Programación de Propósito General Fortran, C, C++, Java , etc. • Lenguajes Programación para Simulación GPSS/H, SIMAN V, SIMSCRIPT II, etc. • Ambientes de simulación Arena, AutoMod, SimProcess, Simul8, Network II, etc.

  18. Complementos para Planillas de Cálculo • Básicamente, estos paquetes traen facilidades para: • Modelar las variables aleatorias mediante una galería de distribuciones. • Replicación automática de experimentos, y • Herramientas para el análisis de la salida. • Los complementos más utilizados actualmente son: • Crystal Ball, desarrollado por Decisioneering, INC. • Risk, comercializado por la compañía Palisade.

  19. Lenguajes de Propósito General C++ • Este lenguaje no ha sido diseñado específicamente para su uso en simulación. • Es empleado debido a su gran disponibilidad y extenso uso. • Muy pocas personas escriben modelos de simulación de eventos discretos usando sólo lenguajes de programación, en general estos están extendidos con librerías especiales. • Su orientación a objetos facilita la construcción modular de modelos grandes. Empleando librerías de simulación como CSIM se reduce la programación de bajo nivel.

  20. CSIM • Es una librería utilizada para modelar objetos predefinidos como apoyo a los modelos de simulación orientados a procesos. • Es barato se utiliza fundamentalmente en la industria y en la educación, principalmente para modelar computadoras y sistemas de comunicación. • Es rápido debido a su cuidadosa implementación y por tratarse de un lenguaje compilado. • Representa con facilidad colas con multiservidores pudiéndole asociar diferentes disciplinas.

  21. Lenguajes de SimulaciónGPSS-GPSS/H • Es un lenguaje de simulación altamente estructurado basado en el enfoque de interacción de procesos y orientado a la simulación de sistemas de colas. • El sistema es descrito por medio de un diagrama de bloques. Los bloques representan eventos, demoras, y otras acciones que afectan el flujo del proceso.

  22. Lenguajes de SimulaciónGPSS-GPSS/H • GPSS/H incluye un debugger interactivo, gran velocidad de ejecución, facilidades para que el usuario extienda el repertorio de sentencias de control, un constructor para funciones matemáticas y un generador de variables aleatorias. • Tiene además un animador que provee animación en 2-D, con buenas facilidades para el escalamiento de los gráficos. La animación puede correr en modo post-proceso o concurrentemente con la simulación.

  23. Lenguajes de SimulaciónSimScript II • Es un lenguaje que permite modelos construidos usando interacción de procesos. • Puede emplearse para producir gráficos de presentación dinámicos y estáticos como histogramas, gráficos de torta, gráficos de barras y cuadros de variables respecto del avance de tiempo. • La animación de salida es construida usando SimGraphics.

  24. Lenguajes de SimulaciónAweSim • Es un sistema de simulación integrado de propósito general basado en la interface de Windows. • Permite realizar múltiples tareas en paralelo mientras la simulación está corriendo en background. • Los modelos se construyen mediante redes de nodos, y los parámetros de los nodos se especifican como expresiones en sus campos apropiados. • Las animaciones pueden ser vistas sin correr la simulación. Es un precursor de los primeros paquetes VIMS.

  25. Lenguajes de SimulaciónAweSim • Subredes de nodos visuales permiten la creación de modelos jerárquicos y componentes de modelo reusables. • El análisis de salida incluye un visor de reportes que permite tanto presentar la salida en formato de texto o gráfico. • Las capacidades de modelado extendidas se realizan en Visual Basic o Visual C++.

  26. Lenguajes de SimulaciónSimple++ • Es un sistema completo de simulación orientado a objetos con una interface gráfica integrada. • Los modelos se crean haciendo una librería de objetos. Estos objetos representan clases (padres) cuyas instancias (hijos) pueden ser insertados dentro del modelo. • Incluye estructuras de clases, herencia, jerarquía, modularidad y polimorfismo. • Además posee una arquitectura abierta que permite comunicarse con otros softwares.

  27. Paquetes de Simulación VIMS • Los paquetes VIMS actuales poseen características comunes como interface gráficas de usuario, animación y análisis de salida. • En ellos los resultados pueden verse en forma tabular o gráfica permitiendo comparaciones. • La mayoría proporciona análisis estadísticos, incluyendo intervalos de confianza para las medidas tomadas. • Todos toman la vista del mundo de interacción de procesos y algunos también permiten planificación de eventos y mezclan modelos continuos y discretos.

  28. Paquetes de Simulación VIMSArena • Puede ser usado para la simulación de modelos discretos o continuos. • Emplea un diseño orientado a objetos para el desarrollo completo de modelos gráficos, permitiendo la creación de nuevos objetos de modelado (módulos) los cuales son los bloques de construcción en la creación de un modelo. • Todos los aspectos de un proceso en particular (lógica, datos, animación) pueden ser módulos para representar el proceso a través del que fluyen las entidades.

  29. Paquetes de Simulación VIMSArena • Incluye módulos enfocados a los aspectos específicos de sistemas de fabricación y manejo de materiales. • Puede ser también usado para modelar sistemas combinados discretos-continuos (producción farmacéutica y química). • Crea animaciones 2-D usando herramientas de dibujo propias o importadas de ClipArt, AutoCad, etc. • Incluye un analizador de entrada que ayuda a seleccionar la distribución de entrada apropiada y un analizador de salida.

  30. Paquetes de Simulación VIMSAutoMod • Su enfoque principal es hacia los sistemas de fabricación y manejo de materiales. • Tiene un sistema común de construcción de plantillas para el manejo de materiales, incluyendo sistemas de vehículos, portadores, almacenamiento automatizado y sistemas de recuperación, sistemas de potencia y sistemas cinemáticos para robótica. • Soporta también el modelado de fluídos continuos y de volúmenes de flujo de materiales.

  31. Paquetes de Simulación VIMSAutoMod • Su vista del mundo es la interacción de procesos. Las capacidades de animación incluyen escalamiento y rotación de gráficos 3-D. Se utiliza CAD para construir el modelo. • Posee una interface de hoja de cálculos que permite al usuario expresar lógica compleja sin programar. • Realiza el análisis de los datos de salida, el manejo de escenarios, la generación de intervalos de confianza y diseño de experimentos mediante AutoStat.

  32. Paquetes de Simulación VIMSMicro Saint • Los modelos se desarrollan creando un diagrama de flujos para describir una red de tareas. • La animación es mediante imágenes y está basado en la representación de diagramas de flujo u organigramas. • Es utilizado en el modelado de sistemas de cuidado de salud, de fabricaciones y aplicaciones militares. • Sustenta la ergonomía y modelado del comportamiento y desempeño humano.

  33. Paquetes de Simulación VIMSProModel • Es una herramienta de simulación y animación diseñada para el modelado de sistemas de manufactura. • La compañía que lo desarrolla, homónima, también ofrece MedModel para sistemas de cuidado de salud, ServiceModel para sistemas de servicios y ProcessModel basado en organigramas para procesos comerciales. • Genera gráficos de salida y estadísticas automáticamente. • Ofrece animación 2D, así como una perspectiva de vista 3D opcional. Pueden importarse dibujos CAD o ClipArts.

  34. Paquetes de Simulación VIMSTaylor ED • Es usado para modelar procesos de fabricación, almacenaje y procesos de manejo de materiales además de servicios y procesos de flujo de datos. • También puede usarse para supervisar procesos de flujo en tiempo real. Ofrece animaciones 2D y 3D. • Está basado en el concepto de átomos (objetos inteligentes y recursos del constructor de modelos). • Estos representan productos o entidades, que fluyen a través de los sistemas así como los recursos que actúan en estas entidades.

  35. Paquetes de Simulación VIMSTaylor ED • Para construir un modelo, un usuario crea primero un modelo de esquema seleccionando átomos de una biblioteca de átomos y poniéndolos en la pantalla. • Luego el usuario conecta los átomos y define la asignación de rutas de los productos o entidades (también átomos) fluyendo a través del modelo. • Luego el usuario asigna la lógica e incluye asignaciones de ruta lógica a cada átomo revisando sus campos de parámetros.

  36. Paquetes de Simulación VIMSWITNESS • Está fuertemente orientado a la simulación de maquinarias y contiene muchos elementos para manufactura de partes discretas. • También contiene elementos para procesos continuos como la salida de fluidos a través de procesadores, tanques y cañerías. • Ofrece un esquema de animación 2D más una vista del flujo de procesos.

  37. Paquetes de Simulación VIMSWITNESS • Las capacidades de reporte incluyen mostrar información en pantalla dinámicamente de cada elemento modelado. • Los reportes pueden ser exportados a hojas de cálculo. C-Links permite programación detallada y agregar subrutinas. • El debugg puede ser hecho parando el modelo, cambiando los parámetros deseados, y continuando con la simulación en el punto dejado.

  38. Recomendaciones • Lectura sugerida: • Capítulo 4 del libro Discrete-Event System Simulation de Banks, Carson, Nelson y Nicol.

More Related