Надеюсь, я понимаю ваш вопрос, так что вот оно. Вот модель, которую я предлагаю: Здесь в примере 3 станции (службы). Вы помещаете все блоки ввода в коллекцию, называемую enterBlocks, и все имена блоков ввода в коллекцию, называемую enterNames ... поэтому, если вы используете Excel, вы можете иметь в своем Excel имена блоков ввода и инициализировать вашу коллекцию enterNames в начало модели, прочитав Excel. Каждый агент, вероятно, будет иметь свою коллекцию, поэтому коллекция должна находиться внутри агента, но здесь я просто упрощаю.
Затем вы используете счетчик (начальное значение 0) и функцию getNextService, которая будет существовать в каждый из 4 выходных блоков. Эта функция выберет следующую станцию для использования:
if(counter>=enterBlocks.size())//if the agent is done with all the stations
end.take(agent); // take the agent to the exit
else{
Enter enter=findFirst(enterBlocks,e>e.getName().equals(enterNames.get(counter)));//find the enter block with the correct name
enter.take(agent); //take the agent to the correct station
counter++; //update your counter
}