R49 - modelint/types GitHub Wiki

R49 / 1c:1c-M

Bank Level call has chosen for service zero or one Accessible Shaft Level

Accessible Shaft Level will service call from zero or one Bank Level


Imagine a passenger at some Floor, let's say 8 in Bank Lower requesting service in the up direction. Assuming three Shafts S1, S2, and S3 servicing that Bank, one of those Shafts must be chosen to handle the floor call request. That Shaft marks the Floor as a destination in the requested up direction.

A given Bank Level can choose only one Accessible Shaft Level for this purpose, in a given direction. If both up and down directions are requested at the same Bank Level, and both of these are assigned for service by the same Shaft, two instances of Floor Service must be registered at that same Bank Level for the same Accessible Shaft Level.

When neither direction at a Bank Level is requested, no instance of Floor Service will be created for that Bank Level.

Formalization

Floor Service.(Bank, Floor) -> Bank Level.(Bank, Floor)
Floor Service.(Floor, Shaft) -> Accessible Shaft Level.(Floor, Shaft)

The Bank Level and Accessible Shaft Level are at the same Floor so these have been merged into one referential Floor attribute in Floor Service.

To satisfy the many association identity constraint, an additional identifier Direction component is added to the association class identifier.