(in english)

Tópicos Avançados de Linguagens de Programação 1

Programação Orientada a Aspectos com AspectJ™ 

Paulo Borba e Sérgio Soares

Cronograma

Data Tarefa Recursos Local
24/09 Apresentação do curso e discutir visão geral de AOP e AspectJ Tutorial de AspectJ Sala M2
26/09 Utilizar o ambiente de desenvolvimento AspectJ Roteiro 1 Lab. GRAD4
01/10 Discutir AOP e AspectJ Getting started with AspectJ (CACM 2001)
Aspect-Oriented Programming 1997
I want my AOP!, Part 1
Sala M2
08/10 Discutir os detalhes de AspectJ AspectJ Programming guide (Capítulos 1 e 2)
I want my AOP!, Part 2
Sala M2
15/10 Discutir os detalhes de AspectJ AspectJ Programming guide (Capítulo 3)
I want my AOP!, Part 3
Testes com call, execution e introductions em interfaces
API de AspectJ
Sala M2
17/10 Dúvidas sobre os exercícios Exercícios Lab. GRAD4
22/10 Discutir os detalhes de AspectJ AspectJ Programming guide (Capítulos 4, 5 e Apêndice B)
Entrevista com Gregor Kiczales PatternsAsAspectsKiczales2002.pdf (opcional)
Sala M2
24/10 Dúvidas sobre os exercícios Exercícios mais complexos
API de AspectJ
Lab. GRAD4
29 e 31/10 OOPSLA (não haverá aula)    

Introduzir e discutir vários padrões de projeto que tentam 
separar as preocupações com orientação a objetos

05/11 Discutir o padrão e a arquitetura em camadas, e o padrão de distribuição JDBC
Persistent Data Collections
Testes com operador +, args e execution
Sala M2
12/11 Continuar a discussão do padrão para distribuição discutir o padrão para controle de concorrência RMI
DAP
Slides sobre concorrência
Controle de concorrência resumido
Controle de concorrência (em português)
Concurrency Manager
Sala M2

Discutir alternativas de separação de preocupações com AspectJ

19/11 Discussão das alternativas de como usar AspectJ para implementar persistência, distribuição, tratamento de exceções, e controle de concorrência OOPSLA
ECOOP
Sala M2
26/11 Discussão das alternativas de como usar AspectJ para implementar persistência e controle de concorrência Persistence Implementation with AspectJ
PaDA
Sala M2

Discutir separação de preocupações de maneira geral

03/12

Discutir separação de preocupações

Filman Workshop ASoC OOPSLA'02 
Masuhara and Kiczales ECOOP'03
Sala M2
10/12 Discutir abordagens para implementação PIP: Progressive Implementation Pattern Sala M2
17/12
21/12 a 11/01 RECESSO  Exercícios de JDBC, RMI e Concorrência  

Desenvolvimento de projeto

14/01  Definição e apresentação do sistema a ser implementado, divisão dos grupos, diretrizes de como coletar dados, distribuição dos planos de projetos entre as equipes Sistema Health-Watcher
Plano de desenvolvimento do projeto
Lab. GRAD4
16/01 Exemplo de como coletar de dados durante o desenvolvimento   Lab. GRAD4
21/01 NÃO HOUVE AULA   
23/01 Acompanhamento dos projetos    Lab. GRAD4
28/01 Acompanhamento dos projetos   Lab. GRAD4
30/01 Acompanhamento dos projetos   Lab. GRAD4
04/02 Acompanhamento dos projetos   Lab. GRAD4
06/02 Acompanhamento dos projetos Fim da iteração 1 Lab. GRAD4
11/02 Acompanhamento dos projetos   Lab. GRAD4
13/02 Acompanhamento dos projetos   Lab. GRAD4
18/02 Acompanhamento dos projetos   Lab. GRAD4
20/02 Acompanhamento dos projetos Fim da iteração 2  Lab. GRAD4
22 a 25/02 CARNAVAL
27/02 Acompanhamento dos projetos   Lab. GRAD4
03/03 Acompanhamento dos projetos   Lab. GRAD4
05/03 Acompanhamento dos projetos   Lab. GRAD4
10/03 Acompanhamento dos projetos   Lab. GRAD4
12/03 Acompanhamento dos projetos  Fim da iteração 3 Lab. GRAD4
17/03 APRESENTAÇÃO DOS PROJETOS   Lab. GRAD4

 

Pesquisa no arquivo de mensagens da lista de AspectJ