On the Aeriaa Airport Dashboard. (part IV) Events
It’s time to talk about the airport’s events, one of the more complex situation in the airport’s management is to monitorize the thousand of events that are fired every day and manage them in order to take decisions. Events as flights delays, long check-in lines, the time milestones of a fligh operation (I will talk about some of them soon), aircraft maintenance, refuelling, weather conditions, security and safety incidents, baggage processing phases, air navigation events, terminal comfort (illumination, heating…), etc, etc. If there is a place where the “butterfly effect” take place this is an airport. A simple event can raise delays not only in the airport, but it will cause delays in other networked airports. It’s familiar to you the Captain’s apologize. “We are sorry for the departure’s delay, it is caused due a ‘late’ arrival of the previous flight…” Let’s first put the events in the dashboard architecture context diagram.
The Events processing is the technology that put on your “face” the knowledge of what is happening or it is near to happen, this information is given in near “Real Time”. So with this paradigm we can define, manage, detect and predict events, exceptional situations, positives risks (opportunities) and threats, as told before, the sources of these events are absolute heterogeneous and its channels too. Events examples:
- In baggage domain, a SITA BSM’s (I wrote about it in part III), a 2D or RFID tag reading, a lost baggage event…..
- Within airport information network domain, the SNMPs, a core breakdown and the startup of its core backup, a saturated VLAN…
- Airline domain, flght plan change, a last minute aircraft fixing, refuelling with passengers onboard, tripulation’s shifts, the in-block time of an arrival flight, the lack of boarding pass in a CUSS autochecking machine, handling personal strike…
- Terminal domain, heating temperature changes, trolleys availabilty, SCADA building facilities events, building maintenance workorders, cleaning, PA system, benchs, illumination, terminal’s acceses congestion, etc, etc.
- Security and safety domain, filters, incidents, customs, taxiway incidents, changes in embarking flows routes, etc, etc.
- Do not forget the Commercial domain, restaurants/shops incomes, special offers…
- But we have to consider external events, as Eurocontrol issues, air traffic regualtion, local and destinations weather conditions, etc, etc.
- Etc, etc…
Main components in an Event Processing Architecture:
I recommend you the reading of this book Events Processing in Action, by the IBM Researcher Opher Etzion, and of course his blog. I want to put a few words and a diagram about the Events Processing, taken from the EPIA book.
- The Events Channel routes the events from producers to consumers. In our architecture the Data Distribution Bus (based in JMS) acts as the channel. But it would be JMS, HTTP, vendor specific protocols, an email, etc.
- The context has the conditions: spatiotemporals, location based, state oriented, or under particular configured segmentation.
- The global status enrichs the event’s information, issues historical event data, it can be use as an events temporal warehouse. This information is provided to the Context and the Event Processing Agent.
- The Event Processing Agent, is the intermediary between producers and consumers, the agent filters, detects (with pattern detection), transforms, emits derived events… Is the component that has the business logic.
The events can have hierarchy, for example in the baggage domain:
- At low level, baggages inspected, clasified, BSM received, losses…
- At medium level, baggages inspected by flight ratio, baggages clasified by hour, flights delayed due to bad baggage clasifying….
- At high level, airliner satisfaction with baggage service, passenger claims….
Finally in the world of Events processing implementations, we can see diferent approaches that produces different processing languages.
- Stream Processing languages. Based on a continous events stream flow. See CCL.
- Rule oriented languages. Based on status changes. “If this then that”. See RuleML.
- Agent oriented languages. Based on Agents (as the diagram above).
This is a simple stream processing example related to baggages, I use a basic CCL sentence:
Related to our Dashboard, I will consider flights events, baggages events, meteo events, and other events that will happen
To sum up this post, see the next picture:
See you in next posts.
For more info:
Implementation of CEP in Airliners: Southwest TIBCO CEP implementation.
This work by Pedro Garcia is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License