- Software Development and the Object-Oriented Paradigm
- The Case for Aspects
- What Is an Aspect?
- Why Consider Aspects in Analysis and Design?
- Aspects and Other Concerns
- The Theme Approach
- Applying the Theme Approach
- Theme: Symmetric or Asymmetric?
- Fitting Theme into Your Existing Development Process
- What About Implementation?
What About Implementation?
The focus of this book is on aspect-oriented analysis of requirements and aspect-oriented design. Other books may be of better service if you’re looking for detailed information about implementation in aspect-oriented languages. However, we spend a chapter delving into how you might follow to code from the analysis and design process described above.
There are two ways in which developers may implement a system designed using the approach presented here. As a developer, you may choose to carry through to implementation the separation of the design-level themes. Of course, you need to use a programming model that supports theme-based modularization and composition as designed using Theme/UML. Aspect-oriented languages provide such a model. Taking this approach yields the traceability benefits that we previously discussed as an advantage to using the Theme approach.
Alternatively, you may implement the composed design using an object-oriented language. It is likely that this approach would only be taken where there is a reluctance to use an aspect-oriented programming language. The resulting code will display the modularization characteristics, in which the themes are integrated into the straight object model, that aspect-oriented programming has been designed to avoid.
In either case, there is language support as well as development environments that would be helpful in implementation. Later in this book, we briefly review how to make the translation from the theme models to implementation languages, covering how to translate theme models into a selection of aspect-oriented languages.