skip to main content
10.1145/2162004.2162007acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Symmetric aspect-orientation: some practical consequences

Authors Info & Claims
Published:27 March 2012Publication History

ABSTRACT

To some extent, contemporary software development has incorporated the AspectJ style of aspect-oriented programming. This style is denoted as asymmetric since it explicitly distinguishes between aspects and the base. Although academic symmetric aspect-oriented approaches, in which there is no such distinction, gained no direct acceptance in industry, several approaches used in practice exhibit symmetric aspect-oriented features. As shown in this paper, this ranges from peer use cases and features as analysis and design concepts to particular programming language mechanisms such as traits (Scala), open classes (Ruby), or prototypes (JavaScript). Even inter-type declarations and advices as known from AspectJ can be used to emulate symmetric aspect-oriented programming. The examples given in this paper indicate the basic possibilities for this. However, detailed studies of the corresponding academic and industry approaches should be carried.

References

  1. M. Aksit and B. Tekinerdogan. Solving the modeling problems of object-oriented languages by composing multiple aspects using composition filters. In Proc. of the Aspect-Oriented Programming Workshop at ECOOP'98, Brussels, Belgium, 1998.Google ScholarGoogle Scholar
  2. J. Arlow and I. Neustadt. UML 2 and the Unified Process. Addison-Wesley, 2005.Google ScholarGoogle Scholar
  3. J. Bálik and V. Vranic. Sustaining composability of aspect-oriented design patterns in their symmetric implementation. In 2nd International Workshop on Empirical Evaluation of Software Composition Techniques, ESCOT 2011, at ECOOP 2011, Lancaster, UK, July 2011.Google ScholarGoogle Scholar
  4. S. Clarke and E. Baniassad. Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Cottenier, A. van den Berg, and T. Elrad. The motorola WEAVR: Model weaving in a large industrial context. In Proc. of 6th International Conference on Aspect-Oriented Software Development, Vancouver, British Columbia, Canada, Mar. 2007. ACM.Google ScholarGoogle Scholar
  6. T. Cottenier, A. van den Berg, and T. Elrad. Motorola WEAVR: Aspect orientation and model-driven engineering. Journal of Object Technology, 6 (7): 51--88, Aug. 2007. http://www.jot.fm/issues/issue_2007_08/article3.Google ScholarGoogle ScholarCross RefCross Ref
  7. A. R. de, M. Hendriks, W. Havinga, P. Durr, and L. Bergmans. Compose*: a language- and platform-independent aspect compiler for composition filters. In Proc of 1st International Workshop on Advanced Software Development Tools and Techniques, WASDeTT 2008, Paphos, Cyprus, July 2008.Google ScholarGoogle Scholar
  8. V. Driessen. A successful Git branching model, Jan. 2010. http://nvie.com/posts/a-successful-git-branching-model/.Google ScholarGoogle Scholar
  9. W. H. Harrison, H. L. Ossher, and P. L. Tarr. Asymmetrically vs. symmetrically organized paradigms for software composition. Technical Report RC22685, IBM Research, Dec. 2002.Google ScholarGoogle Scholar
  10. A. Hubaux, A. Classen, M. Mendonça, and P. Heymans. A preliminary review on the application of feature diagrams in practice. In Proc. of International Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2010, Linz, Austria, Jan. 2010.Google ScholarGoogle Scholar
  11. I. Jacobson and P.-W. Ng. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proc. of 11th European Conference on Object-Oriented Programming, ECOOP'97, LNCS 1241, Jyvaskyla, Finland, June 1997. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  13. R. Menkyna and V. Vrani. Aspect-oriented change realization based on multi-paradigm design with feature modeling. In Proc. of 4th IFIP TC2 Central and East European Conference on Software Engineering Techniques, CEE-SET 2009, LNCS 7054, Krakow, Poland, Oct. 2009. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Ossher and P. Tarr. Multi-dimensional separation of concerns and the hyperspace approach. In Software Architectures and Component Technology. Kluwer, 2002.Google ScholarGoogle ScholarCross RefCross Ref
  15. A. Rashid, T. Cottenier, P. Greenwood, R. Chitchyan, R. Meunier, R. Coelho, M. Südholt, and W. Joosen. Aspect-oriented software development in practice: Tales from AOSD-Europe. Computer, 43 (2): 19--26, Feb. 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. M. H. Reenskaug. The common sense of object oriented programming. http://folk.uio.no/trygver/2008/commonsense.pdf, 2008.Google ScholarGoogle Scholar
  17. T. M. H. Reenskaug and J. O. Coplien. The DCI architecture: A new vision of object-oriented programming. http://www.artima.com/articles/dci_vision.html, Mar. 2009.Google ScholarGoogle Scholar
  18. N. Schärli, S. Ducasse, O. Nierstrasz, and A. P. Black. Traits: Composable units of behaviour. In Proc. of 17th European Conference on Object-Oriented Programming, ECOOP 2003, LNCS 2743, Darmstadt, Germany, July 2003. Springer.Google ScholarGoogle ScholarCross RefCross Ref
  19. P. Tarr and H. Ossher. Hyper/J User and Instalation manual. IBM Research, 2000.Google ScholarGoogle Scholar
  20. V. Vranic and P. Michalco. Are themes and use cases the same? Information Sciences and Technologies, Bulletin of the ACM Slovakia, 2 (1): 66--71, 2009. Special Section on Early Aspects at AOSD 2010.Google ScholarGoogle Scholar
  21. V. Vranic, R. Menkyna, M. Bebjak, and P. Dolog. Aspect-oriented change realizations and their interaction. e-Informatica Software Engineering Journal, 3 (1): 43--58, 2009.Google ScholarGoogle Scholar
  22. D. Wiese, R. Meunier, and U. Hohenstein. How to convince industry of AOP. In Proc. of 6th International Conference on Aspect-Oriented Software Development, Vancouver, British Columbia, Canada, Mar. 2007. ACM.Google ScholarGoogle Scholar

Index Terms

  1. Symmetric aspect-orientation: some practical consequences

    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 Conferences
      NEMARA '12: Proceedings of the 2012 workshop on Next Generation Modularity Approaches for Requirements and Architecture
      March 2012
      30 pages
      ISBN:9781450311274
      DOI:10.1145/2162004

      Copyright © 2012 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: 27 March 2012

      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