Model-driven performance measurement and assessment with relational traces [Elektronische Ressource] / Marko Bošković

Model-driven performance measurement and assessment with relational traces [Elektronische Ressource] / Marko Bošković

English
172 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 InformatikModel-driven PerformanceMeasurement and Assessment withRelational TracesDissertation zur Erlangung des Grades einesDoktors der IngenieurwissenschaftenDipl.-Ing. Marko BoskovicReferees:Prof. Dr. Wilhelm HasselbringProf. Dr. Claus MobusDatum der Disputation: December 10th, 2009Contents1. Introduction 12I. Foundations 212. Model Driven Engineering 232.1. Essentials of Model Driven Engineering . . . . . . . . . . . . . . . . . . . . . 232.2. Engineering a Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . 252.3. Model Driven Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263. Software Performance Engineering 293.1. Software Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2. Software Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 303.3. Software Performance Measurement and Assessment . . . . . . . . . . . . . . 303.4. Concerns in Performance Measurement and Assessment . . . . . . . . . . . . 324. Libkin’s Algebra 34II. MoDePeMART: Model Driven Performance Measurement andAssessment with Relational Traces 375. Performance Assessment with MoDePeMART 396. Basic Assumptions 426.1. Vertical and Horizontal Dimension of Software Modeling and Execution . . . 426.1.1. Vertical Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436.1.2. Horizontal Dimension . . . .

Subjects

Informations

Published by
Published 01 January 2009
Reads 5
Language English
Document size 1 MB
Report a problem

Fakultat II { Informatik, Wirtschafts- und Rechtswissenschaften
Department fur Informatik
Model-driven Performance
Measurement and Assessment with
Relational Traces
Dissertation zur Erlangung des Grades eines
Doktors der Ingenieurwissenschaften
Dipl.-Ing. Marko Boskovic
Referees:
Prof. Dr. Wilhelm Hasselbring
Prof. Dr. Claus Mobus
Datum der Disputation: December 10th, 2009Contents
1. Introduction 12
I. Foundations 21
2. Model Driven Engineering 23
2.1. Essentials of Model Driven Engineering . . . . . . . . . . . . . . . . . . . . . 23
2.2. Engineering a Modeling Language . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3. Model Driven Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3. Software Performance Engineering 29
3.1. Software Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2. Software Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3. Software Performance Measurement and Assessment . . . . . . . . . . . . . . 30
3.4. Concerns in Performance Measurement and Assessment . . . . . . . . . . . . 32
4. Libkin’s Algebra 34
II. MoDePeMART: Model Driven Performance Measurement and
Assessment with Relational Traces 37
5. Performance Assessment with MoDePeMART 39
6. Basic Assumptions 42
6.1. Vertical and Horizontal Dimension of Software Modeling and Execution . . . 42
6.1.1. Vertical Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6.1.2. Horizontal Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2. Model Kinds and System at Runtime . . . . . . . . . . . . . . . . . . . . . . 50
6.2.1. Descriptive and Prescriptive Models . . . . . . . . . . . . . . . . . . . 50
6.2.2. Token and Type Models . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2.3. The Runtime System and Model in Model Driven Measurement and
Assessment with Relational Traces . . . . . . . . . . . . . . . . . . . 53
7. A Linguistic Metamodel for Performance Measurement and Assessment 56
7.1. The Metrics Part of the Metamodel . . . . . . . . . . . . . . . . . . . . . . . 56
7.2. The Assessment Part of the Linguistic Metamodel . . . . . . . . . . . . . . . 60
7.3. The Event and Context Part of the Linguistic Metamodel . . . . . . . . . . . 65
7.4. The Static Semantics of the Metamodel . . . . . . . . . . . . . . . . . . . . . 76
2Contents
8. The Metamodel Formal Semantics 78
8.1. The Relational Database Management System Prerequisites and Initialization 78
8.1.1. Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
8.1.2. Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.2. The Event and Context Metamodel Part Formal Semantics . . . . . . . . . . 81
8.2.1. The Reactive Context Metamodel Formal Semantics . . . . . . . . . . 82
8.2.2. The Transformational Context Formal Semantics . . . . . . . . . . . 85
8.3. Assessment and Metrics Metamodel Part Formal Semantics . . . . . . . . . . 103
III. Evaluation 109
9. PEMA: A UML Pro le for PErformance Measurement and Assessment 111
9.1. UML Metamodel Subset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
9.1.1. Class Diagrams UML Metamodel Subset . . . . . . . . . . . . . . . . 112
9.1.2. State Machines UML metamodel subset . . . . . . . . . . . . . . . . 113
9.2. PeMA UML Prole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
10.Transformation to Client Server Applications with Java RMI 116
10.1. Transformation to Client Server Applications with Java RMI . . . . . . . . . 116
10.2. Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.2.1. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.2.2. Data Collection and Storage Routine Duration . . . . . . . . . . . . . 122
11.Comparative Analysis to Related Work 124
IV. Conclusions and Outlook 129
12.Conclusions 131
12.1. Validity in Real Systems Use . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
13.Future Work 134
Bibliography 137
A. Appendix A: Electronic Items Management Application 144
B. Appendix B: The Linguistic Metamodel for Measurement and Assessment 147
C. Appendix C: Ordinal Functions 148
D. Appendix D: Temporal Data Types and Relations 149
E. Appendix E: The Transformation to Client Server Applications with Java RMI 150
E.1. Transformation Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
E.2. Transformation to Performance Measurement Code . . . . . . . . . . . . . . 151
3Contents
E.3. Transformation to Server Code . . . . . . . . . . . . . . . . . . . . . . . . . 153
E.3.1. Server Interface Code . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
E.3.2. Application Logic Code . . . . . . . . . . . . . . . . . . . . . . . . . 158
E.4. Transformation to Client Code . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4List of Figures
1.1. Software development process in Model Driven Engineering . . . . . . . . . . 15
1.2. Software development process with performance measurement and assessment
in Model Driven Engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1. MOF-based metamodeling architecture and relying standards [Djuric et al.,
2005] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1. Model Driven Performance Measurement and Assessment With Relational
Traces Process. The gure demonstrates the order of activities and artifacts
produced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.1. UML Class diagram of electronic items management system case study . . . 44
6.2. Sequence diagram of class VideoItemFacade getVideoItem method . . . . . . 45
6.3. Sequence diagram of class AudioItemFacade getAudioItem method . . . . . 46
6.4. Part of the UserInterface class UML State Machine . . . . . . . . . . . . . . 48
6.5. Item Facade class UML State Machine for managing data compression . . . 50
6.6. A map as an example of a token model [Kuhne, 2005] . . . . . . . . . . . . . 52
6.7. Java classes and UML Class Diagrams as type models of a running pro-
gram [Kuhne, 2005] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.8. Relations between UML software prescriptive model, formal performance pre-
diction model, and Java application at runtime . . . . . . . . . . . . . . . . . 54
7.1. Metrics part of the linguistic metamodel . . . . . . . . . . . . . . . . . . . . 57
7.2. Analysis part of the linguistic metamodel . . . . . . . . . . . . . . . . . . . . 61
7.3. Interval sets of the linguistic metamodel . . . . . . . . . . . . . . . . . . . . 64
7.4. Transformational context part of the linguistic metamodel . . . . . . . . . . 66
7.5. The reactive context part of the metamodel . . . . . . . . . . . . . . . . . . 73
8.1. An abstract syntax tree of the event and context specication for obtaining a
music video in Figure 6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8.2. The result of the oneCondEvTr mapping of the scenario event with instru-
mented element getItem. The resulting relation contains marked rows of the
left relation which are executions of getItem while the compression was on. 85
8.3. Example of the result of scRelation for the Figure 8.1 example. . . . . . . 87
8.4. Example of the result of the sAf mapping. The illustrated selection is for
the instance of Contain in Figure 8.1. In all selected tuples is STS1>STS3. 91
8.5. Example of the result of the eBe mapping. The illustrated selection is for
the Contain instance in Figure 8.1. In the selected tuples is ETS1 > ETS3. 92
5List of Figures
8.6. The result of the scTrace for the negative sub scenario of Figure 8.1. The
result is used in the function prSel for the Precede instance. The result-
ing relation contains all tuples except for those in which STS1<STS2 and
ETS1>ETS2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
8.7. The abstract syntax tree of a getAudioItem operation part specication. . 95
8.8. Example of the outcome of the function scTrace for the Figure 8.7 scenario 96
8.9. An extended Figure 8.7 example. The opening of a database connection pre-
cedes each alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.10. Second extended Figure 8.7 example. The opening of a database connection
precedes each alternatives and the closing follows . . . . . . . . . . . . . . . 97
8.11. Example of the Group metaclass usage. In the