Abstract
A formal system is described within which we may represent the communication and concurrency features found in systems of interacting computing agents. This formal system may be used both as a model in which to represent the behaviour of existing systems of computing agents or as a language in which to program desired systems. The notion of acceptance semantics is introduced and it is in terms of this that we give meaning to programs constructed in our framework.