PartyScenario:

En el siguiente escenario se tiene tres tipos de agente

	HostAgent: Agente anfitrin de la fiesta. Su tarea consiste en dar comienzo a la fiesta
		y atender a los invitados cuando llegan y se marchan. Adems durante la fiesta beber 
		y comer como un participante ms.
		Para realizar estas tareas nada ms crearse se identifica como host y de tipo attendant en el DF y manda
		un mensaje a todos los camareros para que comiencen a trabajar.
		Para atender a los invitados se le ha aadido un ciclic behaviour que si es un saludo
		da la bienvenida y si es un adios se despide.
		Para atender el ofrecimiento de los camareros tiene un comportamiento Proposeresponder
		que aleatoriamente (y si no est lleno) acepta el ofrecimiento.
		Finalmente posee un ticker behaviour que cada cierto tiempo mira en el DF si an quedan
		invitados. En caso contrario acaba la fiesta y en el take down se elimina del DF y despide
		a los camareros con un kill.
		Solo podr haber un nico agente de tipo HostAgent.
		
	GuestAgent: Puede haber mltiples guest agents (tantos como se desee). Estos agentes recibirn
		como parmetro el momento de llegar a la fiesta (el tiempo de comenzar un waker behaviour en milis).
		La tarea de estos agentes es saludar a los presentes en la fiesta, comer y beber y cuando tengan demasiado
		de alguna de estas cosas marcharse.
		Para saludar a todos los presentes poseen un comportamineto waker que cuando se despiertan buscan aquellos agentes
		que ofrezcan un servicio de tipo attendant e iran saludando aleatoriamente uno a uno a todos los de esta lista,
		guardando en una lista interna a quien han saludado ya. Una vez han terminado se registran el el DF con un servicio de
		tipo attendant y nombre guest.
		Siempre el ltimo en llegar saluda a todos los dems y estos responderan a su saludo. Para esta respuesta se tiene un
		comportamiento cclico que si recive un saludo contesta.
		De manera similar al host tambien poseen un comportamiento Proposeresponder y un ticker que mira si ha cubierto con su
		capacidad mxima de comoida o bebida. De ser as se marcha de la fiesta y en su take down se despide del host y se desregistra
		del DF
	
	WaiterAgent: Puede haber mltiples agentes de este tipo pero su nombre debe comenzar por WAITER para que funcione correctamente
		Este agente recibe como parmetros tanto que sirve (dos posibles valores: comida o bebida y ademas debe ser el primero) como
		cada canto sirve (tiempo en milis y segundo parmetro).
		Al comenzar la fiesta en su setup() se registran en el DF con un servicio de nombre waiter y de tipo lo que sirvan.
		Posee un ticker behaviour que busca a todos los presentes de servicio tipo attendan e inicia un comportamento proposeiniciator
		tras escoger a uno de los invitados aleatoriamente para ofrecerle comida.
		Cuando son eliminados simplemente se desregistran del DF
		