[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[osee-dev] Relation Type Definition Improvement
|
The current system makes relation type multiplicity definitions
extremely confusing. Part of the reason for the confusion is that
relation type definitions are defined to be the number of a and b node
connection points instead of thinking of allowed artifact instances on
the a and b side.
Example 1:
To define the default hierarchy relation type, where 1 artifact is a
parent of 1 or many children, we would define it in the excel
spreadsheet as follows:
Artifact Type Relation Type Side A Max Side B
Max
Artifact Default Hierarchy UNLIMITED
1
To properly understand this, we would have to say the artifact on side A
has an unlimited number of connection points that use relation type
"default hierarchy" where each connection leads to a single child
artifact on side B.
I think this is confusing since under UML you would say 1 parent
artifact instance can connect to multiple artifact instances. Therefore,
the values for side a and b are inverted.
To further complicate matters, multiple rows can be entered in the
spreadsheet making the side a and side b max definitions even more
confusing.
Example 2:
Artifact Type Relation Type Side A Max
Side B Max
Universal Group Universal Grouping UNLIMITED
UNLIMITED
Artifact Universal Grouping 0
UNLIMITED
These two lines indicate that for the relation of type universal
grouping, artifacts of type universal group will be allowed only on the
A side and artifacts of type artifact will only be allowed on the B
side.
The a side will have multiple connection points leading to multiple
connection point on the b side.
Given our current relation type definitions, it appears that we only
support the following multiplicities: 1-1, 1-many, and many to many.
Therefore, I think we can make this easier to understand by using the
following 4 columns:
relation type
allowed artifact type on side A
allowed artifact type on side B
multiplicity between a and b
Using this scheme, example 1 and 2 become the following:
Relation Type Side A Artifact Type Side B Artifact
Type Multiplicity
Default Hierarchy Artifact Artifact
1-to-many
Universal Grouping Universal Group Artifact
many-to-many
What do you guys think?