Paige / Aalst / Meyer | Objects, Components, Models and Patterns | E-Book | www.sack.de
E-Book

E-Book, Englisch, Band 11, 422 Seiten

Reihe: Lecture Notes in Business Information Processing

Paige / Aalst / Meyer Objects, Components, Models and Patterns

46th International Conference, TOOLS EUROPE 2008, Zurich, Switzerland, June 30-July 4, 2008, Proceedings
1. Auflage 2008
ISBN: 978-3-540-69824-1
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark

46th International Conference, TOOLS EUROPE 2008, Zurich, Switzerland, June 30-July 4, 2008, Proceedings

E-Book, Englisch, Band 11, 422 Seiten

Reihe: Lecture Notes in Business Information Processing

ISBN: 978-3-540-69824-1
Verlag: Springer Berlin Heidelberg
Format: PDF
Kopierschutz: 1 - PDF Watermark



This book constitutes the thoroughly refereed proceedings of the 46th International Conference on Objects, Components, Models and Patterns, TOOLS EUROPE 2008, held in Zurich, Switzerland, in June/July 2008. The 21 papers presented in this book were carefully reviewed and selected from 58 submissions. TOOLS 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 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.

Paige / Aalst / Meyer Objects, Components, Models and Patterns jetzt bestellen!

Weitere Infos & Material


1;Preface;5
2;Organization;7
3;Table of Contents;9
4;The End of the Computing Era: Hephaestus Meets the Olympians;11
5;Modeling of Component Environment in Presence of Callbacks and Autonomous Activities;12
5.1;Introduction;12
5.1.1;Goals and Structure of the Paper;16
5.2;Behavior Protocols;16
5.2.1;Modeling Environment via Behavior Protocols;17
5.3;Calling Protocol vs. Callbacks and Autonomous Activities;20
5.3.1;Calling & Trigger Protocol;22
5.3.2;Construction of Calling and Trigger Protocol;23
5.4;Tools and Experiments;24
5.5;Evaluation and Related Work;25
5.6;Conclusion;27
5.7;References;27
6;Efficient Model Checking of Networked Applications;32
6.1;Introduction;32
6.2;Intuition of the Caching Algorithm;33
6.2.1;SoftwareModel Checking;33
6.2.2;Handling Redundant Actions After Backtracking;34
6.2.3;Extension to More Complex Protocols;37
6.3;Formalization of the Caching Algorithm;37
6.3.1;Stream Abstraction;38
6.3.2;Execution Semantics;38
6.3.3;Example Execution Scenario;39
6.3.4;Limitations of Our Approach;41
6.4;Implementation;42
6.5;Experiments;43
6.5.1;Example Applications;44
6.5.2;Results;44
6.5.3;Summary;46
6.6;Related Work;47
6.7;Conclusions;48
6.8;Future Work;49
6.9;References;49
7;Controlling Accessibility in Agile Projects with the Access Modifier Modifier;51
7.1;Introduction;51
7.2;Motivation;52
7.3;Sufficient and Excessive Accessibility;54
7.3.1;Accessibility Status and APIs;55
7.3.2;Accessibility Status and Subtyping;57
7.3.3;Interface Implementation;57
7.3.4;Anonymous Subclasses;58
7.4;Accessibility and Program Semantics;58
7.4.1;Dynamic Binding: Overriding with Open Recursion;58
7.4.2;Static Binding: Overloading and the Most Specific Method;60
7.5;The Access Modifier Modifier Tool;60
7.5.1;Full Build;61
7.5.2;Incremental Build;62
7.5.3;Reducing Accessibility or Adding an @API Annotation;62
7.5.4;Increasing Accessibility;62
7.6;Evaluation;63
7.6.1;Usefulness;63
7.6.2;Cost;65
7.7;Discussion;65
7.7.1;Related Work;66
7.7.2;Future Work;67
7.8;Conclusion;68
7.9;References;68
8;Towards Raising the Failure of Unit Tests to the Level of Compiler-Reported Errors;70
8.1;Introduction;70
8.2;Problem;72
8.3;Fault Locators;73
8.3.1;Fault Locators Based on Prior Knowledge;74
8.3.2;Fault Locators Based on Posterior Knowledge;74
8.4;Evaluation;76
8.4.1;Evaluation Based on Flawed Historical Releases;76
8.4.2;Evaluation Based on Error Seeding;79
8.4.3;Evaluation in Practice;81
8.5;Architecture of EZUNIT;83
8.5.1;Call Graph Computation;83
8.5.2;Adding New Fault Locators;84
8.6;Other Possible Fault Locators;85
8.7;Related Work;86
8.8;Conclusion;87
8.9;References;88
9;Virtual Machine Support for Stateful Aspects;90
9.1;Introduction;90
9.2;Stateful Aspects Examples;92
9.3;Steamloom SA Interface;94
9.4;Steamloom SA Implementation;96
9.4.1;Stateful Aspect Semantics;96
9.4.2;Deployment Procedure;97
9.4.3;Stateful Shared Object;98
9.4.4;Woven Code Details;99
9.5;Evaluation;99
9.5.1;Performance Criteria;99
9.5.2;Results and Analysis;103
9.6;Related Work;106
9.7;Conclusion;107
9.8;References;108
10;Guarded Program Transformations Using JTL;110
10.1;Introduction;110
10.2;A Brief Overview of JTL;113
10.3;JTL Extensions for Program Transformation;115
10.3.1;Simple BaggageManagement;116
10.3.2;Multiple Baggage;117
10.3.3;String Literals;119
10.3.4;Baggage Management in Quantifiers;119
10.4;Transformation Examples;120
10.4.1;Using JTL in an IDE and for Refactoring;120
10.4.2;JTL as a Lightweight AOP Language;121
10.4.3;Templates, Mixins and Generics;122
10.4.4;Non-JAVA Output;123
10.5;Implementation Issues;124
10.5.1;Translating JTL into Datalog;124
10.5.2;Calculating String Results;125
10.5.3;List Processing;126
10.6;Output Validation;127
10.7;Related Work and Discussion;128
10.8;References;129
11;A Multiparadigm Study of Crosscutting Modularity in Design Patterns;131
11.1;Introduction;131
11.2;Background;132
11.2.1;Language Mechanisms Used in the Case Study;132
11.2.2;Categories of Design Patterns;134
11.2.3;Evaluation Criteria;135
11.3;Case Study;138
11.3.1;Initial Implementations;138
11.3.2;Optimized Implementations;142
11.4;Consequences, Insights, and Guidelines;144
11.5;Related Work;146
11.6;Conclusions;147
11.7;References;148
12;Representing and Operating with Model Differences;151
12.1;Introduction;151
12.2;Rewriting Logic and Maude;152
12.2.1;Introduction to Maude;152
12.2.2;Object-Oriented Specifications: Full Maude;153
12.3;Formalizing Models and Metamodels with Maude;154
12.4;Model Difference;156
12.4.1;Representation: The Difference Metamodel;156
12.4.2;Specification of the Difference Operation;157
12.4.3;An Example;162
12.5;Further Operations;163
12.5.1;The “do” Operation;164
12.5.2;The “undo” Operation;165
12.5.3;Sequential Composition of Differences;165
12.5.4;Tool Support;166
12.6;Related Work;167
12.7;Conclusions;168
12.8;References;169
13;Optimizing Dynamic Class Composition in a Statically Typed Language;171
13.1;Introduction;171
13.2;Informal Semantics;173
13.2.1;The Basic Classifier Entity Structure;173
13.2.2;Class Composition;175
13.3;The Virtual Machine Realization of the Semantics;178
13.3.1;Improving the Linearization Algorithm;178
13.4;Benchmarks;183
13.5;Related and Future Work;184
13.6;Conclusion;185
13.7;References;186
14;Ownership, Uniqueness, and Immutability;188
14.1;Introduction;188
14.2; Meet Joe3;190
14.2.1;Motivating Examples;191
14.3;3A Formal Definition of Joe3;196
14.3.1;Joe3’s Static Semantics;196
14.3.2;Potentially Identical Owners with Different Modes;201
14.3.3;Invariants and Meta Theory;201
14.4;Extensions and Encodings;202
14.4.1;Object-Based Regions and Method-Scoped Regions;202
14.4.2;Encoding Modes from Flexible Alias Protection;203
14.5;Related Work;203
14.6;Concluding Remarks;206
14.7;References;206
15;Object Incompleteness and Dynamic Composition in Java-Like Languages;208
15.1;Introduction;208
15.2;Incomplete Featherweight Java;211
15.2.1;Subtyping;213
15.2.2;Programming Examples;214
15.2.3;Typing;215
15.2.4;Operational Semantics;217
15.3;Properties;220
15.4;Dealing with Imperative Features;221
15.5;Ongoing Extensions;223
15.6;Conclusions and RelatedWorks;224
15.7;References;226
16;The Meta in Meta-object Architectures;228
16.1;Introduction;228
16.2;Context and Example;230
16.2.1;Partial Behavioral Reflection;230
16.2.2;A Simple Example;231
16.3;Infinite Meta-object Call Recursion;231
16.4;Solution: A Metacontext;233
16.4.1;Modeling Context;233
16.4.2;The Problem Revisited;234
16.4.3;The Contextual Tower;235
16.4.4;The MetaContext Revised;237
16.5;Implementation;237
16.5.1;Implementation of MetaContext;237
16.5.2;Realizing Contextual Links;238
16.6;Evaluation and Benchmarks;239
16.6.1;The Problem Is Solved;239
16.6.2;Benefits for Dynamic Analysis;240
16.6.3;Benchmarks;241
16.7;Related Work;243
16.8;Conclusion and Future Work;244
16.9;References;245
17;An AsmL Semantics for Dynamic Structures and Run Time Schedulability in UML-RT;248
17.1;Introduction;248
17.2;UML-RT;251
17.3;AsmL;253
17.4;SURTA Architecture;254
17.5;An Executable Semantics;256
17.5.1;Actor Classes;256
17.5.2;State Machines;257
17.5.3;Protocol;258
17.5.4;Actor References;258
17.5.5;Ports;258
17.5.6;Actor Instances;259
17.5.7;Controllers;261
17.5.8;Run Time Environment;261
17.5.9;Model Descriptions;262
17.6;Validating Models with SURTA;264
17.7;Conclusion;265
17.8;References;266
18;Component Reassembling and State Transfer in MaDcAr-Based Self-adaptive Software;268
18.1;Introduction;268
18.2;Requirements for Assembling Engines;269
18.2.1;Definition of an Assembling Engine;270
18.2.2;Evaluation Criteria;270
18.3;TheMaDcAr Model;271
18.3.1;Requirements and Restrictions;271
18.3.2;The Assembling Engine;272
18.3.3;The Context Manager;273
18.3.4;Specification of Valid Assemblies;274
18.3.5;The Assembling Policy;276
18.3.6;The (Re)Assembling Process;277
18.4;State Transfer During Adaptations;278
18.4.1;State of an Application;278
18.4.2;State Transfer Net;279
18.4.3;State Transfer Links;279
18.4.4;Consistency Rules;281
18.4.5;State Transfer Process;281
18.5;Discussion;283
18.5.1;Related Work;283
18.5.2;Comparison and Evaluation of MaDcAr;284
18.6;Conclusion and Future Work;284
18.7;References;285
19;A Comparison of State-Based Modelling Tools for Model Validation;288
19.1;Introduction;288
19.1.1;Contribution;289
19.2;Background;290
19.3;Case Study: Course Assignment System;291
19.3.1;Modelling the Static Structure of the System;291
19.3.2;Modelling in UML and OCL with USE;292
19.3.3;Modelling in Alloy with Alloy Analyzer;294
19.3.4;Modelling in Z with ZLive and ProZ;296
19.3.5;Remarks;297
19.4;Course Assignment - Extended Version;298
19.4.1;Validation in UML and OCL with USE;298
19.4.2;Validation in Alloy with Alloy Analyzer;300
19.4.3;Validation in Z with ZLive;300
19.4.4;Validation in Z with ProZ;301
19.5;Conclusion;302
19.6;References;305
20;MontiCore: Modular Development of Textual Domain Specific Languages;307
20.1;Introduction;307
20.2;Related Work;309
20.3;Language Definition Using MontiCore;310
20.4;Concepts of Modularity;313
20.4.1;Language Inheritance;313
20.4.2;Language Embedding;317
20.5;Modular Development of Domain Specific Tools;321
20.6;Conclusion and Outlook;322
20.7;References;323
21;Proof-Transforming Compilation of Eiffel Programs;326
21.1;Introduction;326
21.2;Source Language and Logic;329
21.2.1;Basics;329
21.2.2;Routine and Instruction Specifications;330
21.2.3;Axiomatic Semantics;331
21.3;Bytecode Language and Logic;331
21.3.1;Bytecode Basics;332
21.3.2;Method and Instruction Specifications;332
21.3.3;Rules;333
21.4;Specification Translator;333
21.4.1;Translation Basics;333
21.4.2;Datatype Definitions;334
21.4.3;Object Store and Values;335
21.4.4;Mapping Eiffel Types to CIL;335
21.4.5;Contract Translation;336
21.4.6;Example Translation;337
21.5;Proof Translation;338
21.5.1;Transformation Function Basics;338
21.5.2;Compound Instruction;339
21.5.3;Loop Instruction;339
21.5.4;Rescue Clause;340
21.6;Example;340
21.7;Soundness Theorems;341
21.8;Related Work;343
21.9;Conclusion;344
21.10;References;344
22;Engineering Associations: From Models to Code and Back through Semantics;346
22.1;Introduction;346
22.1.1;The Problem;346
22.1.2;The Causes;347
22.1.3;The Approach and Results;348
22.2;Background and Relation to Other Works;349
22.3;Formal Semantics Framework;350
22.3.1;Class Diagrams, Informally;350
22.3.2;Instances;351
22.3.3;Formal Class Diagrams, I: Nodes, Arrows and Their Extension;352
22.3.4;Formal Class Diagrams, II: Diagram Predicates;353
22.4;Problems of Binary Associations;354
22.4.1;Navigation: Is It That Simple?;354
22.4.2;Navigation and Extension;357
22.5;Qualified and N-ary Associations;360
22.5.1;The General Case;361
22.5.2;The Common Case;361
22.5.3;Precise Modeling with Diagram Predicates and Operations;362
22.6;Discussion and Conclusions;363
22.7;References;365
23;On the Efficiency of Design Patterns Implemented in C# 3.0;366
23.1;Introduction;366
23.2;Relationship between Patterns and Languages;367
23.2.1;Replacing Patterns by Features;367
23.2.2;Libraries of Design Patterns;370
23.3;The Impact of C# 3.0;371
23.3.1;Features in C#;371
23.3.2;Pattern Implementation in C#;372
23.4;Experimenting with the Visitor Pattern;374
23.4.1;Double Dispatch;374
23.4.2;Reflection;375
23.4.3;Type Testing;376
23.4.4;Delegates;377
23.4.5;Results;377
23.5;Conclusions and Future Work;379
23.6;References;380
24;A Framework for Model Transformation By-Example: Concepts and Tool Support;382
24.1;Introduction;382
24.2;MTBE at a Glance;384
24.2.1;Motivation;384
24.2.2;MTBE Process;385
24.3;MTBE Concepts Revisited;385
24.3.1;Model Mapping Language;386
24.3.2;Reasoning Based on Pattern Matching;387
24.3.3;Metamodel Mapping Language;390
24.4;An Eclipse Based Implementation for MTBE;391
24.4.1;Integration of GMF;393
24.5;A Tour on the MTBE Framework;394
24.5.1;Integration Problem: ER2UML;394
24.5.2;User Defined Model Mappings;396
24.5.3;Reasoning and Metamodel Mappings;397
24.5.4;ATL Code Generation;397
24.5.5;Lessons Learned;399
24.6;Related Work;399
24.7;Conclusion and Future Work;400
24.8;References;400
25;Web Applications Design and Development with WebML and WebRatio 5.0;402
25.1;Introduction;402
25.2;The WebML Methodology;403
25.3;The WebML Language;405
25.3.1;WebML Data Model;405
25.3.2;WebML Hypertext Model;405
25.3.3;Support of Web Services and Business Processes in WebML;408
25.4;WebRatio: A Tool for Designing WebML Models;412
25.5;Conclusions;419
25.6;References;420
26;Author Index;422



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.