Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1052898.1052905acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Adaptive programming in JAsCo

Published: 14 March 2005 Publication History

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

[1]
Chappell, D. and Jewell, T. Using Java in Service-Oriented Architectures: Java Web Services. O'Reilly, 2002.
[2]
Elrad, T., Filman, R. and Bader, A. (Eds). Aspect-Oriented Programming. Communications of the ACM, 44(10):28--97, 2001.
[3]
Gamma, E., Helm, R., Johnson, R. and Vlisside, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[4]
JAsCo including JAsCoAP extension available at: http://ssel.vub.ac.be/jasco
[5]
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J. and Griswold, W., G. An overview of AspectJ. In Proceedings of ECOOP'2000, SpringerVerlag, 2000.
[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]
Lämmel, R., Visser, E. and Visser, J. Strategic Programming Meets Adaptive Programming. In Proceedings of the second International Conference on Aspect-Oriented Software Development. Boston, USA, March 2003.
[9]
Lämmel, R. and Visser, J. Typed Combinators for Generic Traversal. In Proc. of Practical Aspects of Declarative Programming (PADL), LNCS 2257, January 2002.
[10]
Lieberherr, K. Controlling the Complexity of Software Designs. In proceedings of ICSE 2004 (keynote paper), Edinburgh, UK, May 2004
[11]
Lieberherr, K. and Holland, I. Assuring Good Style for Object-Oriented Programs. IEEE Software, pages 38--48., September 1989.
[12]
Lieberherr, K. and Lorenz, D. Coupling Aspect-Oriented and Adaptive Programming. In Aspect-Oriented Software Development, Filman et al, Addison Wesley, 2004.
[13]
Lieberherr, K and Orleans, D. Preventive Program Maintenance in Demeter/Java. In Proceedings of International Conference of Software Engineering (ICSE), pp. 604--605, 1997.
[14]
Lieberherr, K., Orleans, D. and Ovlinger, J. Aspect-Oriented Programming with Adaptive Methods. Communications of the ACM, Vol. 44, No. 10, October 2001.
[15]
Meyer, B. Onto components. In IEEE Computer, Volume 32, January 1999.
[16]
Mezini, M. and Lieberherr. Adaptive Plug-and-Play Components for Evolutionary Software Development. In Proceedings of OOPSLA'98, Vancouver, Canada, October 1998.
[17]
Mezini, M. and Ostermann, K. Conquering Aspects with Caesar. In Proceedings of the second international conference on Aspect-Oriented Software Development. Boston, USA, March 2003.
[18]
Orleans, D. and Lieberherr, K. DJ: Dynamic Adaptive Programming in Java. In Proceedings of Reflection 2001: Meta-level Architectures and Separation of Crosscutting Concerns, Kyoto, Japan, September 2001.
[19]
Pulvermüller, E., Speck, A., Coplien, J.O., D'Hondt, M. and De Meuter, W. Proceedings of Workshop on "feature interaction in composed systems" at ECOOP 2001. Available at: http://www.info.uni-karlsruhe.de/~pulvermu/workshops/ecoop2001/
[20]
Shonle, M., Lieberherr, K. and Shah, A. XAspects: An Extensible System for Domain Specific Aspect Languages. In Proceedings of OOPSLA international conference, Special Track on Domain-Driven Development, ACM Press, Anaheim, USA, October 2003.
[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]
Suvée, D., Vanderperren, W. and Jonckers, V. JAsCo: an Aspect-Oriented approach tailored for Component Based Software Development. In Proceedings of AOSD 2003, ACM Press, Boston, USA, March 2003.
[24]
Szyperski, C. Component Software - Beyond Object-Oriented Programming. Addison-Wesley / ACM Press.
[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]
Visser, E., Benaissa, Z.-e.-A. and Tolmach, A. Building program optimizers with rewriting strategies. In Proceedings of the 3rd International Conference on Functional Programming. Baltimore, USA, September 1998.
[29]
Visser, J. Visitor combination and traversal control. In Proceedings of the OOPSLA 2001 International Conference. Tampa Bay, USA, November 2001.
[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

View all
  • (2016)A dynamic instance binding mechanism supporting run-time variability of role-based software systemsCompanion Proceedings of the 15th International Conference on Modularity10.1145/2892664.2892687(137-142)Online publication date: 14-Mar-2016
  • (2013)An Analysis of Language-Level Support for Self-Adaptive SoftwareACM Transactions on Autonomous and Adaptive Systems10.1145/2491465.24914668:2(1-29)Online publication date: 1-Jul-2013
  • (2013)Towards performance monitoring overhead reduction2013 IEEE 11th International Symposium on Intelligent Systems and Informatics (SISY)10.1109/SISY.2013.6662557(135-140)Online publication date: Sep-2013
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development
March 2005
210 pages
ISBN:1595930426
DOI:10.1145/1052898
  • General Chair:
  • Mira Mezini,
  • Program Chair:
  • Peri Tarr
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • Illinois Institute of Technology
  • BEA Systems, Inc.
  • Siemens AG, CT SE 2
  • IBMR: IBM Research
  • AOSD-Europe: European Network of Excellence on Aspect-Oriented Software Development
  • Oracle Corporation
  • AOSA: Aspect-Oriented Software Association, Inc
  • TheServerSide.COM

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 March 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JAsCo
  2. adaptive programming
  3. aspect-oriented software development
  4. component-based software development

Qualifiers

  • Article

Conference

AOSD05
Sponsor:
  • IBMR
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2016)A dynamic instance binding mechanism supporting run-time variability of role-based software systemsCompanion Proceedings of the 15th International Conference on Modularity10.1145/2892664.2892687(137-142)Online publication date: 14-Mar-2016
  • (2013)An Analysis of Language-Level Support for Self-Adaptive SoftwareACM Transactions on Autonomous and Adaptive Systems10.1145/2491465.24914668:2(1-29)Online publication date: 1-Jul-2013
  • (2013)Towards performance monitoring overhead reduction2013 IEEE 11th International Symposium on Intelligent Systems and Informatics (SISY)10.1109/SISY.2013.6662557(135-140)Online publication date: Sep-2013
  • (2012)Dynamic aspect-oriented programming in javaTransactions on Aspect-Oriented Software Development IX10.5555/2434958.2434962(92-122)Online publication date: 1-Jan-2012
  • (2012)A survey on non‐functional concerns in web servicesInternational Journal of Web Information Systems10.1108/174400812112225738:1(5-31)Online publication date: 30-Mar-2012
  • (2012)Dynamic Aspect-Oriented Programming in Java: The HotWave ExperienceTransactions on Aspect-Oriented Software Development IX10.1007/978-3-642-35551-6_3(92-122)Online publication date: 2012
  • (2011)Safe and atomic run-time code evolution for Java and its application to dynamic AOPACM SIGPLAN Notices10.1145/2076021.204812946:10(825-844)Online publication date: 22-Oct-2011
  • (2011)Safe and atomic run-time code evolution for Java and its application to dynamic AOPProceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications10.1145/2048066.2048129(825-844)Online publication date: 22-Oct-2011
  • (2011)Mapping connection templates to spring aspects to integrate business rulesProceedings of the 2011 international workshop on Early aspects10.1145/1960502.1960506(13-18)Online publication date: 21-Mar-2011
  • (2010)Modeling the car crash crisis management system using HiLATransactions on aspect-oriented software development VII10.5555/1986548.1986555(234-271)Online publication date: 1-Jan-2010
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media