1 / 6

AOS ‘03

AOS ‘03. Aspect-Oriented Programming. 3 Usages of aspects. Separation of Cross-cutting concerns (multiple functionality at the same joinpoint of the code) Integration Own/3rd party code with generated code Of code layers - ie. the phases of a compiler

Download Presentation

AOS ‘03

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AOS ‘03 Aspect-Oriented Programming

  2. 3 Usages of aspects • Separation of Cross-cutting concerns (multiple functionality at the same joinpoint of the code) • Integration • Own/3rd party code with generated code • Of code layers - ie. the phases of a compiler • Code consistency check (eg. no direct field access, only use of factories)

  3. AOP tools dimensions (6 out of 19) • Dynamic vs. static • Pr. instance vs. pr. type • SOCC vs. multidimensional SOCC • Query lang. for pointcut specs. • usually weak for dyn. lang. and strong for static • Targets programs vs. Enterprise

  4. Recent trends in the community • More abstract pointcut specification/ joinpoints • programs are too vulnerable to • extensions (aspects won’t hit) • changes (ceases to hit) • Dynamic and pr. instance aspects

  5. Problems • The greatest advantage of AOP is that at any point in the source code it is impossible to see all the code, which is to be executed. At the same time the greatest disadvantage of AOP is that at any point in the source code it is impossible to see all the code, which is to be executed. [bkg;2002] • especially when the aspects relies on each other, hence are not completely separated

  6. AOP language approaches • Language extension to existing languages • +reuse compiler, debugger, editors etc. • +Easy, most concepts are already defined and implemented • Difficult due to bad error messages since the code has been mutated behind the programmers back • New language • Start from scratch, but allows radical thinking • more natural error messages

More Related