Table Of ContentThe Karlsruhe Series on
Software Design
and Quality
Steffen Becker
Coupled Model Transformations
for QoS Enabled
Component-Based Software Design
The Karlsruhe Series on Software Design and Quality
Volume 1
Chair Software Design and Quality
Faculty of Computer Science
Universität Karlsruhe (TH)
and
Software Engineering Division
Research Center for Information Technology (FZI), Karlsruhe
Editor: Prof. Dr. Ralf Reussner
Coupled Model Transformations
for QoS Enabled
Component-Based Software Design
by
Steffen Becker
Dissertation, University of Oldenburg,
Department of Computer Science, 2008
Impressum
Universitätsverlag Karlsruhe
c/o Universitätsbibliothek
Straße am Forum 2
D-76131 Karlsruhe
www.uvka.de
Dieses Werk ist unter folgender Creative Commons-Lizenz
lizenziert: http://creativecommons.org/licenses/by-nc-nd/2.0/de/
Universitätsverlag Karlsruhe 2008
Print on Demand
ISSN: 1867-0067
ISBN: 978-3-86644-271-9
Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Application Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Scientific Contributions . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Context of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.7 Abstract (in German) . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Foundations and Related Work 17
2.1 Components, Architecture and Component Models . . . . . . . . 19
2.1.1 Software Component . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 CBSE Developer Roles . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Software Architecture . . . . . . . . . . . . . . . . . . . . . 24
2.1.4 Component Models . . . . . . . . . . . . . . . . . . . . . . 26
2.2 Model-Driven Software Development . . . . . . . . . . . . . . . . 34
2.2.1 Model / Meta-Model / MOF . . . . . . . . . . . . . . . . . 35
2.2.2 Transformations: MDA / Generative Programming . . . . 41
2.2.3 Platforms and Platform Specific Models . . . . . . . . . . 46
2.3 Performance Modelling and Prediction . . . . . . . . . . . . . . . 49
2.3.1 Influence Factors on Software Performance . . . . . . . . . 50
2.3.2 Performance Prediction Process . . . . . . . . . . . . . . . 52
2.3.3 Performance Prediction Methods . . . . . . . . . . . . . . 55
2.3.4 Performance Simulations . . . . . . . . . . . . . . . . . . . 58
2.3.5 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.3.6 CBSE Performance Prediction . . . . . . . . . . . . . . . . 60
2.3.7 Model-Driven Methods . . . . . . . . . . . . . . . . . . . . 62
I
2.3.8 Platform Completions . . . . . . . . . . . . . . . . . . . . 65
2.4 Discussion of the Existing Approaches . . . . . . . . . . . . . . . 66
2.4.1 Requirements for Model-Driven, CBSE Predictability . . . 66
2.4.2 Resulting Deficiencies . . . . . . . . . . . . . . . . . . . . . 70
3 The Palladio Component Model 75
3.1 Palladio Development Process . . . . . . . . . . . . . . . . . . . . 77
3.1.1 PCM Development Process . . . . . . . . . . . . . . . . . 77
3.1.2 Introducing MDSD into the Palladio Development Process 80
3.2 PCM Core Concepts . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2.1 Random Variables and Stochastic Expressions . . . . . . . 86
3.2.2 Context Model . . . . . . . . . . . . . . . . . . . . . . . . 88
3.3 Interfaces and Datatypes . . . . . . . . . . . . . . . . . . . . . . . 92
3.4 Components and Component Types . . . . . . . . . . . . . . . . . 94
3.4.1 Provided and Required Roles . . . . . . . . . . . . . . . . 94
3.4.2 PCM Component Types . . . . . . . . . . . . . . . . . . . 95
3.4.3 Basic Components . . . . . . . . . . . . . . . . . . . . . . 96
3.4.4 Composite Components . . . . . . . . . . . . . . . . . . . 96
3.5 Resource Demanding SEFF . . . . . . . . . . . . . . . . . . . . . 98
3.5.1 External Calls . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.5.2 Service Parameters . . . . . . . . . . . . . . . . . . . . . . 100
3.5.3 SetVariableAction . . . . . . . . . . . . . . . . . . . . . . . 103
3.5.4 Inner Elements of Collections . . . . . . . . . . . . . . . . 103
3.5.5 InternalActions . . . . . . . . . . . . . . . . . . . . . . . . 104
3.5.6 Parametric Resource Demands . . . . . . . . . . . . . . . . 105
3.5.7 Resource Acquisition and Release . . . . . . . . . . . . . . 106
3.5.8 Control Flow . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.5.9 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . 110
3.6 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.6.1 System QoS Annotations . . . . . . . . . . . . . . . . . . . 111
3.6.2 Component Parameters . . . . . . . . . . . . . . . . . . . . 112
3.7 Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.7.1 Resource Environment . . . . . . . . . . . . . . . . . . . . 113
3.7.2 Allocation Contexts . . . . . . . . . . . . . . . . . . . . . . 114
3.8 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.8.1 Usage Model and Usage Scenarios . . . . . . . . . . . . . . 115
II
3.8.2 UsageBehaviour . . . . . . . . . . . . . . . . . . . . . . . . 116
3.8.3 Usage Context . . . . . . . . . . . . . . . . . . . . . . . . 117
3.9 Tool support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
3.10 Assumptions and Limitations . . . . . . . . . . . . . . . . . . . . 120
4 Transformations 123
4.1 Coupled Transformations Method . . . . . . . . . . . . . . . . . . 124
4.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.1.2 Formalisation of Coupled Transformations . . . . . . . . . 129
4.2 Modular Transformations . . . . . . . . . . . . . . . . . . . . . . . 137
4.3 Mapping Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.4 Simulation Mapping . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.4.1 SimuCom Overview . . . . . . . . . . . . . . . . . . . . . . 144
4.4.2 Evaluating Stochastic Expressions . . . . . . . . . . . . . . 146
4.4.3 Simulated Resources . . . . . . . . . . . . . . . . . . . . . 150
4.4.4 Usage Model . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.4.5 Composite Structures . . . . . . . . . . . . . . . . . . . . . 160
4.4.6 Resource Demanding SEFFs . . . . . . . . . . . . . . . . . 162
4.4.7 Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4.4.8 Component Context in SimuCom . . . . . . . . . . . . . . 172
4.4.9 Semantics of the Simulation . . . . . . . . . . . . . . . . . 173
4.4.10 Assumptions and Limitations . . . . . . . . . . . . . . . . 173
4.4.11 Simulation Time Estimation . . . . . . . . . . . . . . . . . 174
4.5 Coupled Transformations . . . . . . . . . . . . . . . . . . . . . . 176
4.5.1 CBSE Platform Transformations . . . . . . . . . . . . . . 177
4.5.2 Mark Meta-Models . . . . . . . . . . . . . . . . . . . . . . 179
4.5.3 Methods to Parametrise Analysis Transformations . . . . . 181
4.6 Technological Java EE Mapping . . . . . . . . . . . . . . . . . . . 186
4.6.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.6.2 ComposedStructures . . . . . . . . . . . . . . . . . . . . . 202
4.6.3 Assembly Connectors . . . . . . . . . . . . . . . . . . . . . 204
4.6.4 Add-Ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
4.6.5 Limitations and Discussion . . . . . . . . . . . . . . . . . . 218
4.7 Prototype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 220
4.7.1 Combining Mappings . . . . . . . . . . . . . . . . . . . . . 221
4.7.2 Simulation of Load . . . . . . . . . . . . . . . . . . . . . . 222
III
4.7.3 Assumptions and Limitations . . . . . . . . . . . . . . . . 224
5 Validation 227
5.1 Type I Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
5.1.1 Mark Model Independent Predictions . . . . . . . . . . . . 229
5.1.2 Mark Model Dependent Predictions . . . . . . . . . . . . . 231
5.2 Type II Validation: Controlled Experiment . . . . . . . . . . . . . 239
5.2.1 Influence factors . . . . . . . . . . . . . . . . . . . . . . . . 239
5.2.2 PCM Tool Suite . . . . . . . . . . . . . . . . . . . . . . . . 240
5.2.3 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . 243
5.2.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
5.2.5 Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
6 Conclusions 255
6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6.3 Open Questions and Future Work . . . . . . . . . . . . . . . . . . 259
6.4 Visions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
A Appendix 269
A.1 Contributions and Imported Concepts . . . . . . . . . . . . . . . 269
A.2 Generated RD-SEFFs for Connector Completions . . . . . . . . . 273
A.3 Detailed QVT Transformations . . . . . . . . . . . . . . . . . . . 274
A.4 Detailed Experiment Results . . . . . . . . . . . . . . . . . . . . . 274
IV