Enunciado del TP - zimmcl/Programacion-Concurrente GitHub Wiki
###Introducción
En este practico se debe resolver el problema planteado en (Naiqi and MengChu, 2010), “Sistema de manufacturación robotizado". La red de Petri que modela a dicho sistema, debe modificarse con el fin de evitar interbloqueos. Luego simular la solución en un proyecto desarrollado con la herramienta adecuada (explique porque eligió la herramienta usada). El sistema de manufacturación consiste en tres robots R1, R2 y R3 cuatro máquinas M1, M2, M3 y M4, tres tipos diferentes de piezas a procesar A, B y C, como se observa en la figura. Las piezas provienen de tres contenedores de entrada distintos, I1, I2 e I3, de los cuales los robots las retiran, las colocan en las máquinas para su procesamiento y depositan en tres contenedores de salidas distintos, que son: O1, O2 y O3.
Tiempos de máquinas (en unidades de tiempo):
Para producir la pieza A (según camino)
- M1 = 30
- M2 = 5
- M3 = 24
- M4 = 10
Para producir la pieza B
- M2 = 15
Para producir la pieza C
- M3 = 18
- M4 = 21
Para llegar a su objetivo, cada pieza debe seguir una trayectoria de procesamiento distinta, como se observa en la figura, aquí se ha evitado poner los tiempos por ser parte del práctico, definida de la siguiente forma:
Para producir la pieza A
- De I1 --> M1 --> M2 --> O1
o - De I1 --> M3 --> M4 --> O1
En la RdP
Para producir la pieza B
- De I2 --> M2 --> O2
En la RdP
Para producir la pieza C
- De I3 --> M4 --> M3 --> O3
En la RdP
Los robots tienen tareas definidas, cada operación de traslado de las piezas corresponde a un único robot. Como puede observarse en la figura, donde se observan las tres trayectorias diferentes para cada tipo de pieza. Cada una de las máquinas, M1, M2, M3 y M4, tiene un color diferente. Y R1, R2 Y R3 representan a los tres robots del sistema, encargados de trasladar las piezas de un lado a otro, hasta llegar a su objetivo.
Red de Petri de la Planta (falta el control para evitar el interbloqueo)
Aquí se ha evitado poner los tiempos por ser parte del práctico.
Realizar
- Colocar las restricciones a la RdP para evitar el interbloqueo, mostrarlo con la herramienta.
- Colocar los tiempos de las maquinas en las transiciones correspondientes.
- Hacer la tabla de eventos.
- Hacer la tabla de estados o actividades.
- Determinar la cantidad de hilos necesarios (justificarlo)
- Implementar dos caso de Políticas para producir:
a) Por cada pieza A producir dos B y una C
b) Par cada Pieza C producir tres A y dos B - Hacer el diagrama de clases.
- Hacer los diagramas de secuencias.
- Hacer el código.
- Hacer el testing.