{"title":"用AspectJ设计和实现面向方面编程的不同用例,用于开发移动应用程序","authors":"H. Mcheick, Steve Godmaire","doi":"10.1145/3330089.3330108","DOIUrl":null,"url":null,"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.","PeriodicalId":251275,"journal":{"name":"Proceedings of the 7th International Conference on Software Engineering and New Technologies","volume":"70 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-12-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"Designing and implementing different use cases of aspect-oriented programming with AspectJ for developing mobile applications\",\"authors\":\"H. Mcheick, Steve Godmaire\",\"doi\":\"10.1145/3330089.3330108\",\"DOIUrl\":null,\"url\":null,\"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.\",\"PeriodicalId\":251275,\"journal\":{\"name\":\"Proceedings of the 7th International Conference on Software Engineering and New Technologies\",\"volume\":\"70 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-12-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 7th International Conference on Software Engineering and New Technologies\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3330089.3330108\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 7th International Conference on Software Engineering and New Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3330089.3330108","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Designing and implementing different use cases of aspect-oriented programming with AspectJ for developing mobile applications
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.