event-based injection of agents

Short description of suggestion

Hello JuPedSim, I am looking for a possibility to inject agents at a specific time with specific plans (time, origin, goal) from a separate file.

The agents.xml file ideally contains agents (unique agent_id and agent_parameter_id) and plans (an agent, as I see it, can have more than one plan if he re-enters the simulation. This is not mandatory though. One can still split the input into different agents).

 <agents operational_model_id="3">                                                                                                                                                                 
    <agents_distribution>
      <group group_id="1" agents_file="agents.xml" router_id="4" />      
      <group group_id="2" agent_parameter_id="2" room_id="0" subroom_id="5" number=10 goal_id="-1" router_id="4" />   
    </agents_distribution>
  </agents>
  <!--plans file -->
  <agents>
    <agent agent_id="1" agent_parameter_id="1">
      <plan time="186" room_id="0" subroom_id="0" goal_id="3"/>
    </agent>
    <agent agent_id="1" agent_parameter_id="1">
      <plan time="1756" room_id="0" subroom_id="0" goal_id="-1"/>
    </agent>
    <agent agent_id="2" agent_parameter_id="2">
      <plan time="295" room_id="0" subroom_id="0" goal_id="3"/>
      <plan time="1455" room_id="0" subroom_id="0" goal_id="1"/>
    </agent>
  </agents>

The only two parameters I added to the existing data structure are agent_id = unique id describing the agent. Should be written to the trajectory-file. time = .. e.g. seconds after simulation start, defining when agents are injected.

Why would the enhancement be useful to most users

This would allow users to easily translate external data-sources into JPS-agents and run their simulations with detailed input-data.

Edited by Ghost User