
Fakutat¨ II - Informatik, Wirtschafts- und Rechtswissenschaften Department fur¨ Informatik Parameter Dependencies for Reusable Performance Specifications of Software Components PhD thesis to gain the degree of ”Doktor der Ingenieurswissenschaften” by: Dipl.-Inform. Heiko Koziolek Referees: Prof. Dr. Ralf Reussner Prof. Dr. Wilhelm Hasselbring Date of Disputation: March 27th, 2008 II Contents 1 Introduction1 1.1 Motivation......................................1 1.2 Problem.......................................3 1.3 Existing Solutions..................................4 1.4 Contributions....................................6 1.5 Validation......................................8 1.6 Overview.......................................9 2 Software Components and Performance: Basics and State-of-the-Art 13 2.1 Component-based Software Engineering.................... 14 2.1.1 Introduction................................. 14 2.1.2 Software Components........................... 15 2.1.3 Software Architecture........................... 19 2.1.4 Component-based Development Process................ 20 2.2 Model-Driven Software Development...................... 23 2.2.1 Introduction................................. 23 2.2.2 Modelling Core Concepts......................... 24 2.2.3 Transformations.............................. 28 2.3 Performance Engineering............................. 29 2.3.1 Introduction................................. 30 2.3.2 Performance Modelling.......................... 32 2.3.3 Software Performance Engineering.................... 37 2.3.4 Performance Meta-Models........................ 39 2.4 Component-Based Performance Engineering.................. 41 2.4.1 Motivation.................................. 41 2.4.2 Factors Influencing Performance of Software Components...... 42 2.4.3 Requirements for Component Performance Specification....... 43 2.5 Related Work.................................... 45 2.5.1 Component-Based Performance Prediction Approaches........ 46 III 2.5.2 Other Component-Based Performance Analysis Approaches..... 57 2.5.3 Usage Modelling.............................. 60 2.6 Summary....................................... 65 3 Basics of the Palladio Component Model 67 3.1 Palladio Development Process Model...................... 67 3.1.1 Developer Roles.............................. 68 3.1.2 QoS-Driven Development Process.................... 69 3.2 PCM Meta-Model.................................. 74 3.2.1 Overview.................................. 74 3.2.2 Interfaces, Data Types, and Components................ 76 3.2.3 Context Model............................... 81 3.2.4 Composition................................. 83 3.2.5 Resource Model, Allocation........................ 85 3.3 Random Variables.................................. 88 3.3.1 Motivation.................................. 88 3.3.2 Basic Properties of Random Variables.................. 90 3.3.3 Constant Random Variables in the StoEx-framework......... 91 3.3.4 Discrete Random Variables in the StoEx-framework.......... 91 3.3.5 Continuous Random Variables in the StoEx-framework........ 93 3.3.6 Stochastic Expressions........................... 96 3.4 Summary....................................... 102 4 Behavioural Models for Users and Components in CBSE 103 4.1 Parameter Abstractions............................... 103 4.1.1 Motivation.................................. 104 4.1.2 Parameter Characterisation........................ 106 4.1.3 Parameter Characterisation in the PCM................. 108 4.1.4 Implications of Parameter Abstractions................. 115 4.2 Usage Model..................................... 116 4.2.1 Meta-Model: Abstract Syntax and Informal Semantics........ 117 4.2.2 Example................................... 119 4.2.3 Discussion.................................. 121 4.3 Resource Demanding Service Effect Specification................ 122 4.3.1 Meta-Model: Abstract Syntax and Informal Semantics........ 123 4.3.2 Example................................... 134 4.3.3 Comparison to Related Work....................... 136 4.3.4 Limitations................................. 137 IV 4.3.5 Discussion.................................. 139 4.4 Mapping PCM instances to QPNs......................... 141 4.4.1 Introduction................................. 142 4.4.2 Usage Model Semantics.......................... 144 4.4.3 RDSEFF Semantics............................. 153 4.4.4 Limitations and Assumptions....................... 160 4.5 Summary....................................... 161 5 Generating RDSEFFs from Java Code 163 5.1 Motivation...................................... 163 5.2 Techniques for Automatic Performance Model Generation.......... 164 5.3 A Hybrid Approach for Reverse Engineering RDSEFFs from Code..... 169 5.4 Static Analysis: Mapping Java Code to RDSEFFs................ 171 5.4.1 Location of External Service Calls.................... 172 5.4.2 Location of Resource Usages....................... 173 5.4.3 Control Flow Transformation....................... 175 5.4.4 Abstraction-Raising Transformation................... 176 5.4.5 Establishing Parameter Dependencies.................. 177 5.5 Java2PCM Implementation............................ 179 5.6 Java2PCM Case Study: CoCoME......................... 181 5.7 Summary....................................... 184 6 Model-Transformation from Software Domain to Performance Domain 187 6.1 Model-Transformation Process.......................... 187 6.2 Dependency Solver................................. 189 6.2.1 Input and Output.............................. 189 6.2.2 Model Traversal............................... 191 6.2.3 Solving Dependencies........................... 193 6.2.4 Context Wrapper.............................. 196 6.2.5 Computational Complexity........................ 197 6.3 Transformation to Stochastic Regular Expressions............... 199 6.3.1 Overview.................................. 199 6.3.2 Background................................. 199 6.3.3 Syntax and Semantics........................... 200 6.3.4 Overall Sojourn Time Solution...................... 202 6.3.5 Mapping from PCM Instance to StoRegEx................ 204 6.3.6 Assumptions................................ 206 6.4 Transformation to Layered Queueing Networks................ 207 V 6.4.1 Overview.................................. 207 6.4.2 Background................................. 208 6.4.3 Syntax and Semantics........................... 209 6.4.4 Solution Techniques............................ 215 6.4.5 Mapping from PCM instances to LQN.................. 216 6.4.6 Comparison PCM/LQN.......................... 226 6.5 Summary....................................... 228 7 Experimental Evaluation 231 7.1 Types of Validations................................ 231 7.2 Validations for Parametric Dependencies.................... 233 7.3 Type-I-Validation.................................. 234 7.3.1 Setting: Questions, Metrics, Assumptions................ 234 7.3.2 MediaStore................................. 237 7.3.3 Results.................................... 242 7.3.4 Sensitivity Analysis............................ 247 7.3.5 Discussion.................................. 250 7.4 Type-II-Validation.................................. 251 7.4.1 Setting: Questions, Metrics, Assumptions................ 251 7.4.2 Experiment Design............................. 253 7.4.3 Results.................................... 258 7.4.4 Threats to Validity............................. 262 7.4.5 Conclusions................................. 264 7.5 Summary....................................... 265 8 Conclusions 267 8.1 Summary....................................... 267 8.2 Benefits........................................ 271 8.3 Future Work..................................... 272 8.3.1 Short Term Future Work.......................... 272 8.3.2 Long Term Future Work.......................... 274 A Contributions and Imported Concepts 279 B Mathematical Definitions 283 B.1 Probability Theory................................. 283 B.1.1 Probability Space.............................. 284 B.1.2 Measurable Functions........................... 284 B.1.3 Random Variable.............................. 285 VI B.1.4 Real-valued Random Variable....................... 285 B.1.5 Probability Mass Function......................... 285 B.1.6 Probability Density Function....................... 286 B.2 Petri-Nets...................................... 287 B.3 Scheduling Disciplines............................... 293 VII VIII List of Figures 1.1 Model-Driven Performance Prediction......................3 2.1 Forms of Software Components [CD01]..................... 16 2.2 Component-Based Development Process [CD01]................ 21 2.3 Modelling and DSLs [SVC06, p.56]........................ 24 2.4 Model Transformations [SVC06, p.60]...................... 29 2.5 Markov Chains................................... 33 2.6 Queueing Network................................. 34 2.7 Stochastic Petri Net................................. 36 3.1 QoS-Driven Component-Based Development Process [KH06]........ 70 3.2 Component-Based Development Process: Specification Workflow (Detailed View)......................................... 71 3.3 Component-Based Development Process: QoS Analysis Workflow (Detailed View)......................................... 73 3.4 Palladio Component Model: Parts and Analysis Models............ 75 3.5 PCM Repository (meta-model).......................... 76 3.6 Interface (meta-model)............................... 77 3.7 Example Instances: Interface,
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages335 Page
-
File Size-