We study the complexity of deciding bisimilarity between non-deterministic processes with explicit primitives for manipulating data values. In particular, we consider a language with value-passing (input/output of data) and parametric definitions of processes. We distinguish the case in which data cannot be tested and the case in which a simple equality test over data is permitted. In the first case, our main result shows that the problem is PSPACE-hard for the full calculus. In the second case, we first show that the problem is coNP-complete in the fragment with value-passing and no parametric definitions. We then define a compositional polynomial-time translation of the full calculus to the fragment with parametric definitions but no value-passing. The translation preserves bisimilarity: this fact establishes the decidability of the full calculus and shows that the fragment without value-passing is computationally equivalent to the full calculus. For the latter, bisimilarity is then proved to be EXP-complete. Finally, we add to our language a parallel composition operator and show that, for a certain restricted syntactic format, the bisimilarity problem is still decidable and EXP-complete.
An extended abstract of part of the material contained in this paper appears in the Proc. 15th Conf. on Software Technology and Theoretical Computer Science (FSTTCS95), Springer, Berlin, 1995.