External Entity - modelint/shlaer-mellor-metamodel GitHub Wiki

Any given Domain in a System must interact with one or more external Domains.

Each such external Domain plays the role of a client or a service.

Taking the perspective of any particular Domain, an external entity (EE) represents a bundle of related interactions with an external Domain in the role of a service.

Interaction with a client domain is yet to be defined in the metamodel. - LS 26-1-14

If this bundle represents all interactions with that other Domain, the EE is effectively a proxy for that Domain.

In the Elevator Case Study, the TRANS EE appears in the Elevator Management application Domain as a proxy for the Transport service Domain. All interactions with the Transport Domain from the perspective of the Elevator Management Domain are represented by the TRANS EE.

If there are a wide variety of interactions with some external Domain, the modeler may choose to bundle those interactions using multiple External Entities. The name of each EE could represent the nature of these interactions or some unifying concept such as an agent or physical thing. In any case, the EE does provide visibility into the design or internal structure of the external Domain.

Identifiers

  1. Name + Domain

Attributes

Name

By convention, the name is typically a short capitalized version of the external Domain name or whatever basis by which its interactions are bundled such as UI, TRANS, SIG_IN, SIG_OUT, etc.

Type: External Entity Name -> Name