View
3.947
Download
4
Embed Size (px)
Citation preview
Comparación entre los diferentes Software de simulación de Redes de Petri
Luis Fernando Rodriguez Giraldo1
Roberto Carlos Guevara Calume2
Diego Fernando Arroyave Berrio3
Marzo del 2010
1. Luis Fernando Rodriguez Giraldo. Ingeniero Electrónico UdeA. Estudiante Maestría en Automatización y
Control Industrial.
2. Roberto Carlos Guevara Calume. Ingeniero de Sistemas Universidad San Buenaventura. Estudiante Maestría
en Automatización y Control Industrial.
3. Diego Fernando Arroyave Berrio. Ingeniero Electrónico UdeA. Estudiante Maestría en Automatización y
Control Industrial.
Resumen
El desarrollo de sistemas físicos cuyos estados evolucionan en forma automática basándose en tablas predefinidas del comportamiento, tales como el sistema de control de un robot en un proceso industrial, o un sistema que controle el movimiento de los diferentes trenes de un transporte colectivo metro a fin de evitar accidentes de choque por alcance, es cada vez más complejo, y se requiere de herramientas de diseño que permitan conocer el comportamiento de un sistema antes de su realización física.
Para lograr tal conocimiento los diseñadores utilizan el recurso conocido como Redes de Petri, cuyas características más importantes y evolución se pueden analizar por medio de un programa computacional y sus resultados por medio de una interface gráfica.
Este programa enviará, durante la evolución de la red, mensajes precisos acerca de sus características tales como existencia de conflictos, vivacidad, limitación y conservatividad.
1. INTRODUCCIÓN
A medida que crece la complejidad de los sistemas tanto en su diseño como en el funcionamiento de las partes que los constituyen y los eventos y subsistemas que a su vez ellos controlan, además de los altos costos que implica el construir un prototipo a escala del sistema que se desea crear, es cada vez más necesario contar con una her-ramienta de modelado, la cual per-mita caracterizar las partes del sis-tema y sus interconexiones, o bien, permita desarrollar un modelo en el cual se especifiquen las reacciones del sistema frente a eventos o acon-tecimientos que provienen del exte-
rior, es decir, que describa cómo funciona el sistema. Esta herramienta de modelado debe permitir al diseñador anticipar el mayor número de estados en los que se encuentre el sistema a lo largo de su evolución. Estos esta-dos, en su conjunto, definirán el comportamiento global del sistema, así como sus características. A efecto de lograr un conocimiento ca-bal de las propiedades estructurales y operativas del sistema, la her-ramienta de modelado adecuada permitirá al diseñador asegurar la validez y confiabilidad del prototipo antes de llevarlos a la construcción física. Una de las herramientas que se puede utilizar en el diseño de sis-temas de evoluciones simultáneas, es la herramienta conocida como las Redes de Petri, una herramienta de diseño poderosa y de fácil com-prensión, creada y desarrollada por Karl Adam Petri en 1962, la cual tiene un espectro de aplicación de muy amplio rango, desde procesos legales hasta procesos de producción industrial o control de tráfico. La finalidad del artículo que aquí se presenta es proporcionar a los diseñadores de redes de Petri los diferentes software existentes y hacer una comparación entre ellos, el cual les permita, por medio de una interfaz gráfica fácil de usar, ob-servar de manera clara y precisa las características más importantes de su red a medida que se desarrolla su evolución, enviando mensajes acerca de la existencia de conflic-tos, vivacidad, limitación y conserva-tividad.
Para conocer los diferentes estados de la red, se pueden calcular todos los marcados alcanzables a partir del marcado inicial, construyendo el árbol de alcanzabilidad de la red. Esta técnica es ideal cuando se elabora una red que contenga un número grande de componentes, ya que proporciona el total de las situa-ciones posibles, a partir de las cuales el programa puede estable-cer los criterios de k-limitación, vi-vacidad, existencia de conflictos, conservatividad, y otras característi-cas. Sin embargo, los programas en am-bientes gráficos tienen el incon-veniente de que el área de trabajo del usuario está limitada al tamaño de una sola pantalla. Cuando mu-cho se consigue aumentar este es-pacio aplicando una función de zoom, lo cual requiere que el tamaño de los componentes sea más pequeño, y por lo tanto, difícil de manejar. Se pretende que los software sean programas visuales, interactivo, re-alizado en base a una programación estructurada en el que el usuario fuera dirigiendo por él mismo la evolución del sistema creado, de tal forma que exista una interoperabil-idad en el sistema usuario-máquina, y observando al mismo tiempo los diferentes parámetros, ya sea con-tinuamente, por simple inspección, o por medio de mensajes que el pro-grama va generando oportuna-mente. Para conseguir esta forma de traba-jo interactiva, el usuario selecciona la transición que desee activar, y el programa, si es necesario, enviará los mensajes adecuados en el mo-mento mismo en que se presente el
evento, tal como la existencia de conflictos, o el bloqueo de la red.
2. CUERPO DEL TRABAJO Comparación entre diferentes tipos de Software para Redes de Petri.
2.1. ALPINA
Descripción general
Página principal: http://alpina.unige.ch/
Disponibilidad de la herramienta: Gratuito
Características
Redes de Petri admitidos Alto nivel de Redes de Petri Componentes
• Editor gráfico • Espacios de los
estados(Estado de Espacio) • Espacios de Estados
Condensados • Análisis simple de
rendimiento. • Formato de Intercambio de
filas
Ambiente
• Java
Descripción:
Alpina es un editor gráfico y comprobador de modelo para una clase de alto nivel de redes de Petri llamada Redes de Petri algebraica.
Su propósito principal es llevar a cabo controles de accesibilidad en modelos complejos.
Alpina es implementado como un plugin de Eclipse. La interfaz de usuario ha sido creada utilizando el enfoque de metamodeling EMP. Así, los modelos son fáciles de aplicar, sin la necesidad de conocer las técnicas subyacentes relacionadas con el desempeño del modelo de control.
La verificación del modelo actual se realiza en un motor independiente, implementado en Java. Se realiza la verificación de modelo simbólico basado en ΣDD, una evolución eficiente en el campo de los diagramas Decisión, utilizando nuevas técnicas, como la agrupación algebraicas y despliegues. Esto permite comprobar el estado de los modelos con espacios muy grandes.
Otras observaciones This program is free software; it can be redistributed and/or modified under the terms of the GNU General Public License. Este programa es software libre, puede ser redistribuido y / o modificar bajo los términos de la licencia pública general GNU.
2.2. Artifex
Descripción general:
Página principal: http://www.rsoftdesign.com
Disponibilidad: Comercial (descuentos para instituciones académicas)
Características:
Redes de Petri admitidos
• Orientado a objetos • Alto nivel de Redes de Petri • Lugar / Redes de Transición • Redes de Petri con Tiempo
Componentes
• Editor gráfico • Juego Animación
• Simulación rápida • Análisis Estructural • Análisis avanzado del
rendimiento
Ambientes
• Sun, SunOS • HP, HP-UX • Silicon Graphics, IRIX • PC, Linux • PC, MS Windows NT • PC, MS Windows 2000 • PC, MS Windows XP
Descripción:
Artifex es un poderoso apoyo al modelado y simulación del entorno de diseño de sistemas de eventos discretos. Artifex tiene un lenguaje gráfico intuitivo que visualmente describe el comportamiento dinámico del sistema, apoyado por un entorno de diseño integral, tanto para la simulación de eventos discretos y el desarrollo de software en tiempo real.
Artifex es ideal para el diseño y simulación de:
• Redes de comunicación • Equipos de conmutación • Protocolos
Para la exploración y la validación de una amplia variedad de esquemas de almacenamiento intermedio, la clasificación de paquetes, control de la congestión, la protección y restauración, programación de algoritmos y de las políticas, arquitecturas ASIC, redes ópticas y mucho más.
2.3. CPN-AMI
Descripción general
Página principal: http://www.lip6.fr/cpn-ami
Disponibilidad: Gratuito
Características:
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Lugar / Redes de Transición
Componentes
• Editor gráfico • Simulación rápida • Estados de Espacios • Estado de Espacios
Condensados • Lugares Invariantes
• Invariantes de Transición • Análisis Estructural
• Intercambio del formato de fila
• Servicios para la modelización modular
Ambientes
• Linux • Macintosh
Descripción
CPN-AMI 3.2 El entorno de la Red de Petri se basa en la ingeniería de software FrameKit: una plataforma genérica para la aplicación de entornos de ingeniería de software.
2.4. ExSpect
Descripción general
Página principal:
Disponibilidad: Comercial (descuentos para instituciones académicas)
Características:
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Lugar / Redes de Transición • Redes de Petri Estocásticos • Redes de Petri con Tiempo • Jerarquía en la modelización
Componentes
• Editor gráfico • Juego Animación • Simulación rápida • Simple análisis de
rendimiento • Análisis avanzado del
rendimiento • Sistema de gestión de flujo
de trabajo • Motor de simulación
disponible como componente COM
Ambientes
• MS Windows
Descripción
Herramienta de negocios que ofrece a las organizaciones la capacidad de modelar, controlar y analizar los
procesos de negocio de manera eficaz y eficiente.
Mediante el seguimiento de las cargas de trabajo y los flujos de dinero y bienes ExSpect puede utilizar para determinar el nivel de servicio de su organización.
ExSpect ofrece el potencial para todo tipo imaginable de simulación y así le ayuda a tomar decisiones sobre la reducción de costes y de infraestructura a gran escala de los programas de inversión.
ExSpect tiene una completa interfaz gráfica de usuario y una base formal sólida, desarrollada en estrecha cooperación con la Universidad Tecnológica de Eindhoven, desde 1980.
ExSpect los usuarios son capaces de construir modelos ejecutable con facilidad y velocidad
Cambio de los modelos desarrollados es un asunto aún más simple, ya que una biblioteca de bloques de construcción se genera automáticamente durante el desarrollo.
Una ventaja de ExSpect es que es posible utilizar las bibliotecas de aplicaciones específicamente preparado para cada campo en particular.
Las bibliotecas están disponibles para el flujo de trabajo, la logística, los procesos administrativos y más situaciones de negocio específicos.
Descripción general
Página: http://www-dssz.informatik.tu-cottbus.de/software/snoopy.html
Disponibilidad: Gratuito
Características:
Redes de Petri admitidos
• Lugar / Redes de Transición • Redes de Petri estocásticas • Redes de Petri con Tiempo • Redes de Petri continuas
Componentes :
• Editor gráfico • Juego Animación • Simulación rápida
Ambientes
• PC, Linux • PC, MS Windows 2000 • PC, MS Windows XP • Macintosh, Mac OS X
Descripción
Snoopy es una herramienta para diseñar y ejecutar (animado, simular) gráfico jerárquico basado
en las descripciones del sistema. La herramienta viene con varias gráficos pre-fabricados, sobre todo una especie de redes de Petri y otros gráficos relacionados, y facilita una integración cómoda de las clases más gráfico debido a su diseño genérico.
Para apoyar un aspecto de modelo orientado a la ingeniería, las clases de gráfico diferentes pueden ser utilizadas de forma simultánea, y los gráficos de las diferentes clases se pueden convertir en unos de otros.
Snoopy ofrece algunas características (nodos de jerarquía, los nodos de lógica), que son especialmente útiles para los modelos más grandes, o los modelos con un mayor grado de conectividad.
2.5. TAPAAL
Descripción general
Pagina: http://www.tapaal.net
Disponibilidad: Gratuito
Características
Redes de Petri admitidos
• Lugar / Redes de Transición • Redes de Petri con Tiempo
Componentes
• Editor gráfico • Juego Animación • Análisis avanzado del
rendimiento • Intercambio de format de fila
Ambientes
• Sun, SunOS • HP, HP-UX • Silicon Graphics, IRIX
• PC, Linux • PC, MS DOS • PC, OS/2 • PC, MS Windows 95 • PC, MS Windows 98 • PC, MS Windows NT • PC, MS Windows 2000 • PC, MS Windows XP • Macintosh, Mac OS • Macintosh, Mac OS X • Java
Descripción
TAPAAL es una herramienta para la modelización, simulación y verificación de Redes de Petri disponible para Linux, Windows y plataformas Mac OS X. La herramienta TAPAAL ofrece un editor gráfico para la elaboración de modelos Tapn, un simulador para experimentar con las redes diseñadas y un medio de verificación que automáticamente responde a las preguntas lógicas. El algoritmo de verificación de las consultas TAPAAL se traduce en los UPPAAL y se basa en el motor de verificación de UPPAAL.
2.6. Visual Object Net ++
Descripción general
Disponibilidad: Gratuito
Características
Redes de Petri admitidos
• Lugar / Redes de Transición • Redes de Petri con Tiempo • Hybrid dinámica Redes
Hibrida Dinámica y Redes híbridas de objetos Componentes
• Editor gráfico • Juego Animación • Simulación rápida • Análisis Estructural • Simple análisis de
rendimiento de • Compatible con jerarquía de
objetos
Ambientes
• MS Windows
Descripción
Objeto Visual Net + + es un innovadora Red de Petri CAE, herramienta para PC que mejora la mezcla de eventos continuos y discretos.
Desde la versión 2 de Visual Net objeto admite los conceptos de tiempo, las prioridades, las capacidades de lugar, y un objeto de jerarquía basada en la manipulación de grandes redes
2.7. TimeNET
Descripción general
Tool homepage: http://www.tu-ilmenau.de/TimeNET
Disponibilidad: comercial (gratuito para instituciones académicas)
Características
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Lugar / Redes de Transición
• Redes de Petri Estocásticas • Redes de Petri con Tiempo
Componentes
• Editor gráfico • Juego Animación • Simulación rápida • Lugares Invariantes • Análisis Estructural • Simple análisis de
rendimiento • Análisis de Rendimiento
Avanzado
Ambientes
• PC, Linux • PC, MS Windows XP
Descripción
TimeNet es un paquete de software para el modelado y la evaluación de los SPN en el que los tiempos de cocción de las transiciones pueden ser distribuidos de manera exponencial, determinista, o más generalmente distribuidos. Los modelos pueden ser especificados con una interfaz gráfica de usuario. Las medidas de resultado puede ser definido en el modelo de nivel en
una sintaxis especial. Modelos con escala de tiempo continua, así como de tiempo discreto son compatibles.
El análisis estacionario es basado en la teoría de Markov regenerativa. Una cadena de Markov incrustado (EMC) es construido y resuelto. El análisis transitorio se basa en el método de las variables complementarias.
2.8. Geist3D
Descripción general
Página: http://www.geist3d.org
Disponibilidad: Gratuito
Características
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Lugar / Redes de Transición • Redes de Petri con Tiempo
Componentes
Ambientes
• PC, MS Windows NT • PC, MS Windows 2000 • PC, MS Windows XP
Descripción
Geist3D es un graficador en tiempo real en tres dimensiones. Es compatible con una combinación de secuencias de comandos de Python y las redes de Petri como lenguaje de programación para entornos virtuales. Todas las características de Geist3D incluyen:
• Diseño de escena interactiva con los manipuladores de gráficos 3D.
• Interfaz de secuencias de comandos Python y editor de código fuente.
• Lenguaje de programación utilizando redes de Petri
2.9. GreatSPN
Descripción general
Página: http://www.di.unito.it/ ~ greatspn /
Disponibilidad: comercial (gratuito para instituciones académicas)
Características
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Redes de Petri Estocásticos • Redes de Petri con Tiempo
Componentes
• Editor gráfico • Juego Animación • Simulación rápida • Espacios de estados • Espacios de estados
condensados • Lugares Invariantes • Invariantes de Transición • Análisis Estructural • Análisis de Rendimiento
Avanzado
Ambientes
• Sun Sol • Linux • Solaris on PCs and Sun
workstations Solaris
Descripción
Es un paquete de software para el modelado, validación y evaluación del desempeño de los sistemas distribuidos utilizando Redes de Petri generalizada estocásticos y su extensión de colores: La herramienta proporciona un marco favorable a experimentar con la oportuna red de Petri técnicas de modelado basada en implementación de algoritmos de análisis de eficiencia para permitir su uso en aplicaciones más complejas, no sólo ejemplos de juguete.
2.10. HiQPN-Tool HiQPN-Herramienta
Descripción
Página: http://ls4-www.informatik.uni-dortmund.de/QPN/
Disponibilidad: Gratuito
Características
Redes de Petri admitidos
• Alto nivel de Redes de Petri • Redes de Petri Estocásticas
Componentes
• Editor gráfico • Juego Animación • Espacios de los estados • Lugar Invariantes • Invariantes de Transición • Análisis de Rendimiento
Avanzado • Intercambio de format de fila
Ambientes
• Sun Sol
Descripción
Es una herramienta para especificar y analizar Jerárquicamente combinado de colas redes de Petri (HQPNs), una clase de red de Petri combinado y colas formalismos de modelado de la red.
herramienta soporta una especificación de modelo jerárquico, en combinación con resultados cualitativos y cuantitativos () análisis, que de forma masiva los beneficios de la especificación jerárquica.
2.11. JPetriNet
Descripción
Página principal de la herramienta: http://jpetrinet.sourceforge.net
Disponibilidad: Gratuito
Características
Redes de Petri admitidos
• Lugar / Redes de Transición • Redes de Petri con Tiempo
Componentes
• Editor gráfico • Análisis Estructural
Ambientes
• Java
Descripción
El proyecto JPetriNet es un modelo de Petri Net, herramienta de análisis y simulación de hecho en lenguaje de programación Java. JPetriNet anteriormente se había dicho a las ayudas de las actividades educativas, pero también podría ser utilizado en cualquier otra finalidad relacionada con los sistemas concurrentes.
CONCLUSIONES
El programa GRP es una her-ramienta en proceso de desarrollo constante que proporciona un so-porte gráfico interactivo tanto a quienes participan en el proceso de enseñanza-aprendizaje de áreas de conocimiento tan separadas como el diseño de autómatas, de toma de decisiones por medio de la Investi-gación de Operaciones, o la evolu-ción de una coreografía, los cuales puedan ser representados mediante Redes de Petri. Es evidente que ex-iste una gran cantidad de aplica-ciones (tanto en la industria como en los diversos procesos en los que existe un flujo de información y una secuencia ordenada de eventos) cuyo diseño y análisis son factibles tomando como base las Redes de
Petri y su implementación se lograra de una manera sencilla y segura, si se cuenta con una herramienta au-tomatizada que permita conocer de forma rápida y confiable los difer-entes estados de la aplicación en estudio. La herramienta que se ob-tuvo como resultado de este trabajo de tesis nos permite llevar a cabo los análisis referidos. Ésta ha sido denominada “Gestor de Redes de Petri GRP”. Sus aplicaciones, en el entorno de Manzanillo, se pueden extender desde el diseño de un pro-ceso de trámites en una agencia naviera, hasta el diseño de un pro-grama institucional de construcción de un edificio. Asimismo, la apli-cación GRP será de gran apoyo en los cursos en los cuales se analicen las Redes de Petri, porque permitirá al alumno comprender de una man-era sencilla, confiable e interactiva, las bases mismas de su teoría, en virtud de poseer una Interfaz Gráfica del Usuario fácil de comprender y utilizar. El código fuente del progra-ma ofrece la oportunidad de empleo como recurso didáctico en los cur-sos de Visual Basic. Se proporciona una colección de Herramientas de
Redes de Petri gratuitas para que el interesado, si así lo desee, los descargue, utilice y compare.
AGRADECIMIENTOS
MSC. Rubén Darío Vásquez Salazar, por sus conocimientos transmitidos desinteresadamente y por sus invaluables aportes
A mis compañeros, en quienes siempre encuentro amigos sinceros dispuestos a llegar a nuevos horizontes a base de esfuerzos y estudio, para transformar nuestro entorno, y superarnos como individuos y sociedad.
REFERENCIAS
[1] Silva, Manuel (1985). Las Redes de Petri en la Automática y la Infor-mática [2] Ceballos, Francisco Javier (1996). Enciclopedia de Visual Basic 4 [3] http://www.vb-helper.com/how-to_draw_arrows.html [4]http://support.microsoft.com/de-fault.aspx?scid=http://support.mi-crosoft.com:80/ support/ kb/arti-cles/Q180/9/36.asp&NoWebCon-tent=1 [5] http://www.vb-helper.com/How-To/segments.zip
APÉNDICE A
RELACIÓN DE HERRAMIENTAS
DE REDES DE PETRI GRATU-
ITOS, Y SU DIRECCIÓN EN LA IN-
TERNET:
1. ARP http://www.pp-gia.pucpr.br/~maziero/Petri/ 2. CoopnTools http://lglwww.epfl.ch/Conform 3. CPN-AMI http://www.lip6.fr/cpn-ami 4. CPN Tools http://www.dai-mi.au.dk/CPNtools/ 5. Design/CPN http://www.dai-mi.au.dk/designCPN/ 6. HiQPN-Tool http://ls4-www.infor-matik.uni-dortmund.de/QPN/ 7. PSim http://home.t-on-line.de/home/henryk.a/petrinet/e/hp-sim_e.htm 8. INA http://www.informatik.hu-berlin.de/~starke/ina.html 9. JARP http://jarp.sf.net/ 10. JFern http://source-forge.net/projects/jfern 11. Maria http://www.tcs.hut.fi/Soft-ware/maria/ 12. Marigold http://www-users.cs.york.ac.uk/~jwillans/VE Re-search.html 13. The Model-Checking Kit http://wwwbrauer.in.tum.de/grup-pen/theorie/KIT/ 14. PED http://www-dssz.Infort-natik.TU-Cottbus.DE/~wwwdssz/ 15. PEP http://parsys.Informatik.Uni-Oldenburg.DE/~pe p56 16. Petri Net Kernel http://pnk.sourceforge.net/ 17. PetriSim http://staff.um.edu.mt/jsk11/petrisim/index.html 18. Platform Independent Petri Net Editor http://petri-net.source-forge.net/ 19. PNSim http://www.ely-ros.com/PNSim/ 20. PNtalk http://www.fee.vut-br.cz/~janousek/pntalk/pntalk.html
21. Poses++ http://www.gpc.de 22. Predator http://www.mark.wass.com/Petrinets 23. PROD http://www.tcs.hut.fi/Soft-ware/prod/ 24. Renew http://www.renew.de 25. SEA http://www.c-lab.de/sea/ 26. SIPN-Editor http://www.eit.uni-kl.de/litz/ENGLISH/software/SIP-NEditor.htm 27. SimulaWorks http://www.simula-works.com 28. Tina http://www.laas.fr/tina 29. TPTPN http://www.cdc.unict.it/~sca-va/tptpn.html 30. VIPtool http://www.informatik.ku-eichstaett.de/VIP/ 31. Visual Object Net ++ http://www.systemtechnik.tu-ilme-nau.de/~drath/visual_E.htm 32. WebSPN http://sun195.iit.unict.it/~webspn/we bspn2/ 33. WINSIM ftp://cmpe.emu.edu.tr/SimSystem
LA SIGUIENTE RELACIÓN
MUESTRA UNA LISTA DE HER-
RAMIENTAS DE REDES DE PETRI
QUE ÚNICAMENTE SE PUEDEN
OBTENER DE MANERA COMER-
CIAL, Y SU DIRECCIÓN EN LA IN-
TERNET:
1) ALPHA/Sim http://www.alphat-ech.com/secondary/techpro/al-phasim/alphasim.html 2) Artifex http://www.rsoftdesign.com
3) ExSpect http://www.exspect.com
4) F-net http://www.fi.ru/os/Petri.php3 5) GDToolkit http://www.dia.uniro-
ma3.it/ ~gdt/
6) GreatSPN http://www.di.uni-to.it/~greatspn/ 7) INCOME Process Designer
http://www.get-process.com
8) MISS-RdP
http://www.ixi.fr/tools/pages/miss/fr_0.htm
9) Nevod http://geocities.com/zsoftua 10) Opera http://geocities.com/zsof-tua 11) PACE http://www.ibepace.com
12) SPNP
http://www.ee.duke.edu/~kst/ 13) STROBOSCOPE http://stro-bos.ce.vt.edu/ 14) SYROCO http://www.univ-tlsel.fr/ceriss/COOgene.html 15) TimeNET http://pdv.cs.tu-berlin.de/~timenet/