Concurrent behaviors in distributed systems are generally difficult to specify and analyze. In this paper, we introduce a concurrency model that comprises concurrent events, concurrency blocks, and global states. The model is attractive in that it is simple and yet allows for the definition and calculation of concurrency measures, communication deadlocks and data races, as well as supporting concurrent system specifications at a high-level abstraction that is useful for understanding concurrent behaviors. An efficient algorithm based on the concept of concurrency blocks for computing concurrency measures is provided. To demonstrate the practicality of the model, concurrency measures of asynchronous communications and synchronous communications are compared. Brief discussions of how the model can be applied to the formal description techniques Estelle, SDL, and LOTOS for reasoning and classification of concurrency behaviors are given. (C) 1999 Academic Press.