Objects, Components, Models and Patterns (eBook)
XIII, 382 Seiten
Springer-Verlag
978-3-642-02571-6 (ISBN)
This book constitutes the thoroughly refereed proceedings of the 47th International Conference on Objects, Components, Models and Patterns, TOOLS EUROPE 2009, held in Zurich, Switzerland, in June/July 2009. TOOLS has played a major role in the spread of object-oriented and component technologies. It has now broadened its scope beyond the original topics of object technology and component-based development to encompass all modern, practical approaches to software development. At the same time, TOOLS has kept its traditional spirit of technical excellence, its acclaimed focus on practicality, its well-proven combination of theory and applications, and its reliance on the best experts from academia and industry. The 17 regular papers and two short papers presented in this book, together with two invited papers, were carefully reviewed and selected from 67 submissions. The topics covered in this volume are reflection and aspects, models, theory, components, monitoring, and systems generation.
Preface 5
Organization 6
Table of Contents 9
On Realizing a Framework for Self-tuning Mappings 12
Introduction 12
Smart Matching at a Glance 13
A Fitness Function for Mapping Models 15
A Feedback-Aware Mapping Engine 18
Local Strategies 18
Global Strategies 19
Evaluation 23
Related Work 25
Conclusion and Future Work 25
References 26
Programming Models for Concurrency and Real-Time 28
CIF: A Framework for Managing Integrity in Aspect-Oriented Composition 29
Introduction 29
CIF’s Basic Abstractions: Domains, Realms and Configurations 31
Overview 31
Domains 32
Realms 34
Configurations 36
CIF Syntax 36
Application Case Study 37
Case Study Overview 37
Using CIF’s Abstractions 38
Using CIF in a Team-Based Software Development Environment 40
Implementation 41
Related Work 43
Conclusion 44
References 45
A Diagrammatic Formalisation of MOF-Based Modelling Languages 48
Introduction 48
Motivation 49
Constraints in UML 51
Diagram Predicate Framework 52
Syntax of Diagrammatic Specifications 53
Constraints in DPF 53
Semantics of Diagrammatic Specifications 55
MOF-Based Modelling Languages 59
The 4-Layered Modelling Architecture 59
Modelling Formalisms 60
Meta-formalism and Reflexive (Meta)Models 61
Case-Study: Formalisation of EMF 62
Related Work 64
Conclusion and Future Work 65
References 66
Designing Design Constraints in the UML Using Join Point Designation Diagrams 68
Introduction 68
Motivation 69
Problem Statement 71
Specifying Design Constraints 73
Join Point Designation Diagrams (JPDDs) 73
Designing Constraints Using JPDDs 76
Revisiting the Problem 80
Tool Support 82
Related Work 82
Discussion and Conclusion 84
References 85
Stream-Based Dynamic Compilation for Object-Oriented Languages 88
Introduction 88
Trace Trees 89
Compiling Traces Trees with Tree Serialization 90
Compilation Pipeline 91
Object-OrientedModeling: Instruction Class Hierarchy 92
Filter Pattern 94
Baseline Compiler 94
Optimizing Compiler 97
Parallel Compilation and Parallel Pipelining 99
Benchmarks 100
Related Work 102
Conclusions and Outlook 104
References 105
Algebraic Semantics of OCL-Constrained Metamodel Specifications 107
Introduction 107
An Example: Architectural Style Preservation 108
Preliminaries 110
Maude 111
Algebraic Semantics of MOF Metamodels 113
Algebraic Semantics of OCL Expressions 114
Algebraic Executable Semantics of Meaningful OCL Expressions 115
Algebraic Executable Semantics of Metamodel Specifications 117
Metamodel Specifications 117
Algebraic Executable Semantics of Metamodel Specifications 117
MOMENT2-OCL 119
Dynamic Analysis with OCL Invariants 119
Related Work 122
Conclusions and Future Work 123
References 124
Specifying and Composing Concerns Expressed in Domain-Specific Modeling Languages 127
Introduction 127
Problem Statement 128
Introduction 128
Concern Composition 129
Concern Composition Framework 130
Asymmetric Approach Using a GPML 130
Composition Application 131
Case Study 132
Overview of the Method 132
Conceptual Instantiation of the Concern Composition Framework 133
Define Base Model 133
Define Access Control Model 134
Define Access Control Interface 136
Define Hypertext Model 137
Specify Base-Access Control Composition Model 137
Specify Base-User Interface Composition Model 138
Generate and Manually Complete Code 138
Discussion and Evaluation 139
Intraspace Compositions 139
Interspace Compositions 140
Related Work 142
Domain Specific AOP Languages 142
AOM Approaches 143
Other Approaches 143
Conclusions and Future Work 144
References 144
Early Crosscutting Metrics as Predictors of Software Instability 147
Introduction 147
Characterizing and Identifying Crosscutting Concerns 148
A Conceptual Framework for Crosscutting 149
Identification of Crosscutting 150
Concern-Oriented Metrics for Early Development Assessment 150
The MobileMedia System 150
Metrics for Scattering 152
Metrics for Tangling 153
Metrics for Crosscutting 153
Evaluation and Discussion 155
Survey of Related Metrics 155
Internal Validation 156
External Validation 160
Related Works 164
Conclusions and Future Work 165
References 166
Extensibility in Model-Based Business Process Engines 168
Introduction 168
Strategies for Workflow Flexibility and Extensibility 169
The Cumbia Platform 171
The Control Concern and XPM 172
Extensibility in Cumbia 175
Extensibility in a Concern: Extended Element Behavior 175
Extensibility in a Concern: New Element 175
Extensibility with Additional Concerns 176
Extending a Workflow Engine 178
Extending PaperXpress: Storing the Article Contents in a Remote Repository 180
Extending PaperXpress: Revision Control for Article Sections 181
Extending PaperXpress: Supporting Several Authors 183
Conclusions 184
References 185
Guaranteeing Syntactic Correctness for All Product Line Variants: A Language-Independent Approach 186
Introduction 186
Taxonomy of Errors in Software Product Lines and Related Work 187
Checking Syntactic Correctness of Java SPLs 190
Generalizing CIDE beyond Java 193
Generalizing Correctness Rules: The gCIDE Model 193
Automating Language Plug-in Creation 195
Experience 198
Discussion: Flexibility vs. Safety 200
Perspective: Language-Independent Checks beyond Syntax 202
Conclusion 203
References 204
A Sound and Complete Program Logic for Eiffel 206
Introduction 206
A Semantics for Eiffel 207
The Source Language 207
The Memory Model 208
Operational Semantics 209
A Program Logic for Eiffel 215
Basic Rules 217
Routine and Routine Invocation Rules 218
Exception Handling 219
Once Routines 219
Example 220
Soundness and Completeness 220
Related Work 221
Lessons Learned 222
References 224
A Coding Framework for Functional Adaptation of Coarse-Grained Components in Extensible EJB Servers 226
Introduction 226
Designing Is with Reusable Views 227
The Model Level 227
The Architectural Level 229
An EJB Coding Framework for Adaptable Coarse-Grained View Components 232
Description of Reusable View Components 233
Checking and Archiving Steps 234
Server Facilities 235
Related Works 238
Conclusion 239
References 239
A Leasing Model to Deal with Partial Failures in Mobile Ad Hoc Networks 242
Introduction 242
Leasing in Mobile Ad Hoc Networks 243
Running Example: The Mobile Music Player 244
Analysis 245
Related Work 246
Leased Object References 248
Leased Object References in AmbientTalk 251
AmbientTalk in a Nutshell 251
Leasing in AmbientTalk 252
Language Constructs for Leasing Patterns 252
Integrating Leasing with Future-Type Message Passing 254
Supporting Expiration Handling 255
Implementation 256
Leased Object References 256
Discussion 259
Conclusion and Future Work 261
References 262
Reusing and Composing Tests with Traits 263
The Case 263
Illustrating the Problem 265
xUnit in a Nutshell 265
Analyzing the Squeak Collection Library Tests 266
Experimental Context: Two Large Libraries 267
Streams 267
The Varieties of Collections 268
Experimental Process 269
Selected Examples 271
Test Traits by Example 271
Composing Test Cases 271
Combining Inheritance and Trait Reuse 273
Results 274
In the Nile Stream Library 274
In the Collection Library 275
What Did We Gain? 277
Discussion 278
Related Work 280
Inheritance-Based Test Class Reuse 280
Parametrized Test Classes in JUnit 4.0 281
Conclusion 282
References 282
Flow-Centric, Back-in-Time Debugging 283
Introduction 283
Motivating Example 284
Limitations of Current Back-in-Time Debuggers 286
$Compass$: A Flow-Centric Back-in-Time Debugger 289
Navigating Method Execution Traces 290
Navigating Object Flows 291
Flow-Centric Debugging in Action 292
Implementation: A Flow-Centric Debugging Metamodel 295
Conclusions and Future Work 297
References 298
A Classification Framework for Pointcut Languages in Runtime Monitoring 300
Introduction 300
Semantics and Joinpoint Models 301
The Semantics of the Base Language 302
Joinpoint Models 302
Example: A simple OO Language 303
Classification of Joinpoint Models 305
Pointcuts 306
Pointcuts and Matching 306
Pointcut Languages 307
Example Pointcut Languages 308
Comparing Pointcut Languages 309
Comparison of Joinpoint Abstractions 309
Comparison of Joinpoint Models 310
Criteria for the Comparison of Pointcut Languages 310
A Methodology for Language Comparison 312
Discussion 313
Shadows and Optimization 313
Observational Equivalence 314
Advice and Context Binding 314
Related Work 316
Conclusions 317
References 317
Fast Simulation Techniques for Design Space Exploration 319
Introduction 319
The DIPLODOCUS Environment in a Nutshell 320
Methodology 321
Toolkit 322
Modeling SoCs with DIPLODOCUS 323
Application Modeling 323
Architecture Modeling 326
Mapping of Applications on Architectures 326
Fast Simulation Techniques 328
Basic Principles 328
Example Illustrating the Main Scheduler 330
Transactions and the Timestamp Policy 330
Simulation Phases 332
Experimental Results 333
Related Work 334
Conclusions and Future Work 337
References 337
PyGirl: Generating Whole-System VMs from High-Level Prototypes Using PyPy 339
Introduction 339
PyPy in a Nutshell 340
The Interpreter 341
The Translation Toolchain 342
RPython 344
Game Boy Technical Details 344
Hardware Pieces 345
PyGirl Implementation 346
Source Implementation 346
From Java to Python 347
Translation 351
Performance Evaluation 353
Benchmark Details 354
Runtime Optimization Comparison 354
Future Work 356
Future Work for the Game Boy VM PyGirl 356
Future Work for PyPy 356
Conclusion 356
References 357
Using Grammarware Languages to Define /Operational Semantics of Modelled Languages 359
Introduction 359
General Approach 361
Integrating ASMs into Modelware 363
Conclusion 365
References 366
Automatic Generation of Integrated Formal Models Corresponding to UML System Models 368
Introduction 368
CSP || B 369
Generating CSP||B from UML 370
Transformations to CSP 370
Transformations to B 374
Experiences with iUML and Epsilon 376
Related Work 376
Conclusion and Future Work 376
References 377
Author Index 379
Erscheint lt. Verlag | 1.1.2009 |
---|---|
Sprache | englisch |
Themenwelt | Informatik ► Software Entwicklung ► Objektorientierung |
Schlagworte | Agile software development • component-based software development • domain specific modeling • EIFFEL • Model Checking • model-driven software development • Modeling • model transformation • object • object-oriented software development • pypy • software design patterns • UML • unified modeling language (UML) • web applicat • web application devel |
ISBN-10 | 3-642-02571-4 / 3642025714 |
ISBN-13 | 978-3-642-02571-6 / 9783642025716 |
Haben Sie eine Frage zum Produkt? |
Größe: 8,5 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich