A Taxonomy for Programming Languages wit h Multi-Sequential Processes - Thomsen, Kristine Stougård; Knudsen, Jørgen Lindskov (DAIMI Report Series, 1984)
The purpose of this paper is to describe a high level conceptual framework – a taxonomy – for programming languages with language constructs for specification of co-sequential and concurrent/interleaved processes. Using a semi-formal model for processes we identify the major differences and similarities between co-sequential, interleaved and concurrent processes. We discuss the essential aspects of co-sequential processes, concerning different patterns in which control can be transferred between the processes. Moreover, we discuss the important common properties of co-sequential and concurrent/interleaved processes: Synchronization and communication. The form of this taxonomy is a tree of orthogonal aspects where each aspect may be further subdivided into orthogonal aspects. Each aspect is precisely defined and can be discussed without reference to the other aspects. This makes it easy to use the taxonomy when analyzing and comparing language constructs. We find that the taxonomy is useful in at least three areas: When choosing a language for a specific application, when designing a language for a specific application area, and when teaching high level languages with multi-sequential processes.