Nicht aus der Schweiz? Besuchen Sie lehmanns.de

Autonomics Development: A Domain-Specific Aspect Language Approach (eBook)

(Autor)

eBook Download: PDF
2010 | 2010
X, 134 Seiten
Springer Basel (Verlag)
978-3-0346-0540-3 (ISBN)

Lese- und Medienproben

Autonomics Development: A Domain-Specific Aspect Language Approach - Paul Soule
Systemvoraussetzungen
53,49 inkl. MwSt
(CHF 52,25)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen
Distributed applications are difficult to write as programmers need to adhere to specific distributed systems programming conventions and frameworks, which makes distributed systems development complex and error prone and ties the resultant application to the distributed system because the application's code is tangled with the crosscutting concern distribution. This book introduces the concept of a domain-specific aspect language called a Distribution Definition Language that generalises the distribution and distribution recovery concerns by describing the classes and methods of an existing application to be made remote, the distributed system to use to make them remote and the recovery mechanism to use in the event of an error. A software tool in the form of the RemoteJ compiler/generator that uses information contained in the Distribution Definition Language to generate the recovery and distributed system specific code and apply it to the application using bytecode manipulation and generation techniques is introduced. By allowing distribution and autonomic features, such as recovery, to be modularised and applied to existing applications this approach greatly simplifies distributed systems and autonomics development. This book is of particular interest to researchers and students of distributed systems, autonomics, domain-specific aspect languages and aspect-orientation.

Contents 6
Preface 10
1 Introduction 12
1.1 Research Goal 14
1.2 Overview of Approach 15
1.3 Limitations 15
1.4 Hypothesis Statement 16
1.5 Contribution 16
1.6 Publications Overview 16
1.7 Book Structure 17
2 Distributed Systems Development 18
2.1 Introduction 18
2.2 Sockets-Based Programming 19
2.2.1 BSD Socket Interface 20
2.2.2 Socket Example 21
2.2.3 Summary 24
2.3 Remote Procedure Calls 24
2.3.1 Stubs and Skeletons 25
2.3.2 Interface Definition Language 26
2.3.3 Data Representation 27
2.3.4 Calls Semantics 27
2.3.5 Binding 29
2.3.6 Open Network Computing (ONC) Example 29
2.3.7 Summary 32
2.4 CORBA 32
2.4.1 CORBA Event Service 34
2.4.2 CORBA Example IDL 34
2.4.3 CORBA Example Implementation 36
2.4.4 Summary 36
2.5 Java Remote Method Invocation (RMI) 36
2.5.1 RMI Example 41
2.5.2 Summary 43
2.6 Message-Oriented Middleware 44
2.6.1 Message Queues 45
2.6.2 Publish/Subscribe 47
2.6.3 Durable Topics 49
2.7 Chapter Summary 49
3 An Aspect-Oriented Approach 51
3.1 Introduction 51
3.2 Crosscutting Concerns and Aspects 51
3.3 AOP Semantics 52
3.4 Static and Dynamic Weaving 53
3.5 Language-Based Implementations 54
3.5.1 AspectJ 54
3.6 Framework-Based Implementations 57
3.6.1 The JBoss AOP Framework 58
3.7 AOP and Autonomics 61
3.7.1 The TOSKANA Toolkit 63
3.7.2 The QuO Toolkit 65
3.7.3 Reflection and AOP 66
3.8 AOP and the Distribution Concern 67
3.8.1 Domain-Specific Aspect Language Implementations 68
3.8.2 AspectJ Implementations 72
3.8.3 J-Orchestra 73
3.8.4 Other Systems 73
3.8.5 Our Approach 74
3.9 Chapter Summary 74
4 The Distribution Definition Language 77
4.1 Introduction 77
4.2 Motivation and Design Principles 77
4.2.1 Issues with Distributed Systems Development 77
4.2.2 Autonomic Computing 78
4.2.3 Separation of Concerns 79
4.2.4 Simplicity 79
4.3 The Distribution Definition Language 79
4.3.1 Comments 80
4.3.2 Keywords 80
4.3.3 Import Statements 80
4.3.4 Service Statement 80
4.3.5 Service Recovery Statements 81
4.3.6 Protocol Statements 82
4.3.7 Options Statements 82
4.3.8 Pointcut Statements 82
4.4 Influences 83
4.5 Current Limitations 84
4.5.1 Callbacks 84
4.5.2 Object Passing 84
4.5.3 Concurrency 85
4.6 Chapter Summary 85
5 The RemoteJ Compiler/GeneratorImplementation 86
5.1 Introduction 86
5.2 Compiler/Generator Overview 86
5.2.1 Bytecode Rewriting 88
5.3 Recovery Implementation 89
5.4 RMI Protocol Implementation 93
5.4.1 RMI Protocol Implementation Overview 93
5.4.2 RMI Interface Generation Phase 95
5.4.3 RMI Server Generation Phase 96
5.4.4 RMI Client Generation Phase 96
5.4.5 RMI Server Bootstrap 96
5.5 JMS Protocol Implementation 97
5.5.1 JMS Protocol Implementation Overview 97
5.5.2 JMS Client Generation 98
5.5.3 JMS Server Generation 100
5.6 REST Protocol Implementation 100
5.6.1 REST Protocol Implementation Overview 101
5.7 Implementation Issues 102
5.8 Chapter Summary 103
6 Evaluation 105
6.1 Introduction 105
6.2 Adding a Protocol – a Case Study 106
6.2.1 The Event-Driven Model 106
6.2.2 Adding the Protocols 107
6.2.3 Testing and Evaluation 108
6.2.4 Summary 109
6.3 Evaluating Distributed Application Development in RemoteJ 110
6.3.1 Bank Example 111
6.3.2 Remote Desktop Example 113
6.3.3 Other Applications 115
6.3.4 Summary 115
6.4 Recovery Evaluation 117
6.4.1 Automatic Recovery 117
6.4.2 User-Defined Recovery Routines 120
6.4.3 Summary 123
6.5 Chapter Summary 123
7 Conclusions and Future Work 124
7.1 Introduction 124
7.2 Challenges and Design Decisions 125
7.2.1 Compiler/Generator 125
7.2.2 Language Features 125
7.2.3 Protocol Implementations 126
7.3 Future Work 126
7.3.1 Parameters and Return Values 126
7.3.2 Callback Support 127
7.3.3 Recovery 127
7.3.4 Autonomic Features 128
7.4 Conclusion 129
Appendix A: RemoteJ Syntax 130
References 132

Erscheint lt. Verlag 30.6.2010
Reihe/Serie Autonomic Systems
Autonomic Systems
Zusatzinfo X, 134 p. 39 illus.
Verlagsort Basel
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Schlagworte Boundary element method • Code • Compiler • Distributed Systems • Distribution • Evaluation • EXIST • Form • Framework • implementation • programming • Software • System • techniques • Tool
ISBN-10 3-0346-0540-4 / 3034605404
ISBN-13 978-3-0346-0540-3 / 9783034605403
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 2,9 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schrä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.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

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.

Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Johannes Ernesti; Peter Kaiser

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 43,85
Das Handbuch für Webentwickler

von Philip Ackermann

eBook Download (2023)
Rheinwerk Computing (Verlag)
CHF 48,75