Sobre la solución de la parte 3 tengo 2 consultas:
1) Sería también correcto que el Concentrador llame a consulta (que suena como si pudiera llevar cierto tiempo) fuera del entry y luego llame a un entry de Juez con el resultado?
Me refiero así
task body Concentrador ... or accept RecibirConsultar(cons: in Tipo_Consulta) c := cons; end; inf := consulta(cons); Juez.RecibirInfo(inf); end select end loop end Concentrador task body Juez begin loop select accept RecibirInfo(inf: in Info) inf := info; end; tomar_accion(inf); else mirar_jugada(); c := decidir_consulta(); Concentrador.RecibirConsulta(c); end select end loop end Juez
2) Lo que usa en el Sensor para el posArray es una entry family y la usa porque con discriminant no la puede inicializar en un array?