lunes, 22 de octubre de 2012

Tarea 8

Sistemas concurrentes / Redes Petri

Hola a todos, el tema de esta actividad son los sistemas concurrentes y su modelación con una red Petri. Empecemos con comentar lo que es un sistema concurrente.

Un sistema o un programa concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Las tareas estas de las que comento pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en una sola unidad central de proceso , en varios procesadores o en una red de computadoras distribuidas. La programación concurrente está relacionada con la programación paralela, pero enfatiza más la interacción entre tareas. Así, la correcta secuencia de interacciones o comunicaciones entre los procesos y el acceso coordinado de recursos que se comparten por todos los procesos o tareas son las claves de esta disciplina.

Y la red Petri la defino de la siguiente manera: Una Red de Petri es una representación matemática o gráfica de un sistema es decir, en esta actividad, es una representación gráfica que cuenta con lugares, trancisiones y arcos dirigidos. Para una definición un tanto más "formal" y completa pueden visitar este enlace: http://es.wikipedia.org/wiki/Red_de_Petri

Bien, entendida la teoría vayamos a la actividad en concreto, lo encargado fue: Inventar un pequeño(esto me lo tomé muy enserio hehe) sistema concurrente y modelarlo con una red Petri.

Bueno el sistema concurrente que inventé fue uno que representara la solicitud de direcciones IP(por elementos de red: PC, dispositivos multimedia, refrigeradores, cámaras fotográficas, ipod, etc) a un router. Es en concreto un sistema de "address request", un protocolo DHCP.

Y el funcionamiento se basa en que un cliente solicita una dirección IP, y el router tiene una variable llamada "Contador", de manera que apartir de aquí se abren 2 trancisiones en las cuales si el contador es menor a 50(casi siempre son más, en telmex si creo que son 50), entrará a un estado de "IPEnviada". En caso contrario(cuando el contador es igual a 50), el sistema pasa a un estado llamado "SolicitudCancelada". Obviamente sabemos que el protocolo DHCP es más complejo y la cantidad límite de host que permite un router(wireless) es configurable(el límite es prácticamente la máscara de red), pero esto es solo una representación para ejemplificar los sistemas recurrentes

El diagrama, al igual que mis compañeros lo realicé en python con la ayuda de las librerías python-snakes (era requisito de la actividad).

El código para realizar el diagrama es el siguiente:





La imagen del diagrama es la siguiente:




Cualquier duda o aclaración pueden dejarla en comentarios.

Bibliografía


Saludos a todos!


1 comentario: