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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

64 CHAPTER 4. PERFORMANCE ENGINEERING OF EVENT-BASED SYSTEMS<br />

used a single color (Trigger) to model the pull attempt <strong>of</strong> the consumer <strong>and</strong> its resources. In<br />

this pattern, we use two colors to model these aspects:<br />

1. Trigger: responsible to trigger pull attempt.<br />

2. Slot: represents available resources <strong>of</strong> consumer.<br />

The Trigger token controls if <strong>and</strong> when the consumer establishes a connection to the broker.<br />

The pull attempt <strong>of</strong> the consumer is modeled by transition T2 : if an <strong>Event</strong>, a Trigger <strong>and</strong> a<br />

Slot (st<strong>and</strong>ing for free resources) exist, the consumer pulls an <strong>Event</strong>. The consumer tries to pull<br />

<strong>Event</strong>s (by firing transition T2 ) until no further resources (Slots) or <strong>Event</strong>s are available in the<br />

depository <strong>of</strong> the Store respectively the Broker:<br />

• If no further resources are available, the consumer disconnects <strong>and</strong> waits for resources to<br />

be released (see transition T3 ) before establishing a new connection.<br />

• If there are free resources (Slot tokens) available but no further <strong>Event</strong> token available, the<br />

consumer closes the connection <strong>and</strong> waits for ceratin time interval before he reconnects<br />

(see transitions T4 & T5 ).<br />

All places <strong>and</strong> transitions are illustrated in Figure 4.16. The number <strong>of</strong> initial Slot tokens<br />

in the ordinary place Store defines, how many events the consumer is able to h<strong>and</strong>le in parallel,<br />

e.g., the number <strong>of</strong> service places.<br />

QPN Definition<br />

Places:<br />

Place Type Description<br />

Producer S Publishes an event.<br />

Broker S Stores incoming events.<br />

Timer Q Timer queue (scheduling strategy: infinite server).<br />

Store O Stores trigger <strong>and</strong> slot tokens. Used to model free resources.<br />

Consumer S Consumes events.

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

Saved successfully!

Ooh no, something went wrong!