|
ABSTRACT
In this paper we propose an extension to JAsCo for supporting Adaptive Programming in a Component-Based Software Development context. JAsCo is an aspect-oriented programming language targeted at Component-Based Software Development and allows encapsulating crosscutting concerns using highly reusable aspect beans. Adaptive Programming on the other hand, allows capturing crosscutting concerns by structure-shy adaptive visitors. We propose to implement an adaptive visitor as a regular JAsCo aspect bean. Hence, the reusability of an adaptive visitor is improved because the same visitor can be reused within different component contexts. We introduce JAsCo traversal connectors to deploy adaptive visitors, implemented as JAsCo aspect beans, upon a concrete component traversal. In addition, these traversal connectors allow to explicitly specify how the behavior of several adaptive visitors, instantiated onto the same component traversal, needs to be combined by making use of the JAsCo precedence and combination strategies. A prototype implementation of the JAsCo Adaptive Programming extension, which employs the DJ library, is available. As a proof of concept, we present an extended case study in the context of the Web Service Management Layer (WSML) project. In this case study, a set of visitors implemented in JAsCo is reused to accomplish multiple tasks.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Chappell, D. and Jewell, T. Using Java in Service-Oriented Architectures: Java Web Services. O'Reilly, 2002.
|
 |
2
|
|
| |
3
|
|
| |
4
|
JAsCo including JAsCoAP extension available at: http://ssel.vub.ac.be/jasco
|
| |
5
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
6
|
Kuipers, T. and Visser, J. Object-oriented tree traversal with JJForester. In ENTCS, volume 44, Elsevier Science, 2001.
|
| |
7
|
Lämmel, R. Typed Generic Traversal With Term Rewriting Strategies. Journal of Logic and Algebraic Programming, 54:1.64, September 2002.
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
Lieberherr, K. and Lorenz, D. Coupling Aspect-Oriented and Adaptive Programming. In Aspect-Oriented Software Development, Filman et al, Addison Wesley, 2004.
|
 |
13
|
|
 |
14
|
|
| |
15
|
|
 |
16
|
Mira Mezini , Karl Lieberherr, Adaptive plug-and-play components for evolutionary software development, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.97-116, October 18-22, 1998, Vancouver, British Columbia, Canada
|
 |
17
|
|
| |
18
|
|
| |
19
|
|
 |
20
|
Macneil Shonle , Karl Lieberherr , Ankit Shah, XAspects: an extensible system for domain-specific aspect languages, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
[doi> 10.1145/949344.949349]
|
| |
21
|
Sun, JavaBeans(TM) Specification 1.01. Available at: http://java.sun.com/products/javabeans/docs/spec.html
|
| |
22
|
Sung J. and Lieberherr, K. DAJ: A Case Study of Extending AspectJ. Northeastern University Technical Report NU-CCS-02-16, 2002. Available at: http://www.ccs.neu.edu/research/demeter/biblio/DAJ1.html
|
 |
23
|
|
| |
24
|
|
| |
25
|
Szyperski, C. Components and Web Services. Beyond Objects column, Software Development, Vol. 9, No. 8, August 2001.
|
| |
26
|
Verheecke, B., Cibran, M. A. and Jonckers, V. AOP for Dynamic Configuration and Management of Web services in Client-Applications. In Proceedings of 2003 ICWS. Erfurt, Germany, September 2003.
|
| |
27
|
Verheecke, B., Cibran, M. A. and Jonckers, V. WSML. available at: http://ssel.vub.ac.be/wsml
|
 |
28
|
Eelco Visser , Zine-el-Abidine Benaissa , Andrew Tolmach, Building program optimizers with rewriting strategies, Proceedings of the third ACM SIGPLAN international conference on Functional programming, p.13-26, September 26-29, 1998, Baltimore, Maryland, United States
|
 |
29
|
Joost Visser, Visitor combination and traversal control, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.270-282, October 14-18, 2001, Tampa Bay, FL, USA
|
| |
30
|
Wu, P., Krishnamurthi, S. and Lieberherr, K. Traversing Recursive Object Structures: The Functional Visitor in Demeter. In Proc. of SPLAT Workshop of AOSD'03, Boston, USA, March 2003.
|
CITED BY 6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Andrea Sindico , Giovanni Bartolomeo , Vincenzo Grassi , Stefano Salsano, Design and development of a context oriented language for middleware based applications, Proceedings of the 2008 workshop on Next generation aspect oriented middleware, p.1-5, April 01-01, 2008, Brussels, Belgium
|
|
|
|
|