You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
in hive, when a vehicle is updated on move, it runs exactly to the end of the time step. however, in a distributed setting, it may reach the partition boundary before completing the time step. in base hive, this is not an issue.
in order to support both behaviors, the move method could be parameterized by the Optional[GeoId] of the boundary, defaulting to None. if a move reaches this boundary, we need to return the partially-consumed time step in the MoveResult. this includes the current time step, the entity location where we stopped, and the remaining, un-consumed time.
move needs to be refactored to inspect the vehicle state to see if any remaining_time is stored (see below).
modify the chain of methods inside move so that
partially-consumed traversals are properly modeled in the resulting VehicleState (route, remaining_time)
move uses the SimTime duration for execution unless the VehicleState provides remaining_time, which is then used instead
important for hive-dist: after such a move, the vehicle's entity position should be at the origin of the next link as opposed to the destination of the last traversed link: this allows us to discover that the vehicle is out-of-partition in hive-dist.
Q: all of this needs to travel down the pipeline from adding a vehicle and updating it manually in distributed simulation. does that require adding the Seconds remaining to the vehicle state for all move-able states? answering this question may be out-of-scope: since the default case of this is "None" we can take this first step without breaking anything, and save the final step for a separate issue.
a move state may have only partially completed its time step, and if so, the remaining unused time needs to be recorded as state of the vehicle. the only natural place to put this is in the VehicleState. this applies to all move actions.
The text was updated successfully, but these errors were encountered:
in hive, when a vehicle is updated on move, it runs exactly to the end of the time step. however, in a distributed setting, it may reach the partition boundary before completing the time step. in base hive, this is not an issue.
in order to support both behaviors, the move method could be parameterized by the Optional[GeoId] of the boundary, defaulting to None. if a move reaches this boundary, we need to return the partially-consumed time step in the MoveResult. this includes the current time step, the entity location where we stopped, and the remaining, un-consumed time.
move needs to be refactored to inspect the vehicle state to see if any remaining_time is stored (see below).
modify the chain of methods inside
move
so thatimportant for hive-dist: after such a move, the vehicle's entity position should be at the origin of the next link as opposed to the destination of the last traversed link: this allows us to discover that the vehicle is out-of-partition in hive-dist.
Q: all of this needs to travel down the pipeline from adding a vehicle and updating it manually in distributed simulation. does that require adding the Seconds remaining to the vehicle state for all move-able states? answering this question may be out-of-scope: since the default case of this is "None" we can take this first step without breaking anything, and save the final step for a separate issue.a move state may have only partially completed its time step, and if so, the remaining unused time needs to be recorded as state of the vehicle. the only natural place to put this is in the VehicleState. this applies to all move actions.
The text was updated successfully, but these errors were encountered: