We show that the bounded context-switching reachability problem for concurrent finite systems communicating using unbounded
FIFO queues is decidable, where in each context a process reads from only one queue (but is allowed to write onto all other
queues). Our result also holds when individual processes are finite-state recursive programs provided a process dequeues messages
only when its local stack is empty. We then proceed to classify architectures that admit a decidable (unbounded context switching)
reachability problem, using the decidability of bounded context switching. We show that the precise class of decidable architectures
for recursive programs are the forest architectures, while the decidable architectures for non-recursive programs are those
that do not have an undirected cycle.
The first and third authors were partially supported by the MIUR grants ex-60% 2006 and 2007 Università degli Studi di Salerno.