M - PowerPoint PPT Presentation

About This Presentation
Title:

M

Description:

Title: Redes de Petri Author: us Last modified by: afunes Created Date: 4/4/2005 10:53:17 PM Document presentation format: Presentaci n en pantalla – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 82
Provided by: US52110
Category:
Tags: redes

less

Transcript and Presenter's Notes

Title: M


1
Máquinas de estados finitos
2
Características
  • Simple
  • Formal
  • Operacional
  • Número finito de estados

3
Definición
  • Una máquina de estados finitos M consiste de
  • Un conjunto finito de estados, Q
  • Un conjunto finito de entradas, I
  • Una función de transición d Q ? I ? Q.
  • d puede ser una función parcial

4
Representación gráfica
  • Grafo
  • nodos representan los estados
  • un arco rotulado i va del estado q a q si y sólo
    si d(q, i) q.

Q q0, q1, q2, q3 I a, b, c d(q0, a)
q1 d(q1, a) q2 d(q1, b) q3 d(q2, b)
q3 d(q3, c) q0
5
Modelado con una MEF
MEF que modela el switch de una lámpara
6
Modelado con una MEF
  • Una planta química.
  • Los niveles de temperatura y de presión deben ser
    monitoreados por razones de seguridad. Se han
    instalado sensores para generar señales adecuadas
    cuando alguno de dichos niveles excede un valor
    predefinido.
  • Política trivial cuando alguna de las señales es
    originada por el correspondiente sensor, el
    sistema de control apaga la planta y emite una
    señal de alarma el sistema es re-iniciado
    manualmente cuando la causa de la falla ha sido
    corregida.

7
Modelado con una MEF
8
Modelado con una MEF
  • Cuando se origina alguna de las dos señales, se
    invoca automáticamente una acción de
    recuperación (existe una acción de temperatura
    y una acción de presión).

9
Modelado con una MEF
  • Si, después de un rato, la acción de recuperación
    tiene éxito, el sistema es automáticamente
    re-inicializado al estado normal y un mensaje
    de todo OK es emitido.

10
Modelado con una MEF
  • Si la recuperación no tiene éxito, la señal de
    alarma debe ser lanzada y la planta debe ser
    apagada.

11
Modelado con una MEF
  • El sistema debe también ser apagado si se está
    tratando de recuperar de algún tipo de
    anormalidad (de temperatura o presión) y la otra
    señal aparece.

12
Limitaciones de las MEF
  • Limitación Número finito de estados.
  • Soluciones
  • No describir todos los detalles del sistema.
  • Cambiar de herramienta de modelado.
  • Enriquecer la notación.

13
Limitaciones de las MEF
  • Sistema productor-consumidor
  • Un proceso productor produce mensajes y los graba
    en un buffer.
  • Un proceso consumidor lee mensajes y los saca de
    dicho buffer (consume).
  • Si el buffer está lleno, el productor debe
    esperar hasta que el consumidor lo haya vaciado.
  • Si el buffer está vacío, el consumidor debe
    esperar hasta que el productor coloque un mensaje
    en el buffer.

14
DTE - Una primera aproximación
(a) proceso productor (b) proceso consumidor
(c) buffer. Suponemos un buffer con capacidad
para 1 mensaje.
15
DTE para Productor-Consumidor
16
DTE para Productor-Consumidor
17
DTE para Productor-Consumidor
18
DTE para Productor-Consumidor
19
DTE para Productor-Consumidor
20
DTE para Productor-Consumidor
21
DTE para Productor-Consumidor
22
DTE para Productor-Consumidor
23
DTE para Productor-Consumidor
24
Problemas en el modelo
  • Tamaño n subsistemas cada uno con ki estados,
    sistema resultante k1? k2 ? ... ? kn estados.
  • Modelo sincrónico.
  • El sistema está siempre en un único estado y
    ejecuta exactamente una única acción en cada
    instante de tiempo, sin embargo por ej. no hay
    razón para imponer tal serialización entre la
    acción produce y la acción consume (las
    transiciones deberían ocurrir asincrónicamente).

25
Introducción a las Redes de Petri
26
Redes de Petri
  • Notación formal, operacional, gráfica.
  • Sistemas asincrónicos y concurrentes.

27
Redes de Petri - Definición
  • Una Red de Petri es un multigrafo bipartito
    dirigido representado por una cuádrupla PN ltP,
    T, I, Ogt
  • donde
  • P p1, p2, ..., pn conjunto finito de lugares
    (places), n ? 0
  • T t1, t2, ..., tm conjunto finito de
    transiciones, m ? 0
  • I T ? P? P? denota los multisets o bolsas de
    P.
  • pi ? I(tj) si existe un arco de pi a tj
  • O T ? P?
  • pi ? O(tj) si existe un arco de tj a pi

28
Ejemplo 1
p1
p2
P p1, p2, p3, p4, p5, p6, p7 T t1, t2, t3,
t4, t5, t6 I(t1) p1 O(t1) p4 I(t2)
p2 O(t2) p5 I(t3) p3, p4 O(t3)
p6 I(t4) p3, p5 O(t4) p7 I(t5) p6
O(t5) p1, p3 I(t6) p7 O(t6) p2, p3
t1
t2
p3
p4
p4
p5
t3
t4
p6
p7
t5
t6
29
Ejemplo 2
P p1, p2 T t1 I(t1) p1, p1 O(t1)
p2, p2, p2
30
  • Si un arco va desde un place a una transición, al
    place se lo llama input place (lugar de entrada)
    de la transición.
  • Si un arco va desde una transición a un place, al
    place se lo llama output place (lugar de salida)
    de la transición.

31
Redes de Petri Marcación y ejecución
  • Una red de Petri recibe su estado marcando sus
    places.
  • Una marcación (marking) consiste en asignar un
    número entero no negativo de tokens a cada place.
  • En las redes tradicionales de Petri los tokens
    son indistinguibles y no representan información
    específica.

32
Ejemplo de red marcada
P p1, p2 T t1 I(t1) p1, p1 O(t1)
p2, p2, p2
33
Marcación
  • Una marcación de una Red de Petri
  • PN ltP, T, I, Ogt es una función
  • ? P ? 0, 1, 2, ...
  • que asigna un número entero no negativo de tokens
    a cada place de la red.

34
Marcación
  • Una marcación puede representarse como un vector
    de dimensión n (n es el número de lugares de la
    red).

?(p1) 2 ?(p2) 0 ? (2,0)
35
Red de Petri marcada
  • Una Red de Petri marcada
  • M ltPN, ?gt
  • es un una estructura de Red de Petri
  • PN ltP, T, I, Ogt y un marking ?.

36
p1
p2

P p1, p2, p3, p4, p5, p6, p7 T t1, t2, t3,
t4, t5, t6 I(t1) p1 O(t1) p4 I(t2)
p2 O(t2) p5 I(t3) p3, p4 O(t3)
p6 I(t4) p3, p5 O(t4) p7 I(t5) p6
O(t5) p1, p3 I(t6) p7 O(t6) p2,
p3 ? (1, 1, 1, 0, 0, 0, 0)

t1
t2
p3
p4
p5

t3
t4
p6
p7
t5
t6
37
Ejecución de una Red de Petri
  • Durante la ejecución de la red el número y
    posición de los tokens puede variar dando lugar a
    una nueva marcación.
  • Cada marcación corresponde a un estado de la red.

38
Reglas de Ejecución
  1. Una transición puede disparar si está habilitada.
  2. Una transición está habilitada si en cada uno de
    sus input places existen al menos tantos tokens
    como arcos existan desde el place a la transición.

39
Reglas de Ejecución
  1. Cuando una transición dispara, en cada uno de sus
    input places se remueven tantos tokens como arcos
    existan desde el input place hacia la transición,
    y en cada uno de los output places de la
    transición se insertan tantos tokens como arcos
    existan desde la transición al output place.

40
Reglas de Ejecución
  • Formalmente, una transición t ? T está habilitada
    en una red de Petri PN ltP, T, I, Ogt sii
  • ?p ? I(t) ?(p) ? (p, I(t))
  • donde
  • (p, I(t)) es el número de arcos desde p a t.

41
Reglas de Ejecución
  • Formalmente, el disparo de una transición t ? T
    con un marking ? resulta en un nuevo marking ?
    definido por
  • ?p ? P ?(p) ?(p) ? (p, I(t)) (p, O(t))
  • donde
  • (p, I(t)) es el número de arcos desde p a t.
  • (p, O(t)) es el número de arcos desde t a p.

42
Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0)
t1 y t2 están habilitadas.
43
Ejecución de una Red de Petri
p1
p2

?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0)
t1
t2
p3
p4
p5

  • secuencia de disparos (t1)
  • t2 y t3 quedaron habilitadas.

t3
t4
p6
p7
t5
t6
44
Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0)
t1
t2
p3
p4
p5



t3
t4
  • secuencia de disparos (t1,t2)
  • t3 y t4 quedaron habilitadas.

p6
p7
t5
t6
45
Ejecución de una Red de Petri
p1
p2
?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0) ?3 (0, 0, 0,
1, 0, 0, 1)
t1
t2
p3
p4
p5

t3
t4
p6
p7
  • secuencia de disparos (t1,t2,t4)
  • t6 quedó habilitada.


t5
t6
46
Ejecución de una Red de Petri
p1
p2

?0 (1, 1, 1, 0, 0, 0, 0) ?1 (0, 1, 1, 1, 0,
0, 0) ?2 (0, 0, 1, 1, 1, 0, 0) ?3 (0, 0, 0,
1, 0, 0, 1) ?4 (0, 1, 1, 1, 0, 0, 0)
t1
t2
p3
p4
p5


t3
t4
p6
p7
  • secuencia de disparos (t1,t2,t4,t6)
  • t2 y t3 quedaron habilitadas. ...

t5
t6
47
Ejecución de la Red de Petri
  • La secuencia de disparos dada es una de las
    posibles secuencias, no la única.
  • El modelo es no determinístico, en el sentido que
    dado un marking inicial ?0 distintas evoluciones
    de la red son posibles.

48
Ejecución de una Red de Petri
t1 siempre habilitada
49
Modelado con Redes de Petri
  • Una transición, usualmente, modela un evento o
    acción.
  • El disparo de la transición representa la
    ocurrencia de tal evento o la ejecución de la
    acción.
  • Una transición está habilitada, si se satisfacen
    las condiciones necesarias para la ocurrencia de
    tal evento o acción.
  • La presencia de tokens en los input places
    modelan tales condiciones.

50
Modelado con Redes de Petri
p1
p2


Eventos del proceso 1
t1
t2
p3
p4
p5

t1 proceso 1 solicita recurso t3 proceso 1
toma recurso t5 proceso 1 libera recurso
t3
t4
p6
p7
t5
t6
51
Modelado con Redes de Petri
p1
p2


Eventos del proceso 2
t1
t2
p3
p4
p5

t2 proceso 2 solicita recurso t4 proceso 2
toma recurso t6 proceso 2 libera recurso
t3
t4
p6
p7
t5
t6
52
Modelado con Redes de Petri
p1
p2


t1
t2
p3
p4
p5

p3 representa la disponibilidad o no de un
recurso.
t3
t4
p6
p7
t5
t6
53
Modelado con Redes de PetriTransiciones
concurrentes
p1
p2


t1
t1 y t2 habilitadas y el disparo de una no
deshabilita la otra gt concurrentes
t2
p3
p4
p5

t3
t4
p6
p7
t5
t6
54
Modelado con Redes de PetriTransiciones en
conflicto
p1
p2
t1
t2
t3 y t4 habilitadas y el disparo de una
deshabilita la otra gt en conflicto
p3
p4
p5



t3
t4
p6
p7
t5
t6
55
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2)
t1
t2
p3
p4
p5


t3
t4
p6
p7
t5
t6
56
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2,t4)
t1
t2
p3
p4
p5
t3
t4
p6
p7

t5
t6
57
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2,t4,t6)

t1
t2
p3
p4
p5

t3
t4
p6
p7
t5
t6
58
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2,t4,t6,t2)
t1
t2
p3
p4
p5


t3
t4
p6
p7
t5
t6
59
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2,t4,t6,t2,t4)
t1
t2
p3
p4
p5
t3
t4
p6
p7

t5
t6
60
Modelado con Redes de PetriStarvation
p1
p2

secuencia de disparos (t2,t4,t6,t2,t4,t6,...) ? s
tarvation de proceso 1

t1
t2
p3
p4
p5

t3
t4
p6
p7
t5
t6
61
Modelado con Redes de PetriDeadlock
t1 proc1 solicita ambos recursos t3 proc1 toma
un recurso t3 proc1 toma otro recurso t5
proc1 libera ambos recursos t2 proc2 solicta
ambos recursos t4 proc2 toma un recurso t4
proc2 toma otro recurso t6 proc2 libera ambos
recursos
62
Modelado con Redes de PetriUna posible ejecución
sin deadlock
secuencia de disparos (t1)
63
Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2

p3
t1
t2
secuencia de disparos (t1, t3)
p4
p5

t4
t3
p6
p7

t3
t4
p8
p9
t5
t6
64
Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2

p3
t1
t2
secuencia de disparos (t1, t3, t3)
p4
p5
t4
t3
p6
p7
t3
t4
p8
p9

t5
t6
65
Modelado con Redes de PetriUna posible ejecución
sin deadlock
p1
p2


p3
t1
t2
secuencia de disparos (t1, t3, t3, t5)
p4
p5

t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
66
Modelado con Redes de PetriUna posible ejecución
con deadlock
secuencia de disparos (t1)
67
Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2)
p4
p5



t4
t3
p6
p7
t3
t4
p8
p9
t5
t6
68
Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2, t3)
p4
p5


t4
t3
p6
p7

t3
t4
p8
p9
t5
t6
69
Modelado con Redes de PetriUna posible ejecución
con deadlock
p1
p2
p3
t1
t2
secuencia de disparos (t1, t2, t3,
t4) deadlock (ninguno de los procesos puede
continuar)
p4
p5

t4
t3
p6
p7


t3
t4
p8
p9
t5
t6
70
DTE para Productor-ConsumidorPrimera aproximación
(a) proceso productor (b) proceso consumidor
(c) buffer. Suponemos un buffer con capacidad
para 1 mensaje.
71
PN para Productor-ConsumidorPrimera aproximación
write
p1
p2


1
produce
72
DTE para Productor-Consumidor
73
PN para Productor-Consumidor
74
Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
  • Limitación los tokens son anónimos.
  • p.e. la presencia de un token en un place puede
    denotar la presencia de un mensaje en un buffer
    pero no lo que el mensaje dice.
  • Extensión asignación de valores a tokens más
    asociación de predicados y acciones a las
    transiciones.

75
  • t1 habilitada tuplas ready (3,7) (3,4)
  • elecciones no determinísticas
  • t2 habilitada tuplas ready (4, 4)

76
p2
p1
1
p3
4
4
p2 p3 p4p3-p2 p5 p2p3
p1 lt p2 p4p2p1
t1
t2
p5
p4
10
sec. de disparos (t1) t1 deshabilitada. t2
habilitada tuplas ready (4, 4)
77
p2
p1
1
p3
p2 p3 p4p3-p2 p5 p2p3
p1 lt p2 p4p2p1
t1
t2
p5
p4
10
8
0
sec. de disparos (t1, t2)
78
Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
  • Limitación no se pueden fijar políticas de
    selección cuando varias transiciones están
    habilitadas.
  • Extensión asignación estática o dinámica de
    prioridades a las transiciones.

79
t1 y t2 habilitadas, dispara t2 porque tiene
mayor prioridad.
80
Limitaciones de las Redes de Petri tradicionales
y algunas extensiones
  • Limitación Problemas con el manejo del tiempo.
  • p.e. un proceso envía mensajes a una cierta
    velocidad. Estos son colocados en un buffer y
    procesados. Si un mensaje no es tomado del buffer
    antes del arribo del próximo, es sobrescrito por
    el nuevo.
  • Extensiones Redes de Petri con tiempo donde a
    cada transición se le asocia un par lttmin, tmaxgt
    que indica el intervalo de tiempo dentro del cual
    debe disparar.

81
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com