universidad de colima - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/pdf/jose refugio martinez...

59
UNIVERSIDAD DE COLIMA FACULTAD DE INGENIERÍA ELECTROMECÁNICA “DISEÑO DE UN GESTOR DE REDES DE PETRI " T E S I S QUE PARA OBTENER EL GRADO DE: MAESTRO EN COMPUTACIÓN PRESENTA: ING. JOSÉ REFUGIO MARTÍNEZ REYES ASESORES: M.C. EFRAÍN HERNÁNDEZ SÁNCHEZ M.C. PEDRO RAMÓN GÓMEZ LÓPEZ MANZANILLO, COLIMA. OCTUBRE DEL 2003

Upload: vudieu

Post on 23-Jan-2019

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

UNIVERSIDAD DE COLIMA

FACULTAD DE INGENIERÍA ELECTROMECÁNICA

“DISEÑO DE UN GESTOR DE REDES DE PETRI "

T E S I S

QUE PARA OBTENER EL GRADO DE:

MAESTRO EN COMPUTACIÓN PRESENTA:

ING. JOSÉ REFUGIO MARTÍNEZ REYES ASESORES:

M.C. EFRAÍN HERNÁNDEZ SÁNCHEZ M.C. PEDRO RAMÓN GÓMEZ LÓPEZ

MANZANILLO, COLIMA. OCTUBRE DEL 2003

Page 2: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

Manzanillo, Colima; a 22 de Septiembre del 2003.

ASUNTO: Visto Bueno Trabajo de Tesis

ING. JOSÉ REFUGIO MARTÍNEZ REYES TESISTA DEL PROGRAMA DE POSGRADO MAESTRÍA EN COMPUTACIÓN DE LA FACULTAD DE INGENIERÍA ELECTROMECÁNICA

Por este conducto le informo que su trabajo de tesis titulado "DISEÑO DE UN GESTOR DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos y por lo tanto reúne los requisitos necesarios para su presentación y defensa.

Sin otro particular, quedamos de usted.

A T E N T A M E N T E.

c.c.p. Expediente

Page 3: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

REF.: F.I.E. OF. No. 452/2003 EXP.: P. T.U.C. – 87

ASUNTO.: ACEPTACIÓN DE TEMA DE TESIS.

Manzanillo, Col., 22 de Septiembre 2003. ING. JOSÉ REFUGIO MARTÍNEZ REYES PASANTE DE LA MAESTRÍA EN COMPUTACIÓN PRESENTE.

En atención a su solicitud, me permito comunicarle que ha sido aprobado como tema de tesis de su trabajo para acreditar la Recepción Profesional, él propuesto por usted bajo el título de:

"DISEÑO DE UN GESTOR DE REDES DE PETRI"

Y que deberá desarrollarse de la siguiente forma:

CAPITULO I.- INTRODUCCIÓN CAPITULO II-TEORÍA BÁSICA DE LAS REDES DE PETRI CAPITULO III.-CONTEXTO DEL TRABAJO DE TESIS CAPITULO IV.-CARACTERÍSTICAS DEL GESTOR DE REDES DE PETRI. CAPITULO V.- DISCUSIÓN DE LOS RESULTADOS CAPITULO VI.- CONCLUSIONES APENDICE A.- RELACIÓN DE HERRAMIENTAS DE REDES DE PETRI. APENDICE B.- CÓDIGO FUENTE Para tales efectos fungirá como asesor de su trabajo M.C. EFRAN HERNÁNDEZ

SÁNCHEZ, en la inteligencia de que su proyecto tiene validez por un año a partir de esta fecha, en caso contrario solicitará prorroga por una sola ocasión.

“2003, 45°. ANIVERSARIO DE LA FACULTAD DE DERECHO”

Carretera Manzanillo-Barra de Navidad, Km 20, C.P. 28860 Telefax 01 (314) 331 12 07

Page 4: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

AGRADECIMIENTOS M.C. Efraín Hernández Sánchez, por haber confiado en mí para la elaboración de este

proyecto.

M.C. Fernando Rodríguez Haro, por sus conocimientos, transmitidos desinteresadamente.

M.C. Walter, por hacerme ver que empeñando un mayor esfuerzo se pueden logran grandes

empresas.

M.C. Pedro Ramón Gómez López, por sus invaluables aportaciones.

Ing. Enrique Busquets, por su apoyo incondicional.

Lic. Edna Irela Velásquez Chávez, por su visión de superación.

M.C. Enrique Gámez Niño de Rivera, por sus valiosas aportaciones.

M.C. Mónica Cobián, por su apoyo.

Ing. Lupita, por su gran generosidad.

Mtro. Juan Carlos Yáñez Velasco, Director General de Ecuación Media de la Universidad de

Colima, por dar a los profesores de educación media las condiciones para superarnos.

Dr. Carlos Salazar Silva, Rector de la Universidad de Colima, por tener una visión de calidad y

trabajo.

A mis compañeros, en quienes siempre encontré amigos sinceros dispuestos a llegar a nuevos

horizontes a base de esfuerzo y estudio, par transformar nuestro entorno y superarnos como

individuos y sociedad.

Page 5: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

DEDICATORIA A mis padres Juan Martínez Flores y María Guadalupe Reyes Sálas, quienes infundieron en mí

el gusto por el aprendizaje, y me hicieron comprender que la mejor forma de crecer, es

manteniendo en alto el espíritu y el coraje para enfrentar las dificultades y para disfrutar los

buenos momentos.

A mi esposa, Marisol Rosales Gallardo. Mi más grande reconocimiento, pues gracias a su

comprensión y apoyo fue posible este trabajo.

A mis hermanas y hermanos, quienes siempre hemos estado unidos en una cultura de estudio y

superación.

Gracias

Page 6: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

ÍNDICE

No. de página

i.- MARCAS REGISTRADAS. 5

ii.- LISTA DE TABLAS Y FIGURAS. 6

iii.- RESUMEN. 7

iv.- ABSTRACT. 8

CAPITULO 1.- Descripción breve del trabajo de Tesis.

1.1.- Introducción. 9

1.2.- Estado del arte de las Herramientas de Redes de Petri. 12

1.3.- Estructura de la Tesis. 13

1.4.- Objetivos. 14

1.5.- Justificación. 15

1.6.- Metodología 16

CAPITULO 2.- Teoría básica de las Redes de Petri.

2.1.- Glosario. 17

2.2.- Propiedades generales de las Redes de Petri. 21

CAPITULO 3.- Características del Gestor de Redes de Petri.

3.1.- Diseño del Programa. 35

3.2.- Interfaz Gráfica de Usuario. 40

3.3.- Menús del GRP. 45

3.4.- Evolución de la Red. 47

3.5.- Mensajes del GRP. 48

CAPITULO 4.- Discusión de los Resultados.

4.1.- Desempeño del GRP. 51

4.2.- Errores (Bugs). 51

4.3.- Objetivos vs. Resultados. 51

4.4.- Trabajos Futuros. 52

CAPITULO 5.- Conclusiones. 54

BIBLIOGRAFÍA. 54

Apéndice A.- Relación de Herramientas de Redes de Petri 55

Apéndice B - Código Fuente. 57

Page 7: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

5

MARCAS REGISTRADAS

Delphi es una marca registrada de Borland Inc.

Java es una marca registrada de Sun Microsystems.

Page 8: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

6

LISTA DE TABLAS Y FIGURAS

FIGURA No. De página

Figura 1.1.- Modelo del proceso de desarrollo del software del GRP 16

Figura 2.1.- Representaciones de los diferentes elementos de una Red de Petri 21

Figura 2.2.- Conexiones válidas y no válidas entre lugares y transiciones 21

Figura 2.3.- Equivalente AND de la sensibilización de una Transición 23

Figura 2.4.- Evolución del marcado 23

Figura 2.5.- Red Viva 25

Figura 2.6.- Red parcialmente Viva 26

Figura 2.7.- Red no Viva 27

Figura 2.8.- Red Ordinaria y Pura 28

Figura 2.9.- Red Binaria 29

Figura 2.10.- Red no Binaria 29

Figura 2.11.- Red Conforme 30

Figura 2.12.- Red 3-limitada 31

Figura 2.13.- Conflicto estructural 32

Figura 2.14.- Conflicto efectivo 33

Figura 2.15.- Exclusión Mutua 34

Figura 3.1.- Fundamentos de operación del GRP 35

Figura 3.2.- Interfaz Gráfica del Usuario del Gestor de Redes de Petri GRP 40

Figura 3.3.- Área de trabajo del usuario 41

Figura 3.4.- Menú Archivo del GRP 45

Figura 3.5.- Menú Ayuda del GRP 45

Figura 3.6.- Ayuda del GRP 46

Figura 3.7.- Menú Acerca de 46

Figura 3.8.- Ejemplo de informe de red bloqueada. 48

Figura 3.9.- Ejemplo del informe de conflictos. 49

Tabla 1.1. - Características de las herramientas de redes de Petri 12

Tabla 1.2. - Plataformas de las herramientas de redes de Petri 12

Page 9: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

7

RESUMEN

El desarrollo de sistemas físicos cuyos estados evolucionan en forma automática basándose en

tablas predefinidas de 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 puede analizar por medio de un programa de

computadora y sus resultados por medio de una interfaz 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.

Page 10: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

8

ABSTRACT

Developement of phys ical systems whose individual states do evolve automatically, based upon

some predefined schedule tables, such as a robot system control in an industrial process, or a

mass transportation system, (Subway) to avoid a collision, gets more and more complex, the

same way the subsystems that they control do, and it requires designing tools that allow designers

to know the system behavior even before the actual system has been accomplished.

In order to achieve that kind of knowledge, designers use the tool so called Petri Nets, ( after Kart

Adam Petri ) wich main charactheristics and evolution can be analized by means of a computer

system, and its results can be observed using a GUI ( Graphical User Interface).

This program will send, as the net evolution goes through, precise messages about its main

characteristics such as conflicts, liveness, boundedness and conservativeness.

Page 11: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

9

CAPITULO 1 DESCRIPCIÓN BREVE DEL TRABAJO DE TESIS

1.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 herramienta de modelado, la cual permita caracterizar las

partes del sistema y sus interconexiones, o bien, permita desarrollar un modelo en el cual se

especifiquen las reacciones del sistema frente a eventos o acontecimientos que provienen del

exterior, 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 estados, en su conjunto,

definirán el comportamiento global del sistema, así como sus características. A efecto de lograr

un conocimiento cabal de las propiedades estructurales y operativas del sistema, la herramienta

de modelado adecuada permitirá al diseñador asegurarse de la validez y confiabilidad de su

prototipo antes de llevarlo a la construcción física.

Una de las herramientas que se puede utilizar en el diseño de sistemas de evoluciones

simultáneas, es la herramienta conocida como las redes de Petri, una herramienta de diseño

poderosa y de fácil comprensió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 trabajo de tesis que aquí se presenta es proporcionar a los diseñadores de redes

de Petri el programa GRP (Gestor de Redes de Petri), el cual les permitirá, por medio de una

interfaz gráfica fácil de usar, observar 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 conflictos, vivacidad, limitación y conservatividad.

Page 12: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

10

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 situaciones posibles, a partir de las cuales el programa puede

establecer los criterios de k-limitación, vivacidad, existencia de conflictos, conservatividad, y

otras características.

Sin embargo, los programas en ambientes gráficos tienen el inconveniente de que el área de

trabajo del usuario está limitada al tamaño de una sola pantalla. Cuando mucho se consigue

aumentar este espacio 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. Por tal motivo, el aplicar un

aná lisis de árbol de alcanzabilidad se convierte en la analogía de matar una mosca utilizando una

bazooka, dado que representa una herramienta muy poderosa aplicada a un entorno de

relativamente pocos componentes, considerando que las plantas industriales pue den llegar a tener

cientos o miles de componentes, las cuales requieren para su análisis, que los sistemas sean no

visuales.

Como cuestión adicional, al aumentar el número de componentes, el árbol de alcanzabilidad va

creciendo en forma exponencial, por lo que sucede un aumento súbito del número de marcados

posible, el cual ocasiona retardos indeseables en la ejecución de un programa que se considere de

buena calidad.

En vista de tales circunstancias, se decidió que el programa GRP fuera un programa visual,

interactivo, realizado 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

interoperabilidad en el sistema usuario-máquina, y observando al mismo tiempo los diferentes

parámetros, ya sea continuamente, por simple inspección, o por medio de mensajes que el

programa va generando oportunamente.

Page 13: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

11

Para conseguir esta forma de trabajo interactiva, el usuario selecciona la transición que desee

activar, y el programa, si es necesario, enviará los mensajes adecuados en el momento mismo en

que se presente el evento, tal como la existencia de conflictos, o el bloqueo de la red.

La mayor dificultad en el desarrollo de este proyecto fue guardar las Redes de Petri, y

recuperarlas, todo ello sin que se afectara el diseño que en ese momento estuviera analizando el

usuario. Sin embargo, tal dificultad fue rápidamente superada en base al apoyo de gran calidad

por parte de los asesores.

Page 14: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

12

1.2.- ESTADO DEL ARTE DE LAS HERRAMIENTAS DE REDES DE

PETRI

A1 momento de escribir este trabajo de tesis, el número de herramientas de Gestión de Redes de

Petri es reducido. En la dirección http://www.daimi.au.dk/PetriNets/tools es posible encontrar

una cantidad de herramientas que van desde las sencillas (aquellas que solamente muestran una

red predefinida) hasta otras que tienen un mayor número de funciones.

A fin de contar con un fundamento sólido se descargaron algunos de los paquetes para observar

sus características. A pesar de que no todos los programas se pueden descargar de forma gratuita,

sí se especifica la mayoría de sus funciones, con lo cual fue posible establecer un cuadro

representativo. En el Apéndice A se presenta una lista de estos programas.

Las Tablas 1.1 y 1.2 muestran sus características más relevantes.

Características Total Utilización de Componentes 33 Editor Gráfico 26 Redes con Lugares/Transiciones 22 Simulación Rápida 19 Redes de Petri de Alto Nivel 19 Animación de Marcas 18 Redes de Petri con Tiempo 14 Análisis Simple de Desempeño 11 Formato de Archivo Intercambiable 10 Análisis Estructural 9 Invariancias de Lugar 8 Invariancias de Transición 8 Redes de Petri Estocásticas 6 Tabla 1.1.- Características de las Herramientas de Redes de Petri.

El total de Herramientas analizadas fue 33. El total de características contabilizadas fue 77, de las cuales sólo se presentan 13, dado que la mayoría eran funciones individuales de algunas Herramientas. Como se aprecia en la Tabla 1.2, el 39 % de las herramientas (13) están basadas en Windows, el 33% (11) se basa en Java y el 30% (10) se basa en Linux.

Plataforma Total PC, Windows 13 Java 11 Linux 10

HP-UX 11.22 2

MS DOS 2

Sun, SunOS 5.7 5.8 (32 y 64 bit) 2

PC, Linux 1

Cualquier sistema que soporte C++ 1

Apple, Mac OS X 10.1 1

Digital, UNIX 4.0 1

Java (Python) 1 Tabla 1.2.- Plataformas de las Herramientas de Redes de Petri.

Page 15: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

13

1.3.- ESTRUCTURA DE LA TESIS

• En el primer capítulo se da una breve descripción del trabajo de tesis, así como se hace un

análisis del Estado del Arte de las herramientas para el manejo de Redes de Petri.

Asimismo, se presenta la estructura del presente trabajo, y se delinean los objetivos, la

justificación del trabajo y la metodología en la cual evolucionó este Trabajo de Tesis.

• En el capítulo dos se mencionan los aspectos generales de las Redes de Petri,

considerando las características de vivacidad, existencia de conflictos, tanto estructurales

como efectivos, límites, y los diferentes tipos de red.

• En el capítulo tres se exponen las características del Gestor de Redes de Petri de diseño

del Programa, la Interfaz Gráfica de Usuario, el menú de Ayuda, la evolución de la Red,

así como los mensajes que envía el programa.

• En el capítulo cuatro se plantean los resultados obtenidos y su comparación en relación

con las expectativas que se tenían, complementando el trabajo con una descripción de los

trabajos futuros.

• En el capítulo cinco se presentan las conclusiones finales.

• En la sección de apéndices, se presenta una relación de las Herramientas de Redes de

Petri que se distribuyen en forma gratuita a través de la Internet, y el código fuente del

programa objeto de este trabajo de tesis.

Page 16: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

14

1.4.- OBJETIVOS

GENERAL

Crear una Herramienta para el diseño de sistemas automáticos basado en las Redes de Petri como

herramienta de modelado, utilizando como plataforma el lenguaje de programación Visual Basic.

En ningún sentido se presenta esta herramienta como una competencia con respecto a las demás

ya existentes. Se presenta como una manifestación de sólo una parte del cúmulo total de

conocimientos adquiridos a lo largo de la maestría y como una opción ante las demás ya

existentes, a fin de que el potencial usuario tome la decisión final, en base a su comodidad y a sus

expectativas.

ESPECÍFICOS

�• Aplicar los conocimientos adquiridos durante mi formación en la Maestría en

Computación.

• Que esta herramienta sea utilizada en los cursos de robótica o de análisis de sistemas en

las carreras que ofrece la Universidad de Colima.

• Que esta herramienta sea una opción para los diseñadores de sistemas de control del área

de contenedores del Puerto Interior de Manzanillo, y demás puntos industriales de la

región.

• Que el Código fuente obtenido durante el desarrollo de este proyecto sirva para como un

complemento para la formación de los estudiantes del área computacional.

Page 17: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

15

1.5.- JUSTIFICACIÓN

El rápido avance en la ciencia y la tecnología va proveyendo a los diseñadores de sistemas de

control discreto y de flujo de información, de herramientas cada vez más potentes para el

desarrollo de sus aplicaciones. En virtud de los convenios que la Universidad de Colima ha

suscrito con Microsoft, ha sido posible para quienes laboramos y estudiamos en esta universidad,

trabajar con las aplicaciones de esa empresa, tales como Visual Basic, permitiendo la creación de

un Gestor de Redes de Petri, con lo cual este trabajo de tesis hace una aportación a la producción

de material intelectual de nuestra alma mater, la cual a la vez podrá ser aplicada como un recurso

didáctico, así como un recurso de aplicación profesional.

Por qué Utilizar Visual Basic para el desarrollo de este proyecto.

Para demostrar la potencia del lenguaje de programación en un uso que involucra procesos

gráficos, lo cual viene a complementar los usos que se le dan al lenguaje en los cursos de Bases

de Datos y Manejos de señales de Entrada/Salida que se imparten a lo largo de la maestría, en los

que Visual Basic es de uso común.

Visual Basic es un programa en el cual no es necesario transportar todas las librerías junto con el

programa realizado, sino que dichas librerías ya están contenidas en el sistema operativo

Windows, por lo cual el programa ocupa un espacio de memoria menor que el que se requeriría si

se elaborara en otro lenguaje, tal como en Delphi.

A la fecha se advierte un predominio en la plataforma Windows y se espera que en los próximos

años se consolide este entorno con la aplicación de la tecnología .NET, con lo que se pretende

cubrir la mayor parte de las diferentes plataformas en un solo entorno.

Page 18: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

16

1.6.- METODOLOGÍA

La metodología aplicada al desarrollo de esta herramienta consistió en tres fases:

Durante la primera fase, en recabar información referente a las Redes de Petri. Asimismo,

paralelamente, consistió en recabar toda la información posible acerca del tratamiento de datos en

ambiente gráfico, mediante el trazado de curvas y el almacenamiento de datos.

La siguiente fase consistió en elaborar prototipos cada vez más completos del proyecto global,

comprobando en cada uno de los avances la integridad de la información, utilizando el método

evolutivo del desarrollo de software, el cual se expone en la Figura 1.1.

Actividades Concurrentes

Figura 1.1.- Diagrama del modelo del proceso de desarrollo del software del GRP

La tercera fase consistió en la elaboración de la documentación relacionada al programa, con las

correspondientes sugerencias de los asesores.

Descripción

Especificación

Desarrollo

Validación

Versión Inicial

Versiones Intermedias

Versión Final

Page 19: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

17

CAPITULO 2 TEORÍA BÁSICA DE LAS REDES DE PETRI.

2.1.- GLOSARIO

Acontecimiento Es el cambio de estado lógico de una condición externa. También se define

como la unión de un conjunto de eventos

Alcanzable Un marcado es alcanzable cuando se llega a él a través de una secuencia disparos que

tienen como origen el marcado inicial

Algoritmo Es una serie de acciones lógicas por medio de las cuales se obtiene cierta información

Análisis Consiste en determinar las características de un sistema por medio de aplicarle un

algoritmo

Árbol de alcanzabilidad Es el conjunto de todos los marcados posibles que puede tener una Red

de Petri, el cual se puede almacenar en el formato que el diseñador considere conveniente, tal

como en una lista, una matriz, un archivo binario, o en una base de datos.

Arco Es una línea dirigida que une lugares con transiciones, pero nunca lugares con lugares o

transiciones con transiciones. Los arcos tienen asociado un peso que corresponde al número de

marcas necesarias para habilitarlo

Autómata Es un sistema que reside un número finito de símbolos, y emite un número finito de

símbolos, los cuales evolucionan con el tiempo, y que se pueden representar mediante una

notación algebraica en forma de funciones de entrada y salida, cuyo origen está determinado por

el estado inicial de las variables del autómata

Binaria Una red es binaria si sus lugares contienen únicamente una o cero marcas.

Page 20: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

18

Camino Es una secuencia de arcos tal que el extremo final del último arco coincida con el

extremo inicial del primer arco. El número de arcos del camino es su longitud.

Conflicto Dos o más transiciones están en conflicto cuando proviene en de un lugar común que

no contiene el suficiente número de marcas para dispararlas simultáneamente.

Conflicto efectivo Existe un conflicto efectivo cuando dos transiciones, además de estar

sensibilizadas simultáneamente, pretenden dispararse también simultáneamente, pero en ese

momento existe la condición de que el lugar común a las dos o más transiciones en conflicto no

contiene el suficiente número de marcas.

Conforme Una red es conforme si es binaria y es viva

Conservatividad Una Red de Petri es conservativa si el número total de marcas de la red en todo

momento el marcado permanecerá constante.

Disparar Disparar una transición sensibilizada consiste en eliminar tantas marcas de cada lugar

de entrada, como peso tenga el arco de entrada que une ese lugar con la transición, y agregar a

cada lugar de salida tantas marcas como peso tenga el arco de salida que une la transición con

cada lugar.

Exclusión mutua Se dice que los lugares de una Red de Petri están en exclusión mutua para un

marcado inicial, si no pueden estar marcados simultáneamente durante la evolución de la red.

Grafo Diagrama coherente que utiliza un juego de componentes definidos previamente, y que

sirve para representar flujos de información.

GRP (Gestor de Redes de Petri). Programa realizado por el Ingeniero José Refugio Martínez

Reyes utilizando Visual Basic como lenguaje de programación, que se utiliza para el diseño de

Redes de Petri.

Page 21: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

19

Limitación Un lugar p es k- limitado para un marcado inicial si existe un número entero k tal que

ninguno de sus lugares tiene un número de marcas mayor a k. Una Red de Petri marcada es k-

limitada si todos sus lugares son klimatados.

Lugar Es un componente que representa un estado o condición en la evolución de la red. A fin de

que ese estado o condición pueda ser alcanzado, es necesario que ocurra un evento, el cual deberá

tener como condición que exista un estado anterior ya previamente alcanzado Generalmente un

lugar se representa por medio de un círculo. A lo largo de este trabajo de tesis se le asignará la

letra L

Marca Es un componente de una Red de Petri que reside dentro de los lugares y que define la

posibilidad de que un estado sensibilice una transición. Generalmente se representa por medio de

un círculo relleno en el interior del lugar. A lo largo de este trabajo se le asignará la letra M.

Marcado Es el conjunto de marcas que definen un estado de la Red de Petri durante su

evolución.

Marcado inicial Un marcado inicial es el conjunto inicial de marcas asociadas a determinados

lugares, el cual define las características de la red.

Mo Es el marcado inicial, es decir, el conjunto de las marcas iniciales de que consta una Red de

Petri.

Nodo terminal Es un nodo que carece de marcas y de la posibilidad de obtenerlas, a partir del

cual ya no puede realizarse la sensibilización y por tanto el disparo de una transición.

Petri, Adam Inventor de la herramienta conocida como Redes de Petri, que son un conjunto

formal de conocimientos utilizados en la descripción de sistemas que involucran procesos que

evolucionan paralelamente.

Page 22: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

20

Red de Petri Es una herramienta que consiste en el uso de cuatro componentes básicos, lugares,

arcos, transiciones y marcas, que permite llevar a cabo el diseño de sistemas, tanto de flujo de

información, como de sistemas físicos, y que, en base al análisis matricial de las propiedades de

la red, es posible obtener información anticipada de la evolución y comportamiento del sistema.

Sensibilización Una transición está sensibilizada si todos los lugares de entrada a esa transición

contienen cuando menos una marca.

Tipos de red

Red ordinaria Es aquella en la cual todos los arcos tienen un peso igual a 1

Red pura Es aquella red en la cual ninguna de sus transiciones tiene un lugar que sea

simultáneamente de entrada y de salida.

Red binaria Es el tipo de red en el cual los lugares solamente pueden contener una

marca, o bien no contener ninguna marca.

Red no binaria Es aquella red en la cual uno o más lugares pueden contener dos o más

marcas.

Red conforme Es la red que es al mismo tiempo binaria y viva.

Red k-limitada Es aquella red en la cual ninguno de sus lugares tiene más de k marcas.

Red conservativa Es aquella red en la cual el número total de marcas permanece

constante durante todos los marcados alcanzables posibles.

Transición Una transición es un componente de una Red de Petri que representa un evento, el

cual puede ocurrir solamente cuando la transición esté sensibilizada.

Vivacidad Una red es viva si para todos los marcados que se pueda obtener a partir del marcado

inicial, existe cuando menos una transición que se pueda disparar, es decir, que no existan nodos

terminales en la red.

Page 23: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

21

2.2.- PROPIEDADES GENERALES DE LAS REDES DE PETRI.

2.2.1 Definición

Una Red de Petri es un grafo orientado en el que intervienen cuatro tipos de componentes: los

lugares (representados por circunferencias), que pueden contener un número nulo o positivo de

marcas, y las transiciones (representadas por segmentos rectilíneos), unidos alternativamente

por arcos.

Un arco une un lugar a una transición, o viceversa, pero no dos transiciones o lugares.

La Figura 2.1 muestra las representaciones de los diferentes elementos, y la Figura 2.2 muestra

las uniones permitidas y no permitidas en la elaboración de una Red de Petri.

Lugar transición arco marca

Figura 2.1.- Representaciones de los diferentes elementos de una Red de Petri

VÁLIDA VÁLIDA NO VÁLIDA NO VÁLIDA

Figura 2.2.- Conexiones válidas y no válidas entre lugares y transiciones

Un lugar puede contener un número positivo de marcas, o bien no poseer ninguna marca. Una

marca se representa por un punto en el interior del círculo correspondiente al lugar que la

contiene. El conjunto de marcas asociadas en un instante dado a cada uno de los lugares

constituye un marcado de la Red de Petri.

Page 24: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

22

2.2.2 Significado de las componentes de una Red de Petri

En general se pueden establecer los siguientes principios básicos:

¡ A cada lugar se le asocia una acción o salida del sistema que se desea modelar.

¡ A cada transición se le asocian un evento.

¡ Un lugar L es entrada de una transición T si existe un arco orientado desde L hacia T.

¡ Un lugar L es salida de una transición T si existe un arco orientado desde T hacia L.

¡ Una marca M puede representar una condición o estado dentro del sistema, o bien puede

representar valores físicos.

Como condición, una marca significa que un subsistema del proyecto ha concluido su

tarea y está listo para, en conjunto con otro subsistema, un evento futuro pueda ser

llevado a cabo.

Como valor físico, una marca puede representar un elemento de una colección de objetos

cuya cantidad el sistema se encarga de procesar.

¡ A cada arco se le asocia un valor conocido como peso del arco. El peso del arco es una

propiedad que involucra el número de marcas que la transición quita a un lugar de

entrada o que agrega a un lugar de salida, cuando la transición es disparada.

2.2.3.- Sensibilización de una transición.

Una transición está sensibilizada si todos los lugares de entrada están marcados. La

sensibilización implica que la transición en cuestión tiene la capacidad para ser disparada. Se

puede comparar a una función AND aplicada a los lugares de entrada.

Supongamos que una entrada T1 tiene como entradas los lugares L0 y L1, entonces se puede

definir la función de salida T1 como

T1 sal = VL0 AND VL1 (2.1)

donde VL0 representaría un valor lógico que sería Verdadero si existiera cuando menos una

marca en L0 y Falso si L0 tuviera cero marcas.

VLl representaría un valor lógico que sería Verdadero si existiera cuando menos una marca en L1

y Falso si T1 tuviera cero marcas.

Page 25: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

23

La Figura 2.3 muestra el concepto descrito.

Figura 2.3.- Equivalente AND de la sensibilización de una Transición

2.2.4.- Evolución del marcado.

Una transición sensibilizada es disparada si el evento que le está asociado se verifica. El disparo

de una transición consistente en quitar una marca a cada uno de los lugares de entrada y en añadir

una marca a cada uno de los lugares de salida. Para que pueda llevarse a cabo esta operación es

necesario que las transiciones de salida no estén en conflicto efectivo.

La Figura 2.4 muestra la evolución del marcado para una Red de Petri.

Figura 2.4 Evolución del marcado

Se observa que a partir del marcado inicial que consiste en una marca en L0, la transición T0 se

encuentra sensibilizada. Al disparar esa transición, se elimina la única marca en L0 y se agrega

una marca en L1 , lo cual provoca que ahora la transición T2 quede sensibilizada.

L0

L1

VL0

VL1

T0

L1

L0T0 sal= (VL0)(VL1)

L0 •T0 L1

T1 L2 T2

L0 T0 L1•

T1 L2 T2

Page 26: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

24

2.2.5.- Características de una Red de Petri (Como se definen en [1])

2.2.5.1.- Aspectos generales

1. Son una herramienta de modelado clara, fácil de utilizar y no ambigua.

2. Facilitan la representación de evoluciones simultáneas. Tienen facilidad de

modificaciones locales, y permiten descripciones por refinamientos sucesivos.

3. Permiten una primera aproximación al problema de la validación del correcto

funcionamiento de un sistema.

4. Hacen posible una fácil traducción de las propiedades de buen funcionamiento del sistema

en propiedades específicas de las redes de Petri.

5. Constituyen una herramienta de modelado independiente de cualquier tecnología.

6. El funcionamiento de una red que carece de una interpretación de un sistema específico se

define como autónomo.

7. Una red temporizada (red cuya evolución es función del tiempo) y/ o interpretada es una

red no autónoma.

8. Dentro de las limitaciones de las redes de Petri existe el hecho de que modelan sistemas

basados únicamente en estados finales y eventos que disparan la ocurrencia de tales

eventos, pero no analizan los instantes intermedios, los cuales están presentes en todos los

fenómenos físicos. Por ejemplo, los cambios en la velocidad de las distintas etapas de un

proceso debido a las variables del entorno. Por esa razón, es conveniente desarrollar una

herramienta que contemple tales comportamientos.

9. Una Red de Petri se puede simular mediante un lenguaje de programación, por medio del

cual conocer sus características antes de llevarlo a la construcción física.

10. Existe una variedad de clases y subclases de las Redes de Petri (autónomas, no

autónomas, simples, ordinarias, binarias, no binarias, vivas, parcialmente vivas, no vivas,

conformes, generalizadas, puras, coloreadas, con arcos inhibidores, de libre elección, con

capacidad limitada, temporizadas, etc. Todas estas características conforman la

construcción de la red que se desee implementar, y cada una de ellas le confieren a la red

una personalidad y potencia definida.

Page 27: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

25

2.2.5.2: Vivacidad

Implica la posibilidad o imposibilidad de evolución de la red durante el curso de su evolución. Si

es imposible que ocurra el disparo de una transición, se dice que el sistema está bloqueado. Si un

sistema fue diseñado de tal manera que para todos los marcados posibles no exista el evento de

bloqueo, ya sea total o parcial, se puede entender que la red es viva y que por lo tanto el sistema

no va a tener un problema de concepción en su desempeño.

La vivacidad de un sistema se puede analizar desde el punto de vista de una sola transición

(transición viva o no viva), o desde el punto de vista de toda la red (red viva o red no viva)

2.2.5.3: Transición Viva

Una transición T es viva para un marcado inicial dado Mo si existe una secuencia disparos a

partir de cualquier marcado Mo, sucesor de Mo, que comprenda a T.

2.2.5.4: Red Viva

Una red es viva si todas sus transiciones son vivas para un marcado inicial Mo. La Figura 2.5

muestra una Red de Petri en la cual todas sus transiciones pueden llegar a ser vivas.

Figura 2.5: Red Viva

L0 T0 L1

T1 L2 T2

L3 T3 L4

T4 L5 T5

L6 T6 L7

Page 28: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

26

En la Figura 2.5 se puede observar que, de acuerdo al marcado inicial dado, la transición T3 está

sensibilizada por la marca en el lugar L2. Si T3 se dispara, la marca en L2 se elimina, y L5 adquiere

una marca, con lo cual T6 queda sensibilizada.

A1 activar T6, la marca en L5 se elimina y los lugares L6 y L7 adquieren una marca, con lo cual T4

y T5 quedan sensibilizadas. Al activarse T4, la marca en L6 desaparece y aparece una marca en L3,

con o cual la transición T1 queda sensibilizada. Al activarse T1, la marca en L3 desaparece y

aparece una marca en L0.

Hasta este momento, la transición T0 no está sensibilizada, pues para estarlo se necesita que exista

una marca en L1 , lo cual solamente se consigue cuando se sigue la secuencia de disparos de T5 y

T2, en esa secuencia.

Cuando L1 adquiere una marca, en ese momento T0 queda sensibilizada y puede comenzar un

nuevo ciclo, Al existir durante toda la evolución cuando menos una transición que pueda ser

disparada, se concluye que la Red mostrada es viva.

2.2.5.5.- Red Parcialmente Viva

Una Red de Petri es parcialmente viva si en su evolución, a pesar de que exista alguna transición

permanentemente bloqueada, la red pueda seguir evolucionando. La Figura 2.6 corresponde a una

red parcialmente viva.

Figura 2.6.- Red parcialmente Viva

• •L0 T0 L1

T1 L2 T2

L3 T3 L4

Page 29: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

27

Figura 2.6.- Se observa que para que el sistema evolucione, se debe disparar T2 , sin embargo, ella

sólo puede dispararse una vez, posteriormente queda bloqueada. Por lo tanto, se dice que la red es

parcialmente viva, ya que no hay ninguna posibilidad de que T2 se vuelva a disparar.

2.2.5.6: Red No Viva

Una red no viva es aquella que se bloquea completamente en algún momento de su evolución. La

Figura 2.7 corresponde a una red no viva.

Figura 2.7.- Red no Viva

En la Figura 2.7 se puede observar que al disparar la transición T3, se elimina la marca que se

encuentra en L2 , y se agrega una marca a L5.

También se observa que para que la transición T6 se sensibilice, los lugares L4 y L5 deben

contener cuando menos una marca cada uno. El lugar L4 no contiene ninguna marca.

En esas circunstancias, la transición T6 no podrá sensibilizarse y por tanto, la red quedará

bloqueada indefinidamente.

L0 T0 L1

T1 L2 T2

L3 T3 L4

T4 L5 T5

L6 T6 L7

Magnolia A Castrejon Delgado
Page 30: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

28

2.2.5.7.- Red Ordinaria

Una red es ordinaria si todos sus arcos tienen un peso igual a 1. Para algunos sistemas, las Redes

de Petri ordinarias son una forma limitada para representarlos. En ese caso, conviene trabajar con

redes cuyos arcos tengan pesos mayores a 1, tal como para las redes que representan sistemas de

flujos de información que transportan paquetes de datos (por ejemplo, los puertos que manejan 8,

16 o 32 bits), o los contenedores de un puerto marítimo.

2.2.5.8: Red Pura

Una red es pura si ninguna de sus transiciones tiene un lugar que sea simultáneamente de entrada

y salida. La Figura 2.8 muestra un ejemplo de red ordinaria y pura.

Figura 2.8.- Red Ordinaria y Pura 2.2.5.9.-Red Binaria

Para un marcado inicial dado, una Red de Petri es binaria si cualquier marcado alcanzable es tal

que ningún lugar posee más de una marca. En una Red de Petri binaria todo lugar estará marcado

con una marca o no estará marcado. Las redes binarias tienen una aplicación fundamental, ya que

gran parte de los sistemas que se presentan en la industria están basados en decisiones lógicas (SI,

NO; ABIERTO, CERRADO; ENCENDIDO, APAGADO), etc.

Page 31: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

29

Actualmente se está trabajando en los sistemas de control de lógica borrosa (lógica fuzzi), como

una alternativa de representación de los fenómenos físicos. Sin embargo, aún los sistemas

basados en lógica borrosa tienen como esencia la manipulación de señales discretas, las cuales

son un complemento en la teoría de las redes de Petri. La Red de Petri de la Figura 2.9 es binaria.

Se observa que en todos los casos, el máximo número de marcas que puede tener cada lugar es

igual a 1.

Figura 2.9.- Red Binaria

2.2.5.10.-Red No Binaria

Una red no binaria es aquella red en la cual el número de marcas de alguno de sus lugares es

diferente de 0 o 1. La Red de Petri de las Figura 2.10 es no binaria.

Se observa que el número de marcas de la red crece continuamente, por lo que no tiene límite

finito, por lo que se puede sospechar que no es un modelo que representa un sistema válido. To

Figura 2.10 Red no Binaria

•T2 T3

L0 T0 L1 T1 L2

T4 L5 T5

L5 L6

T0

L0 L1 L2

T2

T1 T3

L3

Magnolia A Castrejon Delgado
Magnolia A Castrejon Delgado
Magnolia A Castrejon Delgado
Magnolia A Castrejon Delgado
Page 32: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

30

2.2.5.11: Red conforme

A un marcado inicial dado, se dice que una Red de Petri es conforme si es binaria y viva. La Red

de Petri de la Figura 2.11 es conforme.

Figura 2.11 Red Conforme

En la Figura 2.11 se observa que, a partir del marcado inicial dado, al disparar la transición T1 , se

elimina la marca en L0, y se agrega una marca en L3.

En esas condiciones, la única posibilidad de evolución consiste en disparar T3, y al hacerlo, se

elimina la marca en L1 y se agrega una marca en L5, dando como resultado que la transición T4

queda sensibilizada. A1 disparar la transición T4, se eliminan las marcas en L3 y L5, y se agrega

una marca en L2 , con lo cual el ciclo se repite.

En todo momento el número máximo de marcas que tiene los lugares es de 1, y también en todo

momento la red tiene posibilidades de evolucionar, sin que ninguna de las transiciones esté

bloqueada. Por lo anterior, se considera que esta red es binaria y viva, y por lo tanto, conforme.

2.2.6.- Limitación

La observancia de esta propiedad durante el diseño de una red es importante, ya que determina el

número máximo de estados que puede tener el sistema a diseñar.

Si el número de marcas excede la capacidad de almacenamiento del sistema, esto puede traer

como consecuencia desde una operación no deseada, hasta el bloqueo total del sistema. Se puede

establecer la definición de limitación para un solo lugar, o para toda la red.

T0

L0 L1

T1 L2 T3

L3 L5

T4

• •

Page 33: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

31

2.2.6.1.- Límite de un lugar

Un lugar es k-limitado para un cierto marcado inicial, si durante todos los marcados posibles de

que conste la evolución de la red, el lugar en cuestión no posee más de k marcas.

2.2.6.2: Limite de una red

Se dice que una Red de Petri marcada es k-limitada para un marcado inicial dado, si todos sus

lugares son k-limitados para ese marcado inicial. Si una Red de Petri es 1-limitada para Mo, su

marcado es binario (un lugar está o no marcado) y se dirá que la Red de Petri es binaria para Mo.

La Figura 2.12 muestra una red 3-limitada

Figura 2.12 Red 3-limitada

En la Figura 2.12 se observa que la marca existente en L0 determina que la transición T1 quede

sensibilizada. Al disparar T1 se elimina la marca en L0 y se crea una marca en L2 y una marca en

L3, con lo cual el número total de marcas de la red es de 2. En virtud de que T0 y T2 necesitan una

marca en L1 y una marca en L4 respectivamente para poder ser sensibilizadas, ninguna de ellas, ni

T0 ni T2 podrán ser disparadas. La única transición sensible es T3.

Al ser disparada esta transición, se elimina la marca en L3 y se crea una marca en L4. El número

total de marcas de la red es ahora igual a 3. La única transición sensibilizada es T2. Cuando esta

transición se dispara, se elimina una de las marcas de L2, con lo cual solamente se queda con 1;

mientras tanto, L4 pierde la marca que tenía y se crea una marca en L1. El número total de marcas

de la red es ahora igual a 2. La única transición sensible es T0.

•L0

T0 T1

L1 L2 L3

T2 T3L4

Page 34: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

32

Al ser disparada esta transición T0 , se elimina la marca tanto en L2 como en L1, y se crea una

marca en L0, con lo cual es posible comenzar un nuevo ciclo. La conclusión que se puede

establecer es que el límite de marcas de la red es 3. La red mostrada, por lo tanto, se define como

3-limitada

2.2.7.- Conflictividad.

El análisis de esta propiedad le permite al diseñador conocer algún comportamiento no deseado

en una red. Se distinguen dos tipos de conflictos: estructural y efectivo.

2.2.7.1: Conflicto estructural

Se dice que en una Red de Petri existe conflicto estructural cuando un lugar posee más de una

transición de salida. El conflicto estructural es fácilmente observable durante el proceso de

diseño, ya que invariablemente, cuando el usuario coloca dos o más transiciones como salidas

de mismo lugar, este conflicto se encuentra presente.

Si existe algún conflicto estructural, es posible que durante la evolución de la red se presente un

conflicto efectivo (se requiere de un análisis a mayor profundidad para descubrirlo y evitarlo), y

el modelo no represente claramente el sistema que se desea construir. La Figura 2.13 exhibe un

conflicto estructural, puesto que T1 y T3 son transiciones de saluda de un mismo lugar, L2.

(Cuando todavía se la red se encuentra en su etapa de diseño). La existencia de un conflicto

estructural no es condición suficiente para que haya conflicto efectivo. Desde la etapa de diseño

se puede observar que existe un conflicto estructural en L1

Figura 2.13. - Conflicto estructural

L0 T2

T0 L2

L1 T3

T1 L3

Page 35: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

33

2.2.7.2.- Conflicto efectivo

Un conflicto estructural se hace efectivo si los eventos asociados a dos o más transiciones

simultáneamente sensibilizadas que descienden de un mismo lugar se verifican simultáneamente,

y ese lugar no dispone de un número de marcas suficientes para dispararlas simultáneamente. La

Figura 2.14 muestra una Red de Petri que contiene un conflicto efectivo potencial, el cual se

verificaría si T2 y T5, se activaran simultáneamente.

Figura 2.14 Conflicto efectivo

La Red de Petri de la Figura 2.14 presenta un conflicto efectivo potencial pues las transiciones T2

y T5 son transiciones de salida del lugar L3, el cual contiene solamente una marca.

No todos los conflictos estructurales dan lugar a conflictos efectivos. Inclusive, es posible que se

necesite que una red contenga conflictos estructurales para representar adecuadamente el modelo

que se desea implementar.

Para que una red pueda considerarse como un modelo que proporcione una descripción correcta

del sistema que se desea construir, se debe cumplir que la red no posea conflictos efectivos. El

programa GRP informa al usuario cuando está presente un conflicto en la red.

T0

T1 L0 L1 L2 T2

T3 L3 T4

T5 L4 T6

Page 36: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

34

El conflicto efect ivo se resuelve normalmente, estableciendo una exclusión mutua entre los

eventos asociados a las transiciones, o bien, estableciendo una prioridad más alta de disparo a una

de las transiciones.

2.2.8.- Exclusión mutua

Si en un sistema dos estados (representados por lugares) nunca pueden ocurrir simultáneamente

para un marcado inicial determinado Mo en todos los marcados alcanzables a partir de Mo, se

dice que los lugares están en exclusión mutua para Mo.

La Red de Petri de la Figura 2.15 no presenta conflicto efectivo para el marcado inicial indicada,

puesto que L3 y L4 no llegan a estar marcados simultáneamente.

Figura 2.15 Exclusión Mutua

A pesar de que en el lugar Ll se presenta un conflicto, éste se evita considerando que una de las

transiciones de salida de este lugar, ya sea T1 o T2, tiene prioridad de disparo, sobre la otra

transición.

• ••L0 L1 L2

T0 T1 T2 T3

L3 L4

L5 T4 T5 L6

Page 37: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

35

CAPITULO 3 CARACTERÍSTICAS DEL GESTOR DE REDES DE

PETRI GRP.

3.1.-Diseño del Programa.

El Gestor de Redes de Petri se basa en la plataforma Windows, con Visual Basic como lenguaje

de programación.

Para estructurar adecuadamente el programa, fue necesario planear las acciones que tomaría el

sistema de tal forma que presentase en la interfaz del usuario la evolución real de una red.

El diagrama de flujo del Gestor es extremadamente complejo. Para representarlo se requiere de

un número muy grande de nodos. La Figura 3.1 que muestra la forma de operación.

Botón abajo Mover ratón Botón arriba

Selecc iona función Calcula distancias Dibuja componentes

Dibuja componente cursor-componentes

Figura 3.1 Fundamentos de operación del GRP

En términos generales, el sistema reacciona a los eventos Botón Abajo, Botón Arriba, Mover y

una combinación de esas funciones con los estados en que se encuentran ciertas variables, tales

como los colores de las etiquetas de subíndices de los componentes, o los estados de vacío o de

ocupación de las listas desplegables (componentes ComboBox ).

A fin de que el gestor dispusiera del mayor espacio posible en cuanto a la localización de los

componentes, se dejó la libertad para que el programa ubicara dichos componentes en posiciones

no cuantizadas.

Page 38: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

36

3.1.1.- Inicio de la aplicación

A1 iniciar la aplicación, todos los bancos de memoria (para los cuales se utilizan listas

desplegables) se inicializan a fin de que no exista cantidad alguna que pudiera ocasionar algún

error en el trazado de la Red o en los cálculos. Por esa razón, las etiquetas que indican los

subíndices de los componentes, así como las que contienen las cantidades totales de cada

componente, de la misma manera no indican cantidad alguna, dado que sus bancos de memoria se

encuentran inicializados.

En la interfaz del usuario, en el menú de opciones, los botones correspondientes a arco,

transición, marca, borrar, borrar marca, pura, no pura, mover y evolución aparecen

deshabilitados.

Asimismo, en la interfaz aparece un mensaje en movimiento por medio del cual se le instruye al

usuario a que seleccione uno de los dos tipos de red de los que dispone el sistema para su

ejecución: Redes Puras y Redes No Puras.

3.1.2.- Selección del tipo de red

El programa cuenta con dos opciones para el tipo de red a diseñar. En la primera de ellas el

sistema únicamente permitirá la evolución de la red cuando no exista lugar alguno que solamente

tenga entradas. Tampoco permitirá que lugar alguno tenga solamente salidas, y lo mismo para las

transiciones. No permitirá observar la evolución de una red que tenga transición alguna en la cual

solamente exista entradas, o solamente existan salidas.

3.1.3.- Colocación de lugares, transiciones y arcos.

Una vez que se seleccionó el tipo de red a trabajar, el sistema cambia el foco hacia el botón lugar,

esto permite al usuario comenzar a dibujar de una forma ordenada. Al mismo tiempo, se habilitan

los botones de transición, arco y borrar.

Si el botón Lugar está activado, al presionar el botón izquierdo del ratón, el valor de la posición

actual de las coordenadas X, Y se almacena en una lista desplegable.

Page 39: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

37

Si el botón Transición está activado, al presionar el botón izquierdo del ratón, el valor de la

posición actual de las coordenadas X, Y se almacena en otra lista desplegable.

Dado que la información de la posición del cursor se monitorea continuamente todo el trabajo del

programa, el sistema conserva actualizados los datos de distancia del cursor hacia los diferentes

componentes que se van creando.

Cuando el sistema detecta que el cursor del ratón se encuentra dentro de una distancia

determinada de antemano de un lugar, de una transición, o de un arco (para este último caso, el

programa utiliza un algoritmo basado en [5], el color de la etiqueta que proporciona el subíndice

de dicho componente cambia a rojo. Si el cursor se aleja de esa distancia, el color de la etiqueta

cambia nuevamente a verde. Esa propiedad de color se utiliza adicionalmente para evitar que un

componente se coloque encima de otro.

Si el botón Arco está activado, A1 hacer presionar el botón izquierdo del ratón el programa

verifica si esa posición se encuentra a menos de 10 píxeles desde el centro de un lugar o de una

transición, o si se encuentra dentro del marco definido para el trabajo del usuario, como se define

en el capítulo 2.2.1.

Si se cumple alguna de esas tres condiciones, el programa almacena la posición actual del cursor.

Si el cursor está fuera de un lugar o de una transición, pero dentro del marco, el programa

deshabilita el botón Arco. Si el ratón se arrastra, el programa dibuja una flecha que va desde la

posición inicial del arco previamente almacenada. Cuando el usuario suelta el botón izquierdo del

ratón, el programa verifica si se encuentra dentro de una distancia de 10 píxeles desde el centro

de un lugar o de una transición.

Si el punto inicial del arco es un lugar, entonces el programa verifica si el punto de llegada es una

transición. En ese caso, se dibuja la flecha y se almacena en tres listas desplegables los lugares

correspondientes a las coordenadas iniciales y finales de la flecha. Si es un lugar, entonces se

borra la flecha.

3.1.4.- Verificación de Red Pura

Si el usuario seleccionó trabajar en modo de Red Pura, el sistema verifica en todo momento que

la red que va siendo diseñada por el usuario cumpla con la condición de que no exista

Page 40: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

38

lugar alguno con solamente entradas o con solamente salidas. En caso de que exista un lugar o

una transición con esas características, se presenta mediante dos etiquetas las cuales proporcionan

información de los índices de los componentes a corregir.

Solamente hasta cuando se cumple la condición mencionada, las etiquetas cambian su color de

rojo a azul, y a la vez, se habilita el botón marca. Si después de que las etiquetas cambiaron a

azul, el usuario coloca más lugares, transiciones o arcos, y la red deja de ser pura, entonces las

etiquetas vuelven a mostrar los componentes que tienen sólo arcos de entrada o sólo arcos de

salida. Si el usuario seleccionó la opción No Pura, las etiquetas no se hacen visibles y en todo

momento los botones de marca, borrar marca y evolución están habilitadas.

3.1.5.- Colocación de marcas

Una vez que la red ha sido reconocida por el programa como una red pura, el usuario puede elegir

entre seguir colocando lugares, marcas o transiciones, o comenzar a definir el marcado inicial de

la red. El programa no pone un límite para el número de marcas que pueda tener cada lugar. El

límite está determinado por la memoria del equipo de cómputo utilizado.

3.1.6: Borrar un componente

Cuando el usuario selecciona esta función y mueve el ratón, el programa monitorea la distancia

del cursor hacia los componentes. Cuando la distancia del cursor a alguno de los componentes es

menor que la predeterminada, la etiqueta correspondiente a su subíndice cambia su color de verde

a rojo. El programa busca en los componentes de listas desplegables de los Arcos, Lugares y

Transiciones para determinar a qué componente pertenece esa distancia, y muestra el componente

en la etiqueta subíndice.

Al reconocer el subíndice del componente, el programa borra gráficamente el componente

volviendo a dibujarlo, pero ahora de color blanco (tal como el fondo de la Interfaz Gráfica del

Usuario). A1 hacer esto, el programa no genera otro objeto gráfico, ya que todos los

componentes están confinados a los datos de los componentes de listas desplegables.

Asimismo, elimina de los componentes de listas de splegables correspondientes las

coordenadas que definen la existencia del componente a eliminar: para el caso de los lugares y

Page 41: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

39

de las transiciones, borra las coordenadas del centro; para el caso de los arcos, borra las

coordenadas correspondientes a los puntos inicial, final y medio del arco que se desee eliminar.

Si la red deja de ser pura, el programa pone las etiquetas correspondientes en color rojo y

deshabilita el botón Evolución.

3.1.7.- Borrar una marca

A1 activar este botón, y acercar el ratón a la marca que se desea borrar, el programa identifica las

coordenadas correspondientes al centro de la marca que señala la etiqueta de subíndice de las

marcas. Al presionar el botón izquierdo del ratón, estando el cursor sobre el lugar al cual

pertenece la marca que se desea borrar, el programa borra de los componentes de listas

desplegables correspondientes a las coordenadas X y Y de los centros de las marcas y elimina un

solo par X, Y de la coordenada correspondiente a la marca. Si aún existen otras marcas con las

mismas coordenadas, el programa mantiene dibujada un círculo negro más pequeño que el

correspondiente al círculo del lugar al que pertenece. Si al borrar la marca ninguna transición se

puede disparar, el programa envía un mensaje de Red Bloqueada.

3.1.8.- Mover un componente

Esta función sirve para trasladar un componente a otra posición, pero conservando la unión con

los demás componentes que conforman la red.

Se lleva a cabo presionando el botón izquierdo del ratón cuando el cursor esté sobre el

componente que se desee trasladar. Al estar el Botón del ratón presionado, el programa realiza `

la siguiente secuencia: identifica las coordenadas del centro del componente, identifica los arcos

de entrada antiguos, los borra gráficamente y elimina de la base de datos, identifica los arcos de

salida antiguas, los borra gráficamente y elimina de la base de datos, y borra el componente y sus

coordenadas. Cuando el usuario presiona el botón izquierdo del ratón estando el cursor en el

lugar en que desea colocar el componente, el programa dibuja el componente en su nuevo lugar,

los arcos de entrada y los arcos de salida.

Page 42: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

40

3.2.- Interfaz Gráfica del Usuario

La interfaz gráfica del usuario es el espacio en el cual el usuario realizará sus diseños y consiste

en una pantalla en la cual están integradas en un mismo espacio todas las herramientas que se

necesitan para llevar a cabo el trabajo. Consiste en un panel superior que contiene los botones de

selección y los datos de información que el usuario necesita conocer, tales como número total de

arcos, lugares, transiciones y marcas y los subíndices de cada uno de ellos. La Figura 3.2 muestra

la interfaz gráfica del usuario en el momento del inicio de la aplicación.

Page 43: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

41

Figura 3.2 Interfaz Gráfica del Usuario del Gestor de Redes de Petri GRP

3.2ATamaño del área de trabajo

El usuario dispone de una interfaz graduada en píxeles que para protección del sistema y para

evitar ambigüedades en el diseño de la red, solamente permite colocar los componentes en un

rectángulo cuyos límites son:

Esquina superior izquierda, el punto (20, 90)

Esquina superior derecha, el punto (790, 90)

Esquina inferior izquierda, el punto (20, 580)

Esquina inferior derecha, el punto (790, 580)

La Figura 3.3 muestra gráficamente los límites

(20, 90) (790, 90)

(20, 580) (790, 580)

Figura 3.3.- Área de trabajo del usuario

Cuando el usuario pretende colocar un lugar o una transición fuera de estos límites, el programa

permanece inactivo.

La sección del menú tiene un ancho de 78 píxeles.

De lo anterior, se puede concluir que el tamaño de la interfaz gráfica del usuario que el programa

utiliza, corresponde aproximadamente a un 90 % del espacio total de la pantalla.

Page 44: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

42

3.2.2.- Componentes de la Interfaz Gráfica del Usuario del GRP

3.2.2.1.- Botón Arco

Sirve para trazar un arco sólo desde un lugar a una transición o desde una transición a un lugar

(algoritmo basado en [3]. Para trazar un arco, el programa utiliza la función presionar el botón

izquierdo del ratón, arrastrar y soltar. Si el usuario va a colocar un arco entre un lugar y una

transición, el programa solamente permitirá dibujar el arco cuando el ratón se suelte al estar

dentro de una distancia de 10 píxeles del centro del componente al cual se quiera conectar. De lo

contrario, se borrará el arco y no se actualizarán los componentes de listas desplegables

relacionados a los arcos. Si el usuario presiona el botón izquierdo del ratón en una región fuera de

los 10 píxeles de un componente, no se dibujará arco alguno y se deshabilitará el botón Arco.

Para colocar un nuevo arco, el usuario habilitará dicho botón.

3.2.2.2.- Botón Lugar

Este botón le permite al usuario dibujar un lugar en la interfaz gráfica. Es el único botón que se

activa inmediatamente después de que el usuario selecciona el tipo de red.

Si ya se encuentra dibujado un lugar en una cierta posición (X, Y) dentro de la interfaz, el

programa bloqueará cualquier intento de colocar otro lugar o una transición dentro de una

distancia de 25 píxeles desde el punto (X, Y). Asimismo, si el usuario pretende colocar un lugar

dentro de una distancia de 10 píxeles de un arco ya dibujado, el programa boqueará tal intento, y

no se dibujará lugar alguno. Esta propiedad le permitirá al usuario contar con una red claramente

definida en los distanciamientos de todos los componentes. Al tiempo en que el usuario dibuja el

primero de los lugares, los botones de transición, arco y borrar se habilitan.

3.2.2.3.- Botón transición

Permite dibujar una transición en la interfaz gráfica. Se activa justo después de que el usuario

coloca el primero de los lugares. Si ya se encuentra dibujada una transición en una posición

Page 45: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

43

(X, Y) dentro de la interfaz, el programa bloqueará cualquier intento de colocar otro lugar o

transición dentro de una distancia de 25 píxeles desde el punto (X, Y). Si el usuario pretende

colocar una transición dentro de una distancia de 10 píxeles de un arco ya dibujado, el programa

boqueará tal intento. El trazado de una transición se lleva a cabo utilizando una función

Rectangle que utiliza como datos:

1. El centro del rectángulo (el punto de intersección de las diagonales).

2. La anchura del rectángulo (definido por un mismo valor, el cual sirve para colocar los

segmentos izquierdo y derecho del rectángulo, realizando las funciones X-dx y X+dx

3. La altura del rectángulo (definido por un mismo valor, el cual sirve para colocar los

segmentos superior e inferior del rectángulo realizando las funciones Y-dy y Y+dy,

3.2.2.4.- Botón marca

Este botón es utilizado para colocar marcas en el interior de los lugares previamente dibujados.

Se activa cuando el usuario está trabajando en la función Red Pura, después de que las etiquetas

Lugar y Transición estén en color azul.

Si el usuario está trabajando en la función Red No Pura, esta función estará habilitada en todo

momento. Sólo se colocan marcas en el interior de los lugares y cada marca tiene para su centro,

las coordenadas exactas del lugar en que se está colocando. Si un lugar posee más de una marca,

en la interfaz gráfica aparece solamente una marca. Si el usuario pretende colocar una marca

fuera de un lugar, el programa permanece inactivo.

3.2.2.5.- Botón borrar marca

Es utilizado para borrar las marcas correspondientes a los lugares previamente dibujados. Se

activa, así como el botón Marca, cuando el usuario está trabajando en la función Red Pura,

después de que las etiquetas Lugar y Transición estén en color azul.

Si el usuario trabaja en la función Red No Pura, esta función permanecerá habilitada.

3.2.2.6.- Etiquetas de posición del cursor

Estas etiquetas proporcionan en todo momento la posición del cursor.

Page 46: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

44

3.2.2.7.- Botón Red Pura

Permite al usuario seleccionar un tipo de red en el cual ningún lugar tiene sólo entradas o sólo

salidas, y ninguna transición tiene sólo entradas o sólo salidas. Es la opción ideal cuando el

usuario desea realizar el diseño profesional de redes.

3.2.2.8.- Botón Red No Pura

La elección de Red No Pura es ideal cuando se desea observar y comprender de una forma clara y

sencilla, los principios básicos de la evolución de una parte de una Red, tales como la regla de la

evolución de marcado, la sensibilización de una transición

3.2.2.9.- Botón Refresh (Actualizar)

Debido a la diferencia en los Sistemas Operativos, es posible que en algún momento de la

ejecución del programa, aparezcan los trazos de forma poco clara. Por medio de esta etiqueta el

usuario puede forzar a la computadora a presentar trazos perfectamente definidos.

3.2.2.10.- Botón Mover

Permite desplazar lugares y transiciones sólo en las redes puras. El usuario tiene que presionar el

botón izquierdo del ratón sobre el componente que desee trasladar, y después presionar

nuevamente el botón izquierdo del ratón en la posición en que desee colocar el componente.

3.2.2.11.- Etiquetas de coordenadas de los Centros de los Componentes.

Le permiten al usuario observar las coordenadas de los centros de los componentes.

3.2.2.12.- Etiquetas de Número total de marcas.

Proporciona la información actualizada del número total de marcas en la red.

Page 47: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

45

3.3 Menús del GRP

3.3.1 Menú Archivo.

El Menú Archivo tiene cuatro funciones: Nuevo, Abrir, Guardar y Salir. La Figura 3.4 muestra

desplegado el Menú Archivo.

Figura 3.4: Menú Archivo del GRP

Cuando el usuario presiona las opciones Nuevo Abrir y Salir, el programa verifica si el usuario

desea guardar la Red actual de trabajo.

3.3.2 Menú de Ayuda.

El Menú de Ayuda se muestra desplegado en la Figura 3.5. En ella se observa la similitud con los

menús de ayuda de las aplicaciones de Microsoft basadas en Windows, tal como Office.

Figura 3.5.- Menú Ayuda del GRP

El GRP tiene un soporte de ayuda que toma del sistema operativo Windows. En virtud de que la

mayoría de los usuarios cuentan con ese Sistema Operativo en sus computadoras y alguna vez

han manejado la ayuda para las diferentes aplicaciones, tales como Microsoft Office, al usuario le

resultará familiar este formato de ayuda. En él, está contemplada la forma de búsqueda por frase,

palabra, tema, y tiene los vínculos adecuados que le facilitarán al usuario

Page 48: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

46

la información oportuna para cada uno de los conceptos que necesite a lo largo de su trabajo. La

Figura 3.6 muestra la pantalla inicial durante una solicitud de la ayuda del GRP.

Figura 3.6: Ayuda del GRP

3.3.3 Menú Acerca de.

El Menú Acerca de muestra el nombre del autor, la versión del programa, y el Sistema Operativo

utilizado en la elaboración del mismo. La Figura 3.7 muestra la información proporcionada por el

Menú Acerca de....

Figura 3.7. - Acerca de...

Page 49: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

47

3.4.- Evolución de la Red

Esta función se lleva a cabo si el botón evolución esté habilitado, el cual, al inicio de la

aplicación, está inhabilitado.

Para observar la evolución de una Red de Petri, el sistema verifica el tipo de red en el que está

trabajando: si está trabajando en el tipo de Red No Pura, el sistema está continuamente habilitado

para llevar a cabo tal simulación; si el diseñador está trabajando en la modalidad de Red Pura,

entonces será necesario que los botones tanto de lugar como de transición, que se ubican en la

parte superior derecha de la interfaz gráfica, estén ambos en color azul.

La simulación comienza cuando, cubriéndose los dos casos mencionados, el usuario oprime el

botón evolución. El usuario oprimirá la transición que desee activar.

Si el sistema reconoce la existencia de un conflicto, automáticamente despliega un mensaje

advirtiendo a usuario de tal conflicto, y desactiva temporalmente el botón evolución.

De igual forma, si el sistema reconoce que no existe ninguna transición que pueda ser disparada,

automáticamente despliega la información de bloqueo de la Red.

Si en algún momento de la evolución de la Red otra aplicación toma el control de la pantalla, al

regresar al programa se activa la función Paint de Visual Basic, y vuelve a dibujar los

componentes tal como estaban antes de que la otra aplicación tomara la pantalla.

Si durante la evolución de la red, la cual el usuario seleccionó como pura, él desea colocar un

componente, sólo tiene que seleccionar el botón correspondiente a ese componente y presionar el

botón izquierdo del ratón estando el cursor en el lugar de la pantalla en que desee colocarlo. Si la

red deja de ser pura, el programa suspende sus cálculos y los reanuda cuando la red se hace

nuevamente pura.

Asimismo, si durante la evolución de la red el usuario desea mover un componente, sólo necesita

presionar el botón Mover, presionar el botón izquierdo del ratón sobre el componente a desplazar,

presionar nuevamente el botón izquierdo del ratón, esta vez en el lugar en el que desea colocarlo,

y el programa continúa presentando las condiciones de la red.

Page 50: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

48

3.5: Mensajes del GRP

3.5.1: Vivacidad

Al producirse un bloqueo en la red, el sistema se lo hará saber al diseñador por medio de un

mensaje (el mensaje aparece en la parte inferior de la pantalla mediante el algoritmo basado en

[4]. La Figura 3.8 muestra un mensaje de indicación de bloqueo.

Figura 3.8: Ejemplo de informe de red bloqueada.

3.5.2: Limitación

En todo momento, el GRP informa al usuario el número total de marcas que se encuentra en la

red. Con esa información, es posible observar la propiedad de limitación.

Page 51: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

49

3.5.3: Conservatividad

De la misma manera que para el caso anterior, el usuario podrá verificar en todo momento el

número total de marcas en la red, con lo que observará la propiedad de conservatividad.

3.5.4: Existencia de Conflictos

Al detectar conflicto durante la evolución de la Red de Petri, aparece un mensaje que indica su

existencia, y el lugar en el cual se está originando. Si el problema involucra dos o más lugares, el

sistema, sucesivamente, informan al diseñador el índice de los diferentes involucrados.

La Figura 3.9 muestra un ejemplo del informe de conflictos.

Figura 3.9.- Ejemplo del informe de conflictos.

••

Page 52: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

50

El programa está diseñado para que, cuando indica una existencia de conflictos, aún así permita

que el usuario continúe observando la evolución de la Red de Petri, ya que el problema de

conflicto se evita asignando a alguna de las transiciones una prioridad más alta que a la demás

transiciones.

Como función adicional, cuando el sistema detecta un conflicto, dibuja las marcas

correspondientes a los lugares en cuestión, de un color distinto, con el fin de que se distingan de

los demás lugares, proporcionando al usuario la interacción usuario-máquina correspondiente al

espíritu con el cual esta característica fue buscada.

Page 53: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

51

CAPITULO 4 DISCUSIÓN DE LOS RESULTADOS.

4.1.-Desempeño del GRP

Los algoritmos de este programa aún no alcanzan el grado máximo de simplificación, por lo cual,

al ejecutarse en computadoras Pentium IV o equivalentes, con rapidez de 950MHz y una

memoria RAM de 128 KB o en computadoras de menores capacidades que las mencionadas, es

probable que se alcance a apreciar un retardo en las respuestas gráficas que proporciona,

dependiendo aún de la memoria RAM de la máquina, de la adecuada desfragmentación del disco

y la cantidad de otros programas que se estén ejecutando simultáneamente con él. Cuando el

número de componentes en la red es de menos de 15, la evolución se lleva a cabo sin retrasos

considerables, sin embargo, cuando el número es mayor, comienza a aparecer el efecto del

tiempo de cálculos, debido a que el número de operaciones que el programa tiene que realizar,

aumenta de forma exponencial.

Cuando el programa se ejecuta en computadoras de mayor capacidad que las mencionadas, la

operación se lleva a cabo de forma totalmente confiable.

4.2.- Errores (Bugs)

Existen unos pocos errores relacionados con las características mismas del lenguaje, tales como

el que surge al tener activado el botón "Arco", presionar el botón izquierdo del ratón en cuando el

cursor esté en el borde superior de la pantalla, y arrastrar el ratón hacia la Interfaz Gráfica del

Usuario (provoca el error 5 de Visual Basic " Llamada a procedimiento o argumento no válidos")

4.3.- Objetivos vs. Resultados

El arduo trabajo que representó llevar a cabo la elaboración de una Herramienta de Gestión de

Redes de Petri tiene como culminación la existencia de un soporte amigable e interactivo de

diseño de sistemas de evolución automática, que, si bien no se encuentra aún en su fase de

Page 54: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

52

calidad total, sí contiene los elementos que le permiten ser considerado de utilidad para el

estudiante de sistemas robóticas.

El programa cumplió con las expectativas que se tenían acerca de él, manifestadas al inicio de

este trabajo escrito. Se comprobó que el lenguaje Visual Basic tiene una potencia aplicable al

trabajo en el ambiente gráfico que se necesita para realizar un proyecto de simulación de Redes

de Petri. Sin embargo, no se descarta que para trabajos futuros se adopte como plataforma en

lenguaje visual en C, tal como C++ Builder, u otro cuyas características sean adecuadas para el

proyecto.

4.4.- Trabajos Futuros

Las aplicaciones que van añadir a la funcionalidad del sistema, son las siguientes:

1. La función de elaboración del árbol de alcanzabilidad de la Red.

2. Dotar al programa con la capacidad para el diseño de redes no ordinarias.

3. La capacidad de diseñar redes coloreadas.

4. La capacidad para presentar la función zoom, la cual le permitirá al diseñador tener un

mayor espacio (al costo de un tamaño menor de cada componente, específicamente a la

mitad de su tamaño original) para observar procesos que involucre un mayor número de

nodos.

5. La opción para trabajar conjunta y simultáneamente varios usuarios en el desarrollo de

una misma Red de Petri a través de Internet.

6. Crear un repositorio en la Internet a fin de que un usuario pueda almacenar sus programas

y posteriormente continuarlos estando el usuario en una localidad remota.

7. La capacidad para que las redes en la interfaz gráfica tengan un movimiento

tridimensional. Esto con el fin de que el diseñador pueda observar desde distintas

perspectivas el modelo de red que está elaborando. La forma para llevar a cabo esta

acción es dando a los valores X y Y más importantes de los componentes (por ejemplo, la

posición del punto de inicio o la posición del punto final de los arcos, o bien la posición

del centro de los lugares, de las marcas o de las transiciones) un desplazamiento en base a

Page 55: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

53

elipses cuyas características de excentricidad y semiejes mayor y menor estén previamente

definidas en el sistema. El proceso consiste en calcular, por medio de la posición actual de un

componente, la nueva posición que tendría ante un incremente en X de la coordenada de ese

punto, la cual tenga que estar sobre la elipse. De la misma forma, se haría un cálculo análogo para

calcular la nueva componente en Y de dicho punto.

Page 56: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

54

CAPITULO 5 CONCLUSIONES

El programa GRP es una herramienta en proceso de desarrollo constante que proporciona un

soporte 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 Investigación de Operaciones, o la evolución de una coreografía, los cuales puedan

ser representados mediante Redes de Petri.

Es evidente que existe una gran cantidad de aplicaciones (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 automatizada que

permita conocer de forma rápida y confiable los diferentes estados de la aplicación en estudio.

La herramienta que se obtuvo 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 proceso de

trámites en una agencia naviera, hasta el diseño de un programa institucional de construcción de

un edificio.

Asimismo, la aplicació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 manera 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 programa ofrece la oportunidad de empleo como recurso didáctico en los

cursos de Visual Basic.

Se proporciona una colección de Herramientas de Redes de Petri gratuitas para que el interesado,

si así lo desea, los descargue, utilice y compare.

Page 57: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

55

BIBLIOGRAFÍA

[ 1 ] Silva, Manuel (1985). Las Redes de Petri en la Automática y la Informática

[ 2 ] Ceballos, Francisco Javier (1996). Enciclopedia de Visual Basic 4

[ 3 ] http://www.vb-helper.com/howto_draw_arrows.html

[ 4 ] http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/

support/ kb/articles/Q180/9/36.asp&NoWebContent=1

[ 5 ] http://www.vb-helper.com/HowTo/segments.zip

Apéndice A

Relación de herramientas de Redes de Petri gratuitos, y su dirección en la Internet:

1. ARP http://www.ppgia.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.daimi.au.dk/CPNtools/ 5. Design/CPN http://www.daimi.au.dk/designCPN/ 6. HiQPN-Tool http://ls4-www.informatik.uni-dortmund.de/QPN/ 7. PSim http://home.t-online.de/home/henryk.a/petrinet/e/hpsim_e.htm 8. INA http://www.informatik.hu-berlin.de/~starke/ina.html 9. JARP http://jarp.sf.net/ 10. JFern http://sourceforge.net/projects/jfern 11. Maria http://www.tcs.hut.fi/Software/maria/ 12. Marigold http://www-users.cs.york.ac.uk/~jwillans/VE Research.html 13. The Model-Checking Kit http://wwwbrauer.in.tum.de/gruppen/theorie/KIT/ 14. PED http://www-dssz.Infortnatik.TU-Cottbus.DE/~wwwdssz/ 15. PEP http://parsys.Informatik.Uni-Oldenburg.DE/~pep

Page 58: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

56

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.sourceforge.net/ 19. PNSim http://www.elyros.com/PNSim/ 20. PNtalk http://www.fee.vutbr.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/Software/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/SIPNEditor.htm 27. SimulaWorks http://www.simulaworks.com 28. Tina http://www.laas.fr/tina 29. TPTPN http://www.cdc.unict.it/~scava/tptpn.html 30. VIPtool http://www.informatik.ku-eichstaett.de/VIP/ 31. Visual Object Net ++ http://www.systemtechnik.tu-ilmenau.de/~drath/visual_E.htm 32. WebSPN http://sun195.iit.unict.it/~webspn/webspn2/ 33. WINSIM ftp://cmpe.emu.edu.tr/SimSystem

La siguiente relación muestra una lista de Herramientas de Redes de Petri que únicamente se

pueden obtener de manera comercial, y su dirección en la Internet:

1) ALPHA/Sim http://www.alphatech.com/secondary/techpro/alphasim/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.uniroma3.it/~gdt/ 6) GreatSPN http://www.di.unito.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/zsoftua 11) PACE http://www.ibepace.com 12) SPNP http://www.ee.duke.edu/~kst/ 13) STROBOSCOPE http://strobos.ce.vt.edu/ 14) SYROCO http://www.univ-tlsel.fr/ceriss/COOgene.html 15) TimeNET http://pdv.cs.tu-berlin.de/~timenet/

Page 59: UNIVERSIDAD DE COLIMA - digeset.ucol.mxdigeset.ucol.mx/tesis_posgrado/Pdf/Jose Refugio Martinez Reyes.pdf · DE REDES DE PETRI", cumple satisfactoriamente con los objetivos previstos

57

Apéndice B

Código Fuente

El Código Fuente se encuentra en el diskette de 3 1/2 " adjunto.