
-
CHAIR FOR SOFTWARE DESIGN AND QUALITY (SDQ), KARLSRUHE INSTITUTE OF TECHNOLOGY (KIT)
Compositional PerformanceAbstractions of Software ConnectorsWork in Progress / Vision PaperMisha Strittmatter, Lucia Happe | June 19, 2013
KIT – University of the State of Baden-Wuerttemberg andNational Laboratory of the Helmholtz Association
www.kit.edu
http://www.kit.edu
-
Motivation
SDQ
(Software)
Correspondence
(Model)
1
42
2
? asdf
13
DB...
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 1
-
Motivation
SDQ
Me
asu
rem
en
t
Pre
dic
tio
n
(Software)
Correspondence
(Model)
1
42
2
? asdf
13
DB...
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 2
-
Motivation
SDQ
Me
asu
rem
en
t
Pre
dic
tio
n
(Software)
Correspondence ?
Correspondence
(Model)
1
42
2
? asdf
13
DB...
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 3
-
Motivation
SDQ
Me
asu
rem
en
t
Pre
dic
tio
n
(Software)
Correspondence ?
Correspondence
(Model)
1
42
2
? asdf
13
DB...
One Possible
Cause:
Missing Detail
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 4
-
Refinement Based Approach
SDQ
(Model)
1
42
2
? asdf
13
DB...
Prediction
Refine
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 5
-
Refinement Based Approach
SDQ
(Model)
1
42
2
? asdf
13
DB...
Prediction
Refine
0,5
12
IPD
KIT
3
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 6
-
Refinement Based Approach
SDQ
(Model)
1
42
2
? asdf
13
DB...
Prediction
Refine
0,5
12
IPD
KIT
3
+
-
12
12
SW
42
SDQ
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 7
-
Refinement Based Approach
(Model)
Prediction
RefineDrawback:
Increased Effort,
Model too Complex
SDQ
1
42
2
? asdf
13
DB...
0,5
12
IPD
KIT
3
+
-
12
12
SW
42
SDQ
DB
DB... DB
SDQ
SW
42KIT
4212
12
12
12
1242 2
3 IPD
+
-SW
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 8
-
Idea: Purpose Specific Models
Purpose?
Verification
Performance
Prediction
Reliability
Prediction
Docu-
mentation
Code
Generation
Different
Levels of
Abstraction
Required
SDQ
1
42
2
? asdf
13
DB...
0,5
12
IPD
KIT
3
+
-
12
12
SW
42
SDQ
DB
DB... DB
SDQ
SW
42KIT
4212
12
12
12
1242 2
3 IPD
+
-SW
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 9
-
Idea: Purpose Specific Models
Purpose
Verification
Performance
Prediction
Reliability
Prediction
Docu-
mentation
Code
Generation
Different
Levels of
Abstraction
Required
SDQ
1
42
2
? asdf
13
DB...
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 10
-
Performance Specific Abstraction
3 sec
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 11
-
Performance Specific Abstraction
10 sec
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 12
-
Performance Specific Abstraction
10 sec
Activities of Calls Passing
Through the Connector:
qWaiting
qProcessing
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 13
-
Performance Specific Abstraction
10 sec
Activities of Calls Passing
Through the Connector:
qWaiting
qProcessing
Performance Abstraction:
qPipe
qFilter (active/passive)
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 14
-
Performance Specific Abstraction
Pipe Filter Pipe Filter Pipe Filter
13,42 sec
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 15
-
Performance Specific Abstraction
Pipe Filter Pipe Filter Pipe Filter
High Abstraction vs. High Detail
13,42 sec
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 16
-
Performance Specific Abstraction
Co
mp
leti
on
13,42 sec
Black Box
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 17
-
Architecture Excerpt
Client UnitClient Server
1:1 Procedure Call Connector
Server Unit
Resource Container
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 18
-
Architecture Excerpt
Client Unit
Pipe
Interceptor
Pipe Pipe
Adapter
∙ ∙ ∙
Pipe
Compressor Distributor
Pipe
Cryptor
∙ ∙ ∙
∙ ∙ ∙
Client ServerServer Unit
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 19
-
Architecture Excerpt
Client Unit
Pipe
Interceptor
Pipe Pipe
Adapter
∙ ∙ ∙
Pipe
Compressor Distributor
Pipe
Cryptor
∙ ∙ ∙
∙ ∙ ∙
Client ServerServer Unit
FilterPipe1 Pipe2
Filter: acquire worker
Pipe2: acquire capacity
Filter: process
Filter: release worker
Pipe1: release capacity
Scope of the filter’s control focus
forked activity
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 20
-
Feature Arch Mapping
Pipe
Interceptor
Pipe Pipe
Adapter
∙ ∙ ∙
Client
Component
Pipe
Compressor Distributor
Pipe
Cryptor
∙ ∙ ∙
∙ ∙ ∙
Server
Unit
Procedure
Call
Adaption
Interception
EncryptionCompression Replication
Distribution
RemoteLocal
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 21
-
Feature Selectionp
Pipe
Interceptor
Pipe
∙ ∙ ∙
Client
Component
Compressor
Pipe
Cryptor
Server
Unit
Procedure
Call
Adaption
Interception
EncryptionCompression Replication
Distribution
RemoteLocal
Selection
Au
tom
atic
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 22
-
Feature Configurationp
Pipe
Interceptor
Pipe
∙ ∙ ∙
Client
Component
Compressor
Pipe
Cryptor
Server
Unit
Procedure
Call
Adaption
Interception
EncryptionCompression Replication
Distribution
RemoteLocalTarget
Interface
WP, Buffer
RD
WP, Buffer
RD
ConfigureA
uto
ma
tic
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 23
-
Transformation Generationp
Pipe
Interceptor
Pipe
∙ ∙ ∙
Client
Component
Compressor
Pipe
Cryptor
Server
Unit
Procedure
Call
Adaption
Interception
EncryptionCompression Replication
Distribution
RemoteLocal
Transformation Fragment 1
Transformation Fragment 2
Transformation Fragment 3
Combine
Transformation(Specific for one Configuration)
Com
bine
Comb
ine
Target
Interface
WP, Buffer
RD
WP, Buffer
RD
Au
tom
atic
Reoccuring Basic
Elements
(Pipes & Filters)
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 24
-
Evaluation
Sensor
Sensor
Sensor
Server
Periodically
Send Data
Compression,
Socket Transfer,
Decompression
Can the Connectors be Abstracted
by Pipe & Filter Chains?
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 25
-
Evaluation
Procedure
Call
Distribution
Remote Local
Asynch
Compression DecompressionSocket Transfer
(PCM)
Sensor
Sensor
Sensor
Server
Server Worker
Management
Critical Section
Transactions
Interception Adaption
EncryptionReplication
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 26
-
Evaluation
Procedure
Call
Distribution
Remote
Asynch
Compression DecompressionSocket Transfer
(PCM)
Sensor
Sensor
Sensor
Server
Server Worker
Management
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 27
-
Evaluation
Sensor Pipe Compr Pipe Socket
Sensor Pipe Compr Pipe Socket
Sensor Pipe Compr Pipe Socket
PipeDe-
compPipe Server
(PCM)
Procedure
Call
Distribution
Remote
Asynch
Compression DecompressionSocket Transfer
Server Worker
Management
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 28
-
Evaluation
Sensor Pipe Compr Pipe Socket
Sensor Pipe Compr Pipe Socket
Sensor Pipe Compr Pipe Socket
PipeDe-
compPipe Server
(PCM)
Procedure
Call
Distribution
Remote
Asynch
Compression Socket Transfer Decompression
Server Worker
Management
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 29
-
Summary
0 100 200 300 400 500
0
100
200
300
400
500
600
700
800
900
Measurements
1 Thread
Compression Decompression Socket Transfer
Data Size (kB)
Re
sp
on
se
Tim
e (
ms
)
Pipe Filter Pipe Filter Pipe Filter
13,42 sec
Pipe
Interceptor
Pipe
∙ ∙ ∙
Client
Component
Compressor
Pipe
Cryptor
Server
Unit
Procedure
Call
Adaption
Interception
EncryptionCompression Replication
Distribution
RemoteLocalTarget
Interface
WP, Buffer
RD
WP, Buffer
RD
Configure
Au
tom
atic
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 30
-
Basic Design
FilterPipe1 Pipe2
Scope of the filter’s control focus
pull for data from Pipe1
(block if Pipe empty)
process
push data to Pipe2
(block if Pipe full)
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 31
-
Basic Design
FilterPipe1 Pipe2
Filter: acquire worker
Pipe2: acquire capacity
Filter: process
Filter: release worker
Pipe1: release capacity
Scope of the filter’s control focus
forked activity
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 32
-
Connector Topology
d
Messaging
Blackboard
bb
c s
c
c
Procedure Call
n:1
Streaming
full duplex
1:1
w r
r
r
half
duplex
1:n
(Originally Designed by Tomas Bures [BP03])
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 33
-
Feature Diagram
Legend
or
exclusive or
mandatory
optional
concept
mandatory
feature
alternative
feature
alternative
feature
alternative
feature
or-subfeature
or-subfeature
alternative
subfeature
alternative
subfeature
optional
subfeature
mandatory
subfeature
or-subfeature
optional
subfeature
excludes
requires
An instance of a feature diagram is a subset of nodes, selected after the followingrestrictions:
The root is always included.Mandatory features have to be included, if their parent is included.Optional features can be included, if their parent is included.One or more features of an or-feature set have to be included, if their parent isincluded.Exactly one feature of an exclusive-or-feature set has to be included, if its parentis included.All requires- and excludes-constraints of a feature are satisfied.
[Bus07]
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 34
-
Related WorkConnectors
Connector taxonomy [MMP00]Composing connectors of elements [BP03]
CompletionsCompletion generation [KHB10], conflict resolution [KG09]Replication [Har10]Middleware completion [HFBR08]Encryption, Compression, Marshalling [Bec08]
Component SystemsSurveys [Koz10, LW05, KZM+10, Bur06]ROBOCOP [BMdW+04, Rob], OLAN [BBB+98], SOFA[PBJ98]
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 35
-
Procedure Call Connector Client UnitArchitecture
Pipe
Interceptor
Pipe Pipe
Adapter
Pipe
Compressor Distributor
Pipe
Cryptor
∙ ∙ ∙
∙ ∙ ∙
∙ ∙ ∙
Client
Component
Server
Unit
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 36
-
Procedure Call Connector ServerUnit Architecture
Pipe
Cryptor
Pipe
SyncherCompressor
Pipe
Transaction
Manager
Pipe
Adaptor Interceptor
Pipe
Sink
Pipe
Pipe
∙ ∙ ∙
Client
Units
Server
Component
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 37
-
Worker Management
FilterPipeFilter
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 38
-
Procedure Call Connector FeatureTree
Procedure
Call
CompressionReplication
(Replication)
Encryption
(Coupled)
Adaption
Client Server
(Filter) (Filter)
Interception
Client Server
(Interception) (Interception)
Distribution
Remote Local
Transactions
Synch
Asynch
Server Worker
Management
Critical Section
Legend
or
exclusive or
mandatory
optional
Target
Connections
Buffer Size
(x2)
(Coupled)
WP Size
EnabledBuffer
Size (x2)
Capacity
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 39
-
Filter Feature Tree
Filter (x2)
WP Sizeper
Method
Manual Lib
Resource
Demand
Bytesize
Modification
Buffer
Size
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 40
-
Coupled Activity Feature Tree
Coupled (x2)
Client
WP Size
per
Method
Manual Lib
Application
Bytesize
Modification
Reversion
Resource
Demand
Resource
Demand
Bytesize
Modification
Server
WP Size
Client
Buffer Size
Server
Buffer Size
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 41
-
Interception & Replication FeatureTree
Interception
WP Size
(x2)Target
Buffer
Size (x2)
Replication
Replication
Count
per
Replica
Resource
Container
Distributor
WP Size (x2)
Policy
Buffer
Size (x2)
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 42
-
References I
[BBB+98] R. Balter, L. Bellissard, F. Boyer, M. Riveill, and J.-Y. Vion-Dury.Architecturing and configuring distributed application with olan.In Middleware ’98: Proceedings of the IFIP International Conference on Distributed SystemsPlatforms and Open Distributed Processing, pages 241–256, London, UK, 1998. Springer-Verlag.
[Bec08] Steffen Becker.Coupled Model Transformations for QoS Enabled Component-Based Software Design.PhD thesis, University of Oldenburg, Germany, March 2008.
[BMdW+04] Egor Bondarev, Johan Muskens, Peter de With, Michel Chaudron, and Johan Lukkien.Predicting real-time properties of component assemblies: A scenario-simulation approach.EUROMICRO Conference, 0:40–47, 2004.
[BP03] Tomas Bures and Frantisek Plasil.Composing connectors of elements.Technical Report 3, Dep. of SW Engineering, Charles University, Prague, May 2003.
[Bur06] Tomas Bures.Generating Connectors for Homogeneous and Heterogeneous Deployment.PhD thesis, Charles University, Prague, September 2006.
[Bus07] Frank Buschmann.Pattern-oriented software architecture, volume 1: A system of patterns.Wiley, Chichester [u.a.], repr. edition, 2007.
[Har10] Christian Harnisch.Modeling parallel, component-based software architectures with design patterns.Study thesis, Karlsruhe Institute of Technology (KIT), 2010.
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 43
-
References II
[HFBR08] Jens Happe, Holger Friedrich, Steffen Becker, and Ralf H. Reussner.A pattern-based performance completion for message-oriented middleware.In WOSP ’08: Proceedings of the 7th international workshop on Software and performance, pages165–176, New York, NY, USA, 2008. ACM.
[KG09] Lucia Kapova and Thomas Goldschmidt.Automated feature model-based generation of refinement transformations.In In Proceedings of the 35th EUROMICRO Conference on Software Engineering and AdvancedApplications, 2009.
[KHB10] Lucia Kapova, Jens Happe, and Steffen Becker.Systematic pattern-based design of performance models for concurrent software systems.Will be published, 2010.
[Koz10] Heiko Koziolek.Performance evaluation of component-based software systems: A survey.Performance Evaluation, 67(8):634 – 658, 2010.Special Issue on Software and Performance.
[KZM+10] Lucia Kapova, Barbora Zimmerova, Anne Martens, Jens Happe, and Ralf H. Reussner.State dependence in performance evaluation of component-based software systems.In Proceedings of the 1st Joint WOSP/SIPEW International Conference on Performance Engineering(WOSP/SIPEW ’10), New York, NY, USA, 2010. ACM.
[LW05] Kung-Kiu Lau and Zheng Wang.A taxonomy of software component models.EUROMICRO Conference, 0:88–95, 2005.
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 44
-
References III
[MMP00] Nikunj R. Mehta, Nenad Medvidovic, and Sandeep Phadke.Towards a taxonomy of software connectors.In ICSE ’00: Proceedings of the 22nd international conference on Software engineering, pages178–187, New York, NY, USA, 2000. ACM.
[PBJ98] F. Plasil, D. Bálek, and R. Janecek.SOFA/DCUP: Architecture for component trading and dynamic updating.In Fourth International Conference on Configurable Distributed Systems, 1998. Proceedings, pages43–51, 1998.
[Rob] Robocop: Robust open component based software architecture for configurable devices project.Public deliverables.http://www.hitech-projects.com/euprojects/robocop/deliverables.htm.
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 45
http://www.hitech-projects.com/euprojects/robocop/deliverables.htm
-
Copyright
Copyright to the title image (”jack plug 3”) is owned by the userfazong of http://www.sxc.huDuplicating the image from this presentation is prohibited.Instead you can download it here:http://www.sxc.hu/photo/912517 (if you respect the copyrightgiven there)
Introduction Approach Implementation Evaluation Conclusion Appendix
Misha Strittmatter, Lucia Happe – Connector Performance Abstractions June 19, 2013 46
IntroductionApproachImplementationEvaluationConclusionAppendix