Events

Scope

Events are perceived changes in the world around, which means representations will always play a part. As far as systems are concerned, that part is defined at two levels, first when events are registered at entry points, and then by their representation as symbolic objects.

Events Repository

Actual vs Symbolic Events

Events happen all the time, which is to say that time is punctuated by events. That makes for a classical chicken-and-egg situation, and it can be said that time is made from events, or, speaking of business events, time is money. So, in order to describe when activities are to be executed, the first thing to do is to single out the subset of events worth of some business attention.

  • Actual (aka external) events are associated with changes in the state of actual objects or activities, including agents’ expectations. Their instant mapping into system representations is therefore meaningful; whether it is necessary depends on the synchronization of  business activities.
  • Symbolic (aka internal) events are associated with changes in symbolic representations of objects or activities. Whether they must be notified immediately is set by business rules.

Combined with source, that provides for a preliminary qualification of events.

What events are about.

Events associated with changes in actual contexts (objects state or execution status of non symbolic processes) can only be known when captured (or polled) through actual entry points. Moreover, since they cannot be directly interpreted before being translated into symbolic meaning, there is no guarantee that other events will happen during the interval. Time events are a special case as, despite being released by physical devices, they come with instant meaning.

Events associated with changes in symbolic representations of persistency or execution units can be known without delay and processed accordingly, i.e as if nothing relevant could happen between the event and its processing. User generated events are a special case as, despite being sourced from actual contexts, changes in expectations are necessarily symbolic and can therefore be instantly processed.

At that point it must be reminded that actual events can only be known locally since their broadcast across distributed systems can only be achieved through messages, i.e symbolic events.

Once the nature of events properly understood, and stereotyped events will help, the point is how they will appear within models.

Events Representation

As far as modeling is concerned, external events appear under three different guises: as they occur, as they are taken into account, as they are recorded as non mutable symbolic objects.

Events represented as they happen, as messages or triggers, as records.

Unfortunately events don’t come flag-waving their credentials. So, if they must be dealt with “on arrival”, only two criteria are at hand for consideration: if their source is known, and how to proceed with their interpretation.

Regarding origin: actual (aka external) events are issued by objects and agents, internal (aka symbolic) ones mirror changes to symbolic representations. As far as the architecture is concerned, we need only to consider external events.

Regarding their consequences, one must distinguish between events bound to objects, active or passive, and events free of direct attachment.

Events can be symbolic or actual, attached to objects or free of attachment.

  • Signals are physical events which must be translated into logical ones before being processed. That should be done immediately lest the signal, once translated, could make the processing obsolete.

Signals are physical events with open-ended interpretations

  • Change events are signals bound to passive objects. Time events are a special case of change  with instant meaning associated to dedicated devices.

Time events are signals produced by dedicated devices.

  • Messages dispatch and reception are logical events subject to interpretation. They change the information available to agents.
  • Requests are a special case of message pertaining to changes into agent expectations.

Messages pertain to information, requests to expectations.

Derived Events

Derived events are triggered by primary ones and are supposed to happen necessarily  and simultaneously. They may be subject to business conditions as far as those conditions can be evaluated at the time and location of the primary event; hence, the occurrence of a derived event can be established with certainty whatever will occur in between. Derived events can be defined using logical operators, with or without qualifications: alternative events are meant to happen when one of a set of possible events occurs, join events are meant to happen  when all necessary events have occurred.

It must be noted that join derivation rules can only apply to “live” events, i.e events whose actuality doesn’t expire instantly.

Events: (a) simple, (b) qualified, (c) join, (d) derived.

The characteristics of external events will determine the constraints on architectures and the kind of devices required on system boundaries.

Events & Contexts

Since events are defined by clocks and locations, their modeling is necessarily relative to systems: the same phenomenon may be perceived as different events by different systems. For instance, a robot  on its own will only deal with actual event through its sensors. When other robots or supervisors are involved, other kind of events will have to be taken into account.

  • Actual events are changes in context as perceived by sensors (visuals and sound).
  • While actuator events (arm and motor) are local to the control unit and are not represented, their actual effect must be communicated to the handling system as a change in context (robot events). They must also appear explicitly when originated from the handling system (control events).
  • The handling system records events and execution states, but the robot only keeps memory of execution states.
  • Assignments of roles to robots appear as events as well as records.

Events in context

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.

Join 301 other followers

%d bloggers like this: