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

25
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

description

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

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

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

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

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

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

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

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

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

4

ProblemContext: Event-driven architectures

Event Publishers Event Consumers

Event

Channel/Bus

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

5

ProblemContext: Event-driven architectures

SmartFlow Project

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

6

ProblemContext: Event-driven architectures

EBBITS Project

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

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

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

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.

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

9

Proposed SolutionReducing non-determinism

event(s) event(s)

Event-based interface

input output

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

10

Proposed SolutionEasy-to-understand abstractions

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

11

Proposed SolutionGrounding on formal specifications

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

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

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

13

Dynamic Event-Driven Actors (DERA)Meta-model of DERA primitives

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

14

Dynamic Event-Driven Actors (DERA)DERA Primitives: Computational Unit

Event Actor

• computational unit or data

processingeTruck

Arrived

eFreeDock

Requested

TruckMonitor

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

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

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

16

Dynamic Event-Driven Actors (DERA)DERA Primitives: Synchronization Unit

Barrier

• synchronization uniteTruck

MovedeUnloading

Started

SynchronizereCamera

Received

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

17

Dynamic Event-Driven Actors (DERA)DERA Primitives: Domain Bridging Unit

Event Bridge

• connect two domains

Yard Management DomainWarehouse Management Domain

YMS-to-WMS

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

18

Grounding DERA constructs on Petri Nets

General Petri Nets representation of DERA constructs

General Petri Nets representation of a “connection”

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

19

Grounding DERA constructs on Petri Nets

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

20

Dynamic Event-Driven Actors (DERA)An example of mapping a DERA-based system to Petri Nets

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

21

DERA-based system verificationsDead execution paths

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

22

DERA-based system verificationsDeadlocks (jamming before reaching the end)

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

23

DERA-based system verificationsLivelocks (trapping in endless cycles)

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

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

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

25

Many thanks for your attention!

Huy Tran

[email protected]

Research Group Software Architecture

Faculty of Computer Science

University of Vienna, Austria.

http://cs.univie.ac.at/swa