Coupled model transformations for QoS enabled component-based software design [Elektronische Ressource] / by Steffen Becker

Coupled model transformations for QoS enabled component-based software design [Elektronische Ressource] / by Steffen Becker

English
281 Pages
Read
Download
Downloading requires you to have access to the YouScribe library
Learn all about the services we offer

Description

Fakultat¨ II – Informatik, Wirtschafts- und RechtswissenschaftenDepartment fur¨ InformatikCoupledModelTransformationsforQoSEnabledComponent-BasedSoftwareDesignPhD thesis to gain the degree of”Doktor der Ingenieurwissenschaften”byDipl.-Wirtsch.-Inform. Steffen BeckerReferees:Prof. Dr. Ralf ReussnerProf. Dr. Wilhelm HasselbringDate of Disputation: March 27th, 2008Contents1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Application Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3 Scientific Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.5 Context of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.6 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.7 (in German) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Foundations and Related Work 152.1 Components, Architecture and Component Models . . . . . . . . . . . . . . 172.1.1 Software Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.1.2 CBSE Developer Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.1.3 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.4 Component Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.

Subjects

Informations

Published by
Published 01 January 2008
Reads 26
Language English
Document size 3 MB
Report a problem

Fakultat¨ II – Informatik, Wirtschafts- und Rechtswissenschaften
Department fur¨ Informatik
CoupledModelTransformations
forQoSEnabled
Component-BasedSoftwareDesign
PhD thesis to gain the degree of
”Doktor der Ingenieurwissenschaften”
by
Dipl.-Wirtsch.-Inform. Steffen Becker
Referees:
Prof. Dr. Ralf Reussner
Prof. Dr. Wilhelm Hasselbring
Date of Disputation: March 27th, 2008Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Application Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Scientific Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Context of this Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6 Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7 (in German) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Foundations and Related Work 15
2.1 Components, Architecture and Component Models . . . . . . . . . . . . . . 17
2.1.1 Software Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 CBSE Developer Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.3 Software Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.4 Component Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Model-Driven Software Development . . . . . . . . . . . . . . . . . . . . . . 31
2.2.1 Model / Meta-Model / MOF . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.2 Transformations: MDA / Generative Programming . . . . . . . . . . 36
2.2.3 Platforms and Platform Specific Models . . . . . . . . . . . . . . . . . 41
2.3 Performance Modelling and Prediction . . . . . . . . . . . . . . . . . . . . . 44
2.3.1 Influence Factors on Software Performance . . . . . . . . . . . . . . . 45
2.3.2 Performance Prediction Process . . . . . . . . . . . . . . . . . . . . . . 46
2.3.3 Pr Methods . . . . . . . . . . . . . . . . . . . . . 49
2.3.4 Performance Simulations . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.5 Prototyping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.3.6 CBSE Performance Prediction . . . . . . . . . . . . . . . . . . . . . . . 53
2.3.7 Model-Driven Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.3.8 Platform Completions . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4 Discussion of the Existing Approaches . . . . . . . . . . . . . . . . . . . . . . 58
I2.4.1 Requirements for Model-Driven, CBSE Predictability . . . . . . . . . 59
2.4.2 Resulting Deficiencies . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3 The Palladio Component Model 67
3.1 Development Process . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1.1 PCM Process . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1.2 Introducing MDSD into the Palladio Development Process . . . . . . 72
3.2 PCM Core Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.2.1 Random Variables and Stochastic Expressions . . . . . . . . . . . . . 77
3.2.2 Context Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3 Interfaces and Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.4 Components and Component Types . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.1 Provided and Required Roles . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.2 PCM Component Types . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.3 Basic Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.4 Composite Components . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.5 Resource Demanding SEFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5.1 External Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.5.2 Service Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5.3 SetVariableAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.5.4 Inner Elements of Collections . . . . . . . . . . . . . . . . . . . . . . . 92
3.5.5 InternalActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.5.6 Parametric Resource Demands . . . . . . . . . . . . . . . . . . . . . . 93
3.5.7 Resource Acquisition and Release . . . . . . . . . . . . . . . . . . . . 94
3.5.8 Control Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.5.9 Concluding remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.6 Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
3.6.1 System QoS Annotations . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.6.2 Component Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3.7 Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.7.1 Resource Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.7.2 Allocation Contexts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.8 Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.8.1 Usage Model and Usage Scenarios . . . . . . . . . . . . . . . . . . . . 102
3.8.2 UsageBehaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.8.3 Usage Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.9 Tool support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.10 Assumptions and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
II4 Transformations 109
4.1 Coupled Transformations Method . . . . . . . . . . . . . . . . . . . . . . . . 110
4.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.1.2 Formalisation of Coupled Transformations . . . . . . . . . . . . . . . 115
4.2 Modular Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.3 Mapping Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.4 Simulation Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.4.1 SimuCom Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.4.2 Evaluating Stochastic Expressions . . . . . . . . . . . . . . . . . . . . 128
4.4.3 Simulated Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.4.4 Usage Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.4.5 Composite Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.4.6 Resource Demanding SEFFs . . . . . . . . . . . . . . . . . . . . . . . . 144
4.4.7 Allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.4.8 Component Context in SimuCom . . . . . . . . . . . . . . . . . . . . 152
4.4.9 Semantics of the Simulation . . . . . . . . . . . . . . . . . . . . . . . . 153
4.4.10 Assumptions and Limitations . . . . . . . . . . . . . . . . . . . . . . . 154
4.4.11 Simulation Time Estimation . . . . . . . . . . . . . . . . . . . . . . . . 154
4.5 Coupled Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
4.5.1 CBSE Platform Transformations . . . . . . . . . . . . . . . . . . . . . 157
4.5.2 Mark Meta-Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
4.5.3 Methods to Parametrise Analysis Transformations . . . . . . . . . . . 160
4.6 Technological Java EE Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.6.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
4.6.2 ComposedStructures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.6.3 Assembly Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.6.4 Add-Ons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.6.5 Limitations and Discussion . . . . . . . . . . . . . . . . . . . . . . . . 194
4.7 Prototype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.7.1 Combining Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.7.2 Simulation of Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.7.3 Assumptions and Limitations . . . . . . . . . . . . . . . . . . . . . . . 200
5 Validation 201
5.1 Type I Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.1.1 Mark Model Independent Predictions . . . . . . . . . . . . . . . . . . 202
5.1.2 Mark Model Dependent Pr . . . . . . . . . . . . . . . . . . . 204
5.2 Type II Validation: Controlled Experiment . . . . . . . . . . . . . . . . . . . . 212
III5.2.1 Influence factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.2.2 PCM Tool Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5.2.3 Study Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
5.2.4 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.2.5 Validity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5.2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6 Conclusions 227
6.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
6.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
6.3 Open Questions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . 231
6.4 Visions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
A Appendix 239
A.1 Contributions and Imported Concepts . . . . . . . . . . . . . . . . . . . . . . 239
A.2 Generated RD-SEFFs for Connector Completions . . . . . . . . . . . . . . . . 243
A.3 Detailed QVT Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . 244
A.4 Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
IVList of Figures
2.1 Research Areas Involved in this Thesis . . . . . . . . . . . . . . . . . . . . . . 16
2.2 CBSE Developer Roles and their Artefacts . . . . . . . . . . . . . . . . . . . . 20
2.3 UML2 Syntaxtical Notations for a Component and its Interfaces . . . . . . . 26
2.4 The parts of a meta-model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5 The ECORE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 Example for a Feature Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.7 Function of a MDSD-Transformation Engine . . . . . . . . . . . . . . . . . . 39
2.8 PIM to PSM Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.9 Influence Factors on the Performance of CB-Software Systems . . . . . . . . 45
2.10 Model-based Performance Prediction Process . . . . . . . . . . . . . . . . . . 47
2.11 An example Queuing Network . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1 The PCM Developer Roles and the Transformation Artefacts . . . . . . . . . 69
3.2 Process Model of the PCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3 MDSD-Refined Specification Workflow . . . . . . . . . . . . . . . . . . . . . 73
3.4 QoS Analysis W . . . . . . . . . . . . . . . . . . . . . 75
3.5 The same Component in different Assembly Contexts . . . . . . . . . . . . . 80
3.6 The same in different Allocation . . . . . . . . . . . . . 81
3.7 Interfaces and DataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.8 Different Component Types in the PCM . . . . . . . . . . . . . . . . . . . . . 85
3.9 The meta-model of a ComposedStructure . . . . . . . . . . . . . . . . . . . . 86
3.10 The RD-SEFF and its Relationship to BasicComponents . . . . . . . . . . . . . 88
3.11 ExternalCallAction and passing of Parameter Characterisations . . . . . . . . 89
3.12 VariableUsages and Characterisations . . . . . . . . . . . . . . . . . . . . . . . 89
3.13 InternalActions and their ParametricResourceDemand . . . . . . . . . . . . . . 93
3.14 Resource Acquisition and Release . . . . . . . . . . . . . . . . . . . . . . . . . 94
3.15 Control Flow concepts in the PCM . . . . . . . . . . . . . . . . . . . . . . . . 96
3.16 The PCM’s ResourceEnvironment . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.17 UsageModel, UsageScenario and Workloads (Becker et al., 2007) . . . . . . . . 103
V3.18 Different UserActions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.19 PCM Tools - Modelling Perspective . . . . . . . . . . . . . . . . . . . . . . . . 105
3.20 PCM Tools - Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.1 Motivating Example for Coupled Transformations . . . . . . . . . . . . . . . 111
4.2 Model Abstraction and Model Refinement . . . . . . . . . . . . . . . . . . . . 112
4.3 Using Transformation Knowledge in Coupled Transformations . . . . . . . 113
4.4 Example using Static Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.5 using Parametric Decisions . . . . . . . . . . . . . . . . . . . . . . . 114
4.6 Template Methods used to Implement Coupled Transformations . . . . . . 123
4.7 Overview on SimuCom’s Transformation Structure . . . . . . . . . . . . . . 128
4.8 on Parts . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.9 An example for a Simulated Stack . . . . . . . . . . . . . . . . . . . . . . . . 131
4.10 Stackframe with Proxy for Late Evaluation . . . . . . . . . . . . . . . . . . . 132
4.11 Queue Events and State Changes . . . . . . . . . . . . . . . . . . . . . . . . . 136
4.12 Mapping of ActiveResources . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.13 Activity diagram showing the generic closed user behaviour . . . . . . . . . 140
4.14 the behaviour of the open workload driver . . . 140
4.15 Example for Component Paramter Stack Frames . . . . . . . . . . . . . . . . 143
4.16 for an ExternalCallAction and its Stack Frames . . . . . . . . . . . 145
4.17 Example for Conditional Branch Transitions . . . . . . . . . . . . . . . . . . . 149
4.18 Activity Diagram for the Generated Fork Simulation Code . . . . . . . . . . 151
4.19 An Example for an Allocation Mapping . . . . . . . . . . . . . . . . . . . . . 152
4.20 An for General and Decorator-based Feature Mark Models . . . . 160
4.21 Example for Structure Changing Options . . . . . . . . . . . . . . . . . . . . 161
4.22 Completions Meta-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.23 Completion Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.24 Transformation of a Component using Dependency Injection . . . . . . . . . 170
4.25 T of a using the Context Pattern . . . . . . . . . . 171
4.26 Sequence Diagram for the Interaction in the Broker . . . . . . . . . . 172
4.27 Feature for Required Role Resolution . . . . . . . . . . . . . . . . . 173
4.28 Structural Change to add a Broker . . . . . . . . . . . . . . . . . . . . . . . . 176
4.29 Example for Adding the Broker Lookup . . . . . . . . . . . . . . . . . . . . . 176
4.30 Broker Allocation Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . 176
4.31 Mapping of Provided Roles to Ports . . . . . . . . . . . . . . . . . . . . . . . 179
4.32 Exemplary Feature Diagram for AssemblyConnectors . . . . . . . . . . . . . . 182
4.33 Replacing a Connector with a ConnectorCompletion . . . . . . . . . . . . . . 183
4.34 Inner Structure of the Generated . . . . . . . . . . . . . 184
VI4.35 Example for a Generated RD-SEFF on the Client’s Side . . . . . . . . . . . . 184
4.36 Composed Completions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.37 Allocated Connector Completion Example . . . . . . . . . . . . . . . . . . . 191
4.38 Composed RD-SEFF of the Connector Completion . . . . . . . . . . . . . . . 191
4.39 An Example for the ProtoCom Mapping Strategy . . . . . . . . . . . . . . . . 197
5.1 Architectural overview on the Web Audio Store (Becker et al., 2007) . . . . . 203
5.2 Web Audio Store PCM Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
5.3 Web Audio Store PCM Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.4 Prediction and Measurements without Encoder . . . . . . . . . . . . . . . . . 206
5.5 Pr and with Encoder . . . . . . . . . . . . . . . . . . . 206
5.6 Architecture of the Media Store (Koziolek et al., 2007) . . . . . . . . . . . . . 207
5.7 Prediction Error without Coupled Transformations . . . . . . . . . . . . . . 208
5.8 RMI Mapping with and without Authentication . . . . . . . . . . . . . . . . 209
5.9 Adding Encryption to an RMI Connector . . . . . . . . . . . . . . . . . . . . 210
5.10 Different Marshalling Strategies: SOAP vs. RMI . . . . . . . . . . . . . . . . 210
5.11 Adding Encryption to the Comparison of SOAP and RMI . . . . . . . . . . . 211
5.12 Experiment Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
5.13 Durations for the Complete Task (Martens, 2007, p.102) . . . . . . . . . . . . 219
5.14 Breakdown of the Activity’s Durations . . . . . . . . . . . . . . . . . . . . . . 220
A.1 PCM Packages and their Creators . . . . . . . . . . . . . . . . . . . . . . . . . 240
A.2 PCM Transformations and their Creators . . . . . . . . . . . . . . . . . . . . 241
A.3 PCM Editor Support and their Creators . . . . . . . . . . . . . . . . . . . . . 242
A.4 Generated RD-SEFFs in Connector Completions . . . . . . . . . . . . . . . . 243
A.5 Adding Broker Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
VIIVIII