skip to main content
10.1145/3330089.3330108acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicsentConference Proceedingsconference-collections
research-article

Designing and implementing different use cases of aspect-oriented programming with AspectJ for developing mobile applications

Published: 26 December 2018 Publication History

Abstract

The separation of concerns as a conceptual paradigm, aims to manage the complexity of the software systems by dividing them into different concerns and aspects. The benefits of this paradigm such as adaptability, reuse and maintenance, have been key drivers of its adoption and usability. These quality attributes have been discussed in aspect-oriented programming (AOP) which is a complement to traditional programming methods, whether object-oriented programming or procedural programming. The main concept of AOP is to gather the treatments related to a specific concern (problem) in a centralized unit called aspect. In this paper, two case studies of AOP are conducted with AspectJ: i) through three different implementations, addressing three distinct issues: Logging, Adding features and Using the Observer design pattern, and ii) through the design of aspect mobile application that is easy to use and quickly accessible and especially through Android devices. Also, the different technologies of AspectJ are used to design our application and illustrate the modularity and the composition of components (database manager, development software, and plugins). For each case study, we present the advantages and disadvantages to better understand and decompose the applications using this programming paradigm. Potential implementation examples are provided to support the explanation of the different situations and justify the use of the AOP to solve these issues. OSGi framework can also be used in the future work to offer dynamic manner of mobile applications.

References

[1]
Ash, S., Debray. Apr. 2014. Spring Test Context Caching + AspectJ @Transactional + Ehcache pain. DOI=https://www.javacodegeeks.com/2014/04/spring-test-context-caching-aspectj-transactional-ehcache-pain.html.
[2]
Borella, J. Sep. 2003. The observer pattern using Aspect Oriented Programming. DOI= http://www.itu.dk/: http://www.itu.dk/~jborella/docs/observer.pdf.
[3]
Daniel Perovich, M. C. 2007. Aspect-Oriented Model-Driven Approach to Architecture Design. Department of Computer Science, Universidad de Chile.
[4]
Kiourtzoglou, B. Jul. 2010. Aspect Oriented Programming with Spring AspectJ and Maven. DOI=https://www.javacodegeeks.com/2010/07/aspect-oriented-programming-with-spring.html.
[5]
Lanoix, A. Java Modeling Language (JML). DOI=http://kalysto.org/~nono/teaching/JML/jml_3x2.pdf.
[6]
Lesiecki, N. May 2005. AOP@Work: Enhance design patterns with AspectJ. DOI=http://www.ibm.com/developerworks/library/j-aopwork6.
[7]
http://www.itu.dk/: http://www.itu.dk/~jborella/docs/observer.pdf
[8]
A. Borning, R. Duisberg, B. N. Freeman-Benson, A. Kramer, M. Woolf, "Constraint Hierarchies," in proceedings of OOPSLA'87, pp. 48--60.
[9]
https://www.ibm.com/support/knowledgecenter/en/SSZLC2_7.0.0/com.ibm.commerce.developer.doc/concepts/csdmvcdespat.htm Modèle-Vue-Controleur (MVC)
[10]
Fragment https://developer.android.com/guide/components/fragments.html
[11]
Volley https://developer.android.com/training/volley/index.html
[12]
Salwa Elmaliki, Lucas Wanner, Mani Srivastava. CAreDroid: Adaptation Framework for Android Context-Aware Applications, ACM, MobiCom'15, September 7--11, 2015, Paris, France.
[13]
B. C. Smith. Procedural reection in programming languages. PhD thesis, Massachusetts Institute of Technology, 1982.
[14]
James W. Cooper, Java design patterns: a tutorial, Addison-Wesley Professional, 2000.
[15]
Jan Hannemann, "Design Pattern Implementations using Aspect-Oriented Programming", available at http://hannemann.pbworks.com/Design+Patterns, 2008.
[16]
Erich Gamma, Ralph Johnson, John Vlissides, Richard Helm. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995.

Cited By

View all
  • (2023)Automated Provenance Collection at Runtime as a Cross-Cutting Concern2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00057(276-285)Online publication date: 1-Oct-2023

Index Terms

  1. Designing and implementing different use cases of aspect-oriented programming with AspectJ for developing mobile applications

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    ICSENT 2018: Proceedings of the 7th International Conference on Software Engineering and New Technologies
    December 2018
    201 pages
    ISBN:9781450361019
    DOI:10.1145/3330089
    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: 26 December 2018

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Aspect-oriented programming
    2. AspectJ
    3. Observer design pattern
    4. logging
    5. mobile application
    6. programming paradigm
    7. separation of concerns

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ICSENT 2018

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)6
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 03 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Automated Provenance Collection at Runtime as a Cross-Cutting Concern2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00057(276-285)Online publication date: 1-Oct-2023

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media