Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ITIC INTENSIVO
Delia Monserrat
Zavala Reynoso
[REPORTE]
Este reporte contiene información sobre las redes de petri, diagramas de Actividades de roles (RAD), BPnm y
patrones de modelado
Table of Contents
Redes de Petri ......................................................................................................................................................... 3
Generalidades de las redes de Petri.................................................................................................................... 3
Aspectos de Modelación con redes de Petri ....................................................................................................... 3
Evolución de una red de Petri ............................................................................................................................. 4
Ejemplo y Caso Práctico de Modelación de protocolos de comunicación......................................................... 4
Propiedades de comportamiento ....................................................................................................................... 5
Alcanzabilidad ................................................................................................................................................. 5
Acotamiento .................................................................................................................................................... 5
Activa ............................................................................................................................................................... 5
Reversibilidad y estado inicial ......................................................................................................................... 6
Cubrir ............................................................................................................................................................... 6
Persistencia ..................................................................................................................................................... 6
Distancia sincrónica......................................................................................................................................... 6
Equidad Acotada ............................................................................................................................................. 6
Equidad incondicional o global ....................................................................................................................... 7
Métodos de Análisis ............................................................................................................................................ 7
Diagrama de Actividades de Roles (RAD) ................................................................................................................ 7
Caso Práctico ....................................................................................................................................................... 8
BPMN (Business Process Modeling Notation) ........................................................................................................ 8
Patrones de Modelado ............................................................................................................................................ 9
Patrones básicos de control de flujo ................................................................................................................... 9
Secuencia......................................................................................................................................................... 9
Redes de Petri
Las redes de Petri se pueden incorporar informalmente en cualquier área o sistema que pueda describirse
gráficamente como diagrama de flujo y que necesitan algunos medios de representar actividades paralelas o
concurrentes. Particularmente, en el área de desarrollo de software, las redes de Petri son una herramienta de
validación que puede aplicarse en distintas etapas en el desarrollo de sistemas.
Sin embargo, el punto débil de las redes de Petri radica en la complejidad del problema, esto es, los modelos
basados en redes de Petri, siempre tienden a ser muy grandes para su análisis. Con el fin de solucionar este
problema se han desarrollado técnicas de reducción y extensiones a las redes de Petri. Por lo general, para
aplicar las redes de Petri a un problema, se le realizan modificaciones o restricciones.
Algunas áreas donde se aplican las redes de Petri son: evaluación de rendimiento, protocolos de comunicación,
modelado y análisis de sistemas distribuidos, sistemas de bases de datos distribuidas, programas paralelos y
concurrentes.
En sistemas donde se conoce la estructura causa-evento, las redes de Petri resultan ser una excelente herramienta
para establecer un modelo de dicho sistema. En esta representación gráfica, los nodos son lugares que
representan causas o condiciones, y las transiciones eventos. Las redes de Petri modelan sistemas dinámicos
discretos. En este orden de ideas, los eventos se generan, en una parte local del estado actual del sistema, como
variables discretas.
Una red de Petri es una estructura matemática, que permite una representación gráfica, en donde se incluyen los
elementos: lugares transiciones, arcos y tokens, en un diagrama que tiene una sintaxis.
Los lugares son los elementos pasivos de la red de Petri y, junto con los tokens, se utilizan para modelar
los estados del sistema.
Las transiciones son los elementos activos de la red de Petri, y representan las acciones de un sistema.
Estas acciones originan cambios en el estado de la red.
El conjunto de lugares, transiciones y arcos son finitos y estáticos. Lo que indica que el sistema no
puede tener más causas y eventos que los que originalmente tiene representados en el modelo.
El conjunto de tokens y marcas pueden cambiar durante la ejecución de la red, describiendo las
características dinámicas del sistema modelado.
La propiedad de valor de peso a los arcos, hace posible que se especifique el número de tokens que consume la
transición de los lugares de entrada y el conjunto de tokens que produce en la salida. Las redes de Petri de
capacidad finita y peso en los arcos se les llaman sistemas de lugar/transición.
Las clases originales de redes de Petri, y los sistemas de lugar/transición son muy conocidos por su uso en
modelos de un alto grado de abstracción que tienen que analizarse de manera formal. Pero si el modelo debe
respetar más detalles del sistema, o si se debe respetar el tiempo en el modelo, entonces se deben desarrollar más
clases de redes de Petri que consideran los aspectos deseados del modelo. Así, surgen las redes de Petri
coloreadas, estocásticas, y orientadas a objetos, por mencionar algunas, que en general forman el grupo de redes
de Petri extendidas.
Ejemplos de modelación con redes de Petri son el flujo de información y los protocolos de comunicación.
Propiedades de comportamiento
La fuerza principal de las redes de Petri, son su soporte para el análisis de propiedades y problemas asociados
con sistemas concurrentes. Las propiedades de comportamiento de las redes de Petri dependen de la marca
inicial M0, estas propiedades son alcanzabilidad, acotamiento, activa, reversibilidad y estado inicial, persistencia,
distancia sincrónica.
Alcanzabilidad
La alcanzabilidad es una base fundamental para estudiar las propiedades dinámicas de cualquier sistema. El
disparo de una transición habilitada cambiará la distribución de los tokens en una red, de acuerdo a las reglas de
transición mencionadas en la definición 3. Una secuencia de disparos dará como resultado una secuencia de
marcas. Se dice que una marca Mn es alcanzable de una marca M0 si existe una secuencia de disparos que
Acotamiento
Se dice que una red de Petri (N, M0) es k-acotada o simplemente acotada si el número de tokens en cada lugar de
la red no excede a un número finito k en cada marca alcanzable desde M0. Se dice que una red de Petri es libre si
es 1-acotada.
Activa
El concepto de red activa está muy relacionado con la ausencia completa de candados mortales en sistemas
operativos. Se dice que una red de Petri está activa sí, no importando que marca se alcance desde M0, si aún se
puede realizar una secuencia de disparo. Esto significa que una red de Petri activa garantiza la ausencia total de
candados mortales, no importando la secuencia de disparos que se seleccione.
La propiedad de red activa es el ideal para muchos sistemas, sin embargo, verificar esta propiedad en sistemas
grandes resulta poco práctico y muy costoso.
La condición activa se define (o mide) en diversos niveles:
Se dice que una transición t en una red de Petri (N, M0) es:
2. L1-activa (potencialmente disparable) si t puede dispararse al menos una vez en alguna secuencia en L(N,M0).
3. L2-activa si dado cualquier entero positivo k, t puede dispararse al menos k en alguna secuencia en L(N, M0).
Se dice que una red de Petri (N, M0) es Lk-viva si cualquier transición en la red es Lk-activa (con k=0, 1, 2, 3,4).
Se dice que una red de Petri es reversible si M0 es alcanzable para cualquier marca Así, una
red reversible regresará a su estado inicial.
Cubrir
Se dice que una marca M en una red de Petri (N, M0) se puede cubrir si existe una marca tal
que para cada p en la red. La propiedad de cubrir está muy relacionada con la propiedad L1-
activa de las transiciones. Sea M la marca mínima para habilitar la transición t. Entonces t está muerto sí y solo
sí, M no se puede cubrir. El corolario a lo anterior nos dice que si t es L1-activa sí y solo sí, M se puede cubrir.
Persistencia
Se dice que una red de Petri (N, M0) es persistente, si para cualesquier par de transiciones habilitadas, el disparo
de una transición no deshabilita a la otra. Una transición en una red persistente, estará habilitada hasta que se
dispare. Esta noción de persistencia es muy utilizada en el contexto de esquemas de programas paralelos y
circuitos asíncronos altamente independientes.
Distancia sincrónica
La noción de distancia sincrónica es un concepto fundamental introducido por C.A. Petri. Es una métrica muy
relacionada al grado de dependencia mutua entre dos eventos en un sistema de condición/evento. Definiremos la
distancia sincrónica entre dos transiciones t1 y t2 en una red de Petri (N, M0) por
Donde es una secuencia que inicia en cualquier marca M en R(N, M0) y es el número de veces que la
transición ti (con i=1,2) dispara en .
Equidad Acotada
Se dice que dos transiciones t1 y t2 están en una relación de equidad acotada si el número máximo de veces en
que una dispara mientras la otra no, está acotada. Se dice que una red de Petri (N, M0) es de equidad acotada si
cada par de transiciones en la red está en una relación equidad acotada.
Equidad incondicional o global
Se dice que una secuencia es de equidad incondicional si es finita o si cada transición en la red aparece
infinitamente en . Se dice que una red (N, M0) es de equidad incondicional si cada secuencia de disparo de
es de equidad incondicional.
Métodos de Análisis
Los métodos de análisis para las redes de Petri se pueden clasificar en tres grupos generales:
1. Método de árbol de alcanzabilidad o cubrimiento.
2. Enfoque de matriz de ecuaciones.
3. Técnicas de reducción o descomposición.
En la figura 2 se muestra un RAD, donde los roles son representados por un rectángulo con una etiqueta en la
parte de arriba del mismo, especificando el nombre del rol y del agente responsable de éste. Dentro del rol se
dibujan las actividades, las cuales son unidades atómicas del trabajo que la gente realiza, en forma de cuadros
pequeños con su correspondiente etiqueta de nombre a su lado derecho; las interacciones de los roles son
representadas por líneas remarcadas, las cuales van desde la actividad del rol donde se inicializó la interacción
hasta la actividad del otro rol, representan entonces la comunicación y coordinación entre dos roles; las líneas
verticales que conectan elementos del RAD son llamadas líneas de estado encargadas de señalar la transición
(estados) entre elementos.
Los elementos son cuadros que representan actividades, círculos de selección, triángulos para actividades en
paralelo y terminadores.
El elemento condicional es seguido de rutas alternativas o paralelas. Una trayectoria alternativa depende de la
condición presentada para tomar la secuencia de actividades a realizar (su notación gráfica es por medio de un
círculo para cada opción), mientras que en las trayectorias paralelas (representadas con triángulos) el orden de
las actividades a realizar no es significativo. No importa cuál de las actividades en paralelo se realiza primero,
sólo es necesaria la culminación de todas las actividades en paralelo antes de continuar con la siguiente
actividad.
El proceso indefinido, representado como una elipse, indica un comportamiento que todavía no ha sido definido.
Además, existen dos elementos para representar que el flujo del proceso del rol es inicializar a otro rol
(inicializa rol) y el que inicializa a un rol externo que no está siendo modelado.
Caso Práctico
El mundo de los procesos de negocio ha cambiado dramáticamente en los últimos años. Un proceso de este tipo
abarca múltiples participantes, y la coordinación puede ser compleja. Antes de BPMN no había una técnica de
modelado estándar desarrollado para encargarse de estos asuntos. BPMN ha sido desarrollado para proveer a los
usuarios de una notación de uso libre. Esto beneficiará a los usuarios de la misma forma que UML benefició el
mundo de la ingeniería de software.
BPMN está dirigido a gerentes, directores, dueños de empresas, ingenieros de procesos, analistas de negocios,
analistas de sistemas, administradores de proyectos, responsables de calidad y todo aquel que necesita definir,
documentar y hacer más eficientes sus procesos de negocio con el estándar más avanzado y aceptado a nivel
internacional.
Patrones de Modelado
Un patrón es la abstracción de una forma concreta el cual mantiene a repetirse en un contexto específico no-
arbitrario.
Los patrones se han definido por diferentes variables, algunas se describen a continuación:
Condiciones que se definen para que el patrón sea aplicable
Ejemplos de algunas situaciones de negocio
Problemas.
Problemas típicamente semánticos, de la realización en idiomas actuales
Implementación de soluciones.
En un workflow, los patrones son la secuencia lógica de diagramación de un requisito del negocio. Para modelar
adecuadamente un proceso bajo los estándares de BizAgi, es necesario conocer el estándar BPMN y los patrones
de workflow identificados por la investigación del profesor Van Der Aalst2. “El objetivo del desarrollo de los
patrones fue describir la capacidad potencial que un workflow podría tener durante el rendimiento del proceso
de negocio. El rango de patrones va desde los más simples a los más complejos y comprende los
comportamientos esperados en la mayoría de los modelos de procesos.” [White Stephen A. Process Modeling
Notation and workflow Patterns]
El propósito del presente documento es ilustrar la implementación de los patrones bajo el estándar de BPMN.
Estos patrones se encuentran agrupados de la siguiente manera: