rDi-ssertatéan far thefieg'riee of" FEL‘D; MECHtGfifi STATE‘UNE‘ERSETY g m: CHRISTEAH é’u’kNSEfi , ‘ ' 1974 This is to certify that the thesis entitled STRULTUKGL PROPERTlES John DateWLfi/y 0-7639 OP PRocesses presented by C hris‘hln Hansen has been accepted towards fulfillment of the requirements for M degree in Q’éfi‘L" {" ‘W flag/s»; Major professor jig,“ ‘7 3.7: i ' nuns & sous T 300K BINUERI lNE.‘ LIBRARY amoms ERNIE”, “II“; w ABSTRACT STRUCTURAL PROPERTIES OF PROCESSES By John Christian Hansen In this thesis, a definition of process, which is both mathematicalbrprecise and practically significant, is prOposed. Using this definition, a theory of process decomposition, which is similar to that which Hartmanis and Stearns (HART 66) develOp for sequential machines, is prOposed. A necessary and sufficient condition for the existance of such decompositions is shown. A parallel decomposition theory more akin to that which might be useful in parallel processing is also discussed. It is shown that there is no algorithm which will detect all cases of this kind of parallelism. However, sufficient conditions for the existance of this kind of decomposition are given. This thesis also points out how digraph theory serves as a productive tool in the analysis of processes. A special digraph is associated with each process. This digraph is used in the derivation of sufficient conditions for process termination. It also provides the basis for the determination of both computational cost measures and process cost measures. These measures provide the motivation for the develOpment of a general theory of digraph measurement. The '0 John Christian Hansen z\ general theory is shown to have some well-known measures as Special cases, as well as being the foundation for the deve10p- ment of several new useful measures. STRUCTURAL PROPERPIES OF PROCESSES By John Christian Hansen A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Department of Computer Science MY PARENTS ii ACKNOl'JIEIXll-iEN‘I‘S I am grateful to Dr. Merteza A. Rahimi, my thesis adviser, for his encouragement during the course of this thesis. My thanks also go to Dr. Harry Hedges, Dr. Lewis Greenberg, Dr. Carl V. Page, Dr. Edgar M. Palmer, and Dr. Edward A. Nordhaus for serving on my guidance committee and for their critical review of this work. My special thanks go to my typist, Debbie Claflin, for her Speed and accuracy in typing the final draft. Finally, I am deeply indebted to my wife, Elizabeth, for her critical review of this work which improved the eXposition by at least an order of magnitude. iii TABLE OF CONTENTS Chapter 1: Introduction and Literature Review Chapter 2: Processes 2.1: Definitions 2.2: Detection of Parallelism 2.3: Detection of Non—trivial Parallelism Chapter 3: Sufficient Conditions for Possession of an Infinite Computation Chapter #: Measures of Process Cost h.l: Computational Cost 4.2: The Cost of a Process Chapter 5: A General Theory of Digraph Measurement 5.1: A Discussion of L and Norms on L 5.2: The Importance of Strong Norms 5.3: Associating Non-negative Real Numbers with Digraphs Chapter 6: Applications of the General Theory 6.1: Balance in Signed Digraphs 6.2: Cost of Retrieval from a Binary Tree 6.3: A Measure of Transitivity 6.#: A Measure of Symmetry iv page 19 39 53 53 58 65 6S 68 73 78 78 82 8.5, 90 Chapter 7: Summary and Future Research 7.1: Summary 96 7.2: Future Research 97 Appendix 100 List of References 104 Chapter 1 INTRODUCTION AND LITERATURE REVIEW The topics covered in this thesis fall into four major categories; a precise definition of process and the resultant theory, associating digraphs with processes, the concept of measurement in a process, and a generalization of these results to measures on digraphs in general. Central to the develOpment of computer science theory is the concept of process. P. Brinch Hansen (BRIN 70),E.w. Dijkstra (KIJK 68), J.H. Saltzer (SALT 66) and others have suc- cessfully used the concept of process as a basic unit in their descriptions of complex computer systems. Zohar Manna (MANN 70), C.V. Ramamoorthy and M.J. Gonzales (GONZ 70), Leslie Lamport (le2 7+), M. Lenman (mm 68), J.B. Dennis (DENN 66), D. Knuth (KNUT 66), and others have successfully used the concept of process as a basic unit from a programming languages standpoint. A survey of the literature shows that there is a lack of any agreement on a single definition of process. In (DENN 66), Dennis and Van Horn state that: ...a process is that abstract entity which moves through the instructions of a procedure as the procedure is executed by a processor. 1 In (GILB 72), Gilbert and Chandler view the system of processes as follows: ...an individual process is approximated by an abstract process which consists of distinct portions or 'states'. A set of such states, to— gether with a set of values of data variables, then approximates of configuration (or com- posite state of an entire system or process. The 'moves of individual processes from one state to the next are written as abstract partial rules. Partial rules fer the differ- ent individual processes may then be combined to yield transition rules - moves from one composite state to a next - for the entire system of processes. In (DAHL 66), Dahl and Hygaard in describing SIMULA, an ALGOL based simubtion language, take the following view of process: In general a process has two aspects: it is a data carrier and it will execute actions. In(DENN 66), a process is considered to be the status of a system, in (GILB 72) a sequence of such status values, and in (DAHL 66) as a generator of such sequences. While Gilbert and Chandler (GILB 72) also consider "trans- ition rules", it was Horning and Randell (HORN 73) who first combined all these notions in a single definition of process. Horning and Ran- dell define a process as a triple (S,f,s) where S is a state space, f is an action function in that Space, and siis a subset of S which defines the initial states of the process. By action function, they mean a relation on the Cartesian product of s and the set of all 3 possible actions. By actions, they mean assignments to variables in the state Space. While the definition of Horning and Randell is mathematically precise, it appears to be too general. It suffers from the fact that f may not even be computable and from its lack of relation to common process specifications (i.e. - algorithms, flowcharts, and programming languages). In this thesis, a definition like that of Horning and Randell isuused but f is replaced by a flowchart-like diagram similar to those disucssed by I. Nassi and B. Schneiderman (NASS 73), It is hoped that the resultant definition has both the mathematical precision and the practical significance to become a useful tool. Once a definition of process is agreed upon, the concept pf parallel processing may be discussed. It is helpful to distinguish between two types of parallel processing; multiprocessing and multi- programming. Multiprocessing is a simultaneous sharing of two or more portions of the same program by two or more processing units. £31517 proggammigg is the time and resource sharing of a computer system by two or more programs which reside simultaneously in primary memory. There are two basic ways one may handle multiprocessing of a program; new programming language concepts may be introduced or parallelism may be automatically detected at the compiler level. ALGOL~68 (VANN 69) has incorporated parallelism concepts in its definitions. At the statement level, this is done by replacing ';' with ',' and at the procedure level by using a par symbol. At the assembly level, Dennis and Van Horn in (DENN 66) suggest the FORK- JOIN-QUIT combination: n The basic primitive Operation of parallel programming is implemented by the meta- instruction FORK w ; ... where w is a word name. A FORK meta-instruction indicates a new process at the instruction labeled w. The newly created branch process is part of the same computation as its creator or main process... A process that has completed a se- quence of procedure steps is terminated by the meta-instruction QUIT after which the process no longer exists...We use the instruction JOIN T,w; which is essentially Conway's join instruction. Here T is the word name of the count to be decremented and w is the word name of an instruction word to be executed if the count becomes zero. A number of attempts have already been made to auto- matically detect parallelism. Summaries of attempts to detect parallelism at the statement level may be found in (BAER 68). Bernr stein (BERN 66) was the first to attack the problem of detecting parallelism at the interstatement level. His model may be simply stated as follows; suppose there are two statements in a programming language, P1 and P2, which were originally scheduled in sequence. The conditions under which P1 and P2 may be executed in parallel are as follows: 1) 11n02=¢ 2) 12n01=¢ 3) 01 [1 02 = d where Ii and 01 represent, reSpectively, the input (those variables which appear only at the right of an assignment statement) and the output data sets of Pi' Based on these conditions, systems that automatically detect parallelism have been written. Examples may be found in 5 (RUSS 69), (VOLA 7o), (RAMA 69), and (BING 67). Detection of parallelism in D0 leaps is not quite as simple. Such analysis is carried out with some success by Bernstein (BERN 66), Russel (RUSS 69), and by Lamport (LAMP 7%). The decomposition theory in this thesis suggests a method for automatic detection of parallelism. The concept of diagram as introduced in this thesis is closely related to a parallel programming language. Normally, measurement and process are associated with computational complexity. Historically, the question of computa- tional complexity grew from the origin of computability. One way to define computability is to say that a function is computable if it is possible to obtain it from a finite number of Operations of composition, primitive recursion or application of the.A&-0perator to regular functions starting with the functions: 1) 3(x) - x + 1 2) N(x) = O 3) If; (x1,...,xn) - xi (1g 19). Primitive recursion may be represented by the conditional expression notation, first introduced by McCarthy (MCCA 60). Conditional expressions will be written in the form: (B1—~e1, b -0e b 2 2,... where bi denotes a Boolean expression. The value of the conditional 11-1“ en-‘l ’ an) expression is obtained by examining bi's in turn from the left until one is found which is true; the value for the expression is ei if bi is true. If no true bi's are found, the value for the expression is en. In this notation, the definition of the factorial function might be written: 6 fac(n) = ((n+O)-') l, n-fac(n-l)). To put the preceding into historical perSpective, Church (CHUR 36) in 1936 eXpressed the opinion that the concepts of }K- definable functions and recursive functions are both identifiable with the concept of computable function (Church's thesis). In the same paper, he showed that the decision problem for the predicate calculus is unsolvable. The same was proved by A.M. Turing (TURI 37) at about the same time. Turing introduced the concept of what is now known as Turing machine for his proof. Once the concept of computability has been defined, then the question of how to characterize the complexity of computable functions arises. The most familiar ways of doing this are; by the number of steps needed to compute a function (HART 6A, HART 65) and by the amount of memory needed for a computation (HART 65 b). A machine independent theory of the complexity of recursive functions is presented in (BLUM 67). It should be noted that all results in complexity theory deal with classes of functions rather than measures for individual functions. Thus for example, the theory of Turing machine complexity classes may shed some light on the preperties of languages that are suitable as programming languages (i.e. - languages that can be simply recognized) but it is of little use in extracting information about a particular language (other than the class to which it belongs). Several interesting observations have been made about complexity classes. Every set accepted by a time or tape-bounded Turing machine is a recursive set. Furthermore, every recursive set is accepted by some tape-bounded Turing machine and also by some time- bounded Turing machine. Since no complexity class can contain all 7 recursive sets, there must be an infinite hierarchy of complexity classes. Lewis in (LEWI 71) makes the following observation: Quite often when pathological problems exist in complexity hierarchies, it has been shown that they exist only in the lower levels of the hier- archy...Conditions that occur in all but a finite number of places are accepted in automata theory as being desirable in most cases... But, in complexity hierarchies, the functions which are easiest to compute, and that are computed most often, occur at the bottom. These very func- tions are the ones computed in "real-life" and therefore are quite important. In this thesis, measures involving processes are for the most part concerned with individual processes rather than classes of processes, hence computational complexity does not play a central role. However, when some of the results are gener- alized to results involving digraphs, a theory which has some parallel with complexity theory is developed. Rather than ordering the computable functions into complexity hierarchies, a theory for ordering members within a class of digraphs is developed. Digraph theory serves as a productive tool in a number of areas in computer science. This stems from the fact that digraph theory deals with the structural preperties of empirical systems. Such theory is bound to find applications in a discipline so full of structure as computer science. Harary, Norman, and Cartwright (HARA 65) define a digraph as a net with no lOOpS or parallel lines. A net has four primitive (undefined terms) and two axioms. The four primitives of nets (also of digraphs) are: 8 ’U a set V of elements called vertices. O. a set X of elements called lines. 'U a function f whose domain is X and whose range is contained in V. a function 5 whose domain is X and whose range is contained in V. The axioms for a net are: A1 : the set V is finite and not empty. A : the set X is finite. 2 Primitives P3 and Ph relate the lines to the points. They give the first and second point of each line. In this thesis, a less restricted definition of digraph shall be used. A digraph $111 be a structure which satisfies P1 through P1+ and the following axioms: A1 : the set V is not empty. A2 : there are no parallel lines (Two lines, x and x are 1 2’ parallel if F(x1) = f(x2) and s(x1) = s(x2) ) Thus, a digraph may have an infinite number of points or lines and may contain 100ps. Digraphs will be used to determine sufficient conditions for the termination of processes. Also, a framework for measuring certain graph-theoretic preperties will be develOped. Chapter 2 PROCESSES In this chapter, the concept of process is introduced. Section One deals with the basic definitions and descriptive theo- rems. In Section Two, a parallel decomposition theory similar to that of Hartmanis and Stearns (HART 66) is develOped. In section Three, the problem of nontrivial parallelism is addressed. It is shown that the best results obtainable are sufficient conditions for decomposition. 2.1 DEFINITIONS As stated in Chapter One, the approach here is strongly influenced by the definition of process given in Horning and Randel (HORN 73). Definition 2.1. A state variable is an elementary quantity which can assume certain well-defined values. Definition 2.2. A set of labeled state variables constitutes a state variable set. 10 Definition 2.3. An assignment of values to all variables in a state variable set defines a state of the set. Definition 2.#. The set of possible states for a given state variable set is the state space of that set. Exam131e 2.1. Consider the state variable set V = {am} consisting of two variables labeled a and b whose values may be any natural number. If a is assigned the value 5 and b the value 7, this defines the state (a=5,b=7). The state space of this variable set is S(V) - i(a=m,b=n)' m>0, n’O) ' Example 2.2. The state variable set of a typical C.P.U. might include all registers and all memory locations. The state space for this set would be all possible combinations of values of these variables. Definition 2.5. A computation in a state Space is a sequence of states from that Space. Definition 2.6. The first element of a computation is called its initial state. Definition 2.7. The last element of a finite computation is called its final state. Example 2.3. Consider the state Space of Example 1, the se- quence C1 = 1 is a ll finite computation for which the initial state is (a=2,b=l) and the final state is (a=2,b=#). An example of an infinite computation in the same state space is the sequence Ca = 4<fia=2,b=n) n=l,2,3...;>- Its initial state is (2,1) but it has no final state. The concept of computation is essential to the definition of process . There are, of course, many ways in which a particular computation may be specified. The form in which most computations will be presented in this thesis is in terms of the transitions which occur between states. Definition 2.8. An action in a state Space is a finite set of assignments of values to some of the variables of its state variable set. Definition 2.9. If a state is followed by an action, then the immediate successor of the state is the new state whose variables all have their old values except those which have new values assigned by the action. Example 2.4. If (x=3,y=5) is followed by the action {Lye-#3 , its immediate successor is (x=3,y=4). Definition 2.10. The null action is the action which Specifies no assignments. 12 In this thesis, actions will be represented in pictorial form by action boxes. The method used is an adaptation of a system of flowcharting develOped by I. Nassi and B. Shneiderman (NASS 73). Their system was an alternative to conventional flowchart languages and designed to be more amenable to structured programs. An action whose cardinality is one, such as the action of Example 2.4. would be represented like this: ydr—4 Fig 2.1 Actions whose cardinality is greater than one will be denoted by: Ant-'2 [B 4-“1 ) (3(-Ht Die—-x E ¢-7 Fig 2.2 The assignments must not have variables left of an arrow in common. For example, an action may not contain both X4-Y + Z and X<—- 7. All expressions right of an arrow are calculated and all assignments of an action are made simultaneously. Any reference to a state variable right of an arrow refers to its value. If one of two basic digrams are to be performed, depending upon the value of some boolean expression, the If clause may be used: 13 Fig 2.3 The central triangle contains a Boolean expression, the left and right triangles contains a T or an F to represent the possible outcomes and A and A are basic diagrams. 1 2 Example 2.5. If the state (a=1,b=2,c=3) is followed by: Fig 2.4 the result is the state (a=3,b=2,c=3). To allow for iteration, the DO while clause may be used: k DO while B —_l [A I Fig 205 l# A is a basic diagram and B is a Boolean expression. The actions in the basic diagram are performed while B is true. A §a_s_i_g digggam consists of any of the symbols introduced so far, including the DO while clause, stacked one upon the other. Before formally defining process, a few examples are in order. Example 2.6. This example involves matrix multiplication. A and B are NKN matrices and the product C is an NXN matrix. re—1 DO while 12 Al' N J4—1 Dewhile J‘N suns—o ice—1 DO while K £§ N SUM ‘F" SUM + A(I,K) . B(K,J) K 4b" K + 1 C(I,J) e-—- sun J"t- J + 1 I 4r- I + 1 Fig 2.6 15 This example shows how the concept of process may Example 2.7. be used to model a continuous phenomenon. T (h- O k XQ'—X+1 Fig 2.15 suppose II = {(80,1),(B1,1)3 such that (x,1) is in (130,1) if 22 x is even and (x,l) is in B if x is odd. Clearly, TI has S.P. 1 (Take any two odd numbers x and y. f(x,1) is even and f(y,1) is even so f(x,1) E f(y,1)(‘l1' ). The case for which both x and y are even follows in the same manner.) E“. = (11' ,da , (B13 ) where in (BO) = B and f" (B1) = B . 1 0 Both P and P" produce a single infinite computation. P,T may be thought of as a process which only computes whether or not the number is odd or even, while P also computes the value of the number. This can also be thought of in terms of ignorance of a state of P. If“ has S.P. on P, by knowing P11 , the block of ‘l‘! which contains a state of P is known, given a block of‘l‘l’ , the block of ‘II’ to which the successor function will lead can be com- puted. If a partition“ does not have S.P., then this computation is not possible. So S.P. partitions define a sort of uncertainty about the state of P which does not Spread as the machine operates. (e.g. -in the above example, it is known if the number is odd or even at any point in time.) Theorem 2.2. If “'1 and 'W 2 are S.P. partitions onaa process P = (S,d,I) then so are the partitions 171 ' 1T 2 ‘lT1+Tl’2 Proof Suppose rs t(1T1) and r-‘.=.-’ t(1T2), then by definition of'll'1 ° 17 2 r5 t( 1T1- u 2) Now by the hypothesis of the theorem: f(r) :-: f(t) (TF1) and f(r) 2—2 f(t) (112) 23 but this implies f(r) .=.=.=. f(t) (Tr ,- 11“,.) by the definition of fl1-‘fi'2 hence 1T1 .12 is an S.P. partition on P. To show 1'1 + “'2 has S.P., note that me t( 1T1 + 11'2) implies that there exists a chain r = ro,r ,...,rm = t such that 1 rja: rj+1( 1V1) or rje. rj+1( 1T2) where 3 = O,l,...,m-1. This shall be used to Show r 12 and a is even3 $2 = {(a,b,c,n) \ c 7 12 and a is Odd} S3 = {(a,b,c,n) \ c 5. 12 and a is even} St, = Z(a,b,c,n) \ c 12 and a is odd} where n is in {1,23 The condensation Of G is as.follows: 31+ S 0 ° Fig 3.9 U) 49 I = {S4, 33. $2) The initial vertices are just these vertices for which there exists an x 6 Si such that x was an initial vertex of G. If the algorithm is applied to the condensation Of G, it halts in step 7. This leads to the conjecture that the process may have an infinite computation. The following exarnple shows that such a conclusion cannot always be made. Exanmle 3.5. Let S = {(a,b,c) I a,b, and c are natural numbers3 I = 81.1.1). (2.2.28 and d be: DO while 0 9’: 12 bfi—‘b+1 c<——-—-c+1 Fig 3.10 Consider the following partition Of SK N: 1 - {(a,b,c,n) I c is even} ne (1,2,3; 32 - £(a,b,c,n \ c is Odd 3 n‘ e{1.2.33 S The condensation of the reduced digraph of P is: Fig 3.11 The algorithms halts in step 7 for the condensation but the reduced digraph is finite and cycle free. The last example shows that the condensation of a reduced digraph of a process may have a cycle while the reduced digraph is cycle free. The following theorem shows that if there is a cycle in the reduced digraph Of a process, then any condensation must have a cycle. (In some cases, the cycle will be Of length 1.) Theerem_3.5. If the reduced digraph of a process has a cycle, then so does any of its cendensations. £2221: Let P = (S,d,I) be a process and G be its reduced digraph. Suppose G has a cycle: r1,r2,...rn,r1 where the ri are in SX N. Let S1 be the partition of SXN, then for each ri there exists an Sr. such that ri is in Sr. . Consider the walk: 1 1 Sr1’ Sr2 ’ rn r1 ’ this walk contains a cycle in the condensation Of'G. ... S ’ S The reason that the converse Of the above theorem does not held becomes apparent when the proof of it is attempted. Suppose 31’52”"Sn’s1 is a cycle in some condensation of a reduced process digraph. The definition Of condensation implies that there is a 51 line between a point in S say r1 and a point in S say r2. 1 2 It also guarantees that there is a line between a point in 32 say ré and a point in S3 say r3. What it does not guarantee is 2 to ré. It would seem natural then to say that if the strongly connected components of the reduced that there is a path from r process digraph are chosen as the partitions, that the reduced digraph will have a cycle iff this condensation does. This is quite true but it is completely useless. If any of the strongly connected components have more than a single point then the reduced process digraph has a cycle, otherwise the partition is the trivial partition. The above arguments Show that it is useless to try to find some Special class of condensatiens for which the converse of the above theorem holds for all processes. Definition 333. A process is said to terminate if it has no infinite computations. Theorem 3.6. A process P terminates if there is a finite condensation Of the reduced digraph of P which is cycle free. the: If the reduced digraph of P is finite, this follows from the previous theorem. If the reduced digraph of P is infinite then at least one of the Si contains an infinite number of vertices. Since there is no lOOp at any of the Si which are infinite they do not contain cycles or infinite paths. Since there are no cycles in the 52 condensation itself there is no way for an infinite path to exist in the reduced digraph. This is evident from the fact that since the infinite Si contain no infinite paths themselves, the only way for an infinite path to be in the reduced digraph would be fer its points to alternate between the Di. But there are only a finite number of Si, this would cause a cycle. Chapter 4 MEASURES OF PROCESS COST In this chapter, the concept of measurement of the prOperties of a process is discussed. Three measures which appear to have some practical Significance are suggested. In Section One, these measures are discussed at the computational level, while in Section Two, the concepts develOped in Section One are extended to provide a single measure for a whole process. 4.1. COMPUTATIONAL COST Definition 4.1. The lepgth Of a computation shall be the length of the equivalent path in the process digraph. Definition 4.2. The width of a computation shall be the maximum number of state variables changed between any two adjacent vertices in the equivalent path in the process digraph. Definition 4.3. The 3255' of a computation shall be the number of assignments of values to state variables during a computation. 53 54 These three measures were chosen because there was a need for each in the develOpment of an adequate theory Of measurement of process. The notion of length correSponds most closely with the measure of time. The notion of width, in a practical sense, might be needed in considering the implementation of a parallel programming configuration as a process. Clearly, each computation of the process must not exceed a certain width (i.e. - the number of processors available). The concept of work is necessary in order to have some way of measuring how many changes in the state variable space a particular computation makes. The following example will be used to point out the interelation between these measures. Example 4.1. This is an example of a process for which the length and the work both have the same numerical value for all computations. Let P = (S,d,I) where i(A,B)l A and B are natural numbers} {(1.1)3and d is S I D0 while A‘S [pB"B + B I A‘-A + 1 Fig 4.1 This process has a single computation: < (1.1).(1.2).(2.2).(2.3).(3.4).(3.8).(4.8),(4.16).(5.16)> 55 The length of the computation is 8 and its work is 8. Example 4.2. This is an example of a process for which the numerical value of work is larger than the numerical value of time. It has the same state space and initial state as the previous example but with the following basic diagram: D0 while A <2 5 It has but one computation: ((1.1).(2.2).(3.4),(4.8).(3.16)> - The length of the computation is 4 and its work is 8. Example 4.3. This is an example of a process for which the numerical value of length is larger than the numerical value of work. It has the same state Space and initial states as before but the following basic diagram: DO while A _L ll .3 Fig 4.3 56 It has only one computation but it happens to be an infinite one: ((1,1),(1'1)’000> . The length of this computation is infinite but its work is O. Examplg 4.4. This is an example of a process where the length and the work have the same numerical value for one computation but a different value for another. The state Space is the same as the last example but the initial states are: (1.1) and (1.2) and the basic diagram is: litr‘i3 [ llfi-fiS l B1‘-'3 l - Fig 4.4 It has the computations: C1 <(1.1),(3.1)> and 2 ((1.2).(3.3>> . C In the first computation, both length and work have a value of 1 while in the second, length has a value of 1 and work has a value of 2. The above examples suggest a relationship between the 57 three measures for a typical computation. Example 4.3. is the lone exception and suggests that processes with null actions may be difficult to include in such a relationship. Observation 4.1. In a process with no null actions, the numberical value Of length is always less than or equal to the numerical value of work for any computation. Proof If no null actions are allowed, at least one state variable must be changed between each state of any computation. Observation 4.2. In a process with a maximum width of n the work of any computation is less than or equal to n times its length. Proof At most, n changes are made per computation. Observation 4.3. In a process with no null actions and no actions whose cardinality is greater than 1, the work and the length of each computation have the same numerical value. Proof It follows from the last two theorems. The three previous definitions of measurable quantities give rise to some measures which are defined in terms of them. 58 Definition 4.4. The rate of a computation is its work divided by its length. Definition 4.5. The capacity of a computation is its length times its width. If both work and length are infinite, the rate is undefined. Since length is never zero, all other Situations are defined. The capacity of a computation is always defined. 4.2. THE COST OF A PROCESS Attention is now turned to measures of cost of the entire process rather than cost of a particular computation. The first measure considered shall be that of length. As an infinite computation would make the concept of average length meaningless, study of process cost shall be restricted to the cost of nice processes. Definition 4.6. A pgpg process is a process whose reduced digraph is finite and cycle free. With each nice process, may be associated the following sequence: A = (a1,a2,...) where ai is the number of computations of length i. It follows that for each nice digraph, ai will be zero for all but a finite number of ai. Definition 4.7. The average length.fi£.ef a nice process with Definition 4.8. 59 sequence A = (a1,a2,...) is: co .2 i ai i = 1 !_ , a 2: i = 1 The variance (7'2 of the length of a nice process with sequence A = (a1,a2,...) is: es . 2 E. (l a:l -,~gai) 1 = 1 44_ , a. 2: i = 1 Both of these measures are of importance. Fer example, suppose that a compiler is modeled by a process in which the length of a computation is prOpertional to the compile time for a program, then a good compiler must not only have a low average compile time but must also have a reasonable variance. Both the average and the variance of a process digraph suggest a certain class of diagraph theoretic measures. These will be discussed in the next chapter. With each nice process, associate the following sequence B = (b1,b2,...) where bi is the number of computations with work equal to i. Clearly, since a nice digraph is finite and cycle free, bi will be zero for all but a finite number of bi' Definition 4.9. The average work f(wof a nice process with 60 sequence B = (b1,b2,...) is: co 2: i i = 1 z: i = 1 Definition 4,10 The variance 0‘ 2w of the work of a nice process with sequence B = (b1,b2,...) is: as . 2 i2 - :1 (l bi ~Awbi) With each nice process, associate the following sequence C = (c1,c2,...) where the 01 are the number of computations with width equal to i. Since a nice digraph is finite and the width of any computation must be finite, each ci is finite and the ci will be zero for all but a finite number of oi. Definition 4.11. The average An width of a nice process with sequence 0 = (c1,c2,...) is: ’ i = l1 °i Z: i = l °i 2 Definition 4.12. The variance ‘rp of the width of a nice process with sequence C = (c1,c2,...) is: t. . 2 61 Definition 4.13. The average rate r of a process is Mu M. Definition 4.14. The average capacity c of a process is A.“ AP . The following example illustrates these concepts. Example 4.5. Consider the process P = (S,d,I) where S = £(a,b,c)l a,b,c are in [0,1,233 I £(1.1.1).(1.0.2)3 anddis: a.<&——-b + c (mod 3) DO while b # O b‘&—-b + 1 (mod 3) the reduced digraph is: (1.1.1.1) (2.1.1.2) (2.2.1.2) (2.0.1.3) A (1.0.1.0.0....) B = (1.0.1.0.0....) c = (2.0....) 1 1.. .AH. = ———_E = 2 2 0-2 = L1-2)2 + (3-2)2 2 MW=L32=2 (7-5 (1-2)2 + (3-2)2 2 2 .AL = -.= p 2 1 2 2-1-2)2 = 0 6p: '2 62 (1.0.2.1) (290:2:3) Fig 4.6 63 The above example suggests some relationships between the various measures Of processes. The next few theorems point out some relationships which Obtain to nice processes with no null actions. Theorem 4.1. In a nice process with no null actionS,/‘¢ is less than or equal terbflw. Proof . 0., as For a nice process E ai = 2 bi i = 1 i = 1 because in each sequence, a computation is only counted once. In view of observations 4.1: ia. é; E ib. 1 l ‘9 00 i = 1 for nice processes with no null actions, thus J».— .6 we". Theorem 4.2. In a;nice process/KW is less than or equal to n timesJL wlere n = max {c1,c2,...3 . Proof n is clearly the maximum width Of the process, hence at most n changes are made per compuatation. Since: 2”: D i = 1 i = 1 it follows from observation 4.2 that My] .4. n'/(’(.. ‘ Observation 4.4. 1 s r.§ n for any nice process with no null actions, where n = mach1,c2,...} . Proof From Theorem 4.1 and Theorem 4.2 it follows that Since A}! 0 it follows that 1 2. r5. n. In the next chapter, these notions of measurement will be generalized to classes of digraphs. Just as the above measures may be used to order nice processes, the measures develOped in the next chapter will be used to order members within a class of digraphs. Chapter 5 A GENERAL THEORY OF DIGRAPH MEASUREMENT In this chapter, a scheme is develOped for assigning non-negative real numbers to digraphs. This scheme will later be used to obtain measures of certain digraph theoretic prOperties. 5.1. A DISCUSSION OF L AND NORMS ON L Definition 5.1. Definition 5:3. Definition 5.4. Let L,be the class of all infinite sequences of non-negative integers with only finitely many nonzero terms. Members of L will be de- noted by capital letters from the beginning of the alphabet, with terms in the sequence being indicated by properly subscripted lower case letters. (e.g. A = (a1,a )) 2’... Let N'be the natural numbers. Let I_be the non—negative integers. Let 3.be the positive reals. 65 66 Consider L and I, it is possible to define a multipli- cation of sequences in L by integers in I. Definition_5,5. Let A be in L and i be in I, then i§,= (ia1,ia2,...). Definition 5.6. Let A and B be in L, then A + B = (a1,a2,...) + (b1,b2,...) = (a1+b1, a2+b2,...). If iA is thought of as a type of scalar multiplication, the system considered here is almost a module. If falls down in two places; additive inverses in L and additive inverses in I. It is still possible to write A-B = (a1-b1,a2-b2,...). but there is no guarantee of its existance. Definition 5.7. A pppm. on L is a real-valued function d satisfying the following prOperties for all x in I and A,B, in L: 1) d(A) = 0 if A = 0,d(A))'0 if A g 0. 2) d(xA) = xd(A). 3) d(A + B)£ d(A) + d(B). Definition 5.8. In is the sequence whose terms im = 0 if n # m and i = 1 if n = m. m Examples of norms are now given. sza1,32,0003 0. d(A)> o if A :5 0. Example 5.1. d(A) 1) Clearly, d(A) = o if A 67 2) Clearly, d(xA) = Max ixa1,sa2,...3 = xMax (a1,a2,...\3= xd(A). 3) d(A+B) = Max {a1 + b,],a2 + by")! Maxfa1 + Maxfb1,b2,...x a2 + Max {b1.b2....3 ....yiuax {b1.b2....‘3 + Maxfa1.a2....3 Examplg_5‘2._ d(A) = E f(n)an where f is a function from N into R. n = 1 1) since f(n)? 0 for all n. d(A) = o if A = o and d(A)>o if A .5 0. on a 2) d(xA) = E f(n)xan = x E f(n)an = xd(A). n - 1 n = 1 go a: 3) d(A + B) = Z f(n) (an + b'n) = Z f(n)an + n = 1 n = l a E f(n)bn = d(A) + d(B). n = 1 Example 5.2. is very important since it is the only example of norm (as shown in the next theorem) for which condition three is an equality. Such a norm shall be called a strong norm. Theorem 5.1. The only norms for which condition 3 is an n equality are those of the form d(A) = :25: n = l f(n)an where f is a function from N into R. Proof Example 5.2. shows that d is a norm. Suppose d' is a norm for which condition 3 is also an equality. If d'(I1),d'(Ia),... are known, d'(A) can be found for any nonzero A. It is done in the following 68 manner : Let A be any nonzero member of L. Since there are only finitely many nonzero terms in A, there exists a last nonzero term, say an. Now A z a1I1 + I + a a2 2... n n' I d'(A) = d'(a1l1 + a212...+ anIn) and since condition 3 is an equality, then d'(A) = d'(a1I1) + ... + d'(anIn). By condition 2, d'(A) ' ' a1d (11) + ...+ and (In)° The proof is finished since d'(In) must be greater than zero in order to satisfy condition 1. 5.2. THE IMPORTANCE OF STRONG NORMS The importance of strong norms from a practical standpoint is somewhat obscured by the definition of norm given. In this section, the same results of section one will be obtained using standard defi- nitions. These results represent a slight rearrangement of results presented by Norman and Roberts (NORM 72). Suppose f is any function from N to R and A and B are in L; consider the metric d defined in the following manner: a d(A,B) = Z f(n) lbn-anl . 4 = 1 is a metric. Lemma;§,l. Proof 1) symmetry: First it must be shown that d (L,d) is a metric space. 69 m :- f(n) ‘an - bn‘ n=l d(B,A) 2) triangle inequality: & so 2: f(n) \bn - an\ + Z f(n) [en - bn\ n =1 d(A,B) d(B,C) n=l w = S f(n)( \bn-an\+|cn-bn\ ) :1 m I 2 Z f(n)lbn-an+cn-bn| n=l co = Z f(n) lcn-axJ =d(A,C) n=1 3) d(A,B)2 o and d(A,B) = 0 iff A = B. The first part is evident from the definition. If A = B, then d(A,B) = Z": f(n) ‘ an - an\ = 0. If d(A,B) = 0, then n = l w E f(n) [bu-an\ = 0, hence bn an for all 11 because f(n) n=l is positive. Before proving the next lemma, the notion of one 70 sequence being between two is weakly connected and intransitive. Example 6.3. Consider the following digraph: a {w_ c .f ; 3 Fig 6.4. 87 let S = {2,3,4} then S is the following digraph: Fig 6.5. Now <8) is clearly intransitive and weakly connected. It is also maximal, since if [13 is added, the resulting digraph (s U {13) is not intransitive. For all digraphs G in Q and for all m in N, let h(m,G) be the number of maximal induced weakly connected intransitive subgraphs having m + 2 points. Definition 6.11. If G is in Q and s SV(G), the < s) is the maximal induced weakly connected transitive subgganh iff it is weakly connected and trans- itive and there is no point v in V(G) - S such that < S U {V} > is weakly connected and transitive. Example 6.1+. Consider the digraph of the previous example. Let S = {1.2.33 then < S > is the following digraph: 88 Now (S) is clearly transitive and weakly connected. It is also maximal since if {#3 is added the resulting digraph, < SU (43 > , is not transitive. For all graphs G in Q and for all m in N, let h(m,G) be the number of maximal induced weakly connected transitive subgraphs having m + 2 points. Now let D = L); L - (0,0), there is no digraph in Q such that its sequence pair does not belong to D. It is evident that for each sequence pair (S,§) in D there is a digraph G in Q such that (S,§5 is the sequence pair of G. This is proved in the following theorems. Theorem 6.2. Every member of L is the transitivity (intran- itivity) sequence of some member of Q. ( S denotes the transitivity sequence and S the intransitivity sequence). area: Let S = (a1,a2,...) be the sequence in L, for each nonzero term ai make ai copies of the transitive tournament on i + 2 points. Since there are only finitely many nonzero terms, the resulting structure is a digraph. S will be its transitivity sequence. Let 5': (bl’b2"'°) be a sequence in L, for each nonzero term bi make bi cOpies of the cycle in i + 2 points. Since there are only finitely many nonzero terms, the resulting structure is a digraph. S will be its intra- nsitivity sequence. 89 Corollary Each pair (3,5) in D is the sequence pair of some digraph in Q. Proof Combine the constructions in the proof of Theorem 2 and note that (0,0) is not in D. Let f be any ratio function and d and d' two strong norms on L Q may be ordered by its f—values. By the results in the previous chapter, the following theorems are evident. Let . o - ' - - cl and (32 be 111 Q, then GlFGa 1ff f(Sl,Sl,d,d ) - f(Sa'Sa’ where (Sl’ol) and (52,52) are the sequence palrs of’Gl and 62 reSpectively. Let w be the collection of equivalence classes of d,d') F. Theorem 6.3. (U, 4. ) is a distributive lattice. Theorem 6.4. (w, £- ) is not complemented. In view of the last chapter, it is evident that the order derived for digraphs in Q is dependent on the choice of d and d'. From the last chapter, it is evident that w w d(s) = Z d'(S) = Z g(n)sn and g' (n)sn n = l n = l 90 where g and g' are functions from N into R. This being the case, d and d' may be described in terms of g and g'. It would seem reasonable to choose both g and g' as some kind of increasing function. Perhaps, g(m) = mp , for all m. For example, suppose it is desirable to have the order depend more upon the transitivity than the intransitivity of a digraph, then the following definitions could be made: d(A) = w 2 d'(A) = a: :E:: n an and 42E: n an . n = l n = l d(s) The function in this case would be f(S,S,d,d') = . d'(§5 6.#. A MEASURE or SYMMETRY Another prOperty of digraphs which might be of some interest to a psychologist of sociologist is that of symmetry. Example 6.5p Suppose there are 5 couples in an apartment complex. A psychologist might ask each couple to list their friends. The psychologist might represent their responses by the following digraph: Fig 6.7. A natural question to ask would be how symmetric is the digraph? Symmetry in this case, would indicate a friendship was mutual. Definition 6.12. Let P be the class of all finite digraphs with a least one edge. Definition 6.13. If G is in P and s S V(G), then (s) is a maximal induced weakly connected symmetric subggaph iff it is weakly connected and sym- metric and there is no point v in V(G) - S such that (St/[v3 ) is weakly connected and symmetric. Example 6.6. Consider the following digraph: .3 92 let S = (1,2,3; then (S > is the following digraph: 3 Fig 6.9. Now < S) is clearly symmetric and weakly connected. It is also maximal since if {it} is added, the resulting digraph is not symmetric. For all digraphs G in P and for all m in N, let h(m,G) be the number of maximal induced weakly connected symmetric subgraphs having m + 1 points. Definition 6.1L». If G is in P and s S. V(G) , then is a maximal induced weakly connected asymmetric subgraph iff it is weakly connected and asym- metric and there is no point v in V(G) - S such that < S UZv3) is weakly connected and asymmetric . Definition 6.15. For all digraphs G in P and for all m in N, let 1 (m,G) be the number of maximal induced weakly connected asymmetric subgraphs having m + 1 points. 93 Now let D = LXL - (0,0). There is no digraph in P such that its sequence pair does not belong to D. For each se quence pair (8,5) in D there is a digraph.G in P such that (S,S) is the sequence pair of G. This is evident from the following theorem: Theorem 6.5. Every member of L is the symmetry (asymmetry) sequence of some digraph (S denotes the sym- metry sequence and S'is the asymmetry sequence. £2.92: Let S = (81.82,...) be a sequence in L, for each nonzero term 81 make Si copies of the digraph for which E(G) = V(G)X WC), and for which lV(G)‘ = i + 1. Since there are only finitely many nonzero terms, the resulting structure is a digraph. S will be its symmetry sequence. Its asymmetry sequence will be 0. Let §'= (Ei.§é,...) be a sequence in L, for each nonzero term E; make 3; capies of a tournament having i + 1 points. Since there are only finitely many nonzero terms, the resulting structure is a digraph. S will be its asymmetry sequence. Its symmetry sequence will be 0. Corollary. Each pair (S,§) in D is the sequence pair of some digraph in P. Proof Combine the constructions in the proof of the above theorem and note that (0,0) is not in D. Let f be any ratio function and d and d' be strong norms on L. P may be ordered by its f-values. By the results in the last chapter, the following theorems are evident. Let G1 and G2 be in P, then Gl‘r'G2 if and only if f(Sl,§1,d,d') = f(32,§2,d,d') where (S,Si) and (SZSé) are the sequence pairs of G1 and G2 respectively. Let w be the collection of equivalence classes of F. Theorem 6.6. (w, 5. ) is a distributive lattice. Theorem 6.7. (w, fl ) is not complemented. In view of the theory in the last chapter, it is evident that the order derived for the digraphs in P is very dependent on the choice of d and d'. The theory develOped in the last chapter implies: as w d(s) = Z ) d'(S) = Z g(n s and g'(n)s n = 1 n n = 1 n Where g and g' are functions from N into R. This being the case, d and d' can be dearibed in terms of g and g'. It would seem reasonable to choose g and g' as some kind of increasing functions. 95 For example, suppose it is desirable to have the order depend more on symmetry than asymmetry, then the following definition could be made: fl so d(A) = d'(A) = n2 a and ‘EE:| n a . Chapter 7 SUMMARY AND FUTURE RESEARCH 7.1 SUMMARY Chapter One lays the foundation for the development of the thesis. A review of current literature shows the need for a definition of process which is both mathematically precise and practically significant. The need for measurement in.a process and the relationship between this measurement and digraph theory is also suggested. In Chapter Two, the concept of process is formally defined. The decomposition theory of Hartmanix and Stearns (HART 66) is extended to process and the problem of nontrivial parallelism is also addressed. It is shown that in the case of nontrivial parallelism, the best results obtainable are sufficient conditions for decomposition. In Chapter Three, a digraph is associated with each process. This digraph is used to obtain sufficient conditions for possession of an infinite computation. In Chapter Fbur, the concept of measurement of the prOperties of a process is discussed. Three measures which appear 96 97 to have some practical significance are suggested; the notion of length which correSponds to time, the notion of width which may be thought of as the number of processors needed, and the notion of work which measures how many changes are made in the state variable space. In chapter Five, the measurement techniques of Chapter Four are generalized to digraphs. Chapter Six shows that two previously defined measures are special cases of the theory in Chapter Five and develOps two new measures which may prove useful to social scientists. 7.2. FUTURE RESEARCH The concept of indexed variable and its relationship to the DO while clause is an important tapic fir future research. It is evident that the results discussed in (LAMP 7#) may be shown to hold for processes. Hopefully, some results which are less trivial are obtainable. There is also a need for the study of the relationship between DO while clauses and If clauses within a process. For example, the basic diagram: DO while B1 DO while B2 DO while B; D0 while Bk FA Fig 7.1 98 may be replaced by the diagram: D0 wLile B 1L“. Fig 7.2 provided assignments to the state variables in 32’ B3, and Eh only occur in the last action of the basic diagram A. The task of finding similar relationships in a more complicated nesting structure is an open question. A reasonable conjecture to make at this point is that any nesting of DO while clauses can be replaced by one DO while clause and an apprOpriate number of If clauses. A concept of nesting depth of an action may be introduced. This concept is similar to the concept of star heights. The previous conjecture implies that if one is allowed complete freedom in Boolean eXpressions, any process can be rewritten as an equivalent 99 process with nesting depth one. Perhaps if the use of logical Operators in the Boolean expressions is restricted in some way, a process which cannot be rewritten as an equivalent process with a lower nesting depth can be exhibited for any depth n. The concept of process is defined in this thesis is deterministic. Although intuitively one would want a computer to behave deterministically, it is sometimes convenient to introduce nondeterminism. Some notation for the introduction of nondeterminism into basic diagrams might be develOped. Applications of the measurement theory developed in Chapter Five are another area for future research. Almost any binary concept may now be measured in a more sophisticated manner. APPENDIX 3100 APPENDIX As every digraph is a relation, digraphs may be characterized in terms of relations. Definition 1. Definition 2. Definition 3. Definition #. Definition 5. Definition 6. A digraph is symmetric (asymmetric) if it is a symmetric (asymmetric) relation. A digraph is reflexive (irreflexive) if it is a reflexive (irreflexive) relation. A digraph is transitive (intransitive) if it is a transitive (intransitive) relation. A digraph is complete if it is a complete relation. A ggaph.is a symmetric irreflexive finite digraph. A tournament is a complete assymmetric irreflexive finite digraph.p In addition to the above definitions, a number of definitions which deal with lines and vertices of a digraph are needed. Definition 7. The outdegree of vertex v is the number of lines from v.(i.e. - lines x for which f(x) - v) Definition 8. Definition_9. Definition 10. Definition 11. 101 The indeggee of vertex v is the number of lines to v.(i.e. - lines x for which s(x) = v.) A vertex u is adjacent tg_a vertex v if there is a line x such that f(x) = u and s(x) = v. A vertex u is adjacent from a vertex v if there is a line x such that f(x) = v and s(x) = u. A vertex is isolated if both its indegree and outdegree are zero. Much of digraph theory deals with the concepts of joining and reaching. precise. Definition 12. Definition 13. Definition IS. Definition 15. Definition 16. Definition 17. Definition 18. The following definitions make these concepts more A semiwalk joining v1 and vn is a collection of vertices v1,v2,...,vn together with one from each pair of lines vlv2 or vavl, V2V3 or v3v2, ...,vh_lvh or vhvn_l. A semipath is a semiwalk in which the points are distinct. A gglk,joining v and vh is a collection of 1 vertices v1,v2,....,vh together with the lines vlva, v2v3,...,vn_lvn . A.pg£h is a walk in which the points are distinct. If there is a path from u to v then v is reachable from u. A digraph is strongly connected if any two vertices are mutually reachable. A digraph is unilaterally connected if for any two Definition 19. Definition 20. Definition 21. Definition 22. Definition 23. Definition 24. Definition 25. Definition 26. 102 vertices at least one is reachable from the other. A diggaph is weakly connected if every two vertices are joined by a semipath. A digraph is disconnected if it is not even weak. A digraph is 522399 if it has a vertex u such that every other vertex is reachable from u. A gyglg’(semicycle) is a path (semipath) with the same beginning and end vertex. A ppgg_is a rooted irreflexive finite digraph with no semicycles. (This definition corresponds to what computer scientists call a tree rather than what graph theorists call a tree.) A binary tree is a tree in which the outdegree of each vertex is at most two. A labeled digraph is a digraph in which each line has associated with it a symbol. A gigggd_digraph is a labeled digraph in which the symbols are and - . Another concept that will be of importance later in this thesis is that of subgraph of a digraph. Definition 22L Definition 28. A digraph D' is a subggaph of a digraph D if its vertices and lines are vertices and lines of D. Let S be some subset of the vertices of a digraph D, then the induced subgaph S 32 103 is the subgraph of D whose vertices are S and in which there is a line between any two points in S iff there is a line between these points in D. LIST OF REFERENCES (BAER 68) (BERN 66) (BING 67) (BLUM 67) (BRIN 7o) (CHUR 36) (DAHL 66) (DIJK)68) (GILB 72) (GONZ 7o) IJST 0F REFERENCES BAER,J.L.;AND D.P.BOVET. "Compilations of arithmetic expressions for parallel com- putations." Proc. IFIP Congress 1968, North-Holland, Amsterdam, The Netherlands, 340-3116. BERNSTEIN,A.J. "Analysis of programs for parallel processing." IEEE Trans. Electron. 0 ut,Ec-15,(0et.1966)} 757-762. BINGHAM,H.W.:D.A.FISHER;AND E.W.REIGEL. "Automatic detection of parallelism in computer programs." TR-ECON-O2463-4, Burroughs TR-67-4, AD 622 274,(Nov. 1967). BLUM,M. "A machine independent theory of the complexity of recursive functions." JAMC, l4, (1967(,322-336. BRINCH,HANSEN,P. "The nucleus of a multiprogramming system." Comm. A§§_13, 4, (1970), 238-24l,250. CHURCH,A. "An unsolvable problem of elementary number theory." Amer.§, Math.,58, (1936), 3A5-363. DAHL,O.J.: AN. NYGAARD,K. "Simula, an AIGOL-based simulation language." Comm. A§fl_9,9, (1966), 671-678. DIJKSTRA,E.W. "Co-Operating sequential processes." Programming languages, F. Genuys(Ed.),Academic Press, New York, (1968),A3-112. GILEERT,P.;AND w.J. CHANDLER. "Interference between communicating parallel processes." GOLZALEZ,M.J.;AND C.V.RAMAMORTHY. "Recognition and representation of 104 HARA 65) (HART 64) (HART 65) (HART 65b) (HART 66) (HORN 73) (KEME 62) (KNUT 66) LAMP 74) (13mm 66) (LEHM 66) 105 parallel processable streams in computer programs." Parallel Processor System, Technologies and Applications. L.C. Hobbs, et al (Eds.), Spartan Books, New York, (1970), 335-374. HARARY,F.;R.Z. NORMN;AND D. CARTWRIGHT. Structural Models: An Introduction to the theory of Directed Graphs,=Wiley, New York, (1965). MIA-“18,010; AM) ROE. SWO "COMP- utational complexity of recursive se- quences.: Proceedings 2; the Fifth Annual Symposium 2;; Switching circuit Theory and Lo 'cal Desi . Princeton, New Jersey, (1964), 2-90. HARMANIS.J.;AND R..E. STEARNS. "On the computational complexity' of Algorith s . " hm oA-mer oMath '§.9£’ ’ 117, (1965), 285-306 0 HARTMANIS.J.;P.M. LEWIS 11mm. R.E. STEARNS. "Hierarchies of memory lim- ited computations." IEEE Conf rence Record 93 Switchigg Circuit Them _a_._nd_ ical Desi , Ann Arbor, Mich- igan, 1 5), 179-190. HARMANIS,J.: AND R.E. STEARNS. Al..- gebraic Structure Theory 9_f_ Sequential Machines , Prentice-Hall , Inc . ,Engle- wood Cliffs, New Jersey, (1966). HORNING,J.J.; AND B. RANDEIL."Process structuring." ACM ut Surve , 5, no. 1(march 1973 , 5-29. W,J.G.; AND J.L. SNELL. Mathemati- cal Models i_r_1_ _the Social Sciences, Chapter 2, Blaisdell, New York, (1962). KNUTH, D. "Additional comments on a problem in concurrent programming control." Com. ACM 2, 5, (May 1966). LAMPORI', L. "The parallel execution of DO loops." Comm. EEEHlZ’ 2, (Feb. 197A). 83-93. IEEMAN, M. "A survey of problems and preliminary results concerning paral- lel processors." Proc. IEEE, 54, (Dec. 1966), 1889-1901. (LEVI 71) (MANN 70) (MCCA 6o) (NAss 73) (NORM 72) (PALM 7A) (RAMA 69) (Russ 69) (SALT 66) (TURI 37) 106 LENIS,F.D. "The enumerability and in- variance of complexity classes." J. of Comp. and Sys, Sciences 5, 3, (June 1971), 286L303. MANNA, Z. "Termination of programs re- presented as interpreted graphs." Proc. AFIPS 1970 SpringgJoint Computer Conf., AFIPS press, Montvale, New Jersey, 83-89. MCCARTHY,J. "Recursive functions of symbolic expreSsions and their comp- utation by machine.: Commun. Assoc. CgfiputingMachinery, 3, no. E; (1960) l . NASSI,I.; AND B. SHNEDERMAN. "Flowchart techniques for structured programming. SIGPLAN Notices, (August 1973), 12-26. NORMAN,'...; AND F.S. ROBERTS. " A der- ivation of a measure of relative balance for social structures and a characterization of extensive rationsystems." J. of Math. Psych._9 (1972 ) 0 66-91 0 PAIMER,E.M.:M. RAHIMI: AND R.w. ROBINSON. "Efficiency of a binary comparison storage technique." (to appear). RAMAMOORTHY,C.V.: AND M.J. G- LALEZ. "A survey of techniques for recognition parallel processable streams in computer programs. programs.: Proc. AFIPS 1969 Fall Joint Co uter Conf., AFIPS press, Montvale, N.J. 1'15 0 RUSSELL,E.C. " Automatic program anal- ysis.: PhD Dissertation, Dept. of Electrical Engineerying, Univ. of Calif. Los Angeles, Calif., 1969. SALTZER,J.H. "Traffic control in a multiplexed computer system" PhD Dissertation, Massachusetts Institute of Technology, 1966. TURING,A.M. "0n computable numbers, with an application to the entschei- dungsdproblem." Proc. London Mathe- matical Society 2, 42, (1936-37) (TURS 68) (VANW 69) (VOLA 70) 107 TURSKI,W.,M. "SODA - adual activity operating system.: Computer J. 11, VAN NIJNGAARDEN,A.;B.J. MAILLOUX, J .E.L.PECK; AND C.H.A.KOSTER. "Re- port on the algorithmic language ALGOL 68." Mathematisch Centrum. M R 101, Amsterdam, (Oct. 1969)? VOLANSKY,S.A. "Graph model analysis and implementation of computational sequences.: PhD Dissertation, Dept. of Electrical Engineering, Univ. of California, Los Angeles, Calif., 1970. "'Tfll'l‘flfliflli@fllfllfilflfliflflflfiflflwflfiWTs