R50 - modelint/shlaer-mellor-metamodel GitHub Wiki

R50 / 1:1c

Class is represented by zero or one External Entity

External Entity is proxy for exactly one Domain


A Class that participates in a bridge with some other Domain is represented by an External Entity with a similar name. The Cabin class, for example, has a counterpart Animation Icon class in the UI domain. To interact with this counterpart, an Operation can be invoked on the CABIN External Entity.

Similarly, when the Load class arrives at a Stop in the Transport domain, it triggers the asynchronous Operation on its LOAD External Entity which, via bridging, invokes the Cabin arrived Operation on the CABIN External Entity which delivers an event to a corresponding instance of the Cabin class.

By policy, a Class is represented by no more than one proxy entity.

Formalization

External Entity.(Class, Domain) -> Class.(Name, Domain)