Está en la página 1de 33

UNIVERSIDAD DE CIENCIAS Y

ADMINISTRACIÓN

REDES DE PETRI

Profesor: Luis Antonio García Espinoza


Alumno: Carlos Gabriel Hernández Azcona
3er. Cuatrimestre en Ingeniería en Sistemas
Computacionales
Materia: Matemáticas discretas
Introducción

El análisis y diseño de sistemas requiere que los sistemas


que están en desarrollo y los ya desarrollados se comporten
de manera confiable. Entendamos como confiabilidad a la
``habilidad del sistema para cumplir su tarea predefinida (a
pesar de las fallas de hardware y software)''.
Existen factores que deterioran la confiabilidad de un sistema
como son: fallas, errores, y descuidos (a nivel hardware,
sistema operativo, e interacción con otros sistemas, entre
otros). La ingeniería de software cuenta con varios métodos
para procurar una buena confiabilidad, como son las
tecnologías de desarrollo de software, métodos de validación
asistidos por computadora, y manejo de excepciones, entre
otras.
Generalidades

 El concepto de red de Petri apareció en 1962 con la tesis


doctoral de Carl Adam Petri ``Comunicación con Autómata''
en la Universidad de Bonn. A partir de entonces se difundió
en Europa y Estados Unidos, y ya en 1970 aparecieron
grupos de investigación que incorporaban las redes de
Petri a sus trabajos y/o que se dedicaban a estudiar sus
propiedades.
Redes de Petri: una definicion
Una red de Petri C = P,T,I,O consiste de:
1. Un conjunto finito de lugares P
2. Un conjunto finito de transiciones T
3. Una funcion de entrada I: T  NatP
4. Una funcion de salida O: T  NatP
5. Una funcion de pesos W: T  Nat

Un marcado de C es un mapeo m: P  Nat x


a
Ejemplo P = { x, y }
T = { a, b }
m = { x, x }
I(a) = { x }, I(b) = { x, x } y
b
O(a) = { x, y }, O(b) = { y }
Validación
La validación
es el mecanismo para
remover fallas en la
fase de desarrollo y así
asegurarnos de que el
grado de confiabilidad
del sistema es
aceptable.

Validación por ejecución


se realizan pruebas cualitativas
y cuantitativas para obtener el
Validación por modelación: grado de confiabilidad que se
desea. El resultado de dichas
se pueden realizar por una
pruebas se obtiene en el
inspección del contexto, por
ambiente real de ejecución y se
una verificación o por una
basan en el tiempo. Se
evaluación.
obtienen propiedades de
funcionalidad, robustez,
integridad y desempeño,
principalmente.
Herramientas
 están orientadas a resolver problemas de modelación de
aplicaciones distribuidas u orientadas a objetos, y que además
ayudan en la generación y verificación de código, sin embargo su
licencia es bastante alta, varia entre 1000 y 2000 dólares. Algunas
de ellas son:
 Artifex
 Alpha/sim
 EDS Petri Net Tool
 SYROCO
Características de las redes de Petri

 Soportan la simulación del sistema

 Soportan modularidad y abstracción

 Soportan el análisis formal para propiedades, tales como:

 Acotamiento,
 Vivacidad
 Alcanzabilidad, etc.
Elementos de una red de
Petri

transicion
arco de entrada

arco de salida

Una marca
Interpretacion de una red de
Petri
lugar = estado

marca

Estado activo

transicion
=
un evento
Un ejemplo sencillo

lugar = Bomba encendida

marca

Estado activo

transicion
=
Switch ON

¿Qué sucede en la red si el Switch


se conmuta a OFF?
Reglas
 Todos los arcos (conecciones) son dirigidas
 No existen arcos entre dos lugares
 No existen arcos entre dos transiciones
 Los lugares pueden tener cero o mas marcas
 Los arcos pueden tener peso: con valor de 1, 2, …, o
mas

x
a

y
b
Disparo de una
transicion
Una transicion se produce (“se
dispara”):
si todos los lugares de entrada tienen
el numero requerido de marcas
t1

p1 p2

t2
Disparo de una
transicion
Una transicion se produce (“se
dispara”):
si todos los lugares de entrada tienen
el numero requerido de marcas
Disparo de una
transicion
Una transicion se produce (“se
dispara”):
si todos los lugares de entrada tienen
el numero requerido de marcas

NO
Disparo de una
transicion
Una transicion se produce (“se
dispara”):
2 si todos los lugares de entrada tienen
el numero requerido de marcas
Transicion habilitada
 Una transición está habilitada cuando el
número de marcas en cada uno de sus
lugares de entrada es por lo menos
igual al peso de arco que va del lugar a
la transición.

 Una transición habilitada puede o no


dispararse (ocurre o no ocurre un evento)
Disparo de una
transicion
 El disparo de una
transición habilitada t:
2 3 consume w(p,t) marcas
p2 de cada lugar p de
p1 t1
entrada de t,

y produce w(t,p) marcas


2a
cada 3 lugar de salida p
de t,
p1 p2
t1
Disparo de una
transicion
Para disparar una transicion t:
1. t debe estar habilitado: m ≥ I(t)
2. consume entradas y genera salida: m= m - I(t) + O(t)

a a

b b b
Disparo de una
transicion
t
H2 2
2 H 2O

O2

Antes del disparo 2H2 + O2 2H2O

Peso = 2 2
t
H2
2
H 2O

O2
Despues del disparo
Ejecucion de las redes de Petri
 La ejecución de las redes de Petri es no-
deterministica

Pueden ser habilitadas múltiples transiciones al


mismo tiempo

Cualquier transicion habilitada puede ser disparada

No se exige que una transicion sea disparada

○ puede dispararse cuando quiera, en un tiempo entre 0 e infinito,


o no dispararse nunca
Modelado con redes de
Petri
p2
t2
p1 t1
p4

t3
p3
Secuencialidad

> Ejecucion secuencial

p1 t1 p2 t2 p3
Sincronizacion

> Sincronizacion

t1 t1
Conjuncion

> Se llega por


diferentes caminos

t1

t2

t3
Toma de deciciones

> Se toman diferentes


caminos

t1

t2

t3
Concurrencia
Entradas independientes permiten el disparo “concurrente” de la transicion
Concurrencia
p1 p3
t2

Paralell Begin
Paralell End
t1
p2 t3 p4 t4

p5
Lugar de entrada y
salida
> Lectura sin
modificacion de
condiciones
p2

p4

p3 t3
Conflicto
Resolucion del conflicto
Punto de decision

El conflicto resultante puede ser resuelto de manera simplemente


determinista o de manera probabilistica, atribuyendo probabilidades
apropiadas a las transiciones en conflicto
Exclusion mutua
Las dos subredes estan forzadas a sincronizarse
Productores y Consumidores
productor consumidor
Buffers acotados

# slots
ocupados

# slots libres

También podría gustarte