In process algebras such as ACP (Algebra of Communicating Processes),
parallel processes are considered to be interleaved in an arbitrary way. In the
case of multi-threading as found in contemporary programming languages,
parallel processes are actually interleaved according to some interleaving
strategy. An interleaving strategy is what is called a process-scheduling
policy in the field of operating systems. In many systems, for instance
hardware/software systems, we have to do with both parallel processes that may
best be considered to be interleaved in an arbitrary way and parallel processes
that may best be considered to be interleaved according to some interleaving
strategy. Therefore, we extend ACP in this paper with the latter form of
interleaving. The established properties of the extension concerned include an
elimination property, a conservative extension property, and a unique expansion
property.Comment: 19 pages, this version is a revision of the published versio