Aspect Oriented Software Development

The aspect-oriented modeling (AOM) approach supports separation of crosscutting features from other features during design. An aspect-oriented design consists of a primary (base) model and a set of aspect models. A primary model describes the dominant structure of a design and an aspect model describes a feature that crosscuts the dominant structure. The aspect models and the primary model must be composed to obtain a system view that integrates features described by the models. Model composition involves merging aspect class models with primary class models and incorporating sequences of interactions specified in aspect models into primary sequence models. Composition directives can be used to alter how a signature based general-purpose composition procedure composes models in the case where it is known or expected that the procedure will produce incorrect results. The interaction model composition technique developed can be used for composing aspect and primary sequence models. The class model and sequence model composition techniques are applied in pilot studies to demonstrate the usage of the composition techniques.