8.4 Summary of New Concepts

The modeling of entity movement can be achieved with a simple delay. If distance and velocity are available, then we can compute the time of the delay. The KSL provides spatial models and suspending functions that facilitate the movement of entities. The KSL DistancesModel is a SpatialModel that provides named locations and the distances associated with movement between them. The Entity class provides basic tracking of the location of the entity when using movement constructs. Movable resources are resources that can move within a spatial model.

In such situations, the distance between origins and destinations becomes an essential component of the modeling.

The new suspend functions include: - move() moves a spatial element to a particular location from another location - moveWith() used with movable resources to move both the resource and the entity to the location - transportWith() used to move a movable resource to the entity’s location and then move both the entity and the resource to the specified destination.

The new KSL modeling constructs include:

  • MovableResource A resource that can be moved and used for pickup and delivery.
  • MovableResourceWithQ A movable resource that has a queue to hold requests for pickup and delivery.
  • SpatialModel A representation of space that can track elements in the space, their movement, and govern how they move.
  • DistancesModel A special case of a spatial model that holds the distance between named locations with a spatial context.
  • LocationIfc An interface that describes a location within a spatial model from which distances can be computed.
  • MovableResourcPool A pool of movable resources that can be used to transport entities between locations.
  • MovableResourcePoolWithQ A pool of movable resources with a queue to hold requests for pick up and delivery.
  • Entity properties, initialLocation, previousLocation,, currentLocation,,isMoving,, and velocity.
  • MovableResourceSelectionRuleIfc - to select movable resources within pools.
  • MovableResourceAllocationRuleIfc - to determine which movable resource will receive the allocation.