
A Taxonomy for Programming Languages wit h Multi-Sequential Processes
Author(s) -
Kristine Stougård Thomsen,
Jørgen Lindskov Knudsen
Publication year - 1984
Publication title -
daimi pb
Language(s) - English
Resource type - Journals
eISSN - 2245-9316
pISSN - 0105-8517
DOI - 10.7146/dpb.v13i175.7450
Subject(s) - taxonomy (biology) , computer science , programming language , synchronization (alternating current) , natural language processing , software engineering , ecology , biology , computer network , channel (broadcasting)
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.