20.01.2015 Views

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

Performance Modeling and Benchmarking of Event-Based ... - DVS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 2<br />

Background<br />

In this chapter we provide an overview <strong>of</strong> the state-<strong>of</strong>-the-art in the area <strong>of</strong> event-based systems<br />

(EBS) <strong>and</strong> performance modeling. We discuss the meaning <strong>of</strong> events <strong>and</strong> typical applications as<br />

well as different middlewares for EBS <strong>and</strong> introduce performance models called queueing Petri<br />

nets (QPN).<br />

2.1 <strong>Event</strong>-<strong>Based</strong> Systems<br />

For a better underst<strong>and</strong>ing <strong>of</strong> event-based systems we first introduce our underst<strong>and</strong>ing <strong>of</strong> events<br />

<strong>and</strong> related terms. The following definitions are based on our work presented in [101]. However,<br />

slightly different definitions are used by [144, 143, 223].<br />

An event is defined as a significant change in the state <strong>of</strong> the universe [48, 50]. By referring<br />

to significant changes, the infinite number <strong>of</strong> events is limited to those that are relevant to<br />

an application. Since time is an inherent dimension <strong>of</strong> the universe, two observations <strong>of</strong> the<br />

universe at different points in time constitute two distinct events, even if no other properties<br />

have changed.<br />

Further, we distinguish between change events <strong>and</strong> status events:<br />

• A change event is an observed state change in comparison to the previous state.<br />

Example: An object has changed its position by a few meters.<br />

• A status event describes a current state.<br />

Example: Two readings <strong>of</strong> a temperature sensor at different points in time.<br />

observation that both yielded the same temperature constitutes an event.<br />

Even the<br />

By considering time an integral part <strong>of</strong> the state <strong>of</strong> the universe, both change <strong>and</strong> status events<br />

can be modeled in a uniform manner: a status event is a change event, in which the time has<br />

changed.<br />

<strong>Event</strong>s must be observed to be reported <strong>and</strong> processed. An observation captures a discrete<br />

instance <strong>of</strong> a (possibly continuous) signal. An observation <strong>of</strong> an event carries a timestamp <strong>and</strong><br />

descriptive parameters <strong>and</strong> is typically represented as a tuple <strong>of</strong> values. Depending on the type<br />

<strong>of</strong> event <strong>and</strong> application system, the timestamp may be just one point (point semantics <strong>of</strong> time,<br />

instantaneous event) or an interval (interval semantics <strong>of</strong> time, interval event). Parameters may<br />

be absolute values or deltas relative to older reference values (⇒ change event).<br />

<strong>Event</strong>s, or more precisely, their representation, must be reported to event consumers (event<br />

sink, event h<strong>and</strong>ler, event listener, event subscriber) using an event notification. It is generally<br />

accepted that event notifications are routed from event producers (event source, publisher) to<br />

event consumers by a notification service. The notification service decouples producers <strong>and</strong><br />

consumers, <strong>and</strong> provides the routing from source to sink [155]. In the simplest form, this<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!