Distribution-related concerns, such as data replication, often crosscut the business code of a distributed application. Currently such crosscutting concerns are frequently realized on top of distributed frameworks, such as EJBs, and initial AO support for the modularization of such crosscutting concerns, e.g., JBoss AOP and Spring AOP, has been proposed.Based on an investigation of the implementation of replicated caches using JBoss Cache, we motivate that crosscutting concerns of distributed applications benefit from an aspect language for explicit distributed programming. We propose AWED, a new aspect language with explicit distributed programming mechanisms, which provides three contributions. First, remote pointcut constructors which are more general than those of previous related approaches, in particular, supporting remote sequences. Second, a notion of distributed advice with support for asynchronous and synchronous execution. Third, a notion of distributed aspects including models for the deployment, instantiation and state sharing of aspects. We show several concrete examples how AWED can be used to modularly implement and extend replicated cache implementations. Finally, we present a prototype implementation of AWED, which we have realized by extending JAsCo, a system providing dynamic aspects for Java. Key-words: Aspect-Oriented Programming, distributed programming, AWED, DJAsCoThis work has been supported by AOSD-Europe, the European Network of Excellence in AOSD (www.aosd-europe.net).This work has been done in collaboration from members by OBASCO project team (4 rue Alfred Kastler, 44307 Nantes cedex 3, France) and SSEL group at Vrije Universiteit Brussel (Pleinlaan 2, 1050 Brussels, Belgium). Programmation par aspects à distribution expliciteRésumé : Les préoccupations liée à la distribution, comme la réplication de données, sont souvent entrelacées avec le code métier d'une application distribuée. Actuellement ces préoccupations transversales sont fréquemment implémentées à l'aide de canevas distribués, tels que les EJB. Un support initial à l'aide de la programmation par aspects pour la modularisation de telles préoccupations transversales a été proposé, par ex., JBoss AOP et Spring AOP.Basé sur une analyse de l'implémentation du cache répliqué JBoss Cache, nous motivons que ces préoccupations transversales d'applications distribuées profitent d'un langage d'aspects pour la programmation distribuée explicite. Nous proposons AWED, un nouveau langage d'aspects apportant des mécanismes de programmation distribuée explicites. Concrètement, ce langage réalise trois contributions. D'abord, les constructeurs de coupes distantes sont plus généraux que ceux déjà proposés et nous introduisons, en particulier, un notion de séquences distantes. Ensuite, nous proposons une notion d'actions distribuées qui peuvent être coordonnées d'une manière synchrone ou asynchrone avec l'application de base. Finalement, AWED réalise une notion d'aspects distribués comprénant des moyens pour le déploiement, l'inst...
Abstract. With the adoption of Web services technology to realize Service Oriented Architectures, the need arises for more flexible and dynamic technologies for the just-in-time integration and composition of services. As the runtime integration, selection and management of services involves a variety of crosscutting concerns, such as error handling, service monitoring, and QoS enforcements, Aspect Oriented Programming (AOP) is useful to modularize such concerns.In this paper we investigate aspect-oriented support for crosscutting concerns of distributed management of web service compositions. We propose to use a distributed AOP approach, Aspects with Explicit Distribution (AWED), to modularize such concerns in a distributed variant of the Web Services Management Layer (WSML). Concretely, we present three contributions. First, we present an extension of the WSML to distributed compositions. Second, we present two extensions to AWED's aspect language which are useful for the modularization of crosscutting concerns of web services: support for chains of (a)synchronous remote advice that communicate through futures, and support for different modes of parameter passing between remote pointcuts and advice. Third, we illustrate our approach by investigating error handling in distributed web compositions.
Many tasks that involve the dynamic manipulation of middleware and large-scale distributed applications, such as debugging and testing, require the monitoring of intricate relationships of execution events that trigger modifications to the executing system. Furthermore, events often are of interest only if they occur as part of specific execution traces and not all possible non-deterministic interleavings of events in these traces. Current techniques and tools for the definition of such manipulations provide only very limited support for such event relationships and do not allow to concisely define restrictions on the interleaving of events. In this paper, we argue for the use of aspect-based high-level programming abstractions for the definition of relationships between execution events of distributed systems and the control of non-deterministic interleavings of events. Concretely, we provide the following contributions: we (i) motivate that such abstractions improve on current debugging and testing methods for middleware, (ii) introduce corresponding language support for pointcuts and advice defined in terms of causal event sequences by extending an existing aspect-oriented system for the dynamic manipulation of distributed systems, and (iii) evaluate our approach in the context of the debugging and testing of Java-based middlewares, in particular, JBoss Cache for replicated caching.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.