Formal Models for Aspect-Oriented Software Development

Mark Skipper · 2004

ASPECT ORIENTED PROGRAMMING (AOP) is a new technology for separation of concerns. AOP techniques make it possible to modularise cross-cutting aspects of a system: those that would otherwise be scattered throughout the code because the concerns they address are not aligned with the conceptual decomposition of the system. Without AOP techniques, such aspects are hard to encapsulate. The essential components of AOP are exemplified by its flagship language ASPECTJ-- an aspect oriented extension to JAVA-- these are: member introduction: a way for one class to add members to other classes, parent introduction: a way for classes to influence the inheritance of other classes, join points: places where behaviour can be added to existing code, advice: a way to modify behaviour at join points; aspects: encapsulated units combining join point and behaviour specifications together with their associated state; and weaving a method of incorporating these units into programs.

Read the paper · More papers on PaperTik