12.07.2015 Views

Redes de Petri - CTR

Redes de Petri - CTR

Redes de Petri - CTR

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PROGRAMACION CONCURRENTE YDISTRIBUIDAV.1 <strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong>: Descripción <strong>de</strong> sistemas concurrentes.J.M. DrakeNotas:1


<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong>Las re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong> (PN) (C.A. <strong>Petri</strong>, 1962) son una herramienta <strong>de</strong>mo<strong>de</strong>lado muy efectiva para la representación y el análisis <strong>de</strong> procesosconcurrentes.Su éxito se <strong>de</strong>be básicamente a la simplicidad <strong>de</strong> su mecanismo básico, sibien, la representación <strong>de</strong> gran<strong>de</strong>s sistemas es costosa.Numerosos autores han extendido el mo<strong>de</strong>lo básico:• <strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong> Temporizadas o Timed <strong>Petri</strong> Nets: Introduciendo el concepto<strong>de</strong> tiempo, para mo<strong>de</strong>lar el comportamiento temporal <strong>de</strong> los sistemasdinámicos.• Red <strong>de</strong> <strong>Petri</strong> Estocástica (Stochastic <strong>Petri</strong> Net, SPN): Se especifica elcomportamiento temporal con variables aleatorias exponenciales. Sonisomorficas a las ca<strong>de</strong>nas <strong>de</strong> Markov. Tienen mayor capacidad que la Teoría<strong>de</strong> Colas• Red <strong>de</strong> <strong>Petri</strong> Coloreada (CPN): A los testigo se le aña<strong>de</strong> atributos que se<strong>de</strong>nominan color. Permiten mo<strong>de</strong>lar sistemas concurrentes <strong>de</strong>scritos medianteflujos <strong>de</strong> datos.Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake2Notas:2


Diagramas <strong>de</strong> estadosLos diagramas <strong>de</strong> estados es elmétodo mas usado para analizarsistemas dinámicos.MAlr1 1T12l r 2BCT2DAutómatas:Al pulsar M ambos carros se<strong>de</strong>splazan a la <strong>de</strong>recha. El regresolo hacen simultáneamentecuando ambos carros seencuentren en el extremo <strong>de</strong>recho.CBDr 2 3 4 r 1DB125MACr 1 , r 2l 1 , l 2AAC6 7l 2l 1Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake3Notas:3


Diagramas <strong>de</strong> estados y sistemas concurrentesEl espacios <strong>de</strong> estados se hacemuy complejo cuando se tratansistemas concurrentes.- Para N carros: 2 N+1 -1 estados- Son pocos flexibles, Cambios <strong>de</strong> laespecificación implica cambiosdrásticos <strong>de</strong>l mo<strong>de</strong>loSe requieren otros métodos formales,por ejemplo <strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong>B6 7 r 82F D B9 l 1 , l , l 3l , l l 1 , l l 1 , lr 32 323 2l 1A C E10 11 12C E A E A C13 l14 l 153 212DMACEr 1, r 2, r 3r 2, r 3r 1, r 3 r 1, r 23 4 5D F B F B DFr 1A C EProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake4Notas:4


<strong>Re<strong>de</strong>s</strong> <strong>de</strong> <strong>Petri</strong>Una red <strong>de</strong> <strong>Petri</strong> (RdP) es un grafoorientado con dos clases <strong>de</strong> nodos:lugares (circunferencias) ytransiciones (barras). Los arcos unenun lugar con una transición oviceversa.Un lugar pu<strong>de</strong> contener un númeropositivo o nulo <strong>de</strong> marcas.Distribución <strong>de</strong> marcas en loslugares, marcado → estado <strong>de</strong> laRdP.Se asocian entradas y salidas alugares y transiciones p.e.:• salida → lugar marcado• entrada → transiciónp 1p 2p 3t 2t 3p 4t 1t 4p 5Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake5Notas:5


Evolución <strong>de</strong> una RdPUna transición está sensibilizada si todos sus lugares <strong>de</strong> entrada estánmarcadosTransición sensibilizada => pue<strong>de</strong> dispararDisparo => evolución <strong>de</strong>l estado: Retirada <strong>de</strong> una marca <strong>de</strong> cada lugar <strong>de</strong>entrada, <strong>de</strong>pósito <strong>de</strong> una marca en cada lugar <strong>de</strong> salidat 1t 1t 2t 3t 2t 3Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake6Notas:6


Mo<strong>de</strong>los <strong>de</strong> los problemas <strong>de</strong> carrosr 1r 2r1r 2r 3BDBDFl 1l 2l 1l 2l 3ACACEMM2 carrosProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake3 carros7Notas:7


Formalización <strong>de</strong> las RdPRed <strong>de</strong> <strong>Petri</strong> (RdP): es una cuádrupla R = {P, T, α, β} tal que• P es un conjunto finito y no vacío <strong>de</strong> lugares• T es un conjunto finito y no vacío <strong>de</strong> transiciones• P ∩ T = Ø• α:P x T → N es la función <strong>de</strong> inci<strong>de</strong>ncia previa• β:T x P → N es la función <strong>de</strong> inci<strong>de</strong>ncia posteriorRdP marcada: es un par {R, M o }, don<strong>de</strong> R es una RdP y M oes un marcado inicial.Marcado actual: M={m 1 , m 2 , m 3 , ..., m n }Marcado inicial: M o ={m o1 , m o2 , m o3 , ..., m on }Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake8Notas:8


Representación gráfica• Arco <strong>de</strong> p ia t j⇔α(p i,t j) ≠ 0• Arco <strong>de</strong> t ka p i⇔β(t k,p i) ≠ 0• Arcos etiquetados con un peso =α(p i,t j) ó β(t k,p i)Representación matricial• Matriz <strong>de</strong> inci<strong>de</strong>ncia previa: C − =[c ij− ] don<strong>de</strong> c ij− = α(p i ,t j )• Matriz <strong>de</strong> inci<strong>de</strong>ncia posterior: C += [c ij+ ] don<strong>de</strong> c ij+ = β(t j ,p i )• Matriz <strong>de</strong> inci<strong>de</strong>ncia: C = C + -C -p 1t 12p 3p 2 t 2p1⎡−1p⎢2 1C = ⎢p3⎢ 2⎢p4⎣ 000−111 ⎤−1⎥⎥0 ⎥⎥− 2⎦p 42t 3Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake9Notas:9


Cálculo <strong>de</strong> la evolución con RdPMi +1= Mi+ CUU1⎡1⎤⎢ ⎥⎢0⎥= ⎢0⎥⎢ ⎥⎢0⎥⎢⎣0⎥⎦Se dispara t1M 1⎡1⎤⎡−1⎢ ⎥ ⎢⎢0⎥ ⎢1= ⎢0⎥+ ⎢ 1⎢ ⎥ ⎢⎢0⎥⎢ 0⎢⎣0⎥⎦⎢⎣ 00−101000−101010−101 ⎤⎡1⎤⎡0⎤0⎥⎢⎥ ⎢ ⎥⎥⎢0⎥ ⎢1⎥0 ⎥⎢0⎥= ⎢1⎥⎥⎢⎥ ⎢ ⎥−1⎥⎢0⎥⎢0⎥−1⎥⎦⎢⎣0⎥⎦⎢⎣0⎥⎦Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake11Notas:11


Clasificación <strong>de</strong> RdP• RdP ordinaria: sus funciones <strong>de</strong> inci<strong>de</strong>ncia sólo pue<strong>de</strong>n tomar los valores 0 y 1:α(p,t) ∈ {0,1}, β(t,p) ∈ {0,1}Grafo <strong>de</strong> Estados (GE): ∀t∈T |•t| = 1 y |t•| = 1Toda transición tiene una unica plaza <strong>de</strong> entrada y una única plaza<strong>de</strong> salidaGrafo Marcado (GM): ∀p∈P |•p| = 1 y |p•| = 1Todo lugar tiene como máximo una transición <strong>de</strong> entrada yuna transición <strong>de</strong> salidaRdP Libre Elección (RLE): ∀p∈P, |p•| > 1 => ∀t k∈p•, |•t k|= 1Si ti y tj tienen una plaza <strong>de</strong> entrada común, esta es la única plaza<strong>de</strong> ambas transiciones.RdP Simple (RS):Cualquier transición tiene como máximo una única plaza <strong>de</strong>entrada compartida con otras transiciones.Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake12Notas:12


Clasificación RdPRdP generalizada (RdPG): las funciones <strong>de</strong> inci<strong>de</strong>ncia pue<strong>de</strong>n tomar valores en todoslos números naturales => arcos con pesoRdP GeneralizadaGERLEGMRSRdP OrdinariaRdP binaria: M(p) ≤ 1 ∀p∈Pt 1habilitadat 1no habilitadaRdP con arcos inhibidores: t 1t 1Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake13Notas:13


Mo<strong>de</strong>lo <strong>de</strong> representaciónEntradas:(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áneoa b cset(s)abceventoseñalsCódigo/activida<strong>de</strong>s en transiciones=> disparo no instantáneo------------ w--------a b cabcProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake14Notas:14


Modos fundamentalesEjecución secuencialEjecución concurrenteProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake15Notas:15


Mo<strong>de</strong>lo <strong>de</strong> Productor-ConsumidorP 1: Dispuesto a producirT 1: Produce elementoP 2: Dispuesto a entregarT 2: Entrega elementoP 3: Dispuesto a recibirT 3: Recibe elementoP 4: Dispuesto a consumirT 4: Consume elementoP 5: BufferProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake16Notas:16


Mo<strong>de</strong>lo Productor-Consumidor con buffer limitadoP 1: Dispuesto a producirT 1: Produce elementoP 2: Dispuesto a entregarT 2: Entrega elementoP 3: Dispuesto a recibirT 3: Recibe elementoP 4: Dispuesto a consumirT 4: Consume elementoP 5: Elementos transferidosP 6: Huecos disponiblesProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake17Notas:17


Mo<strong>de</strong>lo Productor-Consumidor: 2 prod.x2 cons.Productor 1Consumidor 1Productor 2Consumidor 2Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake18Notas:18


Exclusión mútuaProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake19Notas:19


Exclusión mutua con prioridadProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake20Notas:20


Filósofos chinosPiensaComeProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake21Notas:21


Ejemplo mo<strong>de</strong>lado: Carros con vía comúnM ALAlAArAWAGl BBr BM UM BLBW BUDos carros A y B transportan cierto material <strong>de</strong>s<strong>de</strong> los puntos <strong>de</strong> carga LA y LB,respectivamente, hasta el punto <strong>de</strong> <strong>de</strong>scarga D. Los diferentes movimientos soncontrolados 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 fin<strong>de</strong> evitar colisiones;- Espera obligatoria en U hasta MU (pulsador <strong>de</strong> fin <strong>de</strong> <strong>de</strong>scarga).El carro B tiene un funcionamiento similar pero, en caso <strong>de</strong> <strong>de</strong>manda simultánea <strong>de</strong> la víacomún, B es prioritario. El recorrido WA-U o WB-U se establece por un cambio <strong>de</strong> agujascontrolado por la acción G.Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake22Notas:22


RdP: Carros con vía común1 2Transiciones => entradas <strong>de</strong> sensores14M ArAM BrB15Lugares => señales <strong>de</strong> salida4rAW BWA,GUG683WB79rBU5M AM BLLABlAArAWW BAGl Br BBUM UM UM Ul , G 10A11l BWA12l AW13l BBLALBProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake23Notas:23


Ejemplo mo<strong>de</strong>lo: Lectores y escritoresDos conjuntos <strong>de</strong> usuarios (lectores y redactores) tienen quecoordinarse para acce<strong>de</strong>r a unos datos comunes:• los lectores sólo inspeccionan, y por lo tanto pue<strong>de</strong>n acce<strong>de</strong>rsimultáneamente a los datos• los redactores actualizan los datos y su trabajo <strong>de</strong>be estar en exclusiónmutua con el resto <strong>de</strong> usuariosCada usuario pue<strong>de</strong> estar en uno <strong>de</strong> los siguientes estados:activo, espera y reposo.Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake24Notas:24


RdP: Mo<strong>de</strong>lo <strong>de</strong> lectores y escritores (2L y 2E)X1 X2RL 1RL 2RR 1RR 2DL 1DL2DR 1DR 2EL 1EL2ER 1ER 2CL 1AL 1CL 2AL 2CR 1AR 1CR2AR 2FL 1FL 2FR 1FR21ª letra: R = reposo 2ª letra: Li = i-ésimo lectorE = esperaRj = j-ésimo redactorA = activoD = <strong>de</strong>manda <strong>de</strong> recursoC = comienzo operaciónF = fin <strong>de</strong> operaciónProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake25Notas:25


Ejemplo Mo<strong>de</strong>lo: Transmisión datosSe <strong>de</strong>sea diseñar un sistema <strong>de</strong> transmisión <strong>de</strong> datos con las siguientes características:- El sistema recibe datos (8 bits) <strong>de</strong> un puerto paralelo (p.e. PORTCL <strong>de</strong>l 68HC11con handshake)- Cada dato es procesado e introducido en un buffer con capacidad para 8 datos- Los datos son sacados <strong>de</strong>l buffer con política FIFO y enviados por línea serie (SCI)mediante un sencillo protocolo con reenvíoSTRBDATOSTRAPORTCLSCITACK/NACKProcodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake26Notas:26


RdP: Transmisión datosP1TP1P2TP2llegada_datoleer()procesar()NACK C5ACKTC51 TC52llegada_caracter TC4C4enviar()TC3P3TP3Hsacar()C3TC2P4MUTEXC2TP4meter()OTC1C1Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake27Notas:27


Ecuación <strong>de</strong> estadoTransición sensibilizada: Una transición t ∈ T está sensibilizada por elmarcado M ⇔ cada uno <strong>de</strong> sus lugares <strong>de</strong> entrada posee al menos α(p,t)marcas. Es <strong>de</strong>cir, se exige que ∀p ∈ • t M(p) ≥ α(p,t).Disparo <strong>de</strong> un transición: Disparar una transición sensibilizada es laoperación que consiste en eliminar α(p,t) marcas <strong>de</strong> cada lugar <strong>de</strong> entraday añadir β(t,p) marcas a cada lugar <strong>de</strong> salida. Es <strong>de</strong>cir al disparar t seobtiene:M ( p)= M ( p)+ β ( t,p)−α(p,t)∀p∈ P• y se representajii ] t M jM >Secuencia <strong>de</strong> disparos:M] t > M ] t > M ...]t> M0 i 1 j 2 rσ = titj...tr→ M0] σ > M qqVector característico <strong>de</strong> una secuenciaσ (σ i= nº <strong>de</strong> apariciones <strong>de</strong> t ien σ )Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake28Notas:28


Ecuación <strong>de</strong> estadoM k → marcado obtenido en el k-ésimo disparoU k → vector cuyas componentes son nulas salvo la i-ésima si t i es latransición disparada en k-ésimo lugarU k()= i 1,U k()= j 0,∀j ≠ iM k= M k−1+ CU k== M k−2+ CU ( k−1+ U k )== M k−3+ CU ( k−2+ U k−1+U k )=...== M 0+ C U jk∑j=1= M 0+ Cσp 1t 12p 3p 2 t 2p 42t 3σσ = t 1t 2t 2⎛ 1⎞⎜ ⎟σ =2⎜ ⎟⎝ 0⎠p 1t 12p 3p 2 t 2p 42t 3Procodis’08: V.1- Descripción por re<strong>de</strong>s <strong>de</strong> <strong>Petri</strong>José M.Drake29Notas:29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!