PetriSim – Simulador Discreto del Entorno

original page: http://staff.um.edu.mt/jskl1/petrisim/index.html

NOTICIAS

 »  ¡Ya salió PetriSim 5!

 

[ Que es PetriSim y su Historia | Porque PetriSim | Que tipos de Petri Nets | Descarga e Instalación | Requerimientos] 
[ Usando modelos anteriores | Manua PetriSiml | Pantallas PetriSim | El Autor  ]

Que es PetriSim y su Historia

PetriSim (My Pet reasonably interactive Simulator, en español “Mi mascota simuladora interactiva razonablemente”) es un generador de modelos de simulación discreta que también se puede utilizar como editor y simulador de redes de Petri. Los modelos de simulación se crean añadiendo fragmentos de código Pascal a la red creada por PetriSim. Para ello necesitas Turbo o (mejor) Borland Pascal 7. Sólo hay una versión para PC.

PetriSim 1 fue creado originalmente como un editor gráfico y simulador de redes de Petri (exactamente el llamado lugar/redes de transición). Así PetriSim permite la creación intuitiva, muy fácil de usar, edición y simulación de prácticamente cualquier número de redes de Petri a la vez. La mayoría de las operaciones se realizan dibujando con el ratón en la pantalla. Era posible agregar fragmentos de código de Pascal para construir modelos de usuario, pero el control de tiempo era totalmente responsabilidad del usuario.

PetriSim 2 introdujo las llamadas redes de tiempo. Las redes PetriSim utilizan el concepto de retardo de disparo (puede haber un cierto retraso entre la eliminación de tokens de los lugares de entrada y la adición de tokens a los lugares de salida de una transición de disparo). El retardo es generado por un fragmento de código de usuario activado cuando se inicia el disparo. Mediante la aplicación de este concepto muy simple de retardos de disparo junto con el lenguaje gráfico de las redes de Petri, es posible crear estructuras de sincronización y sincronización complejas que son típicas de los modelos de simulación discretos. Así que PetriSim 2 es un generador de modelos de simulación discretos. La red de tiempo se utiliza como un esqueleto que controla la secuencia y el tiempo de todas las actividades. El código de usuario genera retrasos y realiza todas las operaciones en datos de usuario. Se supone que el usuario debe conocer sólo las ideas básicas de las redes de Petri y la programación intermedia Pascal.

PetriSim 3 trajo dos mejoras importantes: la programación visual dio un vínculo claro entre las transiciones y los fragmentos de código. Al hacer clic en una transición se abre un menú cuyas dos opciones inician un editor de texto para introducir o editar los fragmentos de código inicial y final. Así que el código de usuario se puede escribir durante una sesión de PetriSim. PetriSim genera automáticamente todos los archivos de código fuente de Pascal. Después de editar el código de usuario, todo el programa PetriSim debe ser recompilado en Pascal IDE. La estructura de la herencia se hizo abierta. Es posible escribir subclases con un comportamiento modificado de los objetos netos básicos (lugares, transiciones, arcos). Así, es posible escribir entornos de simulación basados en PetriSim que todavía hacen uso de las potentes instalaciones de control de simulación y edición de PetriSim. Hasta ahora se ha utilizado para implementar redes con arcos inhibidores y un simple simulador de redes de colas.

PetriSim 3.1 tenía algunos bugs eliminado y agregó más tipos de arcos. Primero el arco del inhibidor fue generalizado. Tiene un peso ahora por lo que es posible probar si un lugar tiene menos de un cierto número de fichas. Entonces es posible definir un arco de prueba que sólo prueba si un lugar tiene al menos un cierto número de tokens.

PetriSim 4 se basa en el mismo modelo de red que la versión anterior, pero hay más funcionalidad para facilitar la creación de modelos de usuario. Primero hay una colección y una evaluación transparentes de la estadística encendido: número de tokens en los lugares, tiempo que un token pasa en un lugar, duración de la leña de una transición. Así que si un lugar se utiliza como una cola y si una transición se utiliza como un servidor, todas las estadísticas habituales en el modelo G/G/1 hecho del lugar y la transición (incluyendo varianzas) está automáticamente disponible. Hay un conjunto de procedimientos que apoyan la inicialización del modelo y la evaluación del experimento. Así, la programación del usuario se reduce mucho. Si el usuario está satisfecho con las salidas estándar, la única programación es escribir los fragmentos de código.

PetriSim 5 elimina la necesidad de escribir código de usuario, al menos para la mayoría de los modelos. Todos los parámetros de las redes programadas como retardos aleatorios de disparo, probabilidades de ramificación, etc. se introducen directamente en el modo de edición de pantalla. Así que la mayoría de los modelos de simulación no necesitan ninguna programación Pascal. Por supuesto, las cosas como el comportamiento dependiente del estado tienen que ser programadas.

PetriSim también contiene algunas unidades de apoyo con instalaciones típicas de simulación como la recolección automática y la evaluación de datos estadísticos, la generación de números aleatorios, y el trabajo con listas enlazadas (colas). Se supone que estas unidades se utilizan al escribir fragmentos de código de usuario, pero su uso general es posible.

Volver arriba

¿Porqué PetriSim?

PetriSim se creó como una herramienta para apoyar la educación de:

  • Petri Nets
  • Simulación Discreta
  • Programación Orientada a Objeto

PetriSim 5 permite la creación de modelos de simulación discretos mediante la creación de una red de tiempo en la pantalla. Todo lo que necesitas es conocimiento elemental de las redes de Petri. En casos especiales se requiere la programación intermedia de Pascal. Esto hace que la simulación discreta esté disponible para casi todo el mundo. El problema es que el masterización de lenguajes de simulación no se puede esperar con los estudiantes durante un curso de un semestre o con personas que no simulan regularmente. PetriSim es, por tanto, una alternativa gratuita y fácil de usar a herramientas de simulación visual profesionales como ArenaTM o ExtendTM..

Volver arriba

¡Que tipos de Petri Nets soporta?

Directamente Coloque/Redes de transición y en el “modo del usuario” redes programadas. Los procedimientos escritos por el usuario pueden modificar el comportamiento de la red, por lo que es posible implementar otros modelos de redes de Petri de alto nivel. Desde PetriSim 3 en adelante todos estos se pueden hacer de una manera coherente y clara como los métodos definidos por el usuario de los objetos netos. Puede agregar datos a cada lugar para generalizar los tokens de cualquier manera. Puede implementar predicados para habilitar ciertas actividades, etc.

¡Tenga en cuenta que PetriSim utiliza Petri y las redes de tiempo sólo como herramientas descriptivas! No realiza ningún análisis automático sobre modelos netos. Todo lo que puede hacer (sin crear un modelo de usuario) es la simulación en varios modos para analizar el comportamiento de la red y para buscar interbloqueos.

Esto tiene dos razones. Primero hay bastantes buenas herramientas que ofrecen análisis neto. Otra razón es el hecho de que una red de Petri “perfecta” puede modelar un sistema totalmente incorrecto desde el punto de vista del usuario. Es por eso que PetriSim está orientado a la simulación para la cual el modelo de red temporizada es una manera de resolver el tiempo y la sincronización del modelo, las tareas de simulación más exigentes.

Volver arriba

Descarga e Instalación

PetriSim es gratis. Puede usarlo de cualquier manera siempre que informe al autor acerca de su uso PetriSim-consulte la siguiente referencia de correo electrónico. Para conseguirlo basta con descargar el archivo petrisim. zip (2 MB) y seguir estas instrucciones, donde asumimos la instalación en la unidad C:

  • Si tiene una versión antigua de PetriSim en C:\PETRISIM, cambie el nombre del directorio, por ejemplo a C:\PETRISM4.
  • Descomprimir el archivo petrisim. zip en C:\. Esto crea el directorio C:\PETRISIM con todos los subdirectorios.
  • Inicie el menú principal simple mediante el archivo por lotes S. BAT en el directorio particular:

C:\PETRISIM\GG1>s

  • Si no tienes Pascal, puedes empezar directamente PETRISIM. EXE en el directorio particular:

C:\PETRISIM\GG1>petrisim

  • Usted encontrará el manual HTML en C:\PETRISIM\HTMLMAN. Haga un marcador en su navegador para usarlo como ayuda durante las sesiones de PetriSim.
  • En plataformas Windows recomendamos crear una carpeta PetriSim con atajos para cada modelo (todos los atajos empiezan ya sea S. BAT o PETRISIM. EXE en el directorio particular).
  • Visite la página de inicio de PetriSim para obtener actualizaciones y más modelos de demostración.

 Volver arriba

Requerimientos

PetriSim es una aplicación MS DOS que funciona prácticamente en cualquier ordenador compatible con PC. Se puede utilizar cualquier controlador de ratón (o cualquier otro dispositivo de señalización) que admita funciones de ratón MS DOS. PetriSim también funciona sin ratón, pero no es recomendable. PetriSim se puede iniciar sin problemas en las plataformas de Windows 3. x/95/98/NT/Me/XP.

Para crear modelos que contengan código fuente de usuario, necesita Turbo o Borland Pascal 7 (las versiones anteriores no se pueden utilizar porque PetriSim utiliza parámetros de matriz abierta). Si tienes Borland Pascal, usa el target protegido para evitar problemas de memoria. Con Turbo Pascal existe el problema de la memoria convencional limitada. PETRISIM.EXE son archivos sobre 210KB (la longitud exacta depende del usuario. Unidad PAS). Entonces tiene que haber espacio para gráficos, DOS Shell, y especialmente el editor de texto para editar fragmentos de código de usuario. En caso de problemas de memoria, intente afinar el tamaño del montón (en PETRISIM. PAS), elimine todo el TSR que no necesite, o use algún editor de texto corto (los ejemplos de demostración usan C:\WINDOWS\SYSTEM32\EDIT.COM). Hay más detalles en README. TXT distribuido con archivos fuente y en el manual.

Volver arriba

Usando modelos anteriores

No debería haber ningún problema con la carga de los archivos net creados con versiones anteriores. Será necesario modificar el usuario de la unidad porque ahora es mucho más corto, la mayoría de las declaraciones relacionadas con el usuario se han trasladado a la unidad USERPART. Mire al usuario de la unidad de uno de los modelos de demostración suministrados con la versión 5. En general, debería poder utilizar los fragmentos de código. Desde la versión anterior del usuario de la unidad, puede utilizar la parte de evaluación del modelo, pero considere también el uso de la evaluación estándar que ya está disponible en la versión 5. Si tiene problemas, comuníquese con el autor para obtener ayuda.

Volver arriba

Eche un vistazo al manual PetriSim

Eche un vistazo al manual PetriSim 5 en liena  ahora.

Volver arriba

Mira las pantallas de PetriSim

El PetriSim Tour supone que usted conoce las ideas básicas de las redes de Petri. Así que considere visitar esta página primero.

Iniciar un PetriSim tour que también puede ser utilizado como un tutorial para crear un modelo de usuario simple en la versión 4. Para la versión 5 sólo puede introducir los parámetros de la red de tiempo y simular la red para obtener salidas estándar.

Volver arriba

El Autor

En caso de cualquier problema no dude en contactarme:

 

Jaroslav Sklenar
Associate Professor
Department of Statistics and Operations Research
University of Malta
Msida MSD 06
Malta

e-mail: jaroslav.sklenar@um.edu.mt 

Web: http://staff.um.edu.mt/jskl1/

Teléfono: (+356) 2340 3070     Fax: (+356) 2131 2110

Volver arriba