You can use transformations and patterns to refine the
design of your model. Model-to-model transformations refine a model
from one level of abstraction to another and patterns typically
refine a model, within the same level of abstraction.
You can apply patterns to your model to reuse
proven, object-oriented design and code between projects and developers and
to capture design solutions for recurring software problems. You
can use transformations to convert a model into another model of
the same system.