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

Upload: huy-tran

Post on 01-Jul-2015

132 views

Category:

Education


2 download

DESCRIPTION

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

TRANSCRIPT

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