To Association Class Hop - modelint/shlaer-mellor-metamodel GitHub Wiki

When navigating across an Association (reflexive or non-reflexive) formalized by an Association Class, there are two choices of destination: the Association Class or the Class on the target perspective (the opposite perspective if the Association is asymmetric).

In this example, a traversal on R1 could lead to either C or D.

images/to-association-class-hop-10.png

Semantically we can disambiguate by indicating that the R1 traversal is a ‘To Association Class Hop’. Since an association can never be formalized by more than one association class, this hop classification makes our intention clear.

In an action language you can express this semantic explicitly with some sort of symbol or keyword or simply provide the Association Class name.

As a notational example you could use the |- sideways T symbol to indicate a To Association Class Hop: Aset/R1|-R2

Or just specify the destination class whenever you make a To Association Class Hop (Scrall does this): Aset/R1/R2/D

Identifiers

  1. Number + Path + Domain

Attributes

No non-referential attributes