CC6101/CC71P Objetos y Aspectos

Objetivo General

El curso trata tópicos avanzados en lenguajes (mayoritariamente orientado a objetos) utilizados para obtener una mejor ingeniería de software. La primera parte trata de técnicas de modularizacion avanzados, enfocando mayoritariamente en aspectos, pero también tratando otras técnicas como traits y mixins. La segunda parte se ve lenguajes full orientado a objetos, reflexión y meta-programmación.

El solo prerequisito del curso es de haber aprobado Lenguajes 1

Programa Tentativo del Curso - 2013

Semana Clase 1 Clase 2
1 (19 Ago) Intro a los Aspectos AspectJ
2 (26 Ago) AspectJ
3 (2 Sept) Aspect Weavers
4 (9 Sept) Tarea1 fin (profe en conferencia)
5 (16 Sept) Vacaciones Fiestas Patrias
6 (23 Sept) Tarea2 empiezo (profe en conferencia)
7 (30 Sept) AspectMaps Aspects & Design
8 (7 Oct) Traits, Mixins
9 (14 Oct) Aspectual Source Code Analysis
10 (21 Oct) Intro a Smalltalk Smalltalk Meta-Arquitectura
11 (28 Oct) Smalltalk Meta-Arquitectura
12 (4 Nov) Presentaciónes Artículos
13 (11 Nov)
14 (18 Nov)
15 (25 Nov)
16 (2 Dec) Continuaciones y Web Self

Tópicos Posibles de los Presentaciones de Artículos

  • Lenguaje CaesarJ
  • Lenguaje PHANtom
  • Design Patterns with Aspects
  • Domain-Specific Aspect Languages examples
  • Domain-Specific Aspect Languages implementation
  • Error handling and Aspects
  • AO and Modular Reasoning
  • Advanced Pointcut Languages
  • Stateful Aspects
  • Dependent Advice and Tracematches
  • Aspects against Security
  • Aspects for Security
  • Compilation/Optimisation models of AOP
  • Aspect Weaving and VM support
  • Testing AOP with Mutation Testing

Evaluación

Asistencia a clases es obligatoria. Hay micro-controles en varias clases, típicamente consisten de una pregunta sobre los conceptos vistos en la clase anterior. El ultimo control 'grande' es una presentación de artículos. En la nota de controles también se considera participación en clase. Las tareas son incrementales, construyendo un software de tamaño bastante grande, usando aspectos. La ponderación de la nota final es 60% controles, 40% tareas.