ABSTRACT
Software must be adapted to accommodate new features in the context of changing requirements. In this paper, we illustrate how applications with aspect weaving capabilities can be easily and dynamically adapted with unforseen features. Aspects were used at three levels: in the context of semantic analysers, within a BPEL engine that orchestrates Web Services, and finally within BPEL processes themselves. Each level uses its own tailored domain-specific aspect language that is easier to manipulate than a general-purpose one (close to the programming language) and the pointcuts are independent from the implementation.
- ObAsCo (Objects, Aspects, and Components) Research Group. http://www.emn.fr/x-info/obasco/.Google Scholar
- E. E. Allen. Designing extensible applications. Technical report, IBM developerWorks, September 2001. http://www-106.ibm.com/developerworks/java/library/j-diag0925/.Google Scholar
- T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, and I. Trickovic. Business Process Execution Language for Web Services version 1.1. Technical report, BEA, IBM, Microsoft, SAP, Siebel Systems, May 2003. http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/.Google Scholar
- M. Blow, Y. Goland, M. Kloppmann, F. Leymann, G. Pfau, D. Roller, and M. Rowley. BPELJ: BPEL for Java. BEA and IBM, March 2004. white paper, http://www-106.ibm.com/developerworks/java/library/j-diag0925/.Google Scholar
- C. Courbis and A. Finkelstein. Towards an Aspect-Weaving BPEL Engine. In Y. Coady and D.H. Lorenz, editors, the Third AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, Lancaster, UK, March 2004. http://www.cs.uvic.ca/~ycoady/acp4is04/papers/E00-1036597838.pdf.Google Scholar
- K. Czarnecki and U. W. Eisenecker. Generative Programming, chapter 8. Addison-Wesley, 2000. Google ScholarDigital Library
- A. V. Deursen, P. Klint, and J. Visser. Domain-Specific Languages: An Annotated Bibliography. ACM SIGPLAN Notices, 35(6):26--35, June 2000. http://www.cwi.nl/~arie/papers/dslbib.pdf. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley Pub Co, January 1995. ISBN 0201633612.Google ScholarDigital Library
- J. Gray and S. Roychoudhury. A Technique for Constructing Aspect Weavers Using a Program Transformation Engine. In K Lieberherr, editor, the Third International Conference on Aspect-Oriented Software Development, pages 36--45, Lancaster, UK, March 2004. http://www.cis.uab.edu/gray/Pubs/aosd-2004.pdf. Google ScholarDigital Library
- J. Greenfield and K. Short. Software Factories. Assembling Applications with Patterns, Models, Frameworks and Tools. In the second OOPSLA workshop on Generative Techniques in the context of Model-Driven Architecture, Anaheim, USA, October 2003. http://www.softmetaware.com/oopsla2003/greenfield.pdf. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In M. Akşit and S. Matsuoka, editors, Proceedings 11th European Conference on Object-Oriented Programmin (ECOOP), volume 1241 of LNCS, pages 220-242, Jyväskylä, Finland, June 1997. http://www.cs.ubc.ca/~gregor/papers/kiczales-ECOOP1997-AOP.pdf.Google Scholar
- M. Mernik, J. Heering, and A. M. Sloane. When and How to Develop Domain-Specific Languages. Submitted to ACM Computing Surveys, 2004. http://marcel.uni-mb.si/marjan/ACM-ComputingSurveys.pdf. Google ScholarDigital Library
- N. Mukhi. Reference guide for creating BPEL4WS documents. Technical report, IBM, November 2002. http://www-106.ibm.com/developerworks/webservices/library/ws-bpws4jed/Google Scholar
- H. Nowell, B. Butchart, D. S. Coombes, S. L. Price, W. Emmerich, and C. R. A. Catlow. Increasing the Scope for Polymorph Prediction using e-Science. In the 2004 UK E-Science All Hands Meeting (AHM), pages 967--971, Nottingham, UK, September 2004. UK Engineering and Physical Science Research Council. http://www.cs.ucl.ac.uk/staff/w.emmerich/publications/AHM04/final_nowell.pdf.Google Scholar
- J. Palsberg and C. B. Jay. The Essence of the Visitor Pattern. In Proceedings of COMPSAC'98, 22nd Annual International Computer Software and Applications Conference, pages 9--15, Vienna, Austria, August 1998. http://www.cs.ucla.edu/~palsberg/paper/compsac98.pdf. Google ScholarDigital Library
- D. Parigot, C. Courbis, P. Degenne, A. Fau, C. Pasquier, J. Fillon, C. Held, and I. Attali. Aspect and XML-oriented Semantic Framework Generator: SmartTools. In M. van den Brand and R. Lämmel, editors, ETAPS'2002, LDTA workshop, volume 65 of Electronic Notes in Theoretical Computer Science (ENTCS), Grenoble, France, April 2002. Elsevier Science. http://www.elsevier.nl/gej-ng/31/29/23/117/52/33/65.3.009.pdf.Google ScholarCross Ref
- R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In A. Yonezawa and S. Matsuoka, editors, Metalevel Architectures and Separation of Crosscutting Concerns: Third International Conference, Reflection'01, volume 2192 of LNCS, pages 1--24, Kyoto, Japan, September 2001. http://jac.aopsys.com/papers/reflection.ps. Google ScholarDigital Library
- M. Reichert and P. Dadam. ADEPTflex - Supporting Dynamic Changes of Workflow without Loosing Control. Intelligent Information Systems special issue one Workflow Management Systems, 10(2):93--129, March/April 1998. http://www.informatik.uni-ulm.de/dbis/01/staff/reichert/papers/journals/reda98c.pdf. Google ScholarDigital Library
- Sun Microsystems. JSR 175: A Metadata Facility for the Java Programming Language, 2004. http://www.jcp.org/en/jsr/detail?id=175.Google Scholar
- M. Shonle, K. Lieberherr, and A. Shah. XAspects: an Extensible System for Domain-Specific Aspect Languages. In OOPSLA 2003 Domain-Driven Development Track, Anaheim, USA, October 2003. http://www.ccs.neu.edu/research/demeter/biblio/XAspects.html. Google ScholarDigital Library
- N. Subramanian and L. Chung. Architecture--Driven Embedded Systems Adaptation for Supporting Vocabulary Evolution. In Int. Symposium on Principles of Software Evolution (ISPSE2000), pages 144--153, Kanazawa, Japon, November 2000. http://www.utdallas.edu/~chung/ftp/ISPSE00.doc.Google Scholar
- D. Suvée, W. Vanderperren, and V. Jonckers. JAsCo: an Aspect-Oriented approach tailored for Component Based Software Development. In Proceedings of the 2nd international conference on Aspect-Oriented Software Development, pages 21--29, Boston, USA, March 2003. http://ssel.vub.ac.be/jasco/papers/aosd2003.pdf. Google ScholarDigital Library
- The AspectJ Team. The AspectJ Programming Guide, AspectJ 1.2 edition. http://dev.eclipse.org/viewcvs/indextech.cgi/~checkout~/aspectj-home/doc/progguide/index.html.Google Scholar
- A. Tsalgatidou and T. Pilioura. An Overview of Standards and Related Technology in Web Services. Distributed and Parallel Databases, special issue on e-services, 12:135--162, 2002. Kluwer Academic Publishers, http://www.di.uoa.gr/~afrodite/PADP2002.pdf. Google ScholarDigital Library
- B. Verheecke and M. Cibrán. Dynamic Aspects for Web Service Management. In Dynamic Aspects Workshop of the AOSD Conference, pages 146--152, Lancaster, UK, March 2004. RIACS Technical report 04.01. http://aosd.net/2004/workshops/daw/Proc-2004-Dynamic-Aspects.pdf.Google Scholar
- K. D. Volder, J. Brichau, K. Mens, and T. D'Hondt. Logic Meta Programming, a Framework for Domain-Specific Aspect Languages. 2001. http://www.cs.ubc.ca/~kdvolder/binaries/cacm-aop-paper.pdfGoogle Scholar
- Z. Yang, K. S. Betty Cheng, J. Sowell, M. Sadjadi, and P. McKinley. An Aspect-Oriented Approach to Dynamic Adaptation. In D. Garlan, J. Kramer, and A. Wolf, editors, Proceedings of the ACM SIGSOFT Workshop On Self-healing Systems (WOSS02), Charleston, USA, November 2002. http://www.cse.msu.edu/~yangzhe1/research/pub/woss-02.pdf. Google ScholarDigital Library
- M. Zenger. Programming language abstractions for extensible software components. PhD thesis, Ecole polytechnique fédérale de Lausanne, Lausanne, Switzerland, 2004. http://ahdoc.epfl.ch/EPFL/theses/2004/2930/EPFL_TH2930.pdf.Google Scholar
Index Terms
- Towards aspect weaving applications
Recommendations
Pluggable AOP: designing aspect mechanisms for third-party composition
Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Pluggable AOP: designing aspect mechanisms for third-party composition
OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applicationsStudies of Aspect-Oriented Programming (AOP) usually focus on a language in which a specific aspect extension is integrated with a base language. Languages specified in this manner have a fixed, non-extensible AOP functionality. This paper argues the ...
Awesome: an aspect co-weaving system for composing multiple aspect-oriented extensions
Proceedings of the 2007 OOPSLA conferenceDomain specific aspect-oriented language extensions offer unique capabilities to deal with a variety of cross cutting concerns. Ideally, one should be able to use several of these extensions together in a single program. Unfortunately, each extension ...
Comments