An eXtensible Pattern Specification Language (XPSL)

Aspects provide a foundation for the definition of design patterns in software
models and code. Not all patterns,
however, can be represented as aspects.
To extend the foundation provided by aspect-oriented software development
(AOSD) to include other types of design patterns, we need a deeper
understanding of pointcuts and their relationship to more general
transformations.
XPSL provides a definition of pointcut based on the use of meta-modeling
abstractions that is appropriate for a broad range of transformations. These include transformations of existing
code structure (refactoring and general transformations) in addition to aspect
weaving.
The use of meta-modeling abstractions as the basis for pointcut
definitions also provides a cleaner separation between the problem addressed by
a pattern and its solution. This is
particularly important when a number of design patterns provide different
solutions to the same problem, and when we want to be able to easily substitute
one pattern for another in order to fit a given context.
This is
particularly important when a number of design patterns provide different
solutions to the same problem, and when we want to be able to easily substitute
one pattern for another in order to fit a given context.
Related documents: XPSL Slides | XPSL Introduction | XPSL Examples | XPSL Reference
Home | Issues | Vision | XCIL | XPSL |
Pattern catalogs | KCS tools | Results | Services
| Standards | Tech
transfer