29
1 Notas: J.M. Drake PROGRAMACION CONCURRENTE Y DISTRIBUIDA V.1 Redes de Petri: Descripción de sistemas concurrentes.

PROGRAMACION CONCURRENTE Y DISTRIBUIDA · encuentren en el extremo derecho. 1 2 34 5 MAC B 67 l2 l1 r2 r1 l 1, l 2 r, r2 D A C D B C A 4 Notas: Procodis’08: V.1- Descripción por

Embed Size (px)

Citation preview

1

Notas:

J.M. Drake

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

V.1 Redes de Petri: Descripción de sistemas concurrentes.

2

Notas:

2Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Redes de Petri

Las redes de Petri (PN) (C.A. Petri, 1962) son una herramienta de modelado muy efectiva para la representación y el análisis de procesos concurrentes.Su éxito se debe básicamente a la simplicidad de su mecanismo básico, si bien, la representación de grandes sistemas es costosa.Numerosos autores han extendido el modelo básico:

Redes de Petri Temporizadas o Timed Petri Nets: Introduciendo el concepto de tiempo, para modelar el comportamiento temporal de los sistemas dinámicos.Red de Petri Estocástica (Stochastic Petri Net, SPN): Se especifica el comportamiento temporal con variables aleatorias exponenciales. Son isomorficas a las cadenas de Markov. Tienen mayor capacidad que la Teoría de ColasRed de Petri Coloreada (CPN): A los testigo se le añade atributos que se denominan color. Permiten modelar sistemas concurrentes descritos mediante flujos de datos.

3

Notas:

3Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Diagramas de estados

C

M

A B

D

l r1 1

l r22

T

T

1

2

Los diagramas de estados es elmétodo mas usado para analizarsistemas dinámicos.

Autómatas: Al pulsar M ambos carros se desplazan a la derecha. El regreso lo hacen simultáneamente cuando ambos carros se encuentren en el extremo derecho.

1

2

3 4

5

MAC

B

6 7l1l2

r 2 r 1

l 1 l 2,

r 1 r 2,

D

A C

D B

AC

4

Notas:

4Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Diagramas de estados y sistemas concurrentes

El espacios de estados se hacemuy complejo cuando se tratansistemas concurrentes.- Para N carros: 2N+1-1 estados- Son pocos flexibles, Cambios de laespecificación implica cambiosdrásticos del modelo

Se requieren otros métodos formales,por ejemplo Redes de Petri

A C E

13 14 15

C E A E A C

r1r2r3

l1l2l3

A C E

10 11 12

9

1

2

B FD

3 4 5

D F F DB B

6 7 8

F D B

MACE

l2 , l 3 l1 , l 3 l1 , l 2

l1 , l 2 , l 3

r2 , r 3 r1 , r 3 r1 , r 2

r1 , r2 , r 3

5

Notas:

5Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Redes de Petri

Una red de Petri (RdP) es un grafo orientado con dos clases de nodos: lugares (circunferencias) y transiciones (barras). Los arcos unen un lugar con una transición o viceversa.Un lugar pude contener un número positivo o nulo de marcas. Distribución de marcas en los lugares, marcado → estado de la RdP.Se asocian entradas y salidas a lugares y transiciones p.e.:

salida → lugar marcadoentrada → transición

p3

p2

t2 t

3

t4

p5

p4

t1

p1

6

Notas:

6Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Evolución de una RdP

Una transición está sensibilizada si todos sus lugares de entrada están marcadosTransición sensibilizada => puede dispararDisparo => evolución del estado: Retirada de una marca de cada lugar de entrada, depósito de una marca en cada lugar de salida

t 3t 2t1

t1 t 2 t 3

7

Notas:

7Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modelos de los problemas de carros

B

r1

D

r2

A

l1

C

l2

M

2 carros

r

B

1

D

r2

A

l1

C

l2

F

r3

E

l3

M

3 carros

8

Notas:

8Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Formalización de las RdP

Red de Petri (RdP): es una cuádrupla R = {P, T, α, β} tal queP es un conjunto finito y no vacío de lugaresT es un conjunto finito y no vacío de transicionesP ∩ T = Øα:P x T → N es la función de incidencia previaβ:T x P → N es la función de incidencia posterior

RdP marcada: es un par {R, Mo}, donde R es una RdP y Moes un marcado inicial.

Marcado actual: M={m1, m2, m3, ..., mn}Marcado inicial: Mo={mo1, mo2, mo3, ..., mon}

9

Notas:

9Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Representación gráficaArco de pi a tj ⇔ α(pi,tj) ≠ 0Arco de tk a pi ⇔ β(tk,pi) ≠ 0Arcos etiquetados con un peso = α(pi,tj) ó β(tk,pi)

p3

p2 t

2

t3

p4

t1

p1

2

2

Representación matricialMatriz de incidencia previa: C− = [cij

−] donde cij− = α(pi,tj)

Matriz de incidencia posterior: C+

= [cij+] donde cij

+ = β(tj,pi)Matriz de incidencia: C = C+ - C-

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

−−

=

210012101

101

4

3

2

1

pppp

C

10

Notas:

10Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Representación matricial de una red de Petri

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

0010000010000010100110000

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

1000011000001000001000001

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−−

−−

1010011010

001010101110001

C+

Matriz incidencia posterior

C-

Matriz incidencia previa

C=C+-C-

Matriz incidencia

11

Notas:

11Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Cálculo de la evolución con RdP

CUMM ii +=+1

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−−

−−

+

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

00110

00001

1010011010

001010101110001

00001

1M

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

=

00001

1U Se dispara t1

12

Notas:

12Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Clasificación de RdP

• RdP ordinaria: sus funciones de incidencia sólo pueden tomar los valores 0 y 1:α(p,t) ∈ {0,1}, β(t,p) ∈ {0,1}

Grafo de Estados (GE): ∀t∈T |•t| = 1 y |t•| = 1Toda transición tiene una unica plaza de entrada y una única plazade salida

Grafo Marcado (GM): ∀p∈P |•p| = 1 y |p•| = 1

Todo lugar tiene como máximo una transición de entrada y una transición de salida

RdP Libre Elección (RLE): ∀p∈P, |p•| > 1 => ∀tk∈p•, |•tk| = 1Si ti y tj tienen una plaza de entrada común, esta es la única plazade ambas transiciones.

RdP Simple (RS):Cualquier transición tiene como máximo una única plaza de entrada compartida con otras transiciones.

13

Notas:

13Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Clasificación RdP

GMGE

RLERS

RdP Ordinaria

RdP Generalizada

RdP generalizada (RdPG): las funciones de incidencia pueden tomar valores en todos los números naturales => arcos con peso

RdP binaria: M(p) ≤ 1 ∀p∈P

RdP con arcos inhibidores: t1 t1

t1 habilitada t1 no habilitada

14

Notas:

14Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modelo de representación

abcevento

s

señal

set(s)

a b c

abc

a b c

---- ---- ---- w ---- ----

Entradas:(eventos discretos, condiciones lógicas externas),

Salidas: (eventos discretos, salidas a nivel),Código asociado a las transiciones.

Acc. impulsionales asociadas a transiciones=> disparo instantáneo

Código/actividades en transiciones => disparo no instantáneo

15

Notas:

15Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modos fundamentalesEjecución secuencial

Ejecución concurrente

16

Notas:

16Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modelo de Productor-Consumidor

P1: Dispuesto a producirT1: Produce elementoP2: Dispuesto a entregar T2: Entrega elementoP3: Dispuesto a recibirT3: Recibe elementoP4: Dispuesto a consumirT4: Consume elementoP5: Buffer

17

Notas:

17Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modelo Productor-Consumidor con buffer limitado

P1: Dispuesto a producirT1: Produce elementoP2: Dispuesto a entregar T2: Entrega elementoP3: Dispuesto a recibirT3: Recibe elementoP4: Dispuesto a consumirT4: Consume elementoP5: Elementos transferidosP6: Huecos disponibles

18

Notas:

18Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Modelo Productor-Consumidor: 2 prod.x2 cons.

Productor 1

Productor 2

Consumidor 1

Consumidor 2

19

Notas:

19Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Exclusión mútua

20

Notas:

20Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Exclusión mutua con prioridad

21

Notas:

21Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Filósofos chinos

Come

Piensa

22

Notas:

22Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Ejemplo modelado: Carros con vía común

BM

L

L

WA

G

U

A

B

A

A

A

lr

WB

B

BrBlMA

M U

Dos carros A y B transportan cierto material desde los puntos de carga LA y LB, respectivamente, hasta el punto de descarga D. Los diferentes movimientos son controlados mediante las señales lA, lB, rA, rB. Si A está en LA y el pulsador MAestá oprimido, comienza un ciclo LA-U-LA:

- Espera eventual en WA hasta que la zona común a los dos carros esté libre, con el finde evitar colisiones;

- Espera obligatoria en U hasta MU (pulsador de fin de descarga).El carro B tiene un funcionamiento similar pero, en caso de demanda simultánea de la víacomún, B es prioritario. El recorrido WA-U o WB-U se establece por un cambio de agujascontrolado por la acción G.

23

Notas:

23Procodis’08: V.1- Descripción por redes de Petri José M.Drake

RdP: Carros con vía común

15

53

L L

W W

l

l

A

A

B

G

U

Al

A

B

Bl

B

W B

,G

, G

Ar Br

4

7

14

9

11

1312

10

8

6

1 2

MA M B

Ar Br

WA BW

U

MUMU

Transiciones => entradas de sensores

Lugares => señales de salida

BM

L

L

WA

G

U

A

B

A

A

A

lr

WB

B

BrBlMA

MU

24

Notas:

24Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Ejemplo modelo: Lectores y escritores

Dos conjuntos de usuarios (lectores y redactores) tienen que coordinarse para acceder a unos datos comunes:

los lectores sólo inspeccionan, y por lo tanto pueden acceder simultáneamente a los datoslos redactores actualizan los datos y su trabajo debe estar en exclusión mutua con el resto de usuarios

Cada usuario puede estar en uno de los siguientes estados: activo, espera y reposo.

25

Notas:

25Procodis’08: V.1- Descripción por redes de Petri José M.Drake

RdP: Modelo de lectores y escritores (2L y 2E)

X X1 2

RL 1

DL1

1EL

CL 1

AL 1

FL 1

2

2

2

2

2

2

RR 1

DR 1

ER 1

CR 1

AR 1

FR 1

2

2

2

2

2

2

RL

DL

EL

CL

AL

FL

RR

DR

ER

CR

AR

FR

1ª letra: R = reposo 2ª letra: Li = i-ésimo lectorE = espera Rj = j-ésimo redactorA = activoD = demanda de recursoC = comienzo operaciónF = fin de operación

26

Notas:

26Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Ejemplo Modelo: Transmisión datos

Se desea diseñar un sistema de transmisión de datos con las siguientes características:- El sistema recibe datos (8 bits) de un puerto paralelo (p.e. PORTCL del 68HC11con handshake)

- Cada dato es procesado e introducido en un buffer con capacidad para 8 datos- Los datos son sacados del buffer con política FIFO y enviados por línea serie (SCI)

mediante un sencillo protocolo con reenvío

STRB

STRA

PORTCL

SCI

T

ACK/NACKDATO

27

Notas:

27Procodis’08: V.1- Descripción por redes de Petri José M.Drake

RdP: Transmisión datos

P1

P2

P3

P4

C1

C2

C3

C4

C5

MUTEX

H

O

TP1

TP2

TP3

TP4

TC1

TC2

TC3

TC4

TC51 TC52

leer()

procesar()

meter()

sacar()

enviar()

llegada_dato

llegada_caracter

ACKNACK

28

Notas:

28Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Ecuación de estado

Transición sensibilizada: Una transición t ∈ T está sensibilizada por el marcado M ⇔ cada uno de sus lugares de entrada posee al menos α(p,t) marcas. Es decir, se exige que ∀p ∈ • t M(p) ≥ α(p,t). Disparo de un transición: Disparar una transición sensibilizada es la operación que consiste en eliminar α(p,t) marcas de cada lugar de entrada y añadir β(t,p) marcas a cada lugar de salida. Es decir al disparar t se obtiene:

y se representa

Secuencia de disparos:

Vector característico de una secuencia

PptpptpMpM ij ∈∀−+= ),(),()()( αβ

] ji MtM >

] ] ]] qrji

qrji

MMttt

MtMtMtM

>→=

>>>

σσ 0

210

...

...

σ (σ i = nº de apariciones de ti en σ )

29

Notas:

29Procodis’08: V.1- Descripción por redes de Petri José M.Drake

Ecuación de estado

Mk → marcado obtenido en el k-ésimo disparoUk → vector cuyas componentes son nulas salvo la i-ésima si ti es la transición disparada en k-ésimo lugar

Uk i( ) = 1,Uk j( ) = 0,∀j ≠ i

Mk = Mk−1 + CUk =

= Mk−2 + C Uk−1 + Uk( )=

= Mk−3 + C Uk−2 + Uk−1 +Uk( )=...=

= M0 + C Ujj=1

k

∑ = M0 + Cσ

p3

p2 t

2

t3

p4

t1

p1

2

2

p3

p2 t

2

t3

p4

t1

p1

2

2

σ

σ = t1t2t2

σ =120

⎜ ⎜ ⎜

⎟ ⎟ ⎟