A computer-implemented method of assessing vehicle trajectories for deadlock scenarios in a site (1; 1a) where multiple vehicles (100a, 100b, 100c) operate by following planned vehicle trajectories, wherein the site (1; 1a) includes at least one traffic-constrained area, where only one vehicle (100a, 100b, 100c) may drive through at a time, via which at least two of the multiple vehicles (100a, 100b, 100c) need to pass when following their planned trajectories, the method comprising: - generating a starting vehicle state for each of the multiple vehicles (100a, 100b, 100c), the starting vehicle state of each vehicle (100a, 100b, 100c) corresponding to placing each vehicle (100a, 100b, 100c) at a start position on its planned trajectory, wherein each vehicle's planned trajectory in the site (1; 1a) is represented using a connected directed graph of the site (1; 1a), and wherein the starting vehicle state is represented by a starting node (A, B1, C1, D1, E, F, D2, C2, B2, G) of the connected directed graph, - iteratively updating the states of the multiple vehicles (100a, 100b, 100c) operating in the site (1; 1a) from each vehicle's start position as the vehicles (100a, 100b, 100c) follow their planned trajectory, wherein with each iteration, for each vehicle: each vehicle's state is updated to a new vehicle state which indicates either: - the vehicle (100a, 100b, 100c) occupying another a further node (A, B1, C1, D1, E, F, D2, C2, B2, G) along the connected directed graph to the node (A, B1, C1, D1, E, F, D2, C2, B2, G) occupied by the vehicle (100a, 100b, 100c) in the previous iteration, - the vehicle (100a, 100b, 100c) occupying the node (A, B1, C1, D1, E, F, D2, C2, B2, G) of the previous iteration; and - classifying, if the new vehicle state represents a current vehicle deadlock at the site (1; 1a), the new vehicle state as an explicit deadlock state, wherein the explicit deadlock state fulfils the condition that a set of vehicles (100a, 100b, 100c) block each other from moving along their planned trajectories, - storing the new vehicle state as an explicit deadlock state in a first classification memory (M_1), - classifying, if the new vehicle state represents a future vehicle deadlock at the site (1; 1a), the vehicle state as an implicit deadlock state; and - storing the new vehicle state as an implicit deadlock state in a second classification memory (M_2), - modifying the locations on the site (1; 1a) until the planned vehicle trajectories do not lead to a deadlock. - generating a starting vehicle state for each of the multiple vehicles (100a, 100b, 100c), the starting vehicle state of each vehicle (100a, 100b, 100c) corresponding to placing each vehicle (100a, 100b, 100c) at a start position on its planned trajectory, wherein each vehicle's planned trajectory in the site (1; 1a) is represented using a connected directed graph of the site (1; 1a), and wherein the starting vehicle state is represented by a starting node (A, B1, C1, D1, E, F, D2, C2, B2, G) of the connected directed graph, - iteratively updating the states of the multiple vehicles (100a, 100b, 100c) operating in the site (1; 1a) from each vehicle's start position as the vehicles (100a, 100b, 100c) follow their planned trajectory, wherein with each iteration, for each vehicle: each vehicle's state is updated to a new vehicle state which indicates either: - the vehicle (100a, 100b, 100c) occupying another a further node (A, B1, C1, D1, E, F, D2, C2, B2, G) along the connected directed graph to the node (A, B1, C1, D1, E, F, D2, C2, B2, G) occupied by the vehicle (100a, 100b, 100c) in the previous iteration, - the vehicle (100a, 100b, 100c) occupying the node (A, B1, C1, D1, E, F, D2, C2, B2, G) of the previous iteration; and - classifying, if the new vehicle state represents a current vehicle deadlock at the site (1; 1a), the new vehicle state as an explicit deadlock state, wherein the explicit deadlock state fulfils the condition that a set of vehicles (100a, 100b, 100c) block each other from moving along their planned trajectories, - storing the new vehicle state as an explicit deadlock state in a first classification memory (M_1), - classifying, if the new vehicle state represents a future vehicle deadlock at the site (1; 1a), the vehicle state as an implicit deadlock state; and - storing the new vehicle state as an implicit deadlock state in a second classification memory (M_2), - modifying the locations on the site (1; 1a) until the planned vehicle trajectories do not lead to a deadlock. - the vehicle (100a, 100b, 100c) occupying another a further node (A, B1, C1, D1, E, F, D2, C2, B2, G) along the connected directed graph to the node (A, B1, C1, D1, E, F, D2, C2, B2, G) occupied by the vehicle (100a, 100b, 100c) in the previous iteration, - the vehicle (100a, 100b, 100c) occupying the node (A, B1, C1, D1, E, F, D2, C2, B2, G) of the previous iteration; and - classifying, if the new vehicle state represents a current vehicle deadlock at the site (1; 1a), the new vehicle state as an explicit deadlock state, wherein the explicit deadlock state fulfils the condition that a set of vehicles (100a, 100b, 100c) block each other from moving along their planned trajectories, - storing the new vehicle state as an explicit deadlock state in a first classification memory (M_1), - classifying, if the new vehicle state represents a future vehicle deadlock at the site (1; 1a), the vehicle state as an implicit deadlock state; and - storing the new vehicle state as an implicit deadlock state in a second classification memory (M_2), - modifying the locations on the site (1; 1a) until the planned vehicle trajectories do not lead to a deadlock.