With the introduction of cheap programmable l.s.i. components, the designer of digital systems has a great deal of flexibility in implementation, especially in producing multiprocessor systems. To produce cost-effective designs, he needs the ability to design in an implementation-independent manner and then to map this abstract design onto the cheapest hardware-software system consistent with the design objectives. This paper, one of a series, defines some of the primitive constructs which can be used in the design phase and which involve both control and data aspects of the design. An example of the use of these constructs in design is also presented.