Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Event Actors Based Approach for
Supporting Analysis and Verification of
Event-Driven Architectures
Huy Tran and Uwe Zdun
S...
2
About Us
Software Architecture Group @ University of Vienna, Austria
 Founded in 2010
 1 University Professor
 1 Post...
3
Content
Problem
Verification supports for event-driven software
systems
1
Proposed Solution
Event actors, event-based in...
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, scala...
8
Proposed Solution
 Reducing non-determinism while preserving loose
coupling, flexibility
 Well-defined event-based int...
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 ...
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
process...
15
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Branching Unit
Condition
• branching unit (i.e.,
if-then-else)
eSto...
16
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Synchronization Unit
Barrier
• synchronization unit
eTruck
Moved
eU...
17
Dynamic Event-Driven Actors (DERA)
DERA Primitives: Domain Bridging Unit
Event Bridge
• connect two domains
Yard Manage...
18
Grounding DERA constructs on Petri Nets
General Petri Nets representation of DERA constructs
General Petri Nets represe...
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 support...
25
Many thanks for your attention!
Huy Tran
huy.tran@univie.ac.at
Research Group Software Architecture
Faculty of Computer...
Upcoming SlideShare
Loading in …5
×

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

472 views

Published on

This is my presentation at EDOC 2013 conference in Vancouver, Canada on Sep 13, 2013.

Published in: Education, Technology
  • Be the first to comment

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

  1. 1. 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. 2. 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. 3. 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. 4. 4 Problem Context: Event-driven architectures Event Publishers Event Consumers Event Channel/Bus
  5. 5. 5 Problem Context: Event-driven architectures SmartFlow Project
  6. 6. 6 Problem Context: Event-driven architectures EBBITS Project
  7. 7. 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. 8. 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. 9. 9 Proposed Solution Reducing non-determinism event(s) event(s) Event-based interface input output
  10. 10. 10 Proposed Solution Easy-to-understand abstractions
  11. 11. 11 Proposed Solution Grounding on formal specifications
  12. 12. 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. 13. 13 Dynamic Event-Driven Actors (DERA) Meta-model of DERA primitives
  14. 14. 14 Dynamic Event-Driven Actors (DERA) DERA Primitives: Computational Unit Event Actor • computational unit or data processing eTruck Arrived eFreeDock Requested TruckMonitor
  15. 15. 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. 16. 16 Dynamic Event-Driven Actors (DERA) DERA Primitives: Synchronization Unit Barrier • synchronization unit eTruck Moved eUnloading Started Synchronizer eCamera Received
  17. 17. 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. 18. 18 Grounding DERA constructs on Petri Nets General Petri Nets representation of DERA constructs General Petri Nets representation of a “connection”
  19. 19. 19 Grounding DERA constructs on Petri Nets
  20. 20. 20 Dynamic Event-Driven Actors (DERA) An example of mapping a DERA-based system to Petri Nets
  21. 21. 21 DERA-based system verifications Dead execution paths
  22. 22. 22 DERA-based system verifications Deadlocks (jamming before reaching the end)
  23. 23. 23 DERA-based system verifications Livelocks (trapping in endless cycles)
  24. 24. 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. 25. 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

×