Simulación 3 Prof. Dr. Ignacio Ponzoni Evolución del

Download Report

Transcript Simulación 3 Prof. Dr. Ignacio Ponzoni Evolución del

Simulación
Dr. 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
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)
Simulación
2
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
Perí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.
Simulación
3
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
El 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.
Simulación
4
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
El 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.
Simulación
5
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
Perí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.
Simulación
6
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
Perí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
modelación de procesos.
intentando
simplificar
la
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.
Simulación
7
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
Consolidació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.
Simulación
8
Prof. Dr. Ignacio Ponzoni
Evolución del Software de Simulación
Perí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.
Simulación
9
Prof. Dr. Ignacio Ponzoni
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
Simulación
10
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
La 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.
Simulación
11
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
Consideraciones 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.
Simulación
12
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
La 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.
Simulación
13
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
El 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.
Simulación
14
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
El 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.
Simulación
15
Prof. Dr. Ignacio Ponzoni
Selección del Software de Simulación
Resumiendo
•
•
•
•
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.
Simulación
16
Prof. Dr. Ignacio Ponzoni
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.
Simulación
17
Prof. Dr. Ignacio Ponzoni
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.
Simulación
18
Prof. Dr. Ignacio Ponzoni
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.
Simulación
19
Prof. Dr. Ignacio Ponzoni
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.
Simulación
20
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
GPSS-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.
Simulación
21
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
GPSS-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.
Simulación
22
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
SimScript 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.
Simulación
23
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
AweSim
•
•
•
•
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.
Simulación
24
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
AweSim
• 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++.
Simulación
25
Prof. Dr. Ignacio Ponzoni
Lenguajes de Simulación
Simple++
•
•
•
•
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.
Simulación
26
Prof. Dr. Ignacio Ponzoni
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.
Simulación
27
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
Arena
•
•
•
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.
Simulación
28
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
Arena
•
•
•
•
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.
Simulación
29
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
AutoMod
• 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.
Simulación
30
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
AutoMod
• 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.
Simulación
31
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
Micro 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.
Simulación
32
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
ProModel
•
•
•
•
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.
Simulación
33
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
Taylor 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.
Simulación
34
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
Taylor 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.
Simulación
35
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
WITNESS
• 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.
Simulación
36
Prof. Dr. Ignacio Ponzoni
Paquetes de Simulación VIMS
WITNESS
• 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.
Simulación
37
Prof. Dr. Ignacio Ponzoni
Recomendaciones
• Lectura sugerida:

Capítulo 4 del libro Discrete-Event System
Simulation de Banks, Carson, Nelson y Nicol.
Simulación
38
Prof. Dr. Ignacio Ponzoni