A orientación a aspectos como solución ao problema da anomalía da herdanza en sistemas concurrentes. solución con cojava e aspectj

Solo disponible en BuenasTareas
  • Páginas : 7 (1593 palabras )
  • Descarga(s) : 0
  • Publicado : 20 de diciembre de 2011
Leer documento completo
Vista previa del texto
A Orientación a Aspectos como solución ao problema da Anomalía da Herdanza en sistemas concurrentes.
Solución con CoJava e AspectJ

Vigo, Xuño de 2006
Indice

1. Introdución 4

2. A Anomalía da Herdanza en sistemas concurrentes 6

2.1.-Identificación das abstracións que compoñen a concurrencia 6
2.2.- A anomalía da herdanza na sincronización 7
2.3.-A anomalía da herdanza noaspecto da actividade 9
2.4.-A anomalia da herdanza no aspecto da interacción 10
2.6.-Solucións á Anomalía da Herdanza 12

3. Clasificación dos COOL 14

3.1.-Clasificación de Philippsen 14
3.2.-Clasificación de Papathomas 17
3.3.-Clasificación de Kafura e Levender 20

4. CoJava 23

4.1.-O aspecto funcional 23
4.2.-O aspecto da Sincronización 24
4.3.-O aspectoda actividade 25
4.4.-O aspecto da interacción 25
4.5.-Creación de instancias dos obxectos funcionais 26
4.6.-Herdanza e outros aspectos 26

5. Solución ao problema da Anomálía da Herdanza con CoJava 27

5.1.-Anomalía da herdanza nos aspectos da sincronización e da actividade 27
5.2.-A anomalía da herdanza no aspecto da interacción 29

6. Orientación a Aspectos. AspectJ 326.1.-Join Point ou punto de unión 33
6.2.-Pointcut ou punto de corte 34
6.3.-Advices 36
6.4.- Parámetros dos puntos de corte 37
6.5.-Aspectos 37

7. Solución da anomalía da herdanza con AspectJ 39

7.1.-A anomalía da herdanza na sincronización 39
7.2.-A anomalía da herdanza no aspecto da actividade 41
7.3.-A anomalía da herdanza no aspecto da interacción 428. Comparativa ás solucións 44

8.1.-Solución específica vs Solución xenérica 44
8.2.-Herdanza da funcionalidade 44
8.3.-Estrutura do código 45
8.4.-Forma de compoñer os elementos 45
8.5.-Implementación comercial vs Proposta teórica 46

9. Conclusións 47

10. Bibliografía 50

Introdución

O uso da concurrencia é habitual na informática desde hai xa varias décadas.Moitos procesos deben executar varias tarefas simultáneamente para poder levarse a cabo, ou é tamén necesaria para poder aproveitar a potencia de máquinas que dispoñen de multiples procesadores.

A pesar do cambio de paradigma de programación que supuxo a Orientación a Obxectos, a forma de tratar a concurrencia, seguiuse facendo con mecanismos moi similares aos que se utilizaban na programaciónestruturada, e incluso antes. Isto, leva sendo estudado polos investigadores desde hai perto de quince anos, que teñen sinalado que esta de tratar a concurrencia supón unha ruptura no modelo de obxectos, o que se coñece como Anomalía da Herdanza [43]

Unha das solucións que se teñen proposto para isto desde ámbitos académicos foi a Separación de Aspectos [67], pola cal, toda a xestión daconcurrencia e dos problemas que presenta debe ser separada do código funcional de forma que poda ser herdada. Para facelo, apareceron dúas aproximacións, a Composicional e a Orientación a Aspectos.

CoJava, é un modelo proposto por Ayude [5], que podemos encadrar dentro das aproximacións composicionais. Trátase dunha proposta de COOL (Concurrent Object-Oriented Languages), que trata de cumplir oprincipio de ortogonalidade, é dicir, que a concurrencia, en tanto é un aspecto ortogonal, debe estar separada da funcionalidade da aplicación.

Parte dun subconxunto da linguaxe Java, á que se lle engadíu unha sublinguaxe para definir aspectos concurrentes e mecanismos de composición destes aspectos.

Por outra banda, hai poucos anos, nos ámbitos académicos surxíu o concepto de Orientación aAspectos [35][66], que trataba de presentar un mecanismo que permitise a separación dos código que resolve as funcións que debe cumplir a aplicación, do código que xestiona funcionalidades transversais a toda a aplicación, como poden ser os sistemas de log, seguridade, control de transaccións e tamén concurrencia. Estas funcionalidades denomínanse Aspectos.

Recentemente, teñen aparecido no mercado...
tracking img