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)