Buenas, me surgió una duda analizando la solución de este ejercicio, la cual a mi parecer tiene una pequeña falla... y eso es lo que me preocupa ya que lo más probable es que yo haya entendido algo mal o que tenga conceptos errados.
http://www.fing.edu.uy/inco/cursos/sistoper/examenes/2013/Sol2013DIC.pdf
A mi entender el proceso Ventanilla, para cada uno de los casos posibles (atiende a uno que viene a iniciar el trámite, o atiende a uno que viene a finalizarlo), debería recibir un mensaje por parte del funcionario involucrado avisandole que el mismo(el funcionario) ya retiró(vació los mailboxes) toda la información que le fue enviada. De no ser asi, podría suceder (y creo que sucede en la solución presentada) que un funcionario obtenga la clave de otro, que si no me equivoco sucede en el siguiente caso de uso:
1)Un funcionario nuevo avisa que requiere atención : "mb_requiero_atencion.send(NIL)"
2)La ventanilla despierta y le dice que pase:
"mb_requiero_atencion.receive()"
"mb_espero_atencion.send(NIL)"
3)La ventanilla espera a que le den la cedula y la recibe:
Mi duda: efectivamente hay un error en la solución que no consideró ese caso de borde o yo estoy entendiendo mal la solución(eso es lo que a mi me preocupa).
Agradezco cualquier ayuda!