R3 - modelint/shlaer-mellor-metamodel GitHub Wiki

R3 / 1:M

Modeled Domain is numerically partitioned by one or many Domain Partition

Domain Partition numerically partitions exactly one Modeled Domain


A Domain is organized as one or more Subsystems. Each Subsystem requires a numeric range 1-100, for example, to number its Subsystem Elements. To avoid overlapping ranges, we partition the domain numerically. Here, for example, is a domain partitioned into three numeric ranges:

1, 50, 100

This establishes the ranges [1-49], [50-99], and [100-max]. max represents the highest value defined by the Element Number type. Each Subsystem in the Domain will be assigned one of these three ranges by selecting a Domain Partition as its lowest value with the assumption that it cannot assign any values equal to or above the next highest partition, if one exists.

A Domain consisting of a single Subsystem requires only one range like so:

1

This yields the range [1-max]