GEA-DE (Dependant Events) Erweiterung (Konzept)
===============================================

Hintergrund:
------------

Es gibt verschiedene Situationen, in denen ein Ereignis mehrere
Ereignisketten auslst, die dann spter wieder synchronisiert werden
mssen. Hierbei kann natrlich das Ende jeder Kette so implementiert
werden, dann zustzlich auf die Erfllung finaler Bedingungen der
anderen Kette geprft wird, aber dies erscheint unzweckmssig und zu
aufwendig.

Lsungsstrategie
----------------

Als Lsung knnen ConditionFlags-Objekt verwendet werden. Sie
kennzeichnen das Eintreten einer Bedingung. Sie werden aus einer
Factory erzeugt und die Nutzer explizit per Referenzzhlung
betrachtet, d.h. ein Nutzer gibt explizit bekannt, dass er nicht
lnger auf die Bedingung angewiesen ist. 

Wird ein Ereignis dem Scheduler bergeben, wird geprft, ob alle
Bedingungen erfllt sind. Ist dem der Fall, dann werden die
Referenzzhler um eins verringert, da die Bedingung von diesem
Ereignis nicht lnger bentigt wird. Gleichzeitig wird das Ereignis in
die passenden Warteschlangen eingefgt. Sind noch unerfllte
Bedingungen anhngig, kommt das Ereignis auf Halde und die
Bedingungsobjete werden mit Callbacks bestckt, die die Halde
informieren, falls sich eine Bedingung erfllt, um es dann ggf in die
Warteschlange einzufgen. 

Sind keine Ereignisse mehr in den Warteschlangen sondern nur noch auf
Halde, kann das System beendet werden, da sich diese Situation nicht
mehr verndern kann.

