school of computer science and informatics, cardiff university
|
Assessment of the aspect-oriented programming paradigm
|
Rhys O’Sullivan – MSc Computer Science
|
|
|
Supervised by Dr. Andrew Jones
September 2013
|
Table of Contents
Declaration and Statements 3
Abstract 4
Acknowledgements 4
1. Introduction 5
2. Aims and Objectives 7
3. Background 9
Aspect-Oriented Programming 9
AspectJ 11
Current Status 13
Object-Oriented Programming 13
Java 14
Eclipse 15
4. Critical Analysis of Research Material 16
5. Approach & Methodology 18
General Rules 18
Core Functionality 18
Best Practice 19
Schedule of Experiment 21
Surveying 21
Testing 22
Relational Database 23
Project Management 23
6. Java Design & Implementation 25
Testing 28
7. AspectJ Design & Implementation 30
General Considerations 30
SQL Related Aspects 30
Static Crosscutting & Program Rules 32
Graphical User Interface (GUI) 33
Logging 35
Testing 36
8. Analysis 38
Results of Surveying 38
Programming Experience 40
Hypothesis Evaluation 43
9. Reflection 45
Research Process 45
Other Lessons 46
Further Work 47
10. Conclusion 48
References 49
Code Sources 51
Tools 51
Bibliography 52
Appendix A: Java Test Plan for Graphical User Interface 53
Appendix B: AspectJ Test Plan 55
Appendix C: Relational Database Model Diagram 57
Appendix D: AOP and AspectJ Questionnaire and Solutions 58
Appendix E: UML Diagrams 60
Appendix F: GUI Mockups 63
Appendix G: Source Code Running Instructions 67
Declaration and Statements
Candidate’s ID Number
|
1248481
|
Candidate’s Surname
|
O’Sullivan
|
Candidate’s Full Forenames
|
Rhys John
|
DECLARATION
This work has not previously been accepted in substances for any degree and is not concurrently submitted in candidature for any degree.
Signed: Date: 12/09/2013
STATEMENT 1
This dissertation is being submitted in partial fulfilment of the requirements for the degree of MSc.
Signed: Date: 12/09/2013
STATEMENT 2
This dissertation is the result of my own independent work/investigation, except where otherwise stated. Other sources are acknowledged by footnotes giving explicit references. A bibliography is appended.
Signed: Date: 12/09/2013
STATEMENT 3
I hereby give consent for my dissertation, if accepted, to be available for photocopying and for inter-library loan, and for the title and summary to be made available to outside organisations.
Signed: Date: 12/09/2013
STATEMENT 4 – BAR ON ACCESS APPROVED
I hereby give consent for my dissertation, if accepted, to be available for photocopying and for inter-library loans after expiry of a bar on access approved by the Graduate Development Committee.
Signed: Date: 12/09/2013
Abstract
This thesis explores the potential of aspect-oriented programming, a relatively recent programming paradigm which addresses the problem of crosscutting concerns across software entities. A practical assessment was adopted to design and implement a banking management system in both Java and AspectJ, a general-purpose aspect-oriented extension of Java. Both systems were designed to have identical functionality and behaviour, according to a strict methodology to ensure a fair comparison, but achieve them through different design models. Assessed against criteria such as usability, readability, testing and continuation of object-oriented concepts, the results showed that despite its difficulty in gaining acceptance, aspect-oriented concepts continue to work with existing tools and techniques, whilst promoting higher modularisation and abstraction of code without affecting the performance of output programs. This report highly recommended further exploration of aspect-oriented programming at a larger scale, especially when working with a team of programmers rather than just one person.
Firstly, I must acknowledge and thank Dr. Andrew Jones for his supervision over the past four months. Our discussions have been useful for understanding the level required for a strong dissertation and for suggestions of improvements and issues to think about. Dr. Jones also suggested the subject matter of this thesis.
Thanks should also be directed to those that completed the questionnaire associated with this thesis, particularly Jonny for doing the test run.
Finally, to my parents for their continued support throughout, and my friends, both on the course and away from it, for making the past year a great experience. Diolch yn fawr i chi!
Share with your friends: |