(portugues)

Advanced Topics in Programming Languages 1

Aspect-Oriented Programming with AspectJ™ 

Paulo Borba and Sérgio Soares

Schedule

Date

Task

Resources

Place

24/09

Course introduction, AOP and AspectJ overview

AspectJ Tutorial (in portuguese)

Sala M2

26/09

AspectJ development environment

Guidelines 1 (in portuguese)
Solution (in portuguese)

Lab. GRAD4

01/10

Discuss AOP and AspectJ

Getting started with AspectJ (CACM 2001)
Aspect-Oriented Programming 1997
I want my AOP!, Part 1

Sala M2

08/10

Discuss AspectJ details (part 1)

AspectJ Programming guide (Chapters 1 and 2)
I want my AOP!, Part 2

Sala M2

15/10

Discuss AspectJ details (part 2)

AspectJ Programming guide (Chapter 3)
I want my AOP!, Part 3
Tests with call, execution and inter-type declarations into interfaces
AspectJ’s 1.0 API

Sala M2

17/10

Exercises (part 1)

Exercises

Lab. GRAD4

22/10

Discuss AspectJ details (part 3)

AspectJ Programming guide (Chapters 4, 5 and Appendix B)
Gregor Kiczales interview PatternsAsAspectsKiczales2002.pdf (opcional)

Sala M2

24/10

Exercises (part 2)

More complex exercises
AspectJ’s 1.0 API  

Lab. GRAD4

29 e 31/10

OOPSLA (no class)

 

 

Introduce and discuss several design patterns that aim in
separating concerns with OO

05/11

Discuss the pattern and the layers architecture, and the distribution pattern

JDBC
Persistent Data Collections
Tests with  +, args and execution designator

Sala M2

12/11

Discuss the distribution pattern and the concurrency control pattern

RMI
DAP
Slides on concurrency control (in portuguese)
Cconcurrency Control (an overview)
Concurrency Control (in portuguese)
Concurrency Manager

Sala M2

Discuss separation of concerns alternatives with AspectJ

19/11

Discuss alternatives to implement persistence, distribution, and exception handling with AspectJ

OOPSLA
ECOOP

Sala M2

26/11

Discuss alternatives to implement persistence and concurrency control with AspectJ

Persistence Implementation with AspectJ
PaDA

Sala M2

Discuss separation of concerns

03/12

Discuss separation of concerns

Filman Workshop ASoC OOPSLA'02 
Masuhara and Kiczales ECOOP'03

Sala M2

10/12

Discuss implementation approaches

PIP: Progressive Implementation Pattern

Sala M2

17/12

 

 

 

21/12 a 11/01

RECESS

Exercises on JDBC, RMI and Concurrency

 

Project development

14/01 

The application to be implemented, groups division, guidelines to collect data, development plan discussion

Health-Watcher application
Project’s development plan

Lab. GRAD4

16/01

Dry run to exemplify how to collect data during the experimental study

 

Lab. GRAD4

21/01

NO CLASS

  

 

23/01

Project development

  

Lab. GRAD4

28/01

Project development

 

Lab. GRAD4

30/01

Project development

 

Lab. GRAD4

04/02

Project development

 

Lab. GRAD4

06/02

Project development

End of iteration 1

Lab. GRAD4

11/02

Project development

 

Lab. GRAD4

13/02

Project development

 

Lab. GRAD4

18/02

Project development

 

Lab. GRAD4

20/02

Project development

End of iteration 2

Lab. GRAD4

22 a 25/02

RECESS

27/02

Project development

 

Lab. GRAD4

03/03

Project development

 

Lab. GRAD4

05/03

Project development

 

Lab. GRAD4

10/03

Project development

 

Lab. GRAD4

12/03

Project development

End of iteration 3

Lab. GRAD4

17/03

Projects’ presentation

 

Lab. GRAD4

 

Search the AspectJ mailing list