NAME
UMMF::XForm::AssocClassLinks - Create Assoociations for each AssociationEnd of each AssociationClass.
SYNOPSIS
use UMMF::XForm::AssocClassLinks;
my $xform = UMMF::XForm::AssocClassLinks->new();
$model = $xform->apply_Model($model);
DESCRIPTION
This UML transform greatly simplifes and standardizes code generation for AssociationClasses.
This transform creates a new Association for each AssociationEnd of an AssociationClass. The new Association links the participants of the AssociationClass's AssociationEnds directly to the AssociationClass using the suffix '_AC'
to distinguish it from the links specified by the AssociationClass's AssociationEnds itself.
For example:
__________ __________
| XClass | | YClass |
|__________| |__________|
| | 2 3 | |
|__________|---x-----------------------y---|__________|
|
.
|
.
|
.
__________________
| AssocClass |
|__________________|
| |
|__________________|
AssociationEnd x
has a multiplicity
of 2
, AssociationEnd y
has a multiplicity
of 3
. This transformation results in:
__________ __________
| XClass | | YClass |
|__________| |__________|
| | 2 3 | |
|__________|---x-----------------------y---|__________|
| | |
|1 . |1
x | y
| . |
| | |
| . |
| __________________ |
| | AssocClass | |
| 3 |__________________| 2 |
+-y_AC--| |--x_AC------+
|__________________|
The AssocClass has outbound AssociationEnd with multiplicity of 1. And:
1. XClass => YClass multiplicity == XClass => AssocClass multiplicity 2. YClass => XClass multiplicity == YClass => AssocClass multiplicity
This provides direct navigation along the original AssociationClass Association behavior, while providing additional navigation to AssociationClass Class Attributes through the *_AC
links.
USAGE
PATTERNS
EXPORT
None exported.
AUTHOR
Kurt Stephens, kstephens@users.sourceforge.net 2003/05/04
SEE ALSO
VERSION
$Revision: 1.9 $