skip to main content
10.1145/1562860.1562865acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Pointcut-based architectural interface for bridging a gap between design and implementation

Published:07 July 2009Publication History

ABSTRACT

This paper proposes archface, a pointcut-based interface mechanism for bridging a gap between architectural design and its implementation. Archface, which encapsulates the essence of architectural design, is not only an architecture description language (ADL) but also a programming-level interface. Archface is based on the component-and-connector architecture, one of the most popular architectural styles. Archface is effective for software evolution because the trace-ability between design and its implementation can be realized by enforcing architectural constraints specified in archface on the program implementation. This traceability is bidirectional. In the modern software development, not only object orientation (OO) but also aspect orientation (AO) plays an important role in the architectural design because dealing with crosscutting concerns becomes crucial for designing reliable and maintainable software. In archface, AO can be easily introduced into architecture descriptions only with the component-and-connector mechanism. We do not have to distinguish AO from traditional OO-based design modeling approaches. Archface integrates not only design modeling with its implementation but also AO with OO.

References

  1. Aldrich, J., Chambers, C., and Notkin, D.: ArchJava: Connecting Software Architecture to Implementation, In Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 187--197, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Allen, R. and Garlan, D.: Formalizing Architectural Connection, In Proceedings of the 16th International Conference on Software Engineering (ICSE'94), pp. 71--80, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bass, L., Clements, P., and Kazman, R.: Software Architecture in Practice (2nd edition), Addison-Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Cazzola, W., Pini, S., Ghoneim, A., and Saake, G.: Co-Evolving Application Code and Design Models by Exploiting Meta-Data, In Proceedings of the 12th Annual ACM Symposium on Applied Computing (SAC 2007), pp. 1275--1279, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cazzola, W. and Pini, S.: On the Footprints of Join Points: The Blueprint Approach, In Journal of Object Technology, vol. 6, no. 7, Special Issue: Aspect-Oriented Modeling, pp. 167--192, 2007.Google ScholarGoogle Scholar
  6. D'Hondt, T., Volder, K. D., Mens, K., and Wuyts, R., Co-evolution of Object-Oriented Software Design and Implementation, In Aksit, M. (Ed.), Software Architectures and Component Technology (SACT 2000), Kluwer Academic Publishers, pp. 207--224, 2001.Google ScholarGoogle Scholar
  7. Hannemann, J. and Kiczales, G.: Design Pattern Implementation in Java and AspectJ, In Proceedings of Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2002), pp. 161--173, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Holzmann, G. J.: The SPIN MODEL CHECKER, Addison-Wesley Pub, 2003.Google ScholarGoogle Scholar
  9. Hyper/J, http://www.research.ibm.com/hyperspace/HyperJ/HyperJ.htmGoogle ScholarGoogle Scholar
  10. Java Modeling Language (JML), http://www.cs.iastate.edu/leavens/JML/.Google ScholarGoogle Scholar
  11. Kellens, A., Mens, K., Brichau, J., and Gybels, K.: Managing the Evolution of Aspect-Oriented Software with Model-based Pointcuts, In Proceedings of the European Conference on Object-Oriented Programming (ECOOP 2006), pp. 501--525, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kiczales, G., Lamping, J., Mendhekar A., Maeda, C., Lopes, C., Loingtier, J. and Irwin, J.: Aspect-Oriented Programming, In Proceeding of European Conference on Object-Oriented Programming (ECOOP'97), pp. 220--242, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  13. Kiczales, G., Hilsdale, E., Hugunin, J., et al.: An Overview of AspectJ, In Proceedings of European Conference on Object-Oriented Programming (ECOOP 2001), pp. 327--353, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Shaw, M. and Garlan, D.: Characteristics of Higher Level Languages for Software Architecture, Technical Report, CMU-CS-94-210, Carnegie Mellon University, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  15. Suvée, D., Vanderperren, W., and Jonckers, V.: JAsCo: An Aspect-Oriented Approach Tailored for Component Based Software Development, In Proceedings of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), pp. 21--29, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Tarr, P., Ossher, H., Harrison, W., and Sutton, S. M., Jr.: N Degrees of Separation: Multi-dimensional Separation of Concerns, In Proceedings of the 21st International Conference on Software Engineering (ICSE'99), pp. 107--119, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Taylor, R. N. and Hoek, A.: Software Design and Architecture -- The once and future focus of software engineering, In Proceedings of 2007 Future of Software Engineering (FOSE 2007), pp. 226--243, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Ubayashi, N., Sakai, A., and Tamai, T.: An Aspect-oriented Weaving Mechanism Based on Component and Connector Architecture, In Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007), pp. 154--163, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pointcut-based architectural interface for bridging a gap between design and implementation

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      RAM-SE '09: Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
      July 2009
      39 pages
      ISBN:9781605585482
      DOI:10.1145/1562860

      Copyright © 2009 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 7 July 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader