Transfer - modelint/types GitHub Wiki

A Cabin can only go one place at a time. A Transfer represents the current destination, if any, of a Cabin. In transit, new stop requests and floor calls may result in the choice of a more optimal destination. For example, the cabin might be moving from the 2nd to the 10th Floor when a passenger at the 7th floor pushes the up button. If this new destination is selected by the routing algorithm, the Transfer will coordinate with the Transport service to accommodate the reroute. If successful, the Transfer will update the current destination, even if the Cabin is in motion.

Identifiers

  1. Shaft

With a 1c:1c association, you typically tag each reference as an identifier, Shaft or Shaft + Destination floor, in this case. Since the reference to Shaft is adequate and the other reference includes Shaft there is only one irreducible identifier choice. You could, of course, tag the `Shaft + Destination floor' reference as a super identifier, but we don't generally single out such identifiers unless we need them to impose a special constraint.

Attributes

No non-referential attributes