  In this paper we study the notion of synchronization from the point of view
of combinatorics. As a first step, we address the quantitative problem of
counting the number of executions of simple processes interacting with
synchronization barriers. We elaborate a systematic decomposition of processes
that produces a symbolic integral formula to solve the problem. Based on this
procedure, we develop a generic algorithm to generate process executions
uniformly at random. For some interesting sub-classes of processes we propose
very efficient counting and random sampling algorithms. All these algorithms
have one important characteristic in common: they work on the control graph of
processes and thus do not require the explicit construction of the state-space.
