Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Advances in Smalltalk -

Advances in Smalltalk (eBook)

14th International Smalltalk Conference, ISC 2006, Prague, Czech Republic, September 4-8, 2006
eBook Download: PDF
2007 | 1. Auflage
165 Seiten
Springer-Verlag
9783540718369 (ISBN)
Systemvoraussetzungen
39,95 inkl. MwSt
(CHF 38,95)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

This book constitutes the thoroughly refereed post-proceedings of the 14th International Smalltalk Conference, ISC 2006, held in Prague, Czech Republic in September 2006.



The seven revised full papers presented were carefully reviewed and selected from the technical contributions held during the academic track of the conference. Being a live forum on cutting edge software technologies, the conference attracted researchers and professionals from both academia and industry that produced papers covering topics from foundational issues to advanced applications.



Written for: Researchers and professionals



Keywords:

UI frameworks, aspect-oriented programming, component systems, context-awareness, embedded systems, generative programming, meta-modeling, metaobject protocols, metaprogramming, model driven development, object technology, object-oriented languages, object-oriented programming, partial behavioral reflection, refactoring, software product families, traits, visualization

Preface 6
Organization 7
Table of Contents 8
Application-Specific Models and Pointcuts Usinga Logic Met a Language 9
An Object-Oriented Approach for Context-Aware Applications 31
Unanticipated Partial Behavioral Reflection 55
Stateful Traits 74
Scl:A Simple, Uniform and Operational Language for Component-Oriented Programming in Smalltalk 99
Let’s Modularize the Data Model Specifications of the ObjectLens in VisualWorks/Smalltalk 119
Meta-driven Browsers 142
Author Index 165

Application-Specific Models and Pointcuts Using a Logic Meta Language (p. 8)1 Introduction

Aspect-oriented Software Development (AOSD) is a recent, yet established development paradigm that enhances existing development paradigms with advanced encapsulation and modularisation capabilities [1,2]. In particular, aspect-oriented programming languages provide a new kind of abstraction, called aspect, that allows a developer to modularise the implementation of crosscutting concerns such as synchronisation, transaction management, exception handling, etc.

Such concerns are traditionally spread across variousmodules in the implementation, causing tangled and scattered code [3]. The improved modularity and separation of concerns [4], that can be achieved using aspects, intends not only to aid initial development, but also to allow developers to better manage software complexity, evolution and reuse.

One of the most essential characteristics of an aspect-oriented programming language is that aspects are not explicitly invoked but instead, are implicitly invoked [5]. This has also been referred to as the ‘obliviousness’ property of aspect orientation [6]. It means that the base program (i.e., the program without the aspects) does not explicitly invoke the aspects because the aspects themselves specify when and where they need to be invoked by means of a pointcut de.nition.

A pointcut essentially specifies a set of join points, which are specific points in the base program where the aspect will be invoked implicitly. Such a pointcut de.nition typically relies on structural and behavioural properties of the base program to express the intended join points. For example, if an aspect must be triggered at the instantiation of each new object of a particular class, its pointcut must capture those join points whose properties correspond with the execution of the constructor method.

As a result, each time the constructor method is executed (i.e. an instance is created), the aspect is invoked. In most aspect languages, this corresponds to the execution of an advice, which is a sequence of instructions executed before, after or around the execution of the join point. Unfortunately, in many cases, de.ning and maintaining an appropriate pointcut is a rather complex activity.

First of all, an aspect developer must carefully analyse and understand the structure of the entire application and the properties shared by all intended join points in particular. Some of these properties can be directly tied to abstractions that are available in the programming language but other properties are based on programming conventions such as naming schemes. ‘Object instantiation’ join points, for example, can be identified as the execution of constructor methods in languages such as Java.

Accessing methods, however, can be identified only if the developers adhere to a particular naming scheme, such as through put- and get- prefixes in the method names. In contrast, a language such as C# again facilitates the identification of such accessor method join points because they are part of the language structure through the C# ‘properties’ language feature. In essence, we can say that the more structure is available in the implementation, the more properties are available for the definition of pointcuts, effectively facilitating their definition.

Erscheint lt. Verlag 1.1.2007
Sprache englisch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
ISBN-13 9783540718369 / 9783540718369
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 7,3 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
Apps programmieren für macOS, iOS, watchOS und tvOS

von Thomas Sillmann

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 40,95