Software Development Videos and Tutorials: Java, .NET, Ruby, Python, JavaScript, Agile, Software Testing
 
Aspect-Oriented Modeling – what it is and what it’s good for

Aspect-Oriented Modeling – what it is and what it’s good for

In software engineering, aspects are concerns that cut across multiple modules. They can lead to the common problems of concern tangling and scattering: concern tangling is where software concerns are not represented independently of each other; concern scattering is where a software concern is represented in multiple remote places in a software artifact. Although aspect-oriented programming is relatively well understood, aspect-oriented modeling (i.e., the representation of aspects during requirements engineering, architecture, design) is still rather immature. Although a wide variety of approaches to aspect-oriented modeling have been suggested, there is, as yet, no common consensus on how aspect-oriented models should be captured, manipulated and reasoned about. This talk presents MATA (Modeling Aspects Using a Transformation Approach), which is a unified way of handling aspects for any well-defined modeling language. The talk will argue why MATA is necessary and highlight some of the key features of MATA. In particular, the talk will motivate the decision to base MATA on graph transformations and will describe an application of MATA to modeling security concerns.

Additional resources:

Aspect Oriented Modeling Workshop

AOP@Work Series

Aspect Orienting .NET Components

Defensive programming with AOP

Supporting Aspects in MDA

XP + AOP = Better Software?