/*!

\page essay05  Changes in Event Enabling

<hr>


Changes in Event Enabling

Due to problems we have had in LITA, the IDEA team has had to 
re-implement the way we determine if an event is enabled or not.  As one 
can imagine this is a change right in the core of our reactive-planner. 
It works great for LITA and we now want to ask all our users (K9, Gromit, etc.) 
to run all their scenario's from scratch. Functionally we should be more(!) 
correct but your model might currently be tweaked to work with the old broken 
functionality.  

Following up on the previous e-mail, what I have changed in Idea Core 
is the following:

\li We used to push out certain uncontrollable tokens in order to push out
controllable tokens so we would not end them at the current time. This
created (functional) problems in certain rare scenarios which of
course we encountered.

\li  We now still push out certain uncontrollable tokens and mark the
tokens which get pushed out by propagation as not enabled and undo the
pushing out. Obviously we are paying a speed-performance price for this 
but it seems to be minimal. Nicola and I have discussed an optimization 
which will be implemented somewhere in the future. 

\li  The code which has changed is the adding of a flag to the PslToken and
in PslReactivePlannerImpl. 

<hr>

*/
