header image

Home >


Masters Programme in Advanced Computer Science

Aspect-Oriented Software Development Module

Week Commencing 25th February 2008

Course objectives

As software systems become increasingly large, complex and distributed, the separation of concerns principle - dealing with one system concern at a time - becomes equally essential. However, traditional development techniques, e.g., object-oriented ones, cannot effectively modularise concerns such as persistence, distribution, security, real-time behaviour, etc. Such broadly scoped concerns that cut across various parts of the system, and often overlap, can severely constrain quality and add to complexity if they are not effectively modularised. Aspect-Oriented Software Development (AOSD) supports systematic identification, modularisation, representation and composition of such crosscutting concerns. AOSD techniques are gaining increasing popularity with interest from major players such as IBM, Siemens and NASA. This course will focus on the current state-of-the-art in AOSD and its applications.

At the end of the course, students will have:

  • an understanding of the challenges faced when handling crosscutting concerns during software development;
  • knowledge of state-of-the-art in AOSD rooted in case studies and applications;
  • practical experience of developing software using AOSD tools and techniques

Syllabus

The course will cover a range of topics, including:

  • Aspect-oriented requirements engineering;
  • Aspect-oriented modelling and design with UML;
  • Aspect-oriented programming (AOP) techniques:
    • AspectJ (main programming language to be used);
    • Composition Filters;
    • Dynamic AOP frameworks such as JAC, JBoss and AspectWerkz;
    • Multi-dimensional and hybrid models;
  • Aspect-oriented databases;
  • Variability and evolution support, including suitability to software product lines;
  • Case studies and applications of AOSD techniques.

Assessment

Assessment is completely coursework-based using individual project and group work.


Recommended Reading

AspectJ in Action - Practical Aspect-Oriented Programming
Ramnivas Laddad
Manning Publications Inc. 2003
ISBN: 1930110936

Aspect-Oriented Databases
Awais Rashid
Springer-Verlag 2003
ISBN: 3540009485

Aspect-Oriented Software Development
Filman et al.
Addison Wesley 2004 (Provisional Availability Date: September 2004)
ISBN: 0321219767

Eclipse AspectJ: Aspect-Oriented Programming with AspectJ and the Eclipse AspectJ Development Tools
Colyer et al.
Addison Wesley 2004 (Provisional Availability Date: October 2004)
ISBN: 0321245873

In addition, a number of research papers will be made available. Students will be expected to read these as part of the course.


2007/08 course information

Date: Week commencing 25th February 2008
Lecturers: Dr Awais Rashid / Alessandro Garcia

Available as an 1 week intensive short course. Please see the short courses information page.