R8 - modelint/shlaer-mellor-metamodel GitHub Wiki
R8 / 1:Mc
Modeled External Entity is a proxy for exactly one Modeled Domain
Modeled Domain is represented as zero, one or many Modeled External Entity
By definition, a Modeled External Entity, declared in some Modeled Domain, represents some other Modeled Domain.
A given Modeled Domain may appear as a proxy in any number of other Modeled Domains.
Formalization
Modeled External Entity.Proxy domain -> Modeled Domain.Name
Proxy domain {R8c}
Proxy domain != Domain
A Modeled External Entity can not appear as a proxy inside its own Domain. Shlaer-Mellor does not permit cycles on a domain diagram. In other words, a Domain cannot be a service or client to itself. This makes sense since all components of a Modeled Domain are directly accessible to any component of that Modeled Domain. So there is no need for a Modeled Domain to interact with proxy to access its own internal components.