Transport domain - modelint/types GitHub Wiki

The Transport domain is responsible for moving a physical load along an axis from one location to another.

This domain does not care whether the load is an elevator cabin, a robot or a refrigerator. It just moves the stuff and doesn't ask questions. More specifically, it manages the kinematic physics necessary to compute acceleration and such.

Here is an initial conceptual note to give you a sense of what this domain does and how it might work:

Simple transport concept

And some early model sketches:

Model sketches

The important point is that the Transport Domain can be configured to move cabins around, but the domain doesn't know anything about the internal structure or terminology used in the Elevator Management Domain. Mappings do need to be defined such as a correspondence between Cabin and Load instances and Floor and Stop instances.

Furthermore, the Transport Domain knows nothing about any particular brand of motor or sensor. It simply computes loads and acceleration and other physical properties which the SIO domain can mediate in/out via varies types of signals, events and commands.