After a timer is set up, it fires only once and posts an event with the same name as the timer. If it is to be fired repeatedly, it must be reset each time. A timer event is always asynchronous. The firing time of a timer can be a relative time, i.e, some period from now, or an absolute time set on a particular time or date.
The following predicate posts a user-defined event
either synchronously or asynchronously.