lenguajedesimulacion

21
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA DE LA FUERZA ARMADA BOLIVARIANA NÚCLEO MIRANDA EXTENSIÓN SANTA TERESA DEL TUY CARRERA: ING. SISTEMA SECCIÓN: SIS08-01 I-2013 Lenguaje de Simulación PROF. BACHILLER: ING. H. Rojas. JESÚS M. MORALES S.

Upload: maresa-ramirez

Post on 24-Sep-2015

213 views

Category:

Documents


0 download

DESCRIPTION

Unidad 4

TRANSCRIPT

REPBLICA BOLIVARIANA DE VENEZUELAMINISTERIO DEL PODER POPULAR PARA LA DEFENSAUNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICADE LA FUERZA ARMADA BOLIVARIANANCLEO MIRANDAEXTENSIN SANTA TERESA DEL TUYCARRERA: ING. SISTEMASECCIN: SIS08-01 I-2013

Lenguaje de Simulacin

PROF.BACHILLER: ING. H. Rojas. JESS M. MORALES S.

SANTA TERESA DEL TUY, ENERO DE 2014IntroduccinEn la vida real se presentan situaciones o sucesos que requieren tomar decisiones para planificar, predecir, invertir, proyectar posibles soluciones a problemticas planteadas al momento de efectuar una simulacin. Para eso es importante el conocimiento del problema o de la situacin y de las posibles soluciones, donde juegan un papel de importancia herramientas que permiten la obtencin de informacin, como la modelizacin y la simulacin. Los datos que se obtienen permiten predecir el comportamiento actual y futuro en distintos escenarios mediante una serie de experiencias realizadas con un programa informtico.Cualquiera sea la aplicacin para simular, sea un programa comercial especfico o una aplicacin con lenguaje de propsitos generales, requieren conocer y manejar una serie de procedimientos y criterios para obtener datos y para analizarlos para tomar decisiones que permitan optimizar los procesos.

Lenguaje de SimulacinEl desarrollo de los lenguajes de Simulacin comenz a finales de los aos cincuenta; inicialmente los lenguajes que se usaron en fueron los de propsito general, los cuales tenan las siguientes ventajas: La situacin a analizar se puede modelar en forma ms o menos sencillaPara el programador por el conocimiento del lenguaje. El proceso se puede describir con tanta precisin como le sea posible en el lenguaje conocido. Se pueden realizar todas las depuraciones posibles.Cualquier lenguaje de programacin puede ser empleado para trabajar en Simulacin, pero los lenguajes especialmente diseados presentan las siguientes propiedades: Acaban la tarea de programacin. Generan una gua conceptual. Colaboran en la definicin de entidades en el sistema. Manejan la flexibilidad en los cambios. Ayudan a analizar y a determinar la relacin y el nmero de entidades en el sistema.Emshoff y Sisson consideran que la Simulacin Discreta requiere de ciertas funciones comunes que diferencian un lenguaje de Simulacin de uno de propsito general, entre las cuales se encuentran las siguientes: Generar nmeros aleatorios. Generar variables aleatorias. Variar el tiempo hasta la ocurrencia del siguiente evento. Registrar datos para salida. Realizar anlisis estadstico sobre datos registrados. Construir salidas en formatos determinados. Detectar inconsistencias y errores.Entre estos lenguajes especficos podemos nombrar los siguientes: MIDAS, DYSAC, DSL , GASP, MIMIC, DYNAMO, GPSS, SIMULA, CSSL( Continuous System Simulation Language) , CSMP, ACSL ( Advanced Conrinuous Simulation Language), DARE-P and DARE-Interactive, C-Simscript, SLAM, SIMAN, SIMNON, SIMSCRIPT-II-5, ADA, GASP IV, SDL. Muchos de estos lenguajes dependen fuertemente de los lenguajes de propsito general como es el caso de SLAM o SIMAN que dependen de Fortran para las subrutinas.

Por otro lado, el GPSS es un caso especial de un lenguaje de simulacin de propsito especial, altamente estructurado que esta orientado a la transaccin, un caso especial de una orientacin basada en procesos ms general. El GPSS fue diseado para la simulacin simple de sistemas de colas tales como trabajos de taller. A diferencia de los otros lenguajes de simulacin, GPSS tiene varias implementaciones incluyendo GPSS/H y GPSS/PC, ambos de los cuales sern discutidos mas adelante. El SIMAN V, SIMSCRIPT II.5, y el SLAM son lenguajes de simulacin de alto nivel que tienen constructor especialmente diseados para facilitar la construccin de modelos. Estos lenguajes proveen al analista de simulacin con una opcin orientacin basada en procesos o basada en eventos, o un modelo usando una mezcla de las dos orientaciones. A diferencia del FORTRAN, estos tres lenguajes proveen la administracin de la lista de eventos futuros, generador interno de variables aleatorias, y rutinas internas para la obtencin de estadsticas (estas caractersticas para las implementaciones del GPSS mencionadas previamente.) Se pueden lograr calculo complejos en ambas implementaciones del GPSS y estos tres lenguajes.

El SIMAN, SIMSCRIPT II.5, y el SLAMSYSTEM proveen la capacidad de realizar simulacin continua ( esto es, para modelar sistemas que tengan continuamente cambios en sus variables de estado) pero este tema no esta dentro del alance de este libro.

El SIMAN esta escrito en C, aunque las primeras versiones del lenguaje fue escrito en FORTRAN.

El SIMAN V puede ser acezado directamente, o a travs del medio ambiente del ARENA. El SLAMSYSTEM contiene al lenguaje de simulacin SLAM II. El SLAM II esta basado en el FORTRAN y contiene al lenguaje GASP como un subconjunto. El GASP es un conjunto de subrutinas en FORTRAN para facilitar las simulaciones orientadas al objeto escritas en FORTRAN. El SIMSCRIPT II.5 por otro lado, contiene un subconjunto de un completo lenguaje cientfico de simulacin comparable con el FORTRAN, C o C++. El MODSIM III es un descendiente del lenguaje que la compaa de productos CACI originalmente diseado por la armada de los Estados Unidos. Hereda mucha de su sintaxis del MODULA-2 y del ADA, ciertas caractersticas del ADA y sus conceptos de simulacin del SIMSCRIPT y el SIMULA. Algunas de las caractersticas de la simulacin orientada al objeto fueron originalmente vistas en el SIMULA y el SMALLTALK.Ventajas de los lenguajes de simulacin Dan fiabilidad a los resultados Permiten ahorrar tiempo Permiten concentrarse en el problema y no en la programacin Abren el campo a no expertos en informticaEstructura Del Lenguaje.Dentro de un programa de GPSS se pueden distinguir cuatro tipos de instrucciones, cada una de las cuales se detalla a continuacin: Instrucciones de acceso al sistema GPSSEstas instrucciones permiten al usuario el acceso al compilador del GPSS y dependen de cada tipo de versin utilizada: en este punto se recomienda hacer referencia al manual respectivo. Instrucciones de definido de variablesEstas instrucciones siempre se encuentran relacionadas con las instrucciones de lgica del programa. Dentro de las instrucciones se encuentran las siguientes: definicin de las funciones a utilizar, definicin de la capacidad de los almacenes, definicin del nmero de operarios o maquinas por estacin, inicializacin de variables, definicin de las operaciones matemticas por utilizar, etctera. A continuacin de muestra una lista de las definiciones ms comunes utilizadas en GPSS: |Definicin de funciones | FUNCTION | |Definicin del nmero de mquinas | STORAGE | |Definicin de matrices | MATRIX | |Asignacin numrica a variables | EQU | |Inicializacin de variables | INITIAL | |Definicin de histograma | TABLE | |Definicin de operaciones | VARIABLE y FVARIABLE | Instrucciones de lgica del programaEste tipo de instrucciones son las conocidas como bloques; son las que se ejecutaran durante la simulacin; la lgica depender de cada sistema que se desee simular. Teniendo en cuenta la funcin que realizan, una clasificacin de los bloques o instrucciones de lgica es la siguiente: Simulacin de inicio de proceso y captura de mquina SEIZE ENTER PREEMPTSimulacin de fin de proceso y liberacin de mquina RELEASE LEAVE RETURNSimulacin de entradas de transacciones a un almacn QUEUE ENTER LINK Simulacin de salidas de transacciones a un almacn DEPART ENTER UNLINKSimulacin de entrada de transaccin del sistema GENERATE SPLITSimulacin de salidas de transacciones del sistema TERMINATESimulacin de diversos tipos de procesos ADVANCE ASEEMBLE MATCH GATHERSimulacin de control de flujo de transacciones TRANSFER TEST GATE LOGIC SELECT LOOP BUFFERBloques de operaciones aritmticas SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITYBloques de creacin de estadsticas TABULATE Las instrucciones de tipo b) y c) se codifican siguiendo un formato general, dentro del cual se pueden distinguir los siguientes elementos: |2 |8 |19 |31 ||Loc |Bloque |Operandos |Comentarios |Donde:Loc: Representa el nombre de una etiqueta o una direccin. La etiqueta es un campo opcional y su existencia depende de la lgica del programa. Esta localizado en la columna 2. Su funcin es simular a las etiquetas en Fortran o Basic.Bloque: Es la instruccin especfica por ejecutar.Operandos: Cada bloque representa la accin por ejecutar, sin embargo, es necesario incluir un documento, como puede ser la duracin o el lugar de dicha accin.Comentarios: Es el espacio donde el usuario puede colocar cualquier indicacin o identificacin de la instruccin. Instrucciones de control de la simulacin.Estas instrucciones son las que controlan la ejecucin, edicin, y manejo de archivos en GPSS/PC. Las principales son: END, START, SIMULATE.Lenguajes Especficos De Simulacin.La razn por la que se han desarrollado lenguajes especficos para simulacin es porque la mayora de las simulaciones de eventos discretos tienen bastantes elementos en comn como por ej. Generar nmeros aleatorios, avanzar el reloj de simulacin, determinar el prximo suceso de la lista de sucesos,...Ventajas frente a los lenguajes de propsito general: Programas ms cortos: Estn preparados para llevar la contabilidad de los distintos parmetros. Tienen mdulos para generar nmeros aleatorios de las distintas distribuciones. Al tener menos lneas de cdigo: Se reduce el tiempo de programacin Es ms fcil detectar posibles errores Es ms fcil cambiarlo si queremos introducir alguna variacinAdems hay una serie de errores tpicos que suelen ser identificados y chequeados de forma automtica.Inconvenientes frente a los lenguajes de propsito general: Son menos flexibles, y su sintaxis tiende a ser menos natural Las ejecuciones son ms lentas (pueden tardar hasta 8 veces ms), siempre y cuando el programa de lenguaje general est diseado de una forma eficiente. Esto es debido a que estn diseados para modelizar una amplia variedad de sistemas con un conjunto de bloques ya construidos, mientras que los de propsito general pueden ir directamente al caso particular que se trate. Son menos conocidos por analistas y programadores, y los compiladores son menos accesiblesEl lenguaje C es el ms utilizado en simulacin.Caractersticas De Los Lenguajes De Simulacin.En la actualidad los lenguajes que existen en el mercado tienen una serie de caractersticas propias que los distinguen de otros, entre esas caractersticas estn las siguientes:I. El procedimiento utilizado para generar los nmeros aleatorios uniformes y las variables no uniformes conocidas.II. Los procedimientos o mtodos utilizados para generar las variables aleatorias no-uniformes mas conocidas y mas usadas.III. La forma de adelantar el reloj de simulacin, que puede hacerse con incrementos de tiempo fijo como DYNAMO o con incrementos al prximo evento como GPSS.IV. El anlisis estadstico de los resultados de simulacin.V. El formato en que los resultados de la simulacin son representados.VI. La forma en que las inconsistencias y errores de lgica es reportada.VII. El lenguaje en el cual el paquete esta escrito, el cual puede ser: Fortran, Algol, PL/1, Asembler, etc.VIII. Los diferentes tipos de computadoras cuyo compilador es compatible con el del paquete en cuestin.Cualquiera de los lenguajes de simulacin tienen sus propias ventajas y desventajas y no se puede decir que un lenguaje es mejor que otro. Generalmente, entre mas fcil de aprender y de usar sea un lenguaje, menor ser su flexibilidad y su eficiencia. Por consiguiente, decidir que lenguaje utilizar en una aplicacin, especifica, no es tarea fcil de realizar.Clasificacin De Los Lenguajes De Simulacin.Existen distintos tipos de simulacin de modelos:Simulacin Discreta: tiene que ver con el modelado de un sistema que evoluciona en el tiempo mediante una representacin en la cual las variables de estado cambian instantneamente, cuando ocurren eventos. Aunque la simulacin discreta podra conceptualmente ser realizada mediante clculos manuales, la cantidad de datos que deben ser almacenados y manipulados en la mayora de los sistemas del mundo real obliga a que la simulacin discreta sea realizada en computadoras digitales.Simulacin Continua: se aplica cuando las variables de estado cambian continuamente con respecto al tiempo. Tpicamente, los modelos de simulacin continua involucran ecuaciones diferenciales que dan relaciones para las tasas de cambio de las variables con el tiempo. Si las ecuaciones diferenciales son particularmente simples, pueden ser resueltas analticamente para dar los valores de las variables de estado para todos los valores del tiempo como una funcin de los mismos en el tiempo 0 o inicial. Sin embargo, para la mayora de los modelos continuos, no son posibles soluciones analticas, y se usan tcnicas de anlisis numrico, por ejemplo, la integracin Runge-Kutta, para resolver las ecuaciones diferenciales numricamente, dados valores especficos para las variables de estado en el tiempo 0. Simulacin Discreta-Continua Combinada: Como algunos sistemas no son ni completamente discretos ni completamente continuos, la necesidad puede llevar a construir un modelo con aspectos tanto de simulacin discreta como continua, resultando en una simulacin combinada discreta-continua. Los tres tipos fundamentales de interacciones que pueden ocurrir entre variables de estado cambiando continuamente y discretamente son: 1. Un evento discreto puede causar un cambio discreto en el valor de una variable de estado continua. 2. Un evento discreto puede causar que la relacin que gobierna una variable de estado continua cambie en un momento particular.Etapas en el desarrollo de un Modelo de SimulacinEn el siguiente diagrama se muestran las etapas en el desarrollo de un modelo de simulacin:a) Formulacin del problema y planificacin del estudio: cada estudio debe comenzar con una sentencia clara de los objetivos globales del estudio y las cuestiones especficas a ser atendidas; sin esta sentencia hay poca esperanza de xito. El estudio completo debe ser planeado en trminos del nmero de personas, los costos, y el tiempo requerido para cada aspecto del estudio.

b) Recoleccin de datos y definicin de un modelo: la informacin y los datos deben ser tomados sobre el sistema de inters (si existe) y usado para especificar los procedimientos operativos y distribuciones de probabilidad para las variables aleatorias usadas en el modelo. Por ejemplo, en el modelado de un banco, se podran recolectar los tiempos entre arribos y los tiempos de servicio y usar esos datos para especificar distribuciones de tiempos inter-arribos y de servicios para usarlas en el modelo. Si es posible, los datos sobre el rendimiento del sistema, por ejemplo, demoras en la cola de clientes de un banco, deben ser recolectados para propsitos de validacin en etapas posteriores.

c) Validacin: aunque la validacin es algo que debe ser hecho a lo largo de todo el estudio de simulacin, hay varios puntos en el estudio donde la validacin es particularmente apropiada. d) En la construccin del modelo es til incorporar personas que estn ntimamente familiarizados con las operaciones del sistema actual y los que deben tomar decisiones regularmente. As se incrementar la validez del modelo y la credibilidad (o validez percibida) por parte de los responsables de decisiones tambin crecer. Otro punto para validar es en la adecuacin de las distribuciones de probabilidad especificadas para la generacin de variables aleatorias de entrada, que debe ser testeadas usando pruebas de bondad de ajuste.

e) Construccin de un programa de computacin y verificacin: el modelador debe decidir si programar el modelo en un lenguaje de propsito general, o en un lenguaje de simulacin diseado especialmente o simulador. Un lenguaje de programacin de propsito general probablemente ya ser conocido y estar disponible. Un lenguaje de simulacin puede reducir el tiempo de programacin requerido significativamente. La verificacin de un modelo programado significa que en las corridas no se produzcan errores.

f) Realizacin de corridas de prueba: las primeras corridas con el modelo verificado se hacen con propsitos de validacin. Son pruebas de corridas con resultados conocidos para verificar si el modelo est bien programado y para validar las salidas de simulacin con datos reales.

g) Validacin: las corridas de prueba pueden ser utilizadas para chequear la sensibilidad de la salida del modelo a pequeos cambios en un parmetro de entrada. Si la salida vara mucho, se debe obtener una mejor estimacin del parmetro de entrada. Si existe un sistema similar al de inters, los datos de salida pueden ser comparadas con aquellas del sistema existente actual. Si el acuerdo es bueno, el modelo validado es modificado de manera que represente el sistema de inters, siempre que esta modificacin no sea demasiado costosa.

h) Diseo de experimentos: consiste en organizar las corridas de simulacin con cambios en los valores de las variables de entrada. Se debe seleccionar el o los diseo/s de sistema y realizar las corridas. Por cada diseo de sistema a ser simulado se deben tomar decisiones sobre las condiciones iniciales para las corridas, la longitud de tiempo de puesta en marcha (si hubiera), la longitud de la o las corrida/s, y el nmero de corridas de simulacin independientes a realizar para cada grupo de datos de entrada.

i) Realizacin de las corridas de produccin: Las corridas de produccin se hacen para proveer datos de rendimiento de los diseos del sistema de inters. j) Anlisis de los datos de salida: Se utilizan tcnicas estadsticas para analizar los datos de salida de las corridas de produccin. Los objetivos tpicos son construir un intervalo de confianza para una medida de performance para un diseo de sistema particular o decidir cual sistema simulado es el mejor relativo a alguna medida especfica de performance.

k) Documentacin, presentacin, e implementacin de resultados: Como los modelos de simulacin son comnmente usados para ms de una aplicacin, es importante documentar las suposiciones que se hicieron en el modelo como as tambin el programa de computadora mismo. Finalmente, un estudio de simulacin cuyos resultados nunca son implementados es probablemente una falla. Adems, los resultados de modelos altamente crebles sern probablemente usados.

Tendencias Actuales de la Simulacin.Generadores de simuladores, entornos de simulacin y animacin grfica.Los lenguajes de simulacin presentan una serie de limitaciones en lo que se refiere a la comunicacin con el usuario, por lo que se propone una metodologa donde se incorpore de manera directa los conceptos fundamentales de la teora de sistemas donde se incluye: La modelizacin: El modelizador debera tener la posibilidad de elegir diversos formalismos de modelizacin segn las caractersticas del sistema que pueden ser entre otros continuos y discretos; pudindose concebir tambin modelos de sistemas cuya estructura vare con el tiempo, es decir habra la posibilidad de especificar cambios controlados por el modelo en su estructura esttica y dinmica. Por lo cual la modelizacin debe constar de: Seleccin del formalismo de modelizacin.

Manipulacin del modelo. Descomposicin del modelo en sub modelos. Construccin modular del modelo. Construir macro modelos acoplando e integrando modelos de subsistemas.Marcos ExperimentalesPosibilidad de su manipulacin interactiva.Programas de SimulacinEspecificacin algortmica de los programas de simulacin que permita un tratamiento automtico de los pares modelo marco experimental, lo que supone una especificacin del lenguaje de simulacin que haga posible:Una expresin modular de los modelos y sus acoplamientos e interacciones de acuerdo con los diferentes formalismos de modelizacin.Una especificacin modular de los marcos experimentales.La consecuencia de todos los requisitos y especificaciones mencionados es una metodologa de simulacin, y un lenguaje que la materialice, lo cual hara posible un proceso de modelizacin asistida por computador.

Simulacin Visual Interactiva.

La simulacin visual interactiva puede definirse como aquella que posibilita la creacin grfica de modelos de simulacin, permite mostrar por pantalla dinmicamente el sistema simulado, as como la interaccin entre el usuario y el programa en ejecucin. La interaccin implica que la simulacin se detiene y solicita informacin al usuario, o bien que puede parar la simulacin a su voluntad e interaccionar con el mencionado programa.

Actualmente hay varios paquetes comerciales que incorporan plenamente estos conceptos como por ejemplo: Simfactory, Witness, FACTOR/AIM. Todos estos productos estn orientados primordialmente a la utilizacin de la simulacin para la resolucin de problemas en el mbito de la produccin

ConclusionPara el presente trabajo se ha llegado a la siguiente conclusin, sea determinado que es necesario el llevar acabo la planificacin de la simulacin ya que esta nos permite analizar sucesos de la vida real permitiendo predecir lo que podra ocurrir en determinados procesos.La simulacin de sistema nos permitir optimizar el tiempo de respuesta para el momento de realizar o disear algn proyecto ya que este nos ayuda a planificar como vamos a elaborar este, obteniendo este como resultado una mayor eficacia, rapidez y fiabilidad en las actividades realizadas durante cada paso a seguir.

Bibliografa

www,google.co.ve http://repositorio.utn.edu.ec/bitstream/123456789/568/5/CAPITULO%20V.pdf http://simulacionkarla.blogspot.com/p/unidad-iv-lenguajes-de-simulacion.html http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060015/Lecciones/Capitulo%20VI/valeatorias.htm Simulation Modeling and Analysis, Averil M. Law y W. David Kelton, Ed. Mc. Graw-Hill, (1991). Libro Online Discret-Event System Simulation, Jerry Banks, John S. Carson II, Barry Nelson, Fifth Edition, Ed. Prentice-Hall, (2010). Libro Online Discret-Event System Simulation, Jerry Banks, John S. Carson II, Barry Nelson, Ed. Prentice-Hall, (1996). Libro Online Computer Simulation and Modelling, Francis Neelankaveel, John Wiley & Sons, (1986). Libro Online Discrete systems simulation, B. Koshnevis, McGraw-Hill, (1994). Libro Online Managing Business Complexity. Discovering Strategic Solutions with Agent-Based Modeling and Simulation, M.J. North and Charles M. Macal, Oxford University Press (2007). Libro Online