Vous êtes sur la page 1sur 7

22/10/2012

REDES DE PETRI: MODELADO DE SISTEMAS CONCURRENTES


PROGRAMACIN CONCURRENTE MASTER EN COMPUTACIN DEPARTAMENTO DE ELECTRNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 2012/13
Programacin Concurrente: Redes de Petri Mercedes Granda Departamento de Electrnica y Computadores 1

MODELADO DE SISTEMAS UTILIZANDO REDES DE PETRI Una red de Petri representa un sistema cuando se asigna un significado o una interpretacin a las plazas, transiciones y testigos. La descripcin de un sistema mediante una red de Petri se basa en dos conceptos:
E Evento. t Condicin.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

22/10/2012

REDES DE PETRI:

EVENTOS Y CONDICIONES
Un evento es una accin que ejecuta el sistema. Se modela mediante una transicin. La realizacin de un evento depende del estado del sistema, que se describe mediante un conjunto de condiciones, que se modelan mediante las plazas. Los arcos que conectan las transiciones y las plazas representan la dependencia entre los eventos y las condiciones. La verificacin de una condicin se representa situando un testigo dentro de la plaza que lo modela. Una RdP marcada representa la coordinacin entre eventos.
Programacin Concurrente: Redes de Petri Mercedes Granda Departamento de Electrnica y Computadores 3

EJEMPLO DE MODELADO CON REDES DE PETRI Mquina de venta


Esta mquina se encuentra inicialmente en espera. Cuando recibe un pedido, lo procesa y lo enva. Mientras est procesando el envo, no acepta ningn otro.
CONDICIONES a) La mquina se encuentra parada en espera. b) U pedido h ll Un did ha llegado y est l d t la espera de su proceso. c) La mquina est trabajando en un pedido. d) El pedido est listo para su envo. EVENTOS 1) Un pedido llega. 2) La mquina comienza a procesar un pedido. did 3) La mquina finaliza un pedido. 4) El pedido es enviado.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

22/10/2012

EJEMPLO DE MODELADO CON REDES DE PETRI


CONDICIONES a) La mquina se encuentra parada en espera. b) Un pedido ha llegado y est la espera de su proceso. c) La mquina est trabajando en un pedido. d) El pedido est listo para su envo. EVENTOS 1) Un pedido llega. 2) La mquina comienza a procesar un pedido. 3) La mquina finaliza un pedido. 4) El pedido es enviado.
PRECONDICIN

POSTCONDICIN

Ninguna a, a b c d

b c d, a Ninguna

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

MODELADO DE SISTEMAS UTILIZANDO REDES DE PETRI


La comprensin del funcionamiento de un sistema p j p complejo es ms fcil si su descripcin se aborda de forma estructurada y modular. En gran nmero de aplicaciones complejas, los sistemas concurrentes se describen sincronizando las descripciones (realizadas independientemente) de diferentes subsistemas o mdulos. A continuacin, se muestran algunos esquemas d ti i t l de interconexin o sincronizacin entre subsistemas.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

22/10/2012

ESQUEMAS DE SINCRONIZACIN ENTRE MDULOS

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

ESQUEMAS DE SINCRONIZACIN ENTRE MDULOS

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

22/10/2012

CONCURRENCIA, CONFLICTOS Y SINCRONIZACIN


Las redes de Petri pueden describir fcilmente sistemas en los que se q producen relaciones de paralelismo, exclusin mutua y sincronizacin entre procesos que ocurren en ellos.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

EXCLUSIN MUTUA ENTRE SECCIONES CRTICAS


Cuando varios procesos que se j paralelo comparten p ejecutan en p informacin, es necesario garantizar que los accesos a la informacin comn no se lleve a cabo simultneamente para evitar problemas de interferencia que conduzcan a resultados errneos. Una solucin a este problema es hacer mutuamente excluyentes las secciones crticas de los diferentes procesos encargadas de acceder a la informacin. En la figura, se muestra una RdP que resuelve este problema.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

10

22/10/2012

SINCRONIZACIN DE TAREAS PRODUCTOR/CONSUMIDOR


Los procesos productor/consumidor involucran elementos de datos compartidos por ambos procesos y, en consecuencia, es necesario plantear tareas de sincronizacin entre ambas. En las figuras, se muestran dos procesos de este tipo. El primero supone la existencia de un buffer infinito capaz de absorber la diferencia de velocidad entre el productor y el consumidor. El segundo limita la capacidad de este buffer a n unidades del producto.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

11

PROBLEMA DE LA CENA DE LOS FILSOFOS


Este es un problema de sincronizacin para la utilizacin compartida de recursos. Supnganse un conjunto de cinco filsofos que se renen para cenar y filosofar. La comida es china y se presenta la dificultad de que a cada comensal slo le han colocado un palillo. Con el fin de cenar, llegan a la solucin de que cada comensal puede utilizar el palillo del comensal que tiene a su izquierda, siempre que l tenga el suyo (no se lo haya cogido el de su izquierda) y el comensal de la derecha no est comiendo. comiendo En la figura, se muestra una red de Petri que representa la dinmica que sigue esta comida.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

12

22/10/2012

PROCESOS DE LECTURA Y ESCRITURA SOBRE UN RECURSO COMN


Se supone que existen procesos de dos tipos: procesos de lectura y de escritura. Todos los procesos comparten un recurso comn sobre el que escriben y leen. Los procesos de lectura no modifican la informacin y, en consecuencia, todos ellos son compatibles entre s. Por el contrario, el proceso de escritura modifica la informacin y, por tanto, es excluyente con cualquier otro proceso de lectura y de escritura. Se pretende establecer el proceso de control que permita el acceso a todos y que no conduzca al sistema a ningn bloqueo. En la figura (a), se muestra una solucin para el caso de que el nmero de lectores que simultneamente pueden acceder al recurso sea finito e igual a n. En la figura (b), se muestra una solucin para el caso en que se considera que el nmero de lectores es indefinido y que todos ellos pueden acceder simultneamente al recurso. En este caso, el problema de control no tienen solucin desde las redes de Petri ordinarias y es necesario acudir a redes de Petri con arcos inhibidores.

(a)
Programacin Concurrente: Redes de Petri

(b)
Mercedes Granda Departamento de Electrnica y Computadores 13

SEMFOROS P,V
Uno de los mtodos de sincronizacin para el acceso a recursos compartidos ms utilizado es el de los semforos, basados en las operaciones P(S) y V(S), siendo S el semforo sobre el que V(S) i d l f b l acta las operaciones. Un semforo es una variable que slo puede tomar valores enteros no negativos. La operacin V(S) incrementa el valor de S en 1 y la operacin P(S) decrementa S en 1. La operacin P puede ocurrir slo cuando S tenga un valor positivo. Si S tiene el valor 0, la operacin P tiene que esperar hasta que algn otro proceso realice una operacin V sobre el mismo semforo. E t operaciones pueden ser f il Estas i d fcilmente t modeladas mediante una red de Petri, como se muestra en la figura. Cada semforo es modelado como una plaza; las operaciones P utilizan dicho lugar como entrada y las operaciones V lo utilizan como salida.

Programacin Concurrente: Redes de Petri

Mercedes Granda Departamento de Electrnica y Computadores

14

Vous aimerez peut-être aussi