by Thomas Cottenier, Aswin van den Berg and Tzilla Elrad
he Motorola WEAVR is an industrial strength Aspect-Oriented Software Development tool that supports weaving of UML 2.0 behavioral models.
Model weaving has multiple advantages compared to code-level weaving. Modeling languages allow a system to be defined according to different decompositions. Different views of the system focus on different properties, while omitting others.
Crosscutting concerns can therefore be coordinated with a base system according to different joinpoint models. The implementation of an aspect is often more natural according to one decomposition compared to another. Model weaving allows aspects to be defined according to the perspective of the system that fits the problem definition the best. The abstractions provided by the different perspectives are lost at the level of the code. There is therefore a strong motivation to fully coordinate crosscutting concerns at the model level.
The Motorola WEAVR
supports a classic joinpoint model based on objects and methods for UML 2.0, but also introduces a novel joinpoint model
for state machine diagrams.
Woven behavior models do not have a user friendly representation and are not supposed to be manually inspected. Model weaving is therefore only possible in the context of Model-Driven Engineering or fully automated translation of models into executable artifacts.
We are pleased to provide academic licenses for the WEAVR, for research purposes, upon request.