edoc 2013 "event actors based approach for supporting analysis and verification of event-driven...
DESCRIPTION
This is my presentation at EDOC 2013 conference in Vancouver, Canada on Sep 13, 2013.TRANSCRIPT
Event Actors Based Approach for
Supporting Analysis and Verification of
Event-Driven Architectures
Huy Tran and Uwe ZdunSoftware Architecture Group
Faculty of Computer Science
University of Vienna, Austria.
http://cs.univie.ac.at/swa
2
About UsSoftware 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
SummaryAchievements, lessons learned, future directions
2
3
4
ProblemContext: Event-driven architectures
Event Publishers Event Consumers
Event
Channel/Bus
5
ProblemContext: Event-driven architectures
SmartFlow Project
6
ProblemContext: Event-driven architectures
EBBITS Project
7
ProblemSummary
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 SolutionReducing non-determinism
event(s) event(s)
Event-based interface
input output
10
Proposed SolutionEasy-to-understand abstractions
11
Proposed SolutionGrounding on formal specifications
12
Dynamic Event-Driven Actors (DERA)Overview
Developerdevelops
Snapshot
analyzes &verifies
Execution Domain
Execution Domain
Execution Domain
eventbridge
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
processingeTruck
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 uniteTruck
MovedeUnloading
Started
SynchronizereCamera
Received
17
Dynamic Event-Driven Actors (DERA)DERA Primitives: Domain Bridging Unit
Event Bridge
• connect two domains
Yard Management DomainWarehouse 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 verificationsDead execution paths
22
DERA-based system verificationsDeadlocks (jamming before reaching the end)
23
DERA-based system verificationsLivelocks (trapping in endless cycles)
24
SummaryAchievements, 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
Research Group Software Architecture
Faculty of Computer Science
University of Vienna, Austria.
http://cs.univie.ac.at/swa