In this chapter, we continued with the EES example described in Chapter 2. We walked through using the Theme approach to find themes, design those themes, and evolve the system. Finding the themes involved refining the set of themes to include in your system, and then looking at shared requirements to determine whether they revealed an aspect. To assess this, you
If all these tests pass, then you have identified aspect functionality. Later, in Chapter 4, we describe another aspect-identification rule: The theme must be externally triggered in multiple situations to be an aspect. Designing the themes then involves modeling the noncrosscutting (base) themes in individual package-like modules. Crosscutting themes are designed in parameterized packages. Their template parameters expose their triggering behavior. Themes are then composed using a composition relationship that allows you to
This chapter provided a very high-level example of how to map designs to implementation. Detailed instruction about that are provided in Chapter 7, "Map to Implementation," and an example of implementing themes is described in the second case study at the end of this book. Next, we give the details of a more in-depth example system that will serve as a basis for a detailed description of the Theme approach in Chapters 4 to 7. |