<u>1.1 The language CAP</u>While there are a couple of programming languages which allow the representation of parallelism /1,2,5/ there is a lack for languages which allow in an as well disciplined as general manner the description of concurrency.A well defined mathematical description method for concurrent processes is given by the Petri net model /3,7,9/. It fulfils the above requirements and in addition is widely used and extremely easy to understand.This concept is integrated into the language CAP in a very elegant way: Lables are used as places, where one has in mind that a labelled statement puts a token into its label(s) <u>after</u> it has been processed. On the other hand the processability of a statement is controlld by "On-conditions" on labels. Every statement is processed if and only if its "On-condition" has become true. At this time, in accordance with the firing-rule (="On-condition"), "tokens" are withdrawn from certain labels used within the "On-condition" and placed into the labels of the statement.In addition various parameters may be associated to transitions thus offering a description power similar to the Macro-E-Nets /8/. On the other hand there are a lot of language-constructs to support structured programming.<u>1.2 The analysis of CAP-programs at compile-time</u>Since a couple of years Petri nets are object of research. For some rather restricted subclasses of Petri nets sufficiant an necessary conditions for the topology of a net to be well-formed are known /3,4,7/. Under a well-formed net we understand a net <u>without dead-locks</u> being <u>safe</u> (no loss of information) and <u>residue-free</u> (independent from a certain history). Related to results by Herzog an Yoeli /4/ for a subclass of Petri nets we prove that there are six conditions for the topology of a net of the subclass of Petrinets which are used to describe the control-structure of CAP-programs so that the net is well-formed.By this we can decide at compile-time without simulation whether a CAP-program describes a life, safe and residue-free system (i. e. a useful one) or not. After having defined, what we mean ba a "Structured CAP-program" we will have the fine result that every structured CAP-program is well-formed.<u>1.3 The simulation of systems described in CAP</u>As CAP allows the description of systems down to a level of specification which is comparable with the bit-level of digital systems inclusive the detailled description of the real-time-behaviour, for the processing of CAP one needs a system similar to a simulator for digital circuits. On the other hand also very global descriptions on a high level of abstraction are possible.This implies that the run-time system for CAP must be extremely adaptive. We tried to solve this problem by a very flexible and powerful table driven and event oriented simulator with the event-mechanism being directly adopted from the Petri net concept of CAP.
Read full abstract