Está en la página 1de 32

Introduccin a las Redes de Petri

Carlos Aguirre Juan de Lara Gonzalo Martnez Muoz Roberto Moriyn

Juan de Lara con modificaciones de Gonzalo Martnez Muoz

Redes de Petri. Ejemplo restaurante.

Servir Cliente Pedir Cliente espera

Cliente come

A cocina

Fin prep.

Camarero libre

Comanda

En preparacin

Plato listo

ndice

Estructura del curso. Modelado y Simulacin. Redes de Petri. Introduccin Bibliografa.

Estructura del curso


Introduccin (1 sesin). GMM. Redes de Petri Bsicas (3 4 sesiones). GMM. Redes de Petri Temporales y Estocsticas (3
CA.

sesiones).

Redes de Petri Coloreadas (4 sesiones). RM. Exposicin de Trabajos (1 2 sesiones). Vosotros.

Evaluacin

Exposicin de Trabajos/Proyecto. Ejercicios.

Asistencia.

ndice

Estructura del curso. Modelado y Simulacin. Redes de Petri. Introduccin Bibliografa.

Modelado

Sistemas compuestos por componentes.

Su comportamiento puede ser descrito por separado.

Cada componente tiene un estado:

Cambia a lo largo del tiempo. Contiene


7
informacin relevante para describir sus acciones futuras.

Modelado

Estudiar un fenmeno indirectamente a travs de un modelo. Representacin (matemtica) importantes del sistema. de caractersticas

Manipulando el modelo se espera obtener nuevo conocimiento sin el peligro, coste o molestias de manipular el sistema real.

Modelado y Simulacin.
REALIDAD
Entidad del Mundo Real
Estudiar comportamiento en contexto del experimento.

MODELO
Modelo Base

OBJETIVOS

Sistema S
Experimento dentro de contexto.

en contexto

Modelo M
Simular = experimento virtual

Datos Observados del Experimento

validacin

Resultados de la Simulacin

Proceso de Modelado&Simulacin

Modelado y Simulacin.
Morfismo de comportamiento
Sistema Real
Modelado/Abstraccin

Modelo Abstracto

Experimento dentro de contexto.

Experimento virtual

Resultados del Experimento

Abstraccin

Resultados de la Simulacin

10

Modelado y Simulacin. Validacin y Verificacin.


Causa Sistema Real
Validacin del Modelo Conceptual Validacin del Comportamiento

Efecto

Modelo Conceptual
Verificacin

Entrada

11

Modelo de Simulacin

Salid a

Modelado. Base Temporal.


Todo formalismo de simulacin debe tener una variable de
indexacin (normalmente es el tiempo) que permita la transicin de estados de los modelos.

TimeBase = T, < Bases temporales comunes incluyen:

T = {NOW}
T=R

(modelos algebraicos).
(continuos, eventos discretos, etc.) (autmatas, Redes de Petri B&W, etc.)

12

T=N

Modelado y Simulacin. Tipos.


Analgica.
Modelo ~ circuitos electrnicos. Ordenador analgico. Vannevar Bush 30s. Modelo ~ Ecuaciones diferenciales, diferenciales algebraicas, en derivadas parciales. Tiempo pseudo-continuo. Intervalo elemental de tiempo. El estado del sistema cambia de forma continua. Procesos estadsticos. Diversa forma dependiendo del formalismo. Base temporal continua, nmero finito de eventos en un intervalo. Valores no
predecibles. El estado del sistema cambia cuando se produce un evento.

Digital Continua.

Digital Discreta

13

Hbrida.

Simulacin Discreta.
Las
variables que representan el estado del sistema cambian (instantneamente) en instantes discretos de tiempo (eventos).

El

estado del sistema permanece inalterado entre eventos.

La

base temporal es continua, pero durante un cierto intervalo de tiempo, slo un nmero finito de eventos ocurren.

14

Modelado: Productor-consumidor
Autmata finito
wait1 wait2 ebuff

Representacin basada en estado


(autmata finito).

rp1 rc2
prod1 wait2 ebuff

Concurrencia: Entrelazado. Representacin


rp1
prod1 wait2 fbuff

p1

r2
wait1 cons2 ebuff

wait1 wait2 fbuff

explcita de independencia secuencial de acciones:

rc2

rp1; r2 = rp1; r2

rp1
prod1 cons2 ebuff

Buffer de capacidad 10, 100, 1000? Varios productores y consumidores?

r2 p1

15

rc2

wait1 cons2 fbuff

Modelado: Productor-consumidor
Statechart

prod

ebuff

wait

rp

prod [in Buffer.ebuff]


wait

read
fbuff

prod

rc

read [in Buffer.fbuffer]


cons

Productor

Buffer

Consumidor

Representacin basada en

16

estado (Statechart).

Modelado: Productor-consumidor
Programacin de eventos: Grafo de eventos
[5, 10]
waiting for empty

[1, 1]
Ready to Produce

buffer==0

{buffer=1}
produce

buffer==1

[5, 10]

Representacin basada en
Init

eventos (event scheduling)

{buffer=0}
waiting for full

[5, 10]
[1, 1] Ready to
consume consume

buffer==1

{buffer=0}

17

buffer==0

[5, 10]

Modelado: Productor-consumidor
Interaccin de procesos: GPSS
5, 10
CONSQ

* Producer consumer GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE 5, 10 CONSQ CONSUMER CONSQ 5, 10 CONSUMER 1 Create token Queue for Consumer Get the consumer Leave queue Consume Free Consumer Count tokens

CONSUMER CONSQ

5, 10

CONSUMER

START END

1000

Run 1000 tokens

18

Modelado: Productor-consumidor
lgebra de procesos

producer = p.rp.producer consumer = rc.r.consumer buffer = p.r.buffer (producer||consumer||buffer)\{p, r, p, r}


Representacin basada en
acciones (lgebra procesos. Milner) de

19

Modelado: Productor-consumidor
Redes de Petri
empty
prod Ready Produce deliver read cons Ready consume

wait
full

wait

Representacin mediante
Redes de Petri

20

Modelado: Productor-consumidor. 2 Consumidores.


empty prod Ready Produce deliver cons1 Ready consume1 wait1 cons2 Ready consume2 wait2

read1

wait
full

read2

21

Modelado: Productor-consumidor. Capacidad 100.


empty prod Ready Produce deliver
100

read1

cons1 Ready consume1 wait1 cons2 Ready consume2 wait2

wait
full

read2

22

Modelado: Productor-consumidor. Con tiempo.


empty prod cons deliver read =1

=9
Ready Produce =1

Ready consume =8 wait

wait
full

Representacin mediante
Redes de Petri con tiempo.

23

Modelado: Productor consumidor con contador. Redes Coloreadas


1(0,hola) CPCK
1(0, null)

prod CPCK
(m, packet+str(m)) (m,packet)

full

cons CPCK
(x, packet) (n+1,packet)
(n,packet)

Ready Produce
(m, packet)

deliver
(m+1, packet)

read
1(0) empty

Ready consume
n
n

wait
CPCK

X+1

wait
int

int

Declarations:

24

Type PCK = String. Type CPCK = int x String Var m, n, x : int Var packet: String

Representacin mediante
Redes de Petri coloreadas (de Alto Nivel).

ndice

Estructura del curso. Modelado y Simulacin. Redes de Petri. Introduccin Bibliografa.

25

Redes de Petri. Definicin


Herramienta para la descripcin y estudio de sistemas discretos mediante grafos Las redes de Petri pueden representar sistemas:

Concurrentes Sncronos y asncronos Distribuidos, paralelos y secunciales No deterministas Estocsticos Comparticin de recursos

C.A. Petri a principios de los 60

26

Redes de Petri. Definicin

Las redes de Petri son una herramienta de modelado:

Grfica:

H2 O2

2 H2O

Matemtica: Permite analizar las propiedades de un sistema asociado al modelo:


27

Grafos de alcanzabilidad y cubrimiento. Tcnicas lineales algebraicas. Caractersticas Estructurales. Reduccin.

Redes de Petri. Restaurante

-Comparticin de recursos -No determinismo


Servir Cliente Pedir Cliente espera Cliente come

A cocina

Fin prep.

Camarero libre

Comanda

En preparacin

Plato listo

Se desincroniza

Sincronizacin

Sincronizacin Procesos paralelos

Proceso secuencial

Redes de Petri. Extensiones.

Redes de Petri con tiempo determinista o estocstico

Permiten analizar

Rendimientos de sistemas: Llamadas medias a modulos Scheduling Modelar servidores: tiempos de respuestas

Redes de Petri coloreadas: Manejan tipos de datos

Diseo de grandes sistemas de software

29

Redes de Petri. Aplicaciones.


Protocolos de comunicacin Anlisis de rendimientos de sistemas Diseo de software distribuido Sistemas de control industrial Sistemas multiprocesador Modelos de decisin Circuitos etc.

30

ndice

Estructura del curso. Modelado y Simulacin. Redes de Petri. Introduccin Bibliografa.

31

Bibliografa

Peterson, J.L. 1981. Petri Net Theory and the Modeling of Systems. Prentice-Hall, INC., Englewood Cliffs, N.J. (General). Murata, T. 1989. Petri Nets: Properties, Analysis and Applications. Proceedings of the IEE, Vol. 77(4). Pp.: 541-580. (General) Jensen, K. Coloured Petri nets basic concepts, analysis methods and practical use. Monographs in Theoretical Computer Science, SpringerVerlag, 1997. (Redes de Petri Coloreadas). Petri Nets world: http://www.daimi.au.dk/PetriNets/ Reisig, W., Rozenberg, G., Desel, J., Jensen, K., Silva, M., Balbo, G. Introductory Tutorial at PetriNets2000.

32

También podría gustarte