Processing of events: simplified algorithm (handling of delayed events omitted). At each iteration, the trigger conditions of active events ea∈EA that are not persistent are checked. If the trigger condition of such an event has changed from true (1) to false (0), the event is removed from EA. The next step comprises the evaluation of the triggers of all events. If its trigger changes from false to true, an event is added to the set of active events EA. An event with its trigger changed from true to false is removed from the list of inactive events. After the processing of all triggers, the event e of highest priority in the set of active events is chosen for execution by the function choose(EA). Note that priorities are not always defined, or multiple events may have an identical priority. The function choose(EA) is therefore more complex than shown in this figure. The selected event is then processed, i.e., all of its assignments are evaluated, and afterwards the triggers of all events in E have to be evaluated again, because of possible mutual influences between the events. The algorithm proceeds until the set EA of active events is empty.