1) O documento descreve recursos de programação orientada a aspectos usando AspectJ, incluindo anotações, inner-type declarations e design by contract.
2) É ensinado como usar anotações para criar aspectos que executam antes, depois e ao redor de métodos e como declarar erros e avisos.
3) Exemplos de exercícios pedem para criar aspectos usando anotações e DBC para validar pré, pós-condições e invariantes.