Subsystem Numbering Range - modelint/shlaer-mellor-metamodel GitHub Wiki

Each Subsystem uses a range of values its Elements. If a Subsystem uses the range 201-299, for example, each Class (Cnum) in that Subsystem will be numbered somewhere between 201 and 299 inclusive. The same is true for Relationships (Rnums). It is okay to have an Rnum and a Cnum with the same value in the same Subsystem.

Subsystem Ranges may not overlap. So if, for example, you have a Subsystem with the range 1-49, no other Subsystem may have a range beginning with a value less than 50.

In practice, it is much more common to refer to Rnums than Cnums. That is probably because Class names, having only one part, are easier to use than Association verb phrases. Some modelers ignore Cnums entirely.

Identifiers

  1. Floor + Domain

Ranges may not overlap within a Domain.

  1. Ceiling + Domain

Same as above.

Attributes

Floor

The lowest value that may be assigned within the range.

Type: Element Number based on Nominal

Ceiling

The highest value that may be assigned within the range.

Constraint: >= Floor

Must be greater than or equal to the Floor value. (In practice, a range of only one number is rarely useful, but there is no reason to prevent it).

Type: Element Number