Structural Essence: Multiplicity and Generalization

This is a page of the online appendix of our paper on Structural Essence.

We have two options for dealing with multiplicity on an association involving a superclass.

  1. Split: Create separate multiplicity-nodes (*) for each subclass
  2. Share: Create one shared multiplicity-node for the superclass that is shared with all subclasses

This decision affects the two directions of the association differently. Assume A is a superclass of B and C. Assume that there is an association between A and an otherwise unrelated class X. The following figure shows the 9 cases:

Option
Case Association 1 split 2 share (chosen)
1 A 1->* X B->X[
X[->X
C->X['
X['->X
essence=2
B->X[
C->X[
X[->X
essence=1
2 A *->1 X B[->B
B->X
C[->C
C->X
essence=2
A[->B
B->X
A[->C
C->X
essence=1
3 A *->* X B[->B
B->X[
X[->X
C[->C
C->X['
X['->X
essence=4
A[->B
B->X[
A[->C
C->X[
X[->X
essence=2
4 A 1<-* X X[->X
X->B
X->C
essence=1
5 A *<-1 X X->B[
B[->B
X->C[
C[->C
essence=2
X->A[
A[->B
A[->C
essence=1
6 A *<-* X X[->X
X->B[
B[->B
X->C[
C[->C
essence=3
X[->X
X->A[
A[->B
A[->C
essence=2
7 A 1<->* X X->B
X->C
B->X[
X[->X
C->X['
X['->X
essence=2+3=5
X->B
X->C
B->X[
C->X[
X[->X
essence=1+3=4
8 A *<->1 X B->X
C->X
X->B[
B[->B
X->C[
C[->C
essence=2+3=5
B->X
C->X
X->A[
A[->B
A[->C
essence=1+3=4
9 A *<->* X B->X[
X[->X
C->X['
X['->X
X->B[
B[->B
X->C[
C[->C
essence=4+3=7
B->X[
C->X[
X[->X
X->A[
A[->B
A[->C
essence=2+3=5

Our chosen option leads to the following distilled model: