Event Actors Based Approach for
Supporting Analysis and Verification of
Event-Driven Architectures
Huy Tran and Uwe Zdun
Software Architecture Group
Faculty of Computer Science
University of Vienna, Austria.
http://cs.univie.ac.at/swa
2
About Us
Software Architecture Group @ University of Vienna, Austria
 Founded in 2010
 1 University Professor
 1 Post-doctoral Researcher
 7 Pre-doc Research Assistants
 Research areas
 software architecture, distributed systems, event-driven
architecture, model-driven software development, service-
oriented computing
3
Content
Problem
Verification supports for event-driven software
systems
1
Proposed Solution
Event actors, event-based interfaces, Petri Nets
Summary
Achievements, lessons learned, future directions
2
3
4
Problem
Context: Event-driven architectures
Event Publishers Event Consumers
Event
Channel/Bus
5
Problem
Context: Event-driven architectures
SmartFlow Project
6
Problem
Context: Event-driven architectures
EBBITS Project
7
Problem
Summary
 Event-driven architectures
+ Loose coupling
+ Independent execution
+ Potential for flexibility, scalability and
concurrency
- Inherently non-deterministic
- Challenging for understanding and analyzing
(esp. large architecture designs)
- Limited supports for verifications (mostly low-
level abstractions, i.e., pub/sub)
A
B
event
event
event
8
Proposed Solution
 Reducing non-determinism while preserving loose
coupling, flexibility
 Well-defined event-based interfaces
 Easy-to-understand abstractions
 Close to traditional constructs: sequence, branching, etc.
 Textual vs. graphical
 Supports for analysis by grounding on formal
specifications
 Process algebras, Petri Nets, etc.
9
Proposed Solution
Reducing non-determinism
event(s) event(s)
Event-based interface
input output
10
Proposed Solution
Easy-to-understand abstractions
11
Proposed Solution
Grounding on formal specifications
12
Dynamic Event-Driven Actors (DERA)
Overview
Developer
develops
Snapshot
analyzes &
verifies
Execution Domain
Execution Domain
Execution Domain
event
bridge
DERA Engine
deploys
Petri nets
description
(e.g., PNML)
DeraLang
captures
translates
translates
13
Dynamic Event-Driven Actors (DERA)
Meta-model of DERA primitives
14
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Computational Unit
Event Actor
• computational unit or data
processing
eTruck
Arrived
eFreeDock
Requested
TruckMonitor
15
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Branching Unit
Condition
• branching unit (i.e.,
if-then-else)
eStoring
Finished
isStoring
Finished
eUnit
Stored
eStoring
NotFinished
16
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Synchronization Unit
Barrier
• synchronization unit
eTruck
Moved
eUnloading
Started
Synchronizer
eCamera
Received
17
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Domain Bridging Unit
Event Bridge
• connect two domains
Yard Management Domain
Warehouse Management Domain
YMS-to-WMS
18
Grounding DERA constructs on Petri Nets
General Petri Nets representation of DERA constructs
General Petri Nets representation of a “connection”
19
Grounding DERA constructs on Petri Nets
20
Dynamic Event-Driven Actors (DERA)
An example of mapping a DERA-based system to Petri Nets
21
DERA-based system verifications
Dead execution paths
22
DERA-based system verifications
Deadlocks (jamming before reaching the end)
23
DERA-based system verifications
Livelocks (trapping in endless cycles)
24
Summary
Achievements, lessons learned, and future directions
 Reducing non-determinism is important to
enhance supports for understanding and analyzing
event-based systems
 Intuitive notational abstractions, which are
 close to traditional constructs: important for lessening
the learning-curve
 grounded on formal specifications: enabling formal
verifications
 Potential future directions
 additional constructs
 other aspects: data, fault handling, temporal, etc.
 inter-domain specifications and verifications
25
Many thanks for your attention!
Huy Tran
huy.tran@univie.ac.at
Research Group Software Architecture
Faculty of Computer Science
University of Vienna, Austria.
http://cs.univie.ac.at/swa

EDOC 2013 "Event Actors Based Approach for Supporting Analysis and Verification of Event-Driven Architectures"