Transcript
  • 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


Top Related