Babes-Bolyai University of Cluj-Napoca
Faculty of Mathematics and Computer Science
Study Cycle: Graduate

SUBJECT

Code
Subject
MID0034 Aspect-Oriented Programming
Section
Semester
Hours: C+S+L
Category
Type
Computer Science - in English
6
2+0+2
speciality
optional
Information engineering - in English
5
2+0+2
optional
Teaching Staff in Charge
Lect. COJOCAR Grigoreta Sofia,  grigocs.ubbcluj.ro
Aims
To assimilate basic knowlegde of:
* aspect oriented paradigm
* development of software systems using aspect oriented programming
Content
* Introduction: What is AOP? Crosscutting concerns, basic concepts.
* Examples of crosscutting concerns (aspects).
* The AspectJ language:join points, pointcuts, advices, aspects.
* Contract checking: pre-condition, post-condition, condition enforcement.
* Inheritance and Overriding of Advice and pointcuts.
* Reflection in AspectJ.
* Various aspect-oriented approaches.
* Aspect-Oriented Software Development.
* Design Patterns and AOP
References
1. Ivar Jacobson and Pan-Wei Ng. Aspect-Oriented Software Development with Use Cases. Addison-Wesley, 2004.
2. Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning, 2003.
3. Robert Filman, Tzilla Elrad, Siobhan Clarke and Mehmet Aksit. Aspect-Oriented Software Development. Addison-Wesley, 2004.
4. Siobhan Clarke and Elisa Baniassad. Aspect-Oriented Analysis and Design: The Theme Approach. Addison-Wesley, 2005.
5. AspectJ Project: http://www.eclipse.org/aspectj/
Assessment
Practical exam.
Links: Syllabus for all subjects
Romanian version for this subject
Rtf format for this subject