dynamic event-driven actors (dera)
DESCRIPTION
This is my presentation at the OTM/CoopIS 2012 conference in Rome, Italy from Sep 10-14, 2012 about the dynamic event-driven actor framework (DERA) for enhancing the flexibility and scalability of service-based integration architecture. The paper can be downloaded at ResearchGate: http://bit.ly/NudGPL.TRANSCRIPT
![Page 1: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/1.jpg)
Event-driven Actors for Supporting Flexibility and Scalability
in Service-based Integration Architecture
Huy Tran and Uwe ZdunSoftware Architecture GroupFaculty of Computer ScienceUniversity of Vienna, Austria.
http://cs.univie.ac.at/swa
![Page 2: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/2.jpg)
2 software architecture group
Content
Problem Context: Service-based Integration Architetures
1
Solution Dynamic Event-driven Actors (DERA) Approach:Primitives, Formalization, Substitution, DeraDSL
SummaryEvaluations, Future Works
2
3
![Page 3: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/3.jpg)
3 software architecture group
ProblemService-based integration architecture
Service-based Applications
Service Platforms
Platform Integration
Source: http://www.indenica.eu
![Page 4: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/4.jpg)
4 software architecture group
Problem (cont’d)Integration architecture in detail
Integration Framework(e.g, Apache Tuscany SCA, Fabric3)
• Hard-wired
• Hard to change
• No (or limited) supports for runtime
adaptation and evolution
![Page 5: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/5.jpg)
5 software architecture group
Dynamic Event-Driven Actors (DERA)Summary of DERA approach
Event-driven communication style
+ Loose coupling
+ Potential for flexibility, scalability and concurrency
- Not easy to understand (esp. large architecture designs)
Well-defined interfaces
Substitutions of event actors
Support for verifications/analysis
Facade
MessageTranslator
?
![Page 6: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/6.jpg)
6 software architecture group
Dynamic Event-Driven Actors (cont’d)Overview of DERA architecture
![Page 7: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/7.jpg)
7 software architecture group
Dynamic Event-Driven Actors (cont’d)Meta-model of DERA primitives
![Page 8: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/8.jpg)
8 software architecture group
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Computational Unit
Event Actor• computational unit (data
processing, proxy, adapter,
etc.)• stateless/immutable
eTruckArrived
eFreeDockRequested
TruckMonitor
![Page 9: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/9.jpg)
9 software architecture group
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Synchronization Unit
Barrier• synchronization unit
eTruckMoved
eUnloadingStarted
SynchronizereCameraReceived
![Page 10: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/10.jpg)
10 software architecture group
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Branching Unit
Condition• branching unit (i.e.,
if-then-else)
eStoringFinished
isStoringFinished
eUnitStored
eStoringNotFinished
![Page 11: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/11.jpg)
11 software architecture group
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Execution Initiation
Trigger• triggers the execution
by emitting events
eTruckArrived
TheTrigger
![Page 12: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/12.jpg)
12 software architecture group
Dynamic Event-Driven Actors (cont’d)DERA Primitives: Domain Bridging Unit
EventBridge• connect two domains
YardManagementDomain WarehouseManagementDomainYMS-to-WMS
![Page 13: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/13.jpg)
13 software architecture group
Dynamic Event-Driven Actors (cont’d)A DERA-based representation of integration architectures
Warehouse Management Domain
![Page 14: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/14.jpg)
14 software architecture group
Dynamic Event-Driven Actors (cont’d)Event Actor Substitution
EventActor MoveTruckToDockNew input[operatorTruckArrivedNotified] output[operatorMoveTruckToDock] register [MoveTruckToDockNew] deactivate [MoveTruckToDock] deactivate [b1] ... // verifications activate [MoveTruckToDockNew]
![Page 15: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/15.jpg)
15 software architecture group
Dynamic Event-Driven Actors (cont’d)Event Actor Substitution
EventActor CallWarehouseStaff input[operatorStoreStartedNotified] output[ operatorCallWarehouseStaff]EventActor StartUnloadingNew input[operatorCallWarehouseStaff] output[ operatorStartUnloading] register [CallWarehouseStaff]register [StartUnloadingNew]deactivate [StartUnloading]/* verifications can be performed here to detect anomalies */ activate [StartUnloadingNew] activate [CallWarehouseStaff]
![Page 16: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/16.jpg)
16 software architecture group
EvaluationDERA scalability
Goal DERA scalability DERA overheads vs. a
pure Java impl.
Settings Intel Quad-core i7
2.0Ghz 8GB memory Oracle JDK 1.6u31 64bit -Xms512m -Xmx1024m -
Xss1m n DERA actors n Java tasks Fixed thread pool of size
8 (#CPU cores)
![Page 17: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/17.jpg)
17 software architecture group
Future Works
Formal reasoning methods for supporting: verification of DERA system properties at important
stages: before deploying or substituting event actors, etc. cross-domain verifications
Assume “reliable event communication channels” NIÑOS/PADRES: Jacobsen et al. Reliable pub/sub networks: Costa et al., Kazemzadeh et
al., Malekpour et al., etc. Reliable message-oriented middleware: Pietzuch et al.
![Page 18: Dynamic Event-Driven Actors (DERA)](https://reader033.vdocuments.site/reader033/viewer/2022061200/547029f4af7959cb5c8b45f8/html5/thumbnails/18.jpg)
18 software architecture group
Many thanks for your attention!
Huy Tran
Software Architecture GroupFaculty of Computer ScienceUniversity of Vienna, Austria.http://cs.univie.ac.at/swa