THE EQUIVALENCE OF MODELS OF TASKING + by Daniel M. Berry Brown University

Size: px
Start display at page:

Download "THE EQUIVALENCE OF MODELS OF TASKING + by Daniel M. Berry Brown University"

Transcription

1 THE EQUVALENCE OF MODELS OF TASKNG + by Daniel M. Berry Brown Universiy Absrac. A echnique for proving he equivalence of implemenaions of muli-asking programming languages is developed and applied o proving he equivalence of he conour model and a muli-asking version of he copy rule. 0. nroducion n muli-asking programming languages, e.g. Algol 68 [vwn 69] and PL/ [Wlk 69], he inheren nondeerminism associaed wih asking accenuaes he difficuly of precisely describing compuaions of programs in he language and of proving he correcness (i.e., equivalence o definiion) of implemenaions of he language. The purposes of his paper are i) o illusrae a mehod of defining (implemenaions of) muliasking languages and 2) o show he developmen of a proof echnique which is based on he definiion mehod and which is appropriae for proving equivalence of implemenaions of muli-asking languages@ As he definiion mehod we make use of nondeerminisic informaion srucure models (NDSMs) [Weg 70,71a,b,72]. An NDSM reas a compuaion as a sequence of successive snapshos; because of he nondeermism, here may be a choice of several possible successor snapshos for a given snapsho. One defines a language and/or an implemenaion by giving an NDSM which models he compuaions in he language and/or implemenaion. To illusrae he proof echnique, we define and prove equivalen wo NDSMs which model implemenaions of a ficiious generalized block srucured language GBSL. One of hese models is an exension of he copy rule which has been used o define several block srucured languages, e.g. PL/ [Wlk 69], Algol 60 [BG 70, Nau 63] and Algol 68 [vwn 69], and he oher is Johnson's conour model [Joh 71] which is closer o an acual implemenaion.** Because of he sheer size of he definiion of a complee language, a complee implemenaion, and hus a complee proof of equivalence, we find i necessary o find a suiable level of semi- o informal definiion and proof. While he definiions and proofs given as examples may of necessiy be less han compleely formal, i is necessary ha he basis on which he definiions and proofs are made be firmly rooed in formal resuls. Therefore, we shall formally develop he noions of nondeermisic informaion srucure model, compuaions, and equivalence of NDSMs, and we shall prove he validiy of he proof echniques we use. n an aemp o be somewha coheren, somewha narraive, and somewha precise, he plan for he secions of he paper is as follows: 'This work was suppored in par by NSF Gran GC and by General Elecric R & DC, Schenecady, N.Y. *Similar work has been done by he BM Vienna Group wih heir definiion of he muli-asking language PL/ [Wlk 69] and in heir developmen and applicaion of he Lucas Twin Machine proof echnique [Luc 68, HJ 70, JL 71]. *gthus, his paper exends he resul of a previous paper by his auhor [Bry 71c] which shows ha he single ask conour model is equivalen o he single ask copy rule. i. Define NDSMs in general 2. Give assumpion for NDSMs o be used for defining programming languages 3. nformally describe synax of GSBL 4. Give and describe example program in GSBL o be used o refer o in secions 5 and 6 5. nformally define conour model and give sequence of snapshos of example program 6. nformally define copy rule and give sequence of snapshos of example program 7. Define various forms of equivalence for NDSMs for programming languages and show validiy of proof echniques 8. nformally prove conour model equivalen o copy rule. Due o page limiaions, breviy was required. Since he conour model and he copy rule have been wrien abou elsewhere, breviy was obained a he expense of he definiion of he models in secions 5 and 6. The reader who finds hese secions oo brief is urged o consul he following more leisurely, narraive and pedagogic inroducions (beware: here are a few minor changes in he presen versions of hese models): conour model: Joh 71, Bry 71a,b copy rule: Weg 71b, Bry 71c, Weg 72 i. Nondeerminisic informaion srucure models We will define a programming language by giving a nondeermisic informaion srucure model (NDSM) for i. A compuaion of a program in he language will be described as a sequence of snapshos (insananeous descripions, core dumps) aken beween successive insrucion execuions. Each compuaion sars off wih an iniial snapsho S O and proceeds hrough successive snapshos S,$2,... Each snapsho is obained from he previous by execuion of some insrucion by some ask, ha is, by he applicaion of some ransformaion. Since i is nondeer~ninisic as o which ask execues nex, he ransformaions are nondeerminisic; ha is, hey map a snapsho o a se of snapshos. Alhough we make use of such programming language noions as programs and asks in inuiive discussions, for he sake of generaliy we would like he definiions of NDSMs and relaed conceps o be as independen as possible of hese specifics of programming languages. Therefore, we define an NDSM as a hreeuple, (,10,F), where is a counable se of all possible snapshos, 0 is he subse of which is he se of all possible iniial snapshos, and F is a finie se of ransformaions which map a snapsho o a se of snapshos. Definiion i. M = (,10,F) is a nondeer~ninisic informaion srucure model (NDSM) if and only if i) is a counable se of objecs called snapshos. 2) 10ci is he se of objecs called iniial snapshos. 3) F is a finie se of ransformaions each of he form f:l+p(1), where ~() denoes he se of all subses of m A ransformaion is applicable o a given snapsho if he ransformaion maps he snapsho o a non-null se of snapshos. A snapsho is ransformable if here is a ransformaion applicable o i; oherwise i is inransformable. 170

2 Definiion 2. Le M=(,o,F) be an NDSM; le Sg be a snapsho. Then, ) f fef is a ransformaion, hen f is applicable o S if and only if f(s)~@. 2) S is ransformable if and only if for some fef, f is applicable o S. 3) S is inransformable if and only if S is no ransformable. A compuaion is a sequence of snapshos saisfying cerain iniial and inducive condiions; i.e., if he sequence is non-empy, hen he firs snapsho in he sequence, SO, is an elemen of 0; and, for all S i in he sequence, Sief(Si_ ) for some fef. However, his is no enough. Suppose <S0,S,S2,S~> is a compuaion. Then clearly he sequences <~0 >, <S0,S> and <S0,S,S2 > all saisfy he iniial and inducive condiions and hus appear o be compuaions even hough hey are all "incomplee" subsequences of a compuaion. To fix his hole in he definiion we add %he sipulaion ha a compuaion is a sequence which is also no a proper iniial subsequence of any oher sequence saisfying he iniial and inducive condiions. Definiion 3. Le M:(,10,F) be an NDSM. Then he sequence C=<S0,S,...,Si,...> is a compuaion in M if and only if i) for all S i in C, Sie 2) if CW<> (he empy sequence), hen S0e 0 3) for all S i in C wih i>o, here exiss an fef such ha Sief(Si_ ) 4) for all sequences D saisfying (i), (2) and (3) above, C is no a proper iniial subsequence of Dm We say ha C is a compuaion of S O in M if he firs snapsho of C is S O. Also, for an NDSM M, we define he funcion M o give all compuaions in M of a given S O. Definiion 4. Le M=(,0,P) be an NDSM; le S0e. Then 01) C is a compuaion of S O in M if and only if a) C# <> is a compuaion in M. b) The firs snapsho in C is S O. 2) M(S0)={CC is a compuaion of S O in M}, Since every snapsho of a compuaion C excep he firs is obained by ransforming he previous, i is clear ha here is a mos one inransformable snapsho in C (here may be none, if C does no hal) and if here is an inransformable snapsho in C, i mus be he las one. THEOREM i. Le M=(,0,F) be an NDSM; le C be a compuaion in M. Then i) There exiss a mos one snapsho Se in C such ha S is inransformable. 2) f Sel is a snapsho in C such ha S is inransformable, hen S is he las snapsho in C, We now have he righ o speak of he unique inransformable snapsho S of a compuaion if such a snapsho exiss. We call a compuaion ha has one a haling compuaion and we call he inransformable snapsho he final snapsho of he compuaion. Definiion 5. Le M=(,o,F) be an NDSM; le C be a compuaion in M. Then i) C hals if and only if for some Sel, S is in C and S is inransformable, 2) final(c) is defined if and only ff C hals, 3) final(c)=s if and only if S is in C and S is inransformable. 2. NDSMS for programming languages So far NDSMs and compuaions have been defined independenly of programming languages. Since he NDSMs given in wha follows are for modelling execuions of programs in some programming language, we mus add assumpions under which an NDSM is an NDSM for a programming language L. n mos programming languages we have inpu and oupu rouines. Therefore, we assume ha for each NDSM, M, for execuing programs of L here are snapsho componen selecion funcions called inpu M and oupum, which selec he inpu and oupu liss of a snapsho. We also assume ha here is a se of inpu liss, NPUT, and a se of oupu liss, OUTPUT, in which all possible inpu liss and oupu liss of inegers, reals, booleans and characer srings may be found. Furhermore, we assume ha here exiss a compile funcion, compilem, which ranslaes a given program p in L and a given inpu 6 in NPUT o he iniial snapsho of M for a compuaion of he program p wih inpu 6. The inpu~ and compile M funcions are assumed o be relaed in he following manner: he inpu M of an iniial snapsho S O is 6 if and only if for some program pel, S O is he resul of compiling p and 6. Assumpion i. Le M=(,10,F) be an NDSM for a programming language L. Then i) here exis counable ses NPUT and OUTPUT of liss of inegers, reals, booleans and characer srings. The empy lis, <>, is in boh NPUT and OUTPUT. 2) here exis funcions, inpum:l NPUT and oupum:l+output. 3) here exiss a funcion, compilem:(l NPUT) l 0. 4) for all S0el0, inpum(s0)=6 if and only if for some pcl, compilem(p,6)=s 0, Therefore, he se of compuaions in M of he program p in L wih inpu 6 is denoed by M(compileM(P,6)). Since we are concerned only wih NDSMs for programming languages, we shall refer o hem simply as NDSMs in he discussions ha follow. 3. Synax of programs in GBSL We give a brief descripion of he synax of programs in a generalized block srucured language GBSL, which is a generalizaion of Algol 60 and which incorporaes mos of he common feaures of mos block srucured languages. GBSL also has faciliies for ask creaion, erminaion and synchronizaion. While hese asking feaures are no enirely sandard, hey do indicae wha can be done. A program in GBSL is a single block*. A block has a declaraion lis and a saemen lis. A saemen, which is opionally labelled, is eiher an assignmen saemen, a condiional saemen, a procedure call, a goo saemen, a (nesed) block, a ask creaion saemen, a block, resume or erminae saemen, or a reques or release saemen. Some of he sandard procedures include inpu/oupu procedures. A procedure declaraion is similar o a block. has a parameer specificaion lis and a body which consiss of a single saemen (which, of course, may be a block). We observe ha blocks and procedures may be arbirarily nesed wihin each oher. All idenifiers used in a program mus be declared in some block or be specified as a parameer *'This assumpion can be made a no loss of generaliy. To ge exernal procedures, eonsider he ouer block o be a prelude block in which all exernal procedures are declared and in which he main block is immediaely nesed. 171

3 of some procedure. We shall use he erm "declaraion" o mean boh declaraion and parameer specificaion. A declaraion of an idenifier is said o have a scope which includes all saemens, blocks and procedures nesed inside he declaring block or procedure excep for hose blocks and procedures in which he idenifier is redeclared. The use of an idenifier is said o idenify he declaraion in whose scope he use lies; every legal use of an idenifier mus idenify some declaraion. When an idenifier is declared, i is declared o be a variable of a cerain daa ype. These ypes include ineger, real, boolean, characer, poiner, label, procedure, ask and semaphore, as well as array-s* and srucu~-~ ~ consising of elemens of any daa ype. An assignmen saemen has a lef-hand side, which may be a simple variable of any daa ype, a subscriped variable, or a poiner idenifier wih indirecion specified, and a righ-hand side which may be a variable of any daa ype or some arihmeic, boolean, characer or poiner expression. There are wo forms ha a ask creaion saemen may ake: goo ask p-~g ) ask The firs specifies ha a ask is o be creaed so ha i begins execuing a he saemen labelled. The second specifies ha a ask be creaed so ~a i begins execuing in he procedure body of p_. Parameers may be passed o he procedure. When he ask finishes execuing he body, i erminaes iself. Opionally, one may specify ha he creaed ask is o be named by a ask variable, as in goo ask or p(arg) ask A named ask may be blocked, resumed (unblocked), or erminaed by using is ask name in he appropriae saemen: block resume erminae f a ask execues block or erminae, i blocks or (coninued on op righ column) erminaes iself. Task synchronizaion is accomplished by allowing a ask o reques he privae, uninerruped use of a semaphore and o release he semaphore when i is done. The operaions of reques(s) and release(s) are similar o hose of Dijksra's P(S) and V(S) and ESOPE's reques(s) and release(s) [Dij 68, Be 70]. 4. Example program As an example of GBSL synax we have given a GBSL program which has been very purposely conrived o illusrae mos of he feaures we will be discussing in coming secions. The program, 1 -- begin ineger a; ask ; 2 ~-- procedure p(i); 3 [ ineger i; value i; 4 a:=i+l 5 6 [-- begin ineger a; 7 [ p(5); 8 if random=.5 hen goo Z 9 end; i0 :p(5) ask ii m end consiss of an ouer block declaring ineger a, ask, label i (implicily), and procedure p. has an inner block which declares anoher ineger a. The procedure p has an ineger by-value parameer i and a use of he non-local a declared in he oue--r block. The program can be--execued in he following sequence: he ouer block and hen he inner block are enered. n line 7, p(5) is called. Then, depending on he value of he random number generaor, eiher we goo, performing a so-called non-local jump, or else we exi he block hrough he end. n eiher case, in line i0, a new ask which execues he body of [ is creaed and named. n he meanwhile he main ask goes on o exi--he ouer block and erminae iself. The creaed ask finishes execuing he body of and hen i erminaes. Wih boh asks erminaed, he compuaion hals. This execuion sequence is he basis for he sequenc~ of snapshos in secions 5 and 6. n secions 5 and 6 below, he conour model, CM, and he copy rule, CR, are defined as NDSMs. For each we give he forma of he snapshos, he forma of he iniial snapsho and he compile funcion, he ransformaion, and a complee sequence of snapshos for a compuaion of he example program. Occasionally he descripions of he models will refer o "before" and "afer" snapshos in hese compuaions. Secions 5 and 6 are given side-by-side in opposie columns of he page so ha corresponding pars of he definiion and corresponding snapshos are opposie each oher. Descripive ex which is common o boh definiions runs across boh columns (such as his paragraph). This side-by-side reamen should accenuae he equivalence of he wo models and should se he reader in he proper frame of mind for he forhcoming proof echnique. 5. Conour model (CM) Snapshos. Each snapsho in CM consiss of hree componens (see snapshos 0 and i for examples). i) The algorihm is a GBSL program wih he lines numbered for he purposes of addressing (poining o) hese lines. We require ha he algorihm be ime-invarian and re-enran. (Snapsho 0 has an algorihm; since he algorihm is invarian, i is no shown in he res of he snapshos.) 2) The record of execuion conains all cells which are allocaed during he execuion of he algorihm. These include: *We shall no be concerned wih hese ypes. 6. Copy rule (CR) Snapshos. Each snapsho in CR consiss of five componens (see snapshos 0 and i for examples). i) A possibly null se of ask sacks, each of which is a ask. (This is in he op half of he snapshos.) Each ask has four componens: a) he sack-of-exs is a pushdown sack of modified versions of he GBSL program being execued. The boom of he sack** conains an unmodified version of his program. n each of hese exs he lines are numbered for he purpose of addressing hese lines. The numbering is such ha modified versions **When we use he word "sack" we refer o "sackof-exs" raher han "ask sack". 172

4 a) a possibly empy se of conours. (These are he recangles of he snapshos.) Each conou~ conains all (sub)cells* allocaed as he resul of one block or procedure enry, in paricular: l) a declaraion array conains one (sub)cell* for each idenifier explicily or implicily declared in he enered block (in he upper lef-hand corner of a conour); 2) a saic link which for a conour c poins o a conour d allocaed for he block d' in Which he block c' corresponding o conour c is nesed (he saic link is in he lower lefz-hand corner of he conour). b) a possibly empy se of processors, each of which is a ask (hese are he n's in he snapshos). The componens of a processor are hree: i) an insrucion poiner, ip, which is a number poining o he nex saemen in he algorihm o be execued. (The ip is he arrow coming ou of he righ-hand side of he ~; an ip poining o line n is denoed by "-~n". 2) an environmen poine~, ~p, which ~ins o a conour allocaed for he block in which he saemen poined o by he ip is nesed. Togeher he ip and he ep of he processor form is sie of aciviy. (The ep is he arrow coming ou of he lef-hand side of a ~.) 3) a sae which is eiher awake, asleep or erminaed. (An awake processor is denoed by a solid~; an asleep processor by a doed [[-~ wih is ip drawn as an arrow, and a erminaed processor by a doed "[~/-o wih a null ip.) All cells in he record of execuion are allocaed from free sorage and remain allocaed as long as hey are accessible o some awake processor. A cell c is accessible o an awake processor if and only if one of he following hree is rue: a) c is an awake processor. b) c is poined o by he ep of an awake processor. e) c is poined o by some poiner p which is sored in a subcell of some cell d which is accessible o an awake processor (he mos imporan such poiner p is he saic link of a conour). A cell of he record of execuion is deallocaed immediaely when i is no longer accessible o any awake processor. 3) The inpu/oupu componen conains four subcomponens: a) an inpu lis seleced by inpucm. b) an inpu poiner which poins o he nex iem on he inpu lis o be read. c) an oupu lis seleced by oup~_c M. d) an oupu poiner which poins o he las iem on he oupu lis ha was prined. niial snapshos and compilecm Applicaion of he funcion compilecm o a program p and an inpu lis 6 will produce he iniial snapsho for his program in CM. n he iniial snapsho he algorihm is he program p wih he lines numbered. There is a processor ~ whose ip of he same saemen are numbered he same. (The sack-of-exs is shown opening o he righ.) b) an insrucion poiner, i[, which is a number poining o he nex saemen o be execued by he ask sack. The saemen acually execued is he one in he op ex of he sack-of-exs whose number is ip. (The ip is shown as a horizonal arrow poining in from he righ.) c) a ask name, ni, wih i>l, which uniquely idenifies he ask sack. (The ask name is in he lile box on he upper lef-hand corner of he ask sack.) d) A sae, which is eiher awake, asleep, or erminaed (an awake ask sack has solid boundary lines; an asleep ask sack has doed boundary lines and an arrow as an ip; a erminaed ask sack has doed boundary lines and a null ip, ",--- "). 2) A ask name generaor, TNG, which is incremened by 1 a each ask creaion and whose value is used o form he ask hame, ni, for he creaed ask sack (in he lower lef-hand corner). 3) A block enry coun generaor, BECG, which is incremened by 1 a each block or procedure enry. A block or procedure enry he curren value of he BECG is used o form unique names (addresses) by subscriping all idenifying occurrences of locally declared idenifiers wih his value (in he lower lef-hand corner). 4) A counably infinie wo-dimensional sorage componen whose locaions are addressed by ordered pairs of he form (id,n) where id is an idenifier and n is an ineger. The unique name addresses l~caion (id n) of he sorage. Sorage is never desroyed. (This is he array in he boom half of he snapshos; he idenifiers label he columns and he inegers label he rows.) 5) The inpu/oupu componen conains four subcomponens: a) An inpu lis seleced by inpucr. b) An inpu poiner which poins o he nex iem on he inpu lis o be read. e) an oupu lis seleced by oupucr. d) an oupu poiner which poins o he las iem on he oupu lis ha was prined. niial snapsho and eompilecr Applicaion of he funcion compilecr o a program p and an inpu lis 6 produces he iniial snapsho for he execuion of he program wih he inpu lis. The iniial snapsho consiss of a single awake ask sack named nl, wih he ex of *Technically, a conour is one big cell allocaed and deallocaed as a uni. The conour's consiuen subcells are called cells wihou fear of confusion. 173

5 poins o he firs saemen in line and whose ep he program p on op of he sack, he ip poining is null (grounded arrow). The inpu lis 6 is made o he firs saemen, he BECG se o i, he TNG o be he inpucm componen. The inpu poiner is se o 2 (because n has been allocaed already), se o poin o he firs iem on he lis. The and a compleely uniniialized sorage. The inpu oupu lis and he oupu poiner are boh empy, lis 6 has been made o be he inpucr componen of he snapsho. The inpu poiner is se o poin o he firs iem on he inpu lis. Boh he oupu lis and he oupu poiner are empy a his ime. Example: Snapsho 0 (he inpu lis is null wih his program). Transformaion The single ransformaion f of CM is he following five-sep procedure: i) Selec one awake processor: if here are none, he compuaion hals. 2) Fech he insrucion poined o by he seleced processor's ip. 3) Sequence he seleced processor's ip o poin o he nex saemen. 4) Execue he feched insrucion. 5) Sar all over a () wih a new snapsho. Transformaion The single ransformaion of CR is he following five-sep procedure: i Selec some awake ask sack. f here are none, he compuaion hals. 2 Fech he saemen in he opmos ex of he seleced ask sack's sack which is poined o by he seleced ask sack's ip. 3 Sequence he seleced ask sack's ip o poin o he nex saemen. 4 Execue he feched saemen. 5 Sar all over a sep () wih a new snapsho. Sep (i) aemps o reflec he nondeerminism inheren in asynchonous execuion of asks by dispaching for one insrucion a nondeerminisically seleced processor or ask sack. Sep (4) is broken up ino sub-cases, one for each saemen and expression ype of GBSL. n he following subsecions, we give he deails of sep (4) of he ransformaion for he imporan saemen ypes and expression ypes. (All uses of he words "processor" or "ask sack" will refer o he seleced or execuing processor or ask sack unless oherwise saed.) Block enry Block enry A conour is allocaed wih a cell in is declar- A new ex of he program is pushed ino he aion array for each idenifier declared in he en- sack. The new ex is obained from he previous ered block and a cell for he saic link. The op-of-sack ex by using he curren value of BECG saic link is made o be a copy of he processor's o subscrip all idenifying insances (in he encurren ep. Finally, he processor's ep is se o ered block) of each idenifier declared in he poin o he new conour, block.* Also, he begin delimier of he block is subscriped wih he curren value of he BECG. Then he BECG is incremened by i. Finally, he sorage locaion for each newly creaed unique name (subscriped declared idenifier) is marked declared. Noe ha he ip of he processor or ask sack has already been advanced o poin o he firs saemen in he block enry. Examples: #i: before: snapsho 0 #2: before: snapsho i afer: snapsho i afer: snapsho 2 Block exi The processor's ep is made o be a copy of he saic link of he conour poined o by he processor's curren ep. (Noe ha he processor's ip has already been advanced.) f he conour has become inaccessible o all awake processors, i is deallocaed. (We discuss his in more deail in he secion on reenion.) Examples: #i: before: snapsho 6 afer: snapsho 7 (deallocaion of conour) Accessing environmen and designaed cell The accessing environmen of a processor is he ordered lis of conours such ha he firs of hese is he conour poined o by he processor~s ep and each successive conour on he lis is poined o by he saic link of he previous conour on he lis. (By he way he conours are drawn, i is he lis of conours surrounding he processor.) The cell designaed by he use of an idenifier is he one in, he conour such ha i is he firs on he lis wih a cell for ha idenifier (ha is, he innermos cell wih ha idenifier as he label). f here is no such cell he use is in error because he idenifier has no been declared. Block exi The op ex on he execuing ask sack's sackof-exs is popped. The ip has already been advanced o poin o he saemen afer he block. The sorage componen is no changed. As we shall see, he fac ha sorage is no changed now effecively resuls in reenion. #2: before: snapsho 8 afer: snapsho 9 (no deallocaion of conour since i is sill accessible o righ-hand processor) Referred-o locaion There is no complicaed procedure for looking up he value of an idenifier. By he ime an idenifier is used, i has been subscriped (if no, he use of he idenifier is no wihin he scope of a declaraion; i.e., he use is in error because he idenifier has no been declared). The locaion referred o by he subscriped idenifier ~ is he one addressed by (id,n). *Only hose uses which idenify he declaraions in he enered hlock are subscriped. 174

6 Examples: n snapsho 3, he accessing environmen of he processor consiss of cells for Z,p,a and in he ouer conour and of cells for i and ~ in-- he righ-hand inner conour. The cel~for a---in he lef-hand inner conour is no included ~n he processor's accessing environmen. n snapsho 8 he wo processors share access o he cells for ~, p,a, and in he ouer conour, bu only he righ-hand processor includes he cells for i and in is accessing environmen. Assignmens To execue an assignmen saemen he value of he righ-hand side is sored ino he cell designaed by he lef-hand side. The value of he righ-hand side is compued by using he values sored in he cells designaed by he idenifiers in he righ-hand side. Examples: #i: before: snapsho 3 afer: snapsho 4 Assignmens When execuing an assignmen saemen he value of he righ-hand side is assigned o he locaion referred o by he lef-hand side. The value of he righ-hand side is compued using he conens of he locaions referred o by he subscriped idenifiers in he righ-hand side. #2: before: snapsho 9 afer: snapsho i0 (noe: no change in he value of a) Label declaraion and iniializaion A label consan idenifier is assumed o be decla ~ed in he innermos block in which he idenifier appears as a saemen label. A goo may be hough of as specifying a new sie of aciviy for he execuing processor. Since boh an ip and ep are required o compleely specify a sie of aciviy, a label mus be a daa n CR, a label value consiss of an ip and a sack-of-exs; ha is, i conains all he informaion ha a ask sack does excep for he ask name and sae. iem and mus consis of an ip and ep. A label A label consan,, is iniialized upon enry consan is iniialized upon enry o he block in o he block in which i is assumed o be declared. which i is declared. s ip poins o he label- f he value of he BECG before enry is n, hen in led saemen in he algorihm and is ep poins o he conour allocaed for he block. locaion (,n) is sored an ip poining o he labelled saemen and a copy of he sack-of-exs of Example: The label consan ~ in line i0 is assumed he execuing ask sack jus afer he enry. This o be declared in he ouer block. n snapsho i, is so ha he idenifiers declared in he same jus afer enry o he ouer block, he cell for block ha he label is will already be modified in ~has an ip poining o line i0 and an ep poining he op ex of he label's sack. o he conour in which he cell resides. Example: Snapsho i conains he firs appearance of he label value in (~,i). Goos The label value is obained from he cell desig- Goos The label value is obained from he locaion naed by he arge label. The execuing processor's referred o by he arge label. The execuing ip and ep are rese o copies of ha of he label value. ask sack's ip and sack-of-exs are rese o copies of ha of he label value. Example: before: snapsho 5 afer: snapsho 7 (Noe ha he goo has been arranged o make double use of snapsho 7. We assume ha he random number ha was generaed equals.5.) Procedure declaraions and iniializaion A procedure value is an (ip,ep) pair since a procedure call is a goo wih saving of a reurn label. Also, he ep poins o he environmen which includes he cells designaed by he nonlocal idenifiers in he procedure body. A procedure idenifier is iniialized upon enry o he block in which he procedure is declared. The cell for he idenifier is iniialized wih an ip poining o he enry poin of he procedure in he algorihm and an ep poining o he conour in which he cell resides. Example: n snapsho i, jus afer enry o he ouer block in which L is declared, he cell for in he ouer conour has an ip poining o line 2 and an ep poining o ha conour. Noe ha he ouer conour conains he cell designaed by he nonlocal a in he body of E" Thus a call ime we shall be ~ble o access he cell for a. Procedure declaraion and iniializaion n CR, a procedure value consiss of an ip and a single modified ex of he program***. Upon enry o a block in which a procedure E is declared, if he value of he BECG is. n jus before enry, locaion (p,n) is iniialized wih an ip poining o he enry poin of he procedure and wih a copy of he op ex of he sack jus afer enry o he block. Noe ha nonlocals in he procedure body are already modified in he ex associaed wih he procedure value. Consequenly, we have a means" of accessing he proper locaions for hese nonlocals when he procedure is called. Example: Snapsho conains he firs appearance of he procedure value in (p,l). ***The reason a procedure is no a full sack like a label is ha lower levels of he sack are no needed. To see his, observe ha here is no way o ge ou of a cell excep by a reurn or a goo, boh of which replace he sack. 175

7 Procedure calls A conour wih a cell for each of he paramezers and a cell for a reurn label,b*, in is declaraion array is allocaed. The cells for he parameers are filled in wih he values** of he %orresponding acual argumens. The cell for )% is filled in wih he curren ip and ep of he processor. (Remember ha he processor's ip has already been sequenced o poin o he nex saemen~ Thus he reurn label's sie of aciviy designaes he saemen afer he call in he calling environmen.) The saic link of he new conour is se o a copy of he ep of he called procedure. Then he processor reses is ep o poin o he new conour and is ip o poin o he firs execuable saemen afer he enry poin. Example: before: afer: Procedure exi Upon reaching he end of he procedure body, he processor simulaes execuion of goo )~. This resuls in using he reurn label sored in he cell for ~ in he presen innermos conour (he one allocaed for he call); he processor goes o he saemen jus afer he call in he environmen in which he call was m~de. Example: before: afer: T@sk creaion A ask, as menioned before, is a processor. Thus creaion of a ask means ha one mus allocae and iniialize a processor. niializinga processor means giving i a sie of aciviy. Therefore a ask creaion saemen mus provide an (ip,ep) pair of some kind. Call procedure as ask f p.(acual params) ask is execued, a conour is allocaed wih cells in is declaraion array for each of he formal parameers and he reurn label, )~. The formal parameers are iniialized o he values of he corresponding acual parameers and he reurn label is se o nil. (Thus when a processor ries o execue a reurn wih a nil label, i will erminae.) A new processor is allocaed. s ep is se o poin o he new conour, is ip is se o poin o he firs saemen of he body, and is sae is se o "awake". Example: before: afer: Tasked goo f ~oo ask is execued, a new processor is allocaed. s ep and ip are iniialized o hose of he label sored in he cell designaed by. The sae of he new processor is se o "awake". Example: Suppose line 8 read if random=.5 hen goo ~ ask and in snapsho 5 random reurned.5; hen we have: *We use he leer aleph,~, o idenify he reurn label so ha i will no conflic any programmerdefined variables. Procedure calls The ex of he program which is in he procedure value is obained and pushed ino he execuing ask sack. n his copy, he procedure delimier and all idenifying occurrences of he formal parameer idenifiers are subscriped by he curren value of he BECG. The values of he acual parameers are sored in he appropriae formal parameer locaions in sorage. The ending semicolon of he procedure body is replaced by goo ~i where i is he curren value of he BECG. A label (an ip and a sack) in- dicaing he reurn sie of aciviy is sored ino (,i). The BECG is incremened by 1 and he ip of he ask sack is se o poin o he firs execuable saemen in he procedure body (his is obained from he ip of he procedure value). snapsho 2 snapsho 3 Procedure exi Procedure exi occurs by explici execuion of ~ i which has been wrien a he end of he procedure body. snapsho 4 snapsho 5 Task creaion As observed earlier, a ask is an ordered quadruple (sack-of-exs, ip, sae, ask name). Creaing a ask involves creaing a new ask sack wih he sack-of-exs and ip obained from a label or a procedure value. Call procedure as ask f Pi(acual params) ask is execued, hen he execuing ask creaes a new ask sack wih a sack of heigh 2. The boom ex is he original program which may be copied from he execuing ask's sack. The op ex is formed by modifying he ex sored wih he procedure value in locaion (p,i). n his ex, he procedure delimier of he enered procedure and he idenifying occurrences of he enered procedure's formal parameers are subscriped wih he curren value of he BECG. The formal parameer sorage locaions are iniialized o he corresponding acual parameer values. The end semicolon is replaced by goo ~i where i is he curren value of he BECG. Since we wan erminaion a he end of he body, nil is sored in locaion (~,i). The ip of he new ask sack is se o poin o he enry poin of he called procedure. Then he BECG is incremened by i. Nex, he sae of he new ask sack is se o "awake" and he ask name is se o n i where i is he curren value of he TNG. Finally, he TNG is incremened by i. snapsho 7 snapsho 8 Tasked goo f goo i.@sk is execued, he execuing ask creaes a new ask sack wih he sack-of-exs and ip being a copy of hose of he label value sored in locaion (Z,i). The sae is se o "awake" and he ask name is formed by subscriping nnby he curren value of he TNG. The TNG is hen incremened bv **Tha is, he parameer passing mode is assumed o be call-by-value. To pass a parameer by name, pass a parameerless procedure by value; o pass a parameer by reference, pass a poiner by value. 176

8 before: snapsho 5 afer: exra snapsho (a Example: Suppose line 8 read if random=.5 hen goo ask. Then in snapsho 5 line 8 would read if random=.5 hen goo. ask. f he random number generaor did indeed reurn.5, hen we have: end of se of snapshos) (Assume line 8 reads proper- " ly in hese snapshos.) Se ask variable Se ask variable f he ask creaion saemen spedifies a ask r f he ask creaion saemen specifies a ask variable o name he creaed ask, as in p(5) ask, variable o name he creaed ask, as in-p.l(5) ~ l, hen, in addiion o he seps done o creae he hen in addiion o he seps done o creae he ask, a poiner poining o he new processor is ask, he ask name of he new ask sack, is sored sored in he cell designaed by he ask variable. in he locaion referred o by he ask variable, Example: before: snapsho 7 afer: sna )sho 8 Task blocking, erminaion and resuming Execuion of block ; erminae ; or resume ; where is a ask variable, resuls in seing he sae of he processor poined o by he value of o "asleep", "erminaed" or "awake", respecively. This happens only if he processor poined o by he value of is no already erminaed. Execuion of block; or erminae; changes he saus of he execuing processor o "asleep" or "erminaed", respecively. A ask may also be erminaed in he following wo manners: i. reaches he end of a procedure body and nil is sored in he local cell for ~. 2. runs ou of insrucions o execue, for example by exiing he ouer block. n hese cases he execuing ask changes is saus o "erminaed". n any of he above operaions, if an asleep or erminaed processor should become inaccessible o all awake processors hen i is deallocaed. (Recall ha an awake processor is considered o be accessible o iself.) Examples: erminaion in manner 1 before: snapsho i0 afer: snapsho ll Task blocking, erminaion and resuming Execuion of block i; erminae i; or resume i; where ~i is a subscriped versi n of a ask variable ~, resuls in seing he sae of he ask sack whose name is sored in locaion (,i) o "asleep", 'erminaed" or " awake", respecively. This happens only if he arge ask sack has no already become erminaed. Execuion of block; or erminae; changes he saus of he execuing ask sack o "asleep" or "erminaed", respecively. A ask sack may also become erminaed in he following wo manners: i. reaches he end of a procedure body and aemps o execue goo Wi wih nil sored in (~,i). 2. runs ou of insrucions o execue, for example by exiing he ouer block. n hese cases he execuing ask sack changes is saus o "erminaed". in manner 2: before: snapsho 8 afer: snapsho 9 Task synchronizaion A semaphore is a daa cell whose purpose is o limi he number of asks ha use he resource ha he semaphore represens, e.g. a criical secion of code. A semaphore cell consiss of wo fields, he value field and he queue field. The value field conains an ineger value; if he value is negaive, hen i is he n~nber of asks waiing for he use of he resource. f he value is posiive, i is he number of asks ha will be allowed o use he resource wihou waiing. f he value is zero, hen he resource is fully uilized and no ask is waiing for i. The queue field conains he head of a doubly linked lis of he processors which are waiing for he value of he semaphore o become zero (from a negaive value). The only ways o affec a semaphore's value are o declare i wih a cerain value or o reques or release i. The declaraion sema s wih i; resuls in soring 1 in he value field of he cell for s in he conour being allocaed. The effec of execuing reques(s) may be described by he following code: reques(s) ~ value f s:=value o_~f s-l; if value of s<0 hen add execuing processor o he queue of s and block he execuing processor; The queue field conains an ordered lis of ask names. The only ways o affec a semaphore's value are o declare i wih a cerain value or o reques or release i. The declaraion sema s wih i; will resul in ~being sored in he value field of locaion (s,i) where ~i is he modificaion of ha resuls from he acions of block enry. The execuion of reques(si[ is described by he following code: reques(s i) ~ value o_~f si:=value of si-1; if value of si<0 hen add ask name of execuing ask o he lis in queue of s i and se sae of execuing ask o "asleep"; The execuion of release(si[ is described by he 177

9 begin ineger a ; ask ; procedure p (i); ineger i ; value i ; a :=i end begin ineger a ; p (5); random--. 5 hen goo ~, end; :p (5) 1 p~gp in ineger a ; ask ; rocedure p (l); ineger i ; value i ; 4 a :=1 + 5 ; begin ineger a ; 7 p (5); li ff random=. 5 hen goo 9 end; :p (5).~sk 111 end BFCG -1 TNG -2 a 1 P SNAPSHOTS 0 10 P +2' a 7T 6 ~ ineger a ; ~sk ; rocedure p (i); ineger ; value i ; 4 a:=i+l 5 ; begin ineger a ; 'Z p (5); li ff random=. 5 hen goo 9 end; :p (5) ask 111 end ESECG -2 TNG -2 1 be~lnlineger az; ask l; 2 procedure Pl(i ); [ 3 ineger i ; value ; [ 4 a:=i +1 5 ; / 6 begin ineger a ;~ m P1(5); i { 98 enffd~andom=. 5 hen goin l Ln end 10 l:pl(5) =~Sk 1 _L_ a L ~ P Je~l 4 a1:=i+1 ded J-H0 P--2 a al i SNAPSHOTS 1 l pbeginmc i~ ineger a ; ask ; T ~ beginlneger a,; ask l; ] 1 beglnlneger al; in~k l; e~re p (i); [2 proce~lre Pl(i ); 2 PrOC ~ed=re Pi ); ~3 ineger i ; value i ; {3 ineger ' ; value ; r 3 / ineger i ; value ; 4l 4 := * 1 4. al:=l +1 4 a:= +1 [ 5 beg ; in {i 5 ; 5 ineger a ; beg~ ineger a ; 6 begin2ineger a2; 7 p (5); [7 pl(s); [ 7 p l ( S f ; ~ -- { li i :p end; ff rand (5) 9 ask... 5 hen " g 119 ff r~ndom=. 5 hen goo ill 8 end; 9 ff random=. 5 hen ~oo l end; l :pz (5) in~ l 10 JL1 :P1(5) =~k 1 Lll end lj~ end _Jll end -L~ M ~ P BECG -3 TNG -2! j2 ~pl(i); ( ~ 0 / ( SNAPSHOTS 2 [ 5 ineger a ; m~ ; "~ beam, neger a 1; =uk ; ] beginl~elper a; uk l; [ 1 b~l~mz~eger al; l~ l; cedure p (i); {2 procure P(i ); 2 proce~re Pl(i ); 2 pro~edurezpl(i3); 312 pbe [! ~ ',,! 4 a :=i +1 4 al:=i +1 4 al:=i +1 4 al:= ~ ; 5 ; 5 ; 5 ; in ineger a ; begin ineger a ; 6 begin2ineger a 2 6 beginl~lneger a2; 7 p (5); m p,(5); / m p1(5); / 7 p1(5); :p (5) ask l:pl(5) ~ 1 10 l:pl(5) g.bk 10 l:pll5) U~ 1 L n end " [11 end 11 end 11 end -L..-- a L l p SECG -~ " 2 ps'o"~-e~u-~-p (i); TNG :=i+1 G~Cl S SNAPSHOTS

10 1 P-~2 6 'al f [ S --el)_ / / / SNAPSHOTS 4 edare p (i); 2 procedure Pl(l ); / 2 procedure Pl(i ); 2 procedlre3pl(13); [ eger i ; value 1 ; / 3 ineger i ; value i ; 3 ineger i ; value i ; 3 ineger i 3; v~ue 13; 4 a := i + 1 / 4. al:= i all= i al:= i ~gin ineger a ; [ 8 begin ineger a ; 6 beginzlneger a2; 6 begn21neger a~; 7 p 45); 7 pi(5); 9 Pl(5); [ 7 Pl(5); :p(5) a~k 10 ll:pl(5) a~k :Pl(5) ask 1 10 llpl(s) ask 1 11 end l end 11 end 1, end BECG -4 TNG " P ~-Z 6 ( SNAPSHOTS 5 ~p~ u,eg, r = ;,~ ; * beemz?e~r =*; ~ %; T * ~,~eg,.v aa; zu= %; ]--- rrel ; p-cldue (! ); ;!32 proe~lare ineger ; P{ vakae ); ; [ i 3 2 procedure neger ; pl([ value ); ; i l 4 a:-i+l al:=i + 4 alfi+l ineger a ; ~ ineger a ; 6 begin2ineger a2; l 7 p (5); Pl(5); 7 Pl(5); l :1 8 ff random=. 5 hen goo ~ e~d; e~d; 9 end; :p(5) ask 10 &l:p1(5) a~kl 10 ~l:pl(5) 2~K [11 e~d end [ end J R a [ l p BECG -~r TNG ~ 13 P~Pl(i); neger l; vilu. 4 al:=i*l ~ec, 5 ; 2 J,, ~lm2 P--2 2, T-9 begln neger a ; ask ; [ begin lineger al; ask l; ], ~,.,ege, a i; ~,1; 1--- rocedure p (i); / 2 procedurl pl(i ); / 2 procedllre P[ ); l ineg... al... [3 i... v~l... [ 3 in... val... l 4 a := + / 4 al:=l + [ 4 al:=i + 5 ; 5 ; 5! begin ineger a ; 6 begin ineger a ; 6 begn2neger a2; ~ p (5); 7 pl(5); / 7 p~(s); l 9 end: 9 end ; 9 end~-----~ :p(5) ask 10 ~l:pl(5) ask 10 ~l:p1(5) ask 11 end 11 end 11 end L.-- BECG -~ R a [ P % TNG -2 6 de~l SNAPSHOTS 6 P-'2 6 9 begin [nqer a ; ask ; begulaeger al; ald l; rocedare p (i); 2 procedure p1(l ); ] ineger i ; value ; 3 ineger i ; Value ; :=i + 4 al:=i +1 begin ineger a ; 7 p 45); 7 Pl(5); i~!,,~do~=.s~h.~=, 8 ~..dom:.5=..~=, 1 9 end; 9 end ; :p (5) ~k 10 &l:pl(5) ask 1 [11 end 11 end J_ C 0 BECG -a TNG "2 6 -[2 ~p~(i); SNAPSHOTS 7 ] 79

11 Pl- l i 5- ~T h~,,;u,; 1 lbeg~hepral hskl m rocec~re p (); [ 2 procedure pz(i ); inger i ; value ; / 3 ineger i ; value i ; a:=i l 4 al:=l + 7 p m); / 7 pi(s); / :p (5) N 10 1:P~(5) mskl L n end 11 e n d ~ BECG -C "TNG -3 a 1 6 -~2 p"~-'~"a-p 1 (l); /!!=- n 2 J~l SNAPSHOTS 8 ~n ineger a ; p (5); i random=. 5 hen goo end :p (5) m~k 10 ii, o end 11 NL beghlheger az; ~k l; ] 2 procedure p (); procedure4pl (i4); i hinger i ; value i ; 3 ineger 4; V~le 14;.a:ffii+l 45.al:= i4* beg/n ineger a ; P1(5); ff random=. 5 hen goin z.[ emd; Lz:pl(5) ~k z end S i,( "blo ~" P --,-2 a. 6 L 1 begin ineger a ; ask ; ' 2 procedure p (1); 3 ineger ; v~/ue i ; l 14. a:=i +1 l,:5 ~..in h,~..~; i ~ p (5);, U random=. 5 hen Boin/L ' 9 end; 115 ~ :p (5) ask Ll_le_n_ d_... ~.~_ BECG -5" TNG - 3 S i [ P G -~2 ~p,(1); 4 al :=i+l n 2 2 ";* z-: ;--4 The erminaed processor should already be deallocaed in his snapsho. SNAPSHOTS 9 31 i procedure ineger i ; p value (i); i ; 23.a :=i + NL 5 beg[nlheger al: ~ l; procedure4 pl(i4); ineger i4; value i4;.al:= i4+ 1 i begin ineger a ; begin ineger a ; p 45); ff random=. 5 hen goo l ~do... hen~h,~ end; end ; 1~10 ~ :p (5) ask 10,1:~(5) h~ ix end 11 end... 0 a (, / --T' begin ineger a ; ine~ ; 2 procedure p (l); 3 ineger i ; value l ; a :=i + O 7 p 45); ] [ 8 ff random=. 5 hen goo, end: l ' 10 J :p (5) ask "~_,_~... J - _ BECG -5" TNG % 4 a1:=i+l n 2 l i SNAPSHOTS ] NL 5 gin ineger a ; ask ; [ 1 beglnlininger az; ask z; [ 2 procedure p (i); 2 procedure4pl(i4); [ 3 ineger 14; value i4; [ 4 i ineger a:=i*l i ; value ; 4 al:= i ; J 6 begin ineger a ; 6 begin ineger a ; p (5); 7 p1(5); i ]! ~ U random=. 5 hen goo 8 U random=. 5 hen goo 1 9 end; 9 end; :p (5) ask 10 1:P1(5) ask end 11 end d,j 180

12 p_-'l p - i 1 begin ineger a ; lsk ; 2 procedure p (l); 3 ineger 1 ; wlue ; 4 a:ffii+l 5 ; p (5); 8 if random=. 5 hen goin ~ 9 emd; 4 10 :p (5) iusk is ll end L: A-- p "e-l- ~ECG -,ff 2 1 7NG -3 G 12 { P"~-'~-~Pl a~:=~+e[ ; vfdu. ( ); n 2 The enire record of execuion should already be deallocaed. SNAPSHOTS (FNAL) ll ' ~ ineger a ask ' ~ ineger a ask 2 procedure p (1); 'e 2 prodedore4p]( 4); 3 ineger 1 ; value 1 ; 3 ineger i4; v~lue i4; i ' ilegin ineger a ; 6 begin ineger a ; ', ~ p (5);, re(s); ' ffrandom=.5 hengoin ' 8 ff random=.5 hengoo ll i 9 end; i end; "0 2 :p(5) Llsk 110 l.l:dl(5) in~ i....1,1 e~... _;_ - L~ L e_nd_ l+lol Pl+zl al m-+9 ~ 0 ~p~ceininger a ; ask ; [ ~ ~m,~., ~; ~,z; l X beginlineger al; hd l; dure p (i); [ 2 procedare Plii 1;! 2 procedure pl([ ); F -- 4 a:ffil+l 4 al:=i +1 4 al:= ; 5 ; 5 ; ineger a ; 6 begin ineger a ; 6 begin2ineger a2; ] 7 p (s); + p~(s); 7 re(s); : 89 end nud f random=. ; 5 hen goin / 98 end " rand m=" hen, g in 9 + end l+~dom+?~ " 5 Ulen l~ in 1 + ze.'pz(5)~sk 10 Zl:p(5)ask O ~'l :!:)1(5) ask BFCG-4 ~ J25NP(1);a1:=i+1 3 ineger ; vilue TNG -3 l decl + :-=--++= + EXTRA SNAPSHOTS neger a ; ask ; beginlinhger al; l.sk l; 2 procedure p (i); procedure Pl(i ); 3 ineger ; value i ; ineger i ; value i ; li a:=l*l 4 al:=l +1 6 begin ineger a ; p (5); 7 p(s); n end 11 end [ lil 5 edure p (l); [ 2 ps~c~re pill ); [ 2 procure pl(l ; / 3 ineger i ; ~mlue ; 3 neger i ; mllo i ; [ 3 ineger i ; wdue i ; [ ineger i ; 6 ~ neger a ; 6 be~in2ineger a2; ~ p (S); / 7 p,(5);! '/ pl(m; / 818 irandom=.5hengoo[ 8 ffrandomf.5hengoin ~[ 8 ffrandomf.5hengooi i~-- 9 end; 9 end; 9 e~d;(5) ~J 110 l:pl(5)ask 110 L:Pl(5)a~JK [ BECG -q TNG -2 cr c~ R a [,( P 0! 6 ~12 ~ P l ( i ) ; ded J~l 4. BECG. TNG 2 SNAPSHOTS S 5 AND S~ FOR SECTON 8 181

13 Similarly, we may describe release(s) as following code: release(s) ~ value f s:=value of s+l; release(s i) ~ value of si:=value of si+l ; if value of s<0 hen if value of si~0 hen remove any n~ from --remove any processor from queue of ~ and lis in queue of s i and se saejof he awaken i; ask sack named nj o "awake"; Boh of hese operaions are indivisible; ha is, only one processor or ask sack may be manipulaing any given semaphore a a ime. The effec of saying ha reques and release are indivisible is o make heir many-sep execuions appear as one sep of he compuaion. Noice ha he code for release specifies ha any processor (ask sack) in he queue is o be removed from he queue and awakened. This nondeerminism is o allow modelling of varied queueing schemes wihou acually saying wha hey are. npu/0upu Recall ha a snapsho conains an inpu poiner which poins o he nex iem on he inpu lis o be read and an oupu poiner which poins o he las iem on he oupu lis ha was prined. We assume ha ineger, real, boolean and characer iems may be read or prined in one inpu/oupu operaion. We also assume ha in GBSL here are wo language-defined inpu/oupu procedures, read and prin. Read is a parameerless procedure which picks up he iem poined o by he inpu poiner, reses he inpu poiner o poin o he nex iem on he inpu lis, and reurns as is resul he iem ha was picked up. Prin is a single-parameer, resulless procedure which reses he oupu poiner o poin o he nex posiion on he oupu lis and places he value passed as is parameer in ha posiion. Reenion n CM we have specified ha a cell is deallocaed when i becomes inaccessible o all awake processors. This scheme leads o auomaic deallocaion (when allowed), in he usual manner, upon block exis, goos o nonlocal labels and procedure exis. On he oher hand, i also leads o being able o keep daa iems such as conours for as long as hey are poined a. Thus we call he deallocaion scheme reenion. has a few consequences ha are worh noing. For example, assignmen of a label value is a simple maer of copying boh he ip and he ep of he label value ino he arge cell. By virue of he ep poining o he innermos conour of he label's environmen (and hus by a chain of saic links o all conours of he environmen), we know ha he conours of he environmen will be reained for as long as he label value iself is around, even if he blocks corresponding o he reained conours are exied. Clearly, he same can be said for procedure values. n he example, here is a non-rivial use of reenion o insure ha a ask's accessing environmen remains inac. n snapshos 8-9, one processor has lef he ouer block while he oher processor is sill execuing and using cells from he ouer conour. Because of reenion, he ouer conour is reained on behalf of he second processor. For furher discussion on reenion see [Joh 71, Bry 71a,b,c, Weg 71a]. Reenion By virue of he fac ha sorage once iniialized is never erased, we have reenion. n paricular, he hree poins noed abou reenion in he secion on reenion in CM carry over o CR. Because he enire sack-of-exs has been sored wih he label value, i is always possible o resore he label's enire "accessing environmen" even if he curren sack has a compleely differen se of modified programs. When he ex for a procedure value is creaed, all nonlocals in he body have already been subscriped. Since sorage is never hrown ou, no maer when and where he procedure is called, we always have enough informaion o use he curren value of he proper locaion for is nonlocals, even if he sack in which he procedure was declared is long since gone. Since one ask exiing a block (even he ouer one) has no effec on sorage, as long as here is an awake ask sack o use sorage, i will be used. n snapshos 8-9 we see an occurrence of his phenomenon. Missing deails n he above secions, many deails of he behavior of CM and CR have been lef ou in he ineres of economy and because hey do no come o he hear of he differences beween he wo models. These include he obvious deails of expression evaluaion and error handling. We dispense wih hese wih he following assumpion. Assumpion 2. The handling of all missing deails in he descripion of CM and CR is assumed o be such ha he o-be-proved equivalence of CM and CR is preserved. 7. Equivalence of NDSMs By now, he wo models should look suspiciously "equivalen". We mus se up he mechanism for proving his. We will firs develop and jusify a reasonable definiion of equivalence. The definiion we finally sele on also suggess a proof echnique. This echnique will be used in showing ha he wo models are indeed equivalen. n giving a definiion of equivalence of wo NDSMs, several properies of muli-asking models mus be aken ino accoun. i) Because of nondeerminism in he ransformaions, here are many compuaions of a given program. 2) Each of hese many compuaions is o be considered a valid compuaion. 3) Each of hese, if hey hal, may produce differen oupu. A possible definiion of equivalence which capures hese hree poins is he well-known "oupu equivalence" exended o handle nondeerminisic 182

14 compuaions. This definiion requires ha for each program in he language, for each compuaion of ha program in one model, we can find a corresponding compuaion in he oher model of he same program (and vice versa) such ha he corresponding compuaions eiher boh hal wih he same oupu or boh do no hal. Saed more formally: Definiion 6. Le M=(,^,F) be an NDSM for a pro U!!!! gramming language L. Le M =(,10,F ) be an NDSM for a programming language L. Then M is oupu equivalen o M' if and only if for all pel, for all 6elNPUT, S0=compileM(p,(S) and S~=compileM,(p,6), i) For all CeM(S0], here exiss C'eM'(S~) such ha a) C hals if and only if C' hals; b) if C hals hen oupum(final(c))= pupu M, (final(c') ) and 2) For all C'EM'(S~),here exiss CeM(S 0) such ha a) C' hals if and only if C hals; b) if C hals hen oupum,(final(c')) = oupu. (final(c)), ~s clear ha oupu equivalence is reflexive, symmeric and ransiive. Therefore we sae wihou proof: THEOREM 2. Oupu equivalence is an equivalence relaionn Taking oupu equivalence as our definiion suffers on wo couns. The firs is ha he definiion given does no give much of a clue as o how a proof of equivalence should proceed. ndeed, a proof in he one sep ha he definiion does sugges would be very difficul. We need a way of breaking he problem ino smaller pieces. A sandard way of doing his is o consider he inermediary seps of he compuaions o show wha we wish. The second defec, as noed by J.S. Huchison [Hu 71], concerns he fac ha some of he ineresing muli-asking compuaions, such as operaing sysems, are coninuing compuaions which produce meaningful oupu as hey execue bu which do no hal: (Of course, sysems crash or are closed down for mainenance, bu he sysems hemselves are no supposed o hal. ) f oupu equivalence is used as he crierion for equivalence, hen wo operaing sysems, even if heir oupus are oally differen and hey use compleely differen scheduling policies, are equivalen simply because boh do no hal. This canno be! The approach of considering snapshos a each inermediary sep during he compuaions and ehecking ha heir accumulaed oupus are equal and ha hey are doing he "same" hing a each sep seems a more suiable approach. Forunaely, here is he noion of operaional equivalence [Weg 72], which considers snapshos a each sep of he compuaions, compares oupu, and uses inducion on he seps o show he desired properies. We, in fac, will use a generalizaion of he McGowan mapping echnique [McG 7~, 71a,b, 72a,b, MW 71]. urns ou ha he echnique provides boh i) he racable proof echnique which, as we show, can be used o esablish oupu equivalence (if ha is wha we wan) and 2) he more suiable operaional equivalence which we shall ake as our definiion of equivalence. Schemaically, we represen he se of compuaions in one model arising from a program p in L and an inpu 6 in NPUT by a ree (he op half of he figure below). The sequence of snapshos lying in one direced pah from he pair (p,6) is one compuaion. Suppose we have wo ses of compuaions of he same program in wo differen models ha we wish o COMPUTATONS M(5 e] S~ (3-~~.~~. o prove equivalen. They may be picured as wo rees sprouing from he same roo. (Les we cluer he diagram we label only a few horizonal lines wih he ransformaion funcions f and f' and show and ~ beween one corresponding pair of compuaions.) We ake a hin from he side-by-side reamen of secions 5 and 6 and from he diagram above. Le he wo NDSMs in consideraion be M=(,10,F) and M ~= (',~,F') and le ~ and ~ be mappings from snapshos of one model o (corresponding) snapshos of he oher; in paricular, 4:1 1' and ~:'. Suppose ha for each given compuaion C=<S0~S,...,Si, Si+l,...> in M we consruc he sequence of snapshos <1! T of M, SO,$1,...,Si,Si+,...> such ha for each i, Sl=~(Si). (NB: we have no ye called his sequence a compuaion.) Suppose we can show i) ha his sequence is a bona-fide compuaion in M'. (We show his inducively, i.e. by showing a) S~ is an iniial snapsho b) each v Si+ ' is " obalnable " by some ransformaion f' from S[ if S i is no he final snapsho of C c) he las snapsho S~ of he sequence (if i exiss) is a genuine final - inransformable - snapsho); and 2) ha he oupu of S i is equal o he oupu of S~ for all S i in C. f we can do his for all compuaions C in M and if we can do likewise for all compuaions C' in M' using 4, hen we migh say ha M and M' are operaionally equivalen.* This suggesed definiion is no enough. Suppose we wish o prove ha CM, in which all inaccessible conours and processors are deallocaed immediaely, is operaionally equivalen o a version of he conour model CM' in which no conours and processors, once allocaed, are deallocaed. (We assume sufficien memory so ha running ou of free sorage does no become an issue.) We expec CM and CM' o be operaionally equivalen because of he following. The only cells which can affec a compuaion are hose ha are accessible o some awake processor. Only inaccessible cells are ever deallocaed. Therefore he presence or absence of inaccessible cells should make no difference o he ne effec of he compuaion. However, his canno be proved using he suggesed echnique. is easy o ge a mapping from snapshos of he non-deallocaing model o *Properly speaking, his form of operaional equivalence should be called "one-o-one operaional equivalence" (see iem 2 of secion ii). Since his definiion is he only one used in his paper, we coninue o call i simply "operaional equivalence". 5; s~ 183

15 snapshos of he deallocaing model. The mapping funcion merely hrows ou all inaccessible conours and processors*. However, he mapping in he oher direcion is a bi difficul because i is impossible o reconsruc already deallocaed conours and processors. Suppose we were allowed o look a he enire hisory of a compuaion up o he presen snapsho when consrucing he mapping from he deallocaing model o he non-deallocaing model. All of he conours and processors ha we would need for consrucing he snapsho in he non-deallocaing model are in some snapsho beween he iniial and he presen snapshos of he deallocaing model. This suggess a definiion of operaional equivalence which is more general han he suggesed one. The wo mappings and ~ will be on sequences of snapshos of one model o a single snapsho of he oher. n paricular, 4(S0,S 1...,S i) = S, and v r! ~(S~,S1,...,s~) = S i. We incorporae ~his ino our definiion of operaional equivalence which we now sae formally. Definiion 7. Le M=(,0,F) be an NDSM for a programming language L. Le M'=(',6,F') be an NDSM for a programmin$ language L. Then M is operaionally equivalen o M' if and only if here exis mappings** 4: + + ' ~: '+ + such ha for all pel, 6sNPUT, i) f S0=compileM(P,6), for all C=<S^, u "'",S., $ Si+,...>eM(S0) ~ if for all i such ha S i is in C S=4(S 0, "'",S.)~ l hen a) S~=compile M, (p,6). b) if Si~final(C) hen S'+,gf'(S.) for some fef'. c) if Sn=final(C) hen S n ms a final snapsho in M'. d) for all i such ha S i is in C, oupum(si )= oupu M,( S ). 2) f S6=eompile M,(P,6)~ for all C=<S6,...,Si, S+,...>~M'(S6), ~f for all i such ha S! is in C' Si=~(S6,.. ",S ~l)~ hen i a) S =compile (p) M " b) i~ S~#final(C) hen Si+igf(S i) for some fef. c) if S~=final(C') hen S n is a final snapsho in M. d) for all i such ha S' is in C' oupum,(s~)= upum (Si). i ' is clear ha using S~=4(S i) and S:=~(S!), as J- i in he suggesed echnique, ms a special case of definiion 7. As an added bonus, i is easy o show ha if wo NDSMs M and M' are operaionally equivalen hen hey are also oupu-equivalen. We sae wihou proof: THEOREM 3. Le M=(,0,F) be an NDSM for a programming language L. Le M'=(',~,F') be an NDSM for a programming language L. M is operaionally equivalen o M' implies ha M is oupu-equivalen o M'm n order o se up chains of equivalences, i would be nice if operaional equivalence were an equivalence relaion. The following heorem shows ha i is. THEOREM 4. Operaional equivalence is an equivalence relaion. is ine~sing ha Zhe mapping here is he garbage collec funcion. *Noaion: f=, n= n+l, and +=O i. i=l Proof. Le M=(,10,F), M'=(',6,F') and M"=(",~, be NDSMs for a programming language L. We mus show A) M is operaionally equivalen o M. B) M is operaionally equivalen o M' implies ha M' is operaionally equivalen o M. C) M is operaionally equivalen o M' and M' is operaionally equivalen o M" imply ha M is operaionally equivalen o M". Proof of A: Trivial. Le # and ~ be he ideniy mappings. Proof of B: Trivial. Since M is operaionally equivalen o M' here exis 4:++ ' and ~:'++ which saisfy he required properies. Simply swich he role of ~ and ~ in he proof. Proof of C: Since M is operaionally equivalen o M' here exis mappings 4':++ ' and $0:l'+ salslying condiions 1 and 2 of definiion 7. Since M' is operaionally equivalen o M" here exis mappings ~":'++ '' and ~":"+ ' saisfying condiions 1 and 2 of definiion 7. Le :+ '' be such ha (S0,...,Si )= 4"( '(S0), 4'(S0,S),...,4'(S0,...,S i) and ~(s~...,s[)=~, (~,,(s~), ~,,(s~,sz),...,~"(s~,...,s~)). We mus show ha condiions i and 2 of definiion 7 are saisfied by and ~. We show here ha condiion 1 is saisfied. Suppose ha psl and 6cNPUT. Le S0=compileM(P,6) and le C=<S0,...,S-,...>EM(S0)... Le S=$'(S0,...,S:) for all i such ha S i is n C. By properies of 4 % we know ha hese <$6,...,S,...> mus form a compuaion C' of $6 in M'. Le S:'=4(S^~.-.,Si)=4"($6,...,S~)=~"(4'(S O)...,4' (S 0,.l..,Si~ j ro all i such ha S i is in C. We mus show ha each of S~,...,S~,... so consruced saisfies pars a,b,c and d of condiion 1. Proof of a: Show ha S~=compileM,,(p,6). This follows immediaely from Ne fac ha ~" saisfies (la), i.e. S~=compileM(P,~). Proof of b: Show ha if S~final(C) hen S~'+]Ef"(S~) ~or--~om-~ ~"EF". f Si#final(C)'we know by propery- (ib) of 4' ha Si+lef'(S i) for some f'ef'. Bu hen SlX#final(C ') since S.' has a successor. Therefore, by propery (ib) ofi '', S!=final(C') implies ha S[±lef"(S'.') for some f"ef ''l Proof o~ c: Sh~w ha if S_=final(C) hen S" is a ~; n final snapsho. f S_=final(C) we know by propery 11 (ic) of 4' ha S~ is a final snapsho in M'. f we can show ha S~=final(C') hen by propery (ic) of $" we have wha we wan, i.e. S" is a final snapsho. We know S n ' is a final snapsho; we mus show i is he final snapsho of C'. This follows direcly from heorem 1 and definiion 5. Proof of d: Show ha for all i such ha S i is in C, oupum(si)=oupum,,(s~). By propery (id) of ~' and 4", oupum(si)=oupum'(sl ) for all i such ha S i is in C and oupum,(si)=oupum,,(s ~) for all i such ha Si is in C', which by he preamble of he proof of C, is all i such ha S i is in C. Transiiviy of equaliy gives us wha we wan. The proof of condiion 2 Of ~ follows reasoning similar o ha of he proof of condiion ii 8. Operaional equivalence of CM and CR We now ge down o he business of proving ha CM is operaionally equivalen o CR. We firs define new models C~ and C~ which are modificaions of CM and CR respecively. These wo new models are such ha hey are equivalen o he models of which hey are modificaions. n addiion, ~ and ~ are more easily proved operaionally equivalen o 184

16 each oher han are CM and CR. Addiions o CM We make he following changes in he snapshos and ransformaion funcion of CM o produce he model ~ i) We add o each conour a unique conour number in is upper righ-hand corner. 2) We add o he snapshos a block enry coun generaor, BECG. n he iniial snapsho he BECG reads i. A each block or procedure enry he curren value of he BECG becomes he conour number of he conour allocaed for he enry. Then he BECG is incremened by i. 3) We add o each processor a unique processor number. ~-We add o he snapsho a ask name generaor, TNG. n he iniial snapsho he TNG reads 2 and he iniial processor is numbered i. Whenever a new processor is creaed, i is numbered wih he curren value of he TNG and hen he TNG is incremened by i. 5) To each conour we add an aneceden link which poins o he begin or procedure delimier of he block or procedure of he algorihm whose enry resuled in he allocaion of ha conour. The idenifiers in he declaraion array of a conour are precisely hose which are declared (explicily or implicily) in he block or procedure o which is aneceden link poins. 6) We add o he ransformaion he sipulaion ha no conours and processors are deallocaed. This resuls in a snapsho conaining every conour and processor ha was ever allocaed. We use he echnique of definiion 7 o show ha CM is operaionally equivalen o ~. LEMMA i. CM is operaionally equivalen o ~ Proof: Le CM=(,o,F) and~=(~,~0,~ ). We mus produce mappings #: + +~ which saisfy he condiions of definiion 7. Le #(S0,...,Si)=~i, where ~i is obained from S O hrough S i by he following seps: i) Find all conours and number hem: Find he laes (in he hisory of he compuaion) of each conour ha has ever appeared during he compuaion. These are he conours ha appear in Ji" By racing hrough he hisory of he compuaion (a any given ime in a compuaion here is only a finie number of snapshos in he compuaion hus far), i is possible ~o deermine he order in which he conours in ~ i were allocaed. Number he conours in ~i in ha order. 2) Add aneceden links: For each conour C, by racing he hisory of he compuaion from S O o S i, i is also possible o deermine he firs snapsho S~. in which he conour C appears. By examining lhe snapsho before and seeing which processor changed during he ransformaion o Sj, i can be deermined which block enry or procedure call was execued. Merely look a he ip of he changing processor in Sj_. (Noe ha since a conour is allocaed during ransformaion, he saemen execued is necessarily a block enry or procedure call possibly wih a ask opion and no, say, a goo o he same saemen which is hard o deec. ) The aneceden link of conour C is a poiner o he begin or procedure delimier of he enered block or procedure body. 3) Find all processors and number hem: Similarly, find he laes copy of each processor in he compuaion and number each of hem in o?der of creaion. These are he processors of ~ --i" 4) Compue he values of he BECG and he TNG: he BECG of ~ is se o 1 mor~iihan he number of conours in and he TNG of is se o 1 more han he number of processors " ~i" 5) Copy over everyhing else from snapsho S.. Le ~0... 4i)=~ i wih all inaccessible conours and processors, and all conour numbers, aneceden links, processor numbers, he BECG and he TNG removed. (Noe ha~ 0,'-" '~i-i are ignored in his direcion. ) is clear ha # and ~ mee condiions 1 and 2 of heorem 7 simply because boh CM and ~ are using essenially he same ransformaion. Therefore we conclude ha CM is operaionally equivalen o ~i Addiions o CR We make he following changes o he snapshos and ransformaion funcion of CR o produce he model e[ i) Add ~ and e o he lis of idenifiers labelling he columns of he sorage. 2) When row i of he sorage is iniialized (marked "decl") as a resul of a block enry, he locaion (s,i) is se o he delimier subscrip of he block or procedure in which he enered block is immediaely nesed (o form a saic link). The locaion (e,i) is se o poin o he begin of he block jus enered (o form an aneceden link). 3) When row i of he sorage is iniialized as a resul of a procedure call, say of pj, he ex which is in he value of pj is examined o obain he subscrip k of he begln or procedure delimier which immediaely surrounds he procedure body. The locaion (q,i) is se o k. Then he locaion (~,i) is se o a copy of he ip of he value of pj so ha i poins o he called body. We now show ha CR is operaionally equivalen o ~. LEMMA 2. CR is operaionally equivalen o e~ Proof: Le CR=(,10,F) and ~= (@,~0,~). We mus produce mappings ~:@ which saisfy he condiions 1 and 2 of definiion 7. Le #(S0,...,Si)=~i, where~i is formed from S O hrough S i by he following seps: Add G and a o idenifiers labelling columns of he sorage and compue (a,i) and (a,i) for each row i of he sorage: Take S i and add e and a o he lis of idenifiers labelling he columns of he sorage. For each j of he sorage, by racing he hisory of he compuaion from S O o Si, locae he snapsho in which row j was firs iniialized. By looking a he previous snapsho and deermining which ask sack changed in he ransformaion i can be deermined which ask sack execued which insrucion (which is necessarily a block or proce- dure enry). Consruc (e,j) and (~,j) according o he rules given for block and procedure enry in he definiion of ~. Le ~(~0...,Ji)=Si, where S i is obained by erasing q and ~ from he column labels of he sorage and erasing all values of (c,j) and (e,j) for all j, l<j<becg-l, where becg is he value of he BECG of ~i" is clear ha # and $ saisfy he condiions 1 and 2 of definiion 7, since he ransformaions of CR and ~ do essenially he same hings. Thus we conclude ha CR is operaionally equivalen o 185

17 Major lemma We are now in a posiion o show ha C~ is equivalen o ~. To ge an inuiive feeling for he mappings and how hey work, we consider snapshos S~.and $5 from. he execuion of he example program in ~and in~ respecively*. These are he las pair of snapshos in secions 5 and 6. There are a number of invariances beween he wo snapshos which form he basis of he mapping funcions. ) There is he same number of ask sacks in S 5 as here are processors in S~. Furhermore, he ask sacks and processors are numbered he same. 2) The boom ex on he ask sack in S 5 is precisely he same as he algorihm of S~. 3) The ip of he ask sack in S 5 poins o he "same" insrucion ha he ip of he processor poins o in S~. The same holds for ip's of label and procedure values in boh snapshos 4) The BECGs and he TNGs of S 5 and S 5 ' are respecively he same. 5) There are as many rows of he sorage in S 5 which are iniialized or are marked declared as here are conours in S~. 6) Row i of he sorage in S 5 has he same idenifiers ini~lized or marked declared as he ih conour in S' has in is declaraion array. 7) There i~ he same number of conours in S~ on he reurn pah of he processor as here are exs (excep for he boom) on he ask sack of S 5. (The reurn pah is via he saic link for conours whose aneceden link poins o a block and via he ep of ~for conours whose aneceden link poins o a procedure.) The same may be said of label values. 8) The ip of he ask sack in S 5 poins o a saemen S in he op ex of he sack. This saemen S is nesed inside some se of nesed modified blocks and procedures. The numbers which subscrip he begin's and procedure's of hese blocks and procedures are he same as he numbers of he conours which are in he accessing environmen of he processor in S~. n paricular, he ep of he processor in S 5 poins o he conour numbered he same as he innermos block's begin. The same can be said for ep's of he label and procedure values in S~ as opposed o he op ex and ex of label and procedure values in S 5. 9) The ip sored in (a,i) poins o he same saemen in he program as he aneceden link of conour i. i0) The number sored in (~,i) is he same as he number of he conour poined o by he saic link of conour i. LEMMA 3.~ is operaionally equivalen o ~. Proof: We exhibi mappings which saisfy he condiions of he special case of definiion 7. Firs, we describe ~ which maps a snapsho in o he corresponding snapsho in~. (We use snapshos S 5 and S~ as occasional examples.) Le S be a snapsho in some compuaion in ~ (compilec~ (p,~)) for some pegbsl and some 6 NPUT. The snapsho S'=~(S) is consruced as follows. A) The algorihm of S' is a copy of he boom ex on ask sack n (any ask sack will do). *We shall follow he noaional convenion of priming (') ~-relaed iems and no priming ~-relaed iems. B) We form he conours of S' from he sorage componen of S as follows: From he boom-of-sack ex of ask sack n 1 we ~e he program p. We form he finie se D= {id id is an idenifier and id is used in p}u{~}. For each i, l<i<becg-l, where beeg is he value of he BECG in S, do he following four seps: i) Creae conour i wih one cell in is declaraion array labelled id for each idgd, such ha (id,i) has a value or is marked "decl". (For example, (a,l) and (p,l) are he only locaions which are iniialized in row 1 of he sorage of $5; herefore conour 1 of S' has cells for a and p in is declaraion array.) 5 2)** The saic link of conour i poins o he conour whose number is he value of (o,i). A reference o conour 0 is considered a null saic link. 3) The aneceden link of conour i poins o line j of he algorihm where j is he value sored in (~,i). 4) Sore ino each cell id of he conour i he value convered from he conens of (id,i) according o he following daa ype conversion rules: a) ineger, real, characer and boolean values are copied as is. b) poiner values (id',j') are convered ino poiners poining o he cell id of conour j. c) label values consising of an ip and a sack s are convered o ip' and ep' by he following: ake ip' as a copy of ip. n he ex on op of he sack s, he ip poins eiher o he begin of he ouer block or o some saemen immediaely nesed inside some modified block or procedure whose begin or procedure delimier is numbered k. n he firs case ep' is aken as nil. n he second case ep' is se o poin a conour k. d) procedure values consising of an ip and a ex are convered o ip' and ep' by he following: ake ip' as a copy of ip. n he ex, he ip poins o a procedure body immediaely nesed inside a modified block or procedure whose begin or procedure delimier is numbered k. Take ep' o poin o conour k. ***e) ask values consising of a ask name n~. J are convered ino polners o processor number j. ***f) semaphore values consising of an ineger v in he value field and a ask name lis <n i, ni2,...,nln>- in he queue field are convere~ ino an ineger value field v' and a header of a doubly linked lis h' as follows: The ineger v' is a copy of v. The queue head h' is made he head of a doubly linked lis of he processors numbered i.,... hrough. The processors are imnked in he.n order glven in he lis <nil,...,nin > wlh proces- sor i firs and processor i n las. g) "decl" marks are convered ino blank cells. C) We form he processors of S' from he ask sacks of S. For each ask sack ni, l~$~ng-i where ng is he value of he TNG of S, do he following wo seps: i) Creae processor i wih he same sae as ask sack n i. 2) The ip and sack of n i are used o form he ip' and ep' of processor i by he same conversion as described in B4c) for label values. **This is done a his ime for exposiion purposes. Sricly speaking, since all conours have no ye been creaed, his sep should be done in a separae pass over he rows. ***Sricly speaking, e) and f) should be done afer secion C below. 186

18 D) The BECG of S' is a copy of he BECG of S. E) The TNG of S' is a copy of he TNG of S. F) The inpu lis, inpu poiner, oupu lis and oupu poiner of S' are copies of hose of S. Secondly, we describe ~ which maps a snapsho in ~ o he corresponding snapsho in ~ Le S' be a snapsho in some compuaion in ~(compile~(p,6)) for some pegbsl and some 6eNPUT. The snapsho S'=~(S) is consruced as follows: A) We form he ask sacks of S from he processors of S'. For each processor numbered i, l<i< ng-i where ng is he value of he TNG of S', do he following five seps. (Firs we noe ha he ask sack n i is o consis of modified exs of he program p ha reflec each acivaion of a block or procedure ha has no ye been exied by he ask n i. The firs sep is o form he dynamic chain lis by saring wih he conour poined o by processor i's ep and racing down he chain of reurns.) i) Le C be he conour poined o by he ep of processor i. a) add he conour number of C o he end of he lis. b) find he conour C r which will become he processor's immediae environmen if he processor lef C by a normal block or procedure exi. f C is he ouer conour (C has a null saic link) hen go o 2 (below). f C is ha of a non-ouer block enry (no ~ cell in conour C and a non-null saic link) C r is he conour poined o by he saic link of C. f C is ha of a plain procedure call (an ~cell wih a label value in conour C), C r is he conour poined o by he ep of he label in he cell for /~ in C. f C is ha of a asked procedure call (an~cell wih a nill value in conour C) hen go o 2 below. c) Le C be C r and go o la) above. 2) Reverse he order of he dynamic chain lis, creaing lis D=<D,...,Dn >. (n S~ he dynamic chain lis of processor i is <2,1> ~nd he reversed lis is <1,2>.) 3) Now creae he sack of ask sack n i from he boom up. The boom of he sack, Sack0, is a copy of he algorihm of $'. Now for j, l<j<n (he lengh of D), do he following wo seps: a) Le b be he block or procedure whose enry caused creaion of conour k, where k is he value of Dj. This is obained from he aneceden link of conour k. b) Sackj is obained by aking he unmodified program and subscriping wih k he delimier of b and each idenifying occurrence of each idenifier declamed in b. Then we follow he saic chain from conour k o obain he subscrips for he blocks and procedures surrounding b. n paricular, for each (finiely many) successively surrounding conour n of k, subscrip wih n he corresponding delimier (obained by he aneceden link) and each idenifying occurrence of each idenifier declared in he corresponding block or procedure. B) We form he sorage componen of S by using he conours of S' For i, l<i<becg-l, where becg is he value of he BECG in S, do he following: i) For each cell labelled id in conour i, is conens are convered for soring ino (id,i) of he sorage for S by he following daa-ype-dependen rules: a) ineger, real, characer, and boolean values are copied as is. b) a poiner poining o he cell id' in con- our j' is convered o he pair (id',j'). c) label values consising of ip' and ep' are convered ino an ip and a sack of exs; he ip is a copy of ip'. Fo~m he sack by following seps A, 2 and 3 above wih C iniially as he conour poined o by ep'. d) procedure values consising of ip' and ep' are convered ino an ip and a modified ex: ake ip as a copy of ip'. Form a sack of exs by following seps A,2 and 3 above wih C iniially as he conour poined o by ep. Then ake he op ex on his sack as he ex of he procedure value. e) a ask value poining o processor i is convered ino ask name n i. f) a semaphore consising of he ineger V' in is value field and he head h' of a doubly linked lis of processors is convered o he value field V and ask name lis : The ineger V is a copy of V'. From he doubly linked lis of processors headed by h' form a lis <ii,...,in> of he processor numbers of hese processors. The lis <il,..., in> is ordered he same as he doubly linked lis of processors. Form he lis as <nil,...,nin >. g) blank cells are convered o "decl" marks. 2) (~,i) is aken o be he number of he conour poined o by he saic link of conour i. (e,i) is aken o be a copy of he ip which is he aneceden link of conour i. C) The BECG of S is a copy of he BECG of S' D) The TNG of S is a copy of he TNG of S' E) The inpu lis, inpu poiner, oupu lis and oupu poiner of S are copies of hose of S'. Thirdly, we mus show ha and ~ saisfy he condiions of heorem 7. We show only ha saisfies condiion i. The proof ha ~ saisfies condiion 2 follows he same lines. Le pegbsl and 6elNPUT, and le S~=compileeR(p,6). Furhermore, le C=<S 0,S~,...,S i,si+ ~... >E~(S 0). Le S~= (S0),...,S~= (Si),... Then i suffices o show ha subcondiions a,b,c and d hold. Proof of a: Clearlv S~=compile~(p,6) for he iniial snapsho in ~consiss of: A single ask sack n wih a single unmodified ex, p, he ip poining o line i of his ex An empy sorage componen An inpu lis 6 wih he inpu poiner poining o he firs iem on his lis This maps under ~ o: A single processor numbered wih an ip poining o line i of he algorihm and a null ep The program p as he algorihm An inpu lis 6 wih he inpu poiner poining o he firs iem on his lis. This is exacly he iniial snapsho produced by compilec~(p, ~ ). Proof of b: Suppose ha S#final(C) and hus, in fac, Si+lef(Si) where f is he ransformaion funcion of C~. We have ha S= (S i) and ha S~+: (Si+l). suffices o produce a ransformaion f' of ~ such ha S~+lef'(S~) ; i.e., o show ha S[+ 1 could be a valid successor snapsho o S. Since here is only one ransformaion o choose from, we mus merely show ha S+ 1 is one of he resuls of applying he ransformaion f' o S[. We shall consider he five seps of he ransformaion in ~ a he gross level and show ha hey are mimicked by he five seps of he ransformaion of ~. 187

19 Since S i is no final, he following seps were done o obain Si+. An awake ask sack n~ was seleced; he saemen s polned o by is lp was picked up from he op ex; is ip was advanced o poin o he nex saemen, ns; and he saemen s was execued. This leaves he ip of nj poining o some saemen ss which, if s was no a goo or procedure call~is ns; oherwise i is he arge of he goo or call. By he way ~ works, we know he following: n S! 1 he processor numbered j is awake an~ is ip polns o he saemen s' which is an unmodified (unsubscriped) version of s. n S~+, he ip of processor j poins o ss' which is he unmodified version of ss. is clear ha he following insance of he ransformaion of f' would ransform S~ o S~+: Selec awake processor j, pick up he saemen s' which is poined o by processor j's ip, advance he ip o poin o he nex saemen, ns', and execue s', leaving he ip poining o ss'. We mus verify ha in S~+l.he ip of processor j poins o an unmodified verslon of he saemen ha he ip of nj poins o in Si+ 1. f s was no a goo or call and hus in Si+ 1 n.'s ip poins o ns, he successor of s, hen s' is]no a goo or call and hus processor j's ip poins o he successor of s' which by # mus be ns'. f s was a goo or call so was s', and we leave showing ha he resuling ip's poin o he "same" saemen o he secion on goos and calls remains now o show for each saemen ype ha he execuion of s' mimics he execuion of s.. denifier accessing One common elemen o almos all saemens is idenifier accessing. Firs we show ha if id n appears in he saemen s being execued by ask sack nj in S i hen i) id appears in he saemen s' being execued by processor j in S~ and 2) he cell for id in he environmen of processor j is in conour n. The firs follows direcly from he propery of he mapping. To show he second we firs show ha if he lis or delimier subscrips in ouward order of he blocks and procedures ha surround s is <nl,n2,..., nm> hen he lis of he numbers of he conours of he environmen of processor j in ouward order is <nl,n2,...,nm>. By he mapping, we know ha for any row k of sorage in S i he conens of (a,k) is equal o he number of he conour poined o by he saic link of conour k. Therefore, i suffices o show ha for any block or procedure on he op of he ask sack, if is delimier subscrip is k, hen he delimier subscrip of he immediaely enclosing block or procedure is equal o he conens of (a,k). This follows immediaely from he consrucion of (a,k). To ge back o he problem a hand, namely proving (2), we know by he mapping ha here is a cell for id in conour n. We simply mus show ha here are no oher conours inside conour n and ouside he processor j which conain a cell for id. Suppose here was one, say in conour m. Then by he fac ha he lis of delimier numbers is equal o he lis of conour numbers in he environmen, here mus be a block or procedure enclosing S whose delimier is subscriped by m and in which id is declared. (f id were no declared in his block or procedure m hen here would be no cell for id in conour m.) This means ha here is a declaraion of id closer in he ex o s han he one in block or procedure n, namely in block or procedure m. Therefore he subscrip on id in S mus be m. We have a conradicion. Thus, he innermos conour wih a cell for id is conour n. From his argumen we can conclude he following imporan subresul.. Values which are obained or assigned as a resul of idenifier accessing Since he mapping ~ consrucs he value v' sored in he id cell of conour n by using he value v in locaion (id,n), i follows ha if an idenifier is used in saemen s hen he value which is obained from he sorage in S i and/or is assigned o sorage in Si+ 1 maps under he value which is obained from he conours in S~ and/or is assigned o he conours in sl+ l as a resul of he use of an unsubscriped version of he idenifier in saemen s'. Block enry n S i and' S! he BECGs are equal; say i has he 1 value m. Then in ~, he block or procedure is enered and a new ex is pushed ono he sack wih he begin delimier and he idenifying occurrences of h-~clared idenifier subscriped by m. This maps under ~ o he processor's ep poining o a new conour m and he declared idenifiers being in conour m. This is exacly wha would happen upon block or procedure enry in ~ wih he BECG equal o m. V. Block exi We know ha he number of he begin of he block being exied is he same as he number of he conour being exied. Suppose his number is m. n ~, he op ex on he ask sack is popped. The ask sack is now execuing inside a block or procedure whose delimier is subscriped by he value of (a,m) = am. This maps under ~ o he processor's ep poining o conour am which is precisely he effec in ~ of exiing a block when he ep poins o he conour m. V. Procedure call n S i and S 1 he BECGs are equal; say ha hey have he value m. We know ha he procedure value in S i which consiss of an ip and a ex~maps o he corresponding procedure value (ip',ep') in S~. f he call is execued in ~ he ex is pushed ino he sack, and in his ex he enered procedure's delimier and formal parameers are subscriped by m. The row m of he sorage is suiably iniialized wih parameer values and he reurn label, and in paricular (a,m) is se o he subscrip of he begin or procedure delimier in which he called procedure body is nesed. By propery of ~ his subscrip mus be ep'. The ip of nj is se o poin o he firs saemen of he body and he BECG is se o m+l. This maps under ~ o a new conour numbered m wih cells for formal parameers iniialized o parameer values, he cell for ~ iniialized o a reurn label (in he nex secion we need he fac ha his reurn label in ~is he resul of he mapping # applied o he reurn label in ~ ), and he saic link se o ep' (which is he value of (a,m)). The processor j's ep poins o conour m and is ip poins o he firs saemen of he procedure body. The BECG is m+l. This is precisely wha would happen if processor j called he procedure (ip',ep') wih he mapped version of he parameers. V. Procedure exi and goo's By he'properies of he mapping, argumen and, in he case of reurn labels, he observaion made in V above, we know ha he ip and sack of he label in S i maps under ~ o an ip' and ep' of a label in S. n ~ he goo resuls in replacing he ip and sack of exs of he execuing ask 188

20 sack by ha of he label. By our observaion jus above, his maps o he corresponding processor having ip' and ep' as is sie of aciviy. This is precisely he sie of aciviy ha would resul by he execuion of a goo wih a label value (ip',ep'). V. Task creaion - wih label We know ha he label in S i which consiss of an ip and a sack of exs~ maps under ~ o he corresponding label in Si which consiss of an ip' and an ep'. We also know ha he TNGs of S i and S i have he same value, say k. f he saemen is execued in ~ a new ask sack is creaed named n k whose ip and sack of exs are a copy of ha of he label. Then TNG is incremened o k+l. This maps under ~ o a new processor numbered k whose ip' and ep' are ha of he label, and o TNG being k+l. This is precisely wha would happen in ~ if he ask creaion were execued. V. Task creaion wih call We know ha he procedure in S. which consiss i of an ip and a ex~ maps o he corresponding procedure in Si which consiss of an ip' and ep'. Furhermore, he TNGs and BECGs of S i and Si are he same, say and b respecively. f he ask creaion is execued in ~ a new ask sack named n whose sack of exs consiss only of he original' ~ program and a suiably subscriped-by-b copy of he ex of he procedure, and whose ip poins o he firs saemen of he procedure body. Row b of he sorage is suiably iniialized wih parameers and he TNG and BECG are incremened o +l and b+l respecively. This maps under ~ o a new processor numbered o whose ep poins o a newly allocaed and suiably iniialized conour number b and whose ip poins o he enry poin of he procedure. The TNG and BECG are incremened o +l and b+l respecively. This is also he effec of execuing he ask creaion in ~. X. Semaphore usage We know ha he ineger value field of he seleced semaphore will be he same in S i and S i. Furhermore, we know ha he ask sack names on he lis of he semaphore in S i and Si+ are he same, in order, as he numbers of he processors on he queue of he semaphore in S i and Si+% respecively. Now suppose a reques is done in ~. The value field will be decremened by i and if i is less han 0, nj will be pu o sleep and be added o he lis; if greaer han or equal o 0, nohing will happen. This maps under ~ o he value field being decremened o he same ineger value and if less han 0, he processor j being pu o sleep and added o he queue or if greaer han or equal o 0, nohing. This is he effec of execuing reques in ~Suppose release is done in ~. The value field will be incremened by i and if less han or equal o 0 hen some ask sack whose name, say n., is on he l~s w±ll be removed from he ims and awakened; if greaer han 0, nohing happens. This maps under o he value field being incremened o he same value and if less han or equal o 0, a processor, say k, being removed from he lis and awakened, or if greaer han 0, nohing. This is one of he possible resuls of execuing release in ~. Noe ha i is nondeerminisic as o which ask sack and which processor are removed from he lis and awakened in heir respecive ransformaion. This makes no difference o he proof since like-numbered ask sacks and processors mus be on he respecive liss, by virue of. The ransformaion f' cerainly allows selecion of he processor whose number happens o be he same as he ask sack name seleced by f. X. npu/oupu We dispense wih his by noing i) ha ~ copies as is he inpu lis~ he inpu poiner, he oupu lis, and he oupu poiner, and 2) ha he subransformaions for inpu-oupu are he same in e~ and ~. Proof of c: f S n is a final snapsho hen ~(Sn)= S~ is a final snapsho. This is because he saes of he ask sacks are copied exacly ino he saes of he processor. Thus if here are no awake ask sacks in S here are no awake processors in $1 " n P~oof ~fd: Tha oupue~(si)=oupu~si) for all S i in C follows immediaely from he fac ha copies he oupu lis of S i o make he oupu lis of S i. This complees he ouline of he proof of (i). The proof of par (2) follows a similar exhausive line. Therefore we conclude ha ~ is operaionally equivalen o ~, Major heorem We complee he proof ha CM is equivalen o CR by appeal o ransiiviy of operaional equivalence (heorem 4). THEOREM 5. CM is operaionally equivalen o CR (als0oupu-equivalen, by heorem 3)a i0. Conclusions This paper has given a formal basis for proving equivalence of models of muli-asking languages and heir implemenaions. The proof echniques developed herein have been applied o an informal proof of equivalence of wo paricular models of a muli-asking block srucured language, namely he conour model and he copy rule. The paper has also sruck wha he auhor believes o be a reasonable level of rigor for dealing wih such large-scale definiions and proofs. Cerainly i can be said ha such proofs can be very revealing in erms of he models hemselves and he reasons for heir equivalence. The operaional proof echniques given here have he propery ha hey deal only wih he differences beween he wo models being proved equivalen. Pars of he models which ame he same in boh cases are dispensed wih by use of he ideniy mapping. Thus, as observed by Wegner [Weg 71b], he complexiy of an operaional proof is relaed o he degree of difference beween he wo models raher han he complexiy of he models hemselves n paricular, proof ha a model is operaionally equivalen o iself is rivial. n mos pracical applicaions, he proof echniques will be applied o models which differ by a small change for which here is a srong inuiion as o why he change works. f here are several changes hey can be handled by a sequence of such equivalence proofs. Thus a seemingly big job is easily cu down o manageable proporions. The proof echniques given sugges a mehodology for designing an implemenaion of a programming language so ha he designer is sure ha he imple- menaion is correc. The mehodology assumes ha he definiion of he programming language or some implemenaion of i is already given as an NDSM. Saring wih one of hese NDSMs, he designer should massage he form of he snapshos in he original model unil he ges he desired "looking" snapshos for he new model Then he ransformaion of he 189

21 original model would be changed so ha i in fac does he compuaion in he massaged version; i.e., so ha i ransforms he massaged version of a snapsho ino he massaged version of he successor. He should also make sure ha he massage is reversible, i.e. ha he can do he same sor of massage from he new model o he old model. f he designer can do his, he massages become he mappings needed in he proof of he equivalence of he original and new models. Therefore, we say... The proof is he massage. helps grealy if he designer has several models already shown o be equivalen o he definiion of he language o choose from. He can choose he one which is closes o he desired new model, hus making he massages easier and he ransformaion changes smaller. This echnique was used by McGowan in he design of wo of his lambda calculus inerpreers, he fixed program machine [McG 71b] and he conour model lambda calculus machine [McG 72a]. ndeed, he auhor used his mehod in he preparaion of his paper o exend an already exising version of he copy rule [Bry 71c] o cover asking. He knew i) he naure of he massages (mappings) beween he single-ask CM and single-ask CR from an earlier proof [Bry 71c], and 2) wha asking in CM looks like [Joh 71, Bry 71b]. He applied he same massages o he CM asking faciliies, wih a few fudges and kludges here and here, o come up wih wha had o be he CR asking faciliies. ii. Fuure work There are several remaining quesions and problems which have been suggesed by he research enailed in his paper. i) Develop echniques for proving he correcness of a compiler for muli-asking languages, 2) The definiion of operaional equivalence given in his paper (definiion 7) presumes ha he compuaions in boh models proceed a he same rae; ha is, if S i and S 1 are corresponding snapshos under he mappings hen heir successors Si+ 1 and Si+ ' are also corresponding snapshos under he mapping. This definiion is no general enough o deal wih models such ha many seps in a compuaion in one model simulae one sep in he oher (and vice versa even wihin one compuaion). One way of dealing wih his is o modify he ransformaions of he models so ha hey do less or more work in one sep. A beer way is o generalize he definiion of operaional equivalence. Such a generalized definiion has already been given for slngle-ask languages [McG 71a,b, MW 71, Weg 71b]. should be easy o obain a similar definiion for muli-asking languages which would include he one given in his paper as a special case. Acknowledgemens. Thanks go o John Huchinson, John Johnson, John Kelly and Peer Wegner for heir incisive commens and suggesions. Special hanks go o Clem MeGowan for encouragemen in exending o he proof echniques used in his paper. Finally, hanks go o Trina Avery for sacrificing her ime in he final producion of his paper. Bibliography NOTE: DSPL (pronounced "disciple") is Proceedings of ACM Symposium on Daa Srucures in Programming Languages, SGPLAN Noices, February PAAP is Proceedings of ACM Symposium on Proofs of Asserions abou Programs, January Bry 71a Berry, D.M., "nroducion o Oregano", DSPL. Bry 71b Berry, D.M., "Tasking in Oregano", Proc. 5h Princeon Conf. S&S, Bry 71c Berry, D.M., "Block srucure: reenion or deleion?, Third ACM Symposium on Theory of Compuing (May 1971). Be 70 Beourne, C., e al., "Process managemen and resource sharing in he muli-access sysem ESOPE", CACM 13:12, 727 (1970). BG 70 Boyle, J.M., and Grau, A.A., "An algorihmic semanics for Algol 60 idenifier denoaion", JACM 17:2, 361 (1970). Dij 68 Dijksra, E.W., "Cooperaing sequenial processes" in Genuys, ed., Programming languages, London: Academic Press (1968). HJ 70 Henhapl, W., and Jones, C.B., The block concep and some possible implemenaions, wih proofs of equivalence, BM Laboraory Vienna, Tech. Rep. TR (1970). Hu 71 Huchison, J.S., privae communicaion, JL 71 Jones, C.B., and Lucas, P., "Proving correcness of implemenaion echniques" in Engeler, ed., Symposium on Semanics of Algorihmic Languages, Berlin: Springer-Verlag (1971). Joh 71 Johnson, J.B., "The conour model of block srucured processes", DSPL. McG 70 McGowan, C., "The correcness of a modified SECD machine", Second ACM Symposium on Theory of Compuing (1970). McG 71a McGowan, C., "An inducive proof echnique for inerpreer correcness", Couran nsiue Symposium on Formal Semanics of Programming Languages (1971). McG 71b McGowan, C., Correcness resuls for lambda calculus inerpreers, Ph.D. hesis, Cornell Universiy (1971). McG 72a McGowan, C., "A conour model lambda calculus machine", PAAP. McG 72b McGowan, C., "The 'mos recen' problem - is causes and correcion", PAAP. MW 71 McGowan, C., and Wegner, P., "The equivalence of sequenial and associaive informaion srucure models", DSPL. Nau 63 Naur, P., "Revised repor on he algorihmic language Algol 60", CACM 6:1 (1963). vwn 69 van Wijngaarden, A., e al., "Repor on he algorihmic language Algol 68", Num. Mah. 14, (1969). Wlk 69 Walk, K., e al., Formal definiion of PL/, ULD Version BM Vienna (1969). Weg 70 Wegner, P., "nformaion srucure models for programming languages", TR-70-22, Cener for Compuer and nformaion Sciences, Brown Universiy, Sepember Weg 71a Wegner, P., "Daa srucure models for programming languages", DSPL. Weg 71b Wegner, P., "Programming language semanics", Couran nsiue Symposium on Formal Semanics of Programming Languages (1971). Weg 72 Wegner, P., "Operaional semanics fo? pregramming languages", PAAP. 190

PART 1 REFERENCE INFORMATION CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONITOR

PART 1 REFERENCE INFORMATION CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONITOR . ~ PART 1 c 0 \,).,,.,, REFERENCE NFORMATON CONTROL DATA 6400 SYSTEMS CENTRAL PROCESSOR MONTOR n CONTROL DATA 6400 Compuer Sysems, sysem funcions are normally handled by he Monior locaed in a Peripheral

More information

Lecture 18: Mix net Voting Systems

Lecture 18: Mix net Voting Systems 6.897: Advanced Topics in Crypography Apr 9, 2004 Lecure 18: Mix ne Voing Sysems Scribed by: Yael Tauman Kalai 1 Inroducion In he previous lecure, we defined he noion of an elecronic voing sysem, and specified

More information

STRING DESCRIPTIONS OF DATA FOR DISPLAY*

STRING DESCRIPTIONS OF DATA FOR DISPLAY* SLAC-PUB-383 January 1968 STRING DESCRIPTIONS OF DATA FOR DISPLAY* J. E. George and W. F. Miller Compuer Science Deparmen and Sanford Linear Acceleraor Cener Sanford Universiy Sanford, California Absrac

More information

COMP26120: Algorithms and Imperative Programming

COMP26120: Algorithms and Imperative Programming COMP26120 ecure C3 1/48 COMP26120: Algorihms and Imperaive Programming ecure C3: C - Recursive Daa Srucures Pee Jinks School of Compuer Science, Universiy of Mancheser Auumn 2011 COMP26120 ecure C3 2/48

More information

Shortest Path Algorithms. Lecture I: Shortest Path Algorithms. Example. Graphs and Matrices. Setting: Dr Kieran T. Herley.

Shortest Path Algorithms. Lecture I: Shortest Path Algorithms. Example. Graphs and Matrices. Setting: Dr Kieran T. Herley. Shores Pah Algorihms Background Seing: Lecure I: Shores Pah Algorihms Dr Kieran T. Herle Deparmen of Compuer Science Universi College Cork Ocober 201 direced graph, real edge weighs Le he lengh of a pah

More information

Implementing Ray Casting in Tetrahedral Meshes with Programmable Graphics Hardware (Technical Report)

Implementing Ray Casting in Tetrahedral Meshes with Programmable Graphics Hardware (Technical Report) Implemening Ray Casing in Terahedral Meshes wih Programmable Graphics Hardware (Technical Repor) Marin Kraus, Thomas Erl March 28, 2002 1 Inroducion Alhough cell-projecion, e.g., [3, 2], and resampling,

More information

CENG 477 Introduction to Computer Graphics. Modeling Transformations

CENG 477 Introduction to Computer Graphics. Modeling Transformations CENG 477 Inroducion o Compuer Graphics Modeling Transformaions Modeling Transformaions Model coordinaes o World coordinaes: Model coordinaes: All shapes wih heir local coordinaes and sies. world World

More information

Scheduling. Scheduling. EDA421/DIT171 - Parallel and Distributed Real-Time Systems, Chalmers/GU, 2011/2012 Lecture #4 Updated March 16, 2012

Scheduling. Scheduling. EDA421/DIT171 - Parallel and Distributed Real-Time Systems, Chalmers/GU, 2011/2012 Lecture #4 Updated March 16, 2012 EDA421/DIT171 - Parallel and Disribued Real-Time Sysems, Chalmers/GU, 2011/2012 Lecure #4 Updaed March 16, 2012 Aemps o mee applicaion consrains should be done in a proacive way hrough scheduling. Schedule

More information

A Matching Algorithm for Content-Based Image Retrieval

A Matching Algorithm for Content-Based Image Retrieval A Maching Algorihm for Conen-Based Image Rerieval Sue J. Cho Deparmen of Compuer Science Seoul Naional Universiy Seoul, Korea Absrac Conen-based image rerieval sysem rerieves an image from a daabase using

More information

STEREO PLANE MATCHING TECHNIQUE

STEREO PLANE MATCHING TECHNIQUE STEREO PLANE MATCHING TECHNIQUE Commission III KEY WORDS: Sereo Maching, Surface Modeling, Projecive Transformaion, Homography ABSTRACT: This paper presens a new ype of sereo maching algorihm called Sereo

More information

4.1 3D GEOMETRIC TRANSFORMATIONS

4.1 3D GEOMETRIC TRANSFORMATIONS MODULE IV MCA - 3 COMPUTER GRAPHICS ADMN 29- Dep. of Compuer Science And Applicaions, SJCET, Palai 94 4. 3D GEOMETRIC TRANSFORMATIONS Mehods for geomeric ransformaions and objec modeling in hree dimensions

More information

Coded Caching with Multiple File Requests

Coded Caching with Multiple File Requests Coded Caching wih Muliple File Requess Yi-Peng Wei Sennur Ulukus Deparmen of Elecrical and Compuer Engineering Universiy of Maryland College Park, MD 20742 ypwei@umd.edu ulukus@umd.edu Absrac We sudy a

More information

Sam knows that his MP3 player has 40% of its battery life left and that the battery charges by an additional 12 percentage points every 15 minutes.

Sam knows that his MP3 player has 40% of its battery life left and that the battery charges by an additional 12 percentage points every 15 minutes. 8.F Baery Charging Task Sam wans o ake his MP3 player and his video game player on a car rip. An hour before hey plan o leave, he realized ha he forgo o charge he baeries las nigh. A ha poin, he plugged

More information

Dimmer time switch AlphaLux³ D / 27

Dimmer time switch AlphaLux³ D / 27 Dimmer ime swich AlphaLux³ D2 426 26 / 27! Safey noes This produc should be insalled in line wih insallaion rules, preferably by a qualified elecrician. Incorrec insallaion and use can lead o risk of elecric

More information

4. Minimax and planning problems

4. Minimax and planning problems CS/ECE/ISyE 524 Inroducion o Opimizaion Spring 2017 18 4. Minima and planning problems ˆ Opimizing piecewise linear funcions ˆ Minima problems ˆ Eample: Chebyshev cener ˆ Muli-period planning problems

More information

MATH Differential Equations September 15, 2008 Project 1, Fall 2008 Due: September 24, 2008

MATH Differential Equations September 15, 2008 Project 1, Fall 2008 Due: September 24, 2008 MATH 5 - Differenial Equaions Sepember 15, 8 Projec 1, Fall 8 Due: Sepember 4, 8 Lab 1.3 - Logisics Populaion Models wih Harvesing For his projec we consider lab 1.3 of Differenial Equaions pages 146 o

More information

Location. Electrical. Loads. 2-wire mains-rated. 0.5 mm² to 1.5 mm² Max. length 300 m (with 1.5 mm² cable). Example: Belden 8471

Location. Electrical. Loads. 2-wire mains-rated. 0.5 mm² to 1.5 mm² Max. length 300 m (with 1.5 mm² cable). Example: Belden 8471 Produc Descripion Insallaion and User Guide Transiser Dimmer (454) The DIN rail mouned 454 is a 4channel ransisor dimmer. I can operae in one of wo modes; leading edge or railing edge. All 4 channels operae

More information

tr_lisp.asc Page 1 McESE-FranzLISP: McMASTER EXPERT SYSTEM EXTENSION OF FranzLISP F. Franek Technical Report no TR-22/88

tr_lisp.asc Page 1 McESE-FranzLISP: McMASTER EXPERT SYSTEM EXTENSION OF FranzLISP F. Franek Technical Report no TR-22/88 r_lisp.asc Page 1 McESE-FranzLISP: McMASTER EXPERT SYSTEM EXTENSION OF FranzLISP F. Franek Technical Repor no TR-22/88 Deparmen of Compuer Science and Sysems McMaser Universiy 1988 McESE-FranzLISP: McMASTER

More information

Gauss-Jordan Algorithm

Gauss-Jordan Algorithm Gauss-Jordan Algorihm The Gauss-Jordan algorihm is a sep by sep procedure for solving a sysem of linear equaions which may conain any number of variables and any number of equaions. The algorihm is carried

More information

Data Structures and Algorithms. The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 2

Data Structures and Algorithms. The material for this lecture is drawn, in part, from The Practice of Programming (Kernighan & Pike) Chapter 2 Daa Srucures and Algorihms The maerial for his lecure is drawn, in par, from The Pracice of Programming (Kernighan & Pike) Chaper 2 1 Moivaing Quoaion Every program depends on algorihms and daa srucures,

More information

Michiel Helder and Marielle C.T.A Geurts. Hoofdkantoor PTT Post / Dutch Postal Services Headquarters

Michiel Helder and Marielle C.T.A Geurts. Hoofdkantoor PTT Post / Dutch Postal Services Headquarters SHORT TERM PREDICTIONS A MONITORING SYSTEM by Michiel Helder and Marielle C.T.A Geurs Hoofdkanoor PTT Pos / Duch Posal Services Headquarers Keywords macro ime series shor erm predicions ARIMA-models faciliy

More information

Midterm Exam Announcements

Midterm Exam Announcements Miderm Exam Noe: This was a challenging exam. CSCI 4: Principles o Programming Languages Lecure 1: Excepions Insrucor: Dan Barowy Miderm Exam Scores 18 16 14 12 10 needs improvemen 8 6 4 2 0 0-49 50-59

More information

MIC2569. Features. General Description. Applications. Typical Application. CableCARD Power Switch

MIC2569. Features. General Description. Applications. Typical Application. CableCARD Power Switch CableCARD Power Swich General Descripion is designed o supply power o OpenCable sysems and CableCARD hoss. These CableCARDs are also known as Poin of Disribuion (POD) cards. suppors boh Single and Muliple

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics EECS 487: Ineracive Compuer Graphics Lecure 7: B-splines curves Raional Bézier and NURBS Cubic Splines A represenaion of cubic spline consiss of: four conrol poins (why four?) hese are compleely user specified

More information

The Roots of Lisp paul graham

The Roots of Lisp paul graham The Roos of Lisp paul graham Draf, January 18, 2002. In 1960, John McCarhy published a remarkable paper in which he did for programming somehing like wha Euclid did for geomery. 1 He showed how, given

More information

Test - Accredited Configuration Engineer (ACE) Exam - PAN-OS 6.0 Version

Test - Accredited Configuration Engineer (ACE) Exam - PAN-OS 6.0 Version Tes - Accredied Configuraion Engineer (ACE) Exam - PAN-OS 6.0 Version ACE Exam Quesion 1 of 50. Which of he following saemens is NOT abou Palo Alo Neworks firewalls? Sysem defauls may be resored by performing

More information

Simple Network Management Based on PHP and SNMP

Simple Network Management Based on PHP and SNMP Simple Nework Managemen Based on PHP and SNMP Krasimir Trichkov, Elisavea Trichkova bsrac: This paper aims o presen simple mehod for nework managemen based on SNMP - managemen of Cisco rouer. The paper

More information

Image segmentation. Motivation. Objective. Definitions. A classification of segmentation techniques. Assumptions for thresholding

Image segmentation. Motivation. Objective. Definitions. A classification of segmentation techniques. Assumptions for thresholding Moivaion Image segmenaion Which pixels belong o he same objec in an image/video sequence? (spaial segmenaion) Which frames belong o he same video sho? (emporal segmenaion) Which frames belong o he same

More information

Announcements For The Logic of Boolean Connectives Truth Tables, Tautologies & Logical Truths. Outline. Introduction Truth Functions

Announcements For The Logic of Boolean Connectives Truth Tables, Tautologies & Logical Truths. Outline. Introduction Truth Functions Announcemens For 02.05.09 The Logic o Boolean Connecives Truh Tables, Tauologies & Logical Truhs 1 HW3 is due nex Tuesday William Sarr 02.05.09 William Sarr The Logic o Boolean Connecives (Phil 201.02)

More information

Automatic Calculation of Coverage Profiles for Coverage-based Testing

Automatic Calculation of Coverage Profiles for Coverage-based Testing Auomaic Calculaion of Coverage Profiles for Coverage-based Tesing Raimund Kirner 1 and Waler Haas 1 Vienna Universiy of Technology, Insiue of Compuer Engineering, Vienna, Ausria, raimund@vmars.uwien.ac.a

More information

Motor Control. 5. Control. Motor Control. Motor Control

Motor Control. 5. Control. Motor Control. Motor Control 5. Conrol In his chaper we will do: Feedback Conrol On/Off Conroller PID Conroller Moor Conrol Why use conrol a all? Correc or wrong? Supplying a cerain volage / pulsewidh will make he moor spin a a cerain

More information

CAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL

CAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL CAMERA CALIBRATION BY REGISTRATION STEREO RECONSTRUCTION TO 3D MODEL Klečka Jan Docoral Degree Programme (1), FEEC BUT E-mail: xkleck01@sud.feec.vubr.cz Supervised by: Horák Karel E-mail: horak@feec.vubr.cz

More information

An Improved Square-Root Nyquist Shaping Filter

An Improved Square-Root Nyquist Shaping Filter An Improved Square-Roo Nyquis Shaping Filer fred harris San Diego Sae Universiy fred.harris@sdsu.edu Sridhar Seshagiri San Diego Sae Universiy Seshigar.@engineering.sdsu.edu Chris Dick Xilinx Corp. chris.dick@xilinx.com

More information

Petri Nets for Object-Oriented Modeling

Petri Nets for Object-Oriented Modeling Peri Nes for Objec-Oriened Modeling Sefan Wi Absrac Ensuring he correcness of concurren rograms is difficul since common aroaches for rogram design do no rovide aroriae mehods This aer gives a brief inroducion

More information

1 œ DRUM SET KEY. 8 Odd Meter Clave Conor Guilfoyle. Cowbell (neck) Cymbal. Hi-hat. Floor tom (shell) Clave block. Cowbell (mouth) Hi tom.

1 œ DRUM SET KEY. 8 Odd Meter Clave Conor Guilfoyle. Cowbell (neck) Cymbal. Hi-hat. Floor tom (shell) Clave block. Cowbell (mouth) Hi tom. DRUM SET KEY Hi-ha Cmbal Clave block Cowbell (mouh) 0 Cowbell (neck) Floor om (shell) Hi om Mid om Snare Floor om Snare cross sick or clave block Bass drum Hi-ha wih foo 8 Odd Meer Clave Conor Guilfole

More information

NEWTON S SECOND LAW OF MOTION

NEWTON S SECOND LAW OF MOTION Course and Secion Dae Names NEWTON S SECOND LAW OF MOTION The acceleraion of an objec is defined as he rae of change of elociy. If he elociy changes by an amoun in a ime, hen he aerage acceleraion during

More information

USBFC (USB Function Controller)

USBFC (USB Function Controller) USBFC () EIFUFAL501 User s Manual Doc #: 88-02-E01 Revision: 2.0 Dae: 03/24/98 (USBFC) 1. Highlighs... 4 1.1 Feaures... 4 1.2 Overview... 4 1.3 USBFC Block Diagram... 5 1.4 USBFC Typical Sysem Block Diagram...

More information

SOT: Compact Representation for Triangle and Tetrahedral Meshes

SOT: Compact Representation for Triangle and Tetrahedral Meshes SOT: Compac Represenaion for Triangle and Terahedral Meshes Topraj Gurung and Jarek Rossignac School of Ineracive Compuing, College of Compuing, Georgia Insiue of Technology, Alana, GA ABSTRACT The Corner

More information

Optimal Crane Scheduling

Optimal Crane Scheduling Opimal Crane Scheduling Samid Hoda, John Hooker Laife Genc Kaya, Ben Peerson Carnegie Mellon Universiy Iiro Harjunkoski ABB Corporae Research EWO - 13 November 2007 1/16 Problem Track-mouned cranes move

More information

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II

CS 152 Computer Architecture and Engineering. Lecture 7 - Memory Hierarchy-II CS 152 Compuer Archiecure and Engineering Lecure 7 - Memory Hierarchy-II Krse Asanovic Elecrical Engineering and Compuer Sciences Universiy of California a Berkeley hp://www.eecs.berkeley.edu/~krse hp://ins.eecs.berkeley.edu/~cs152

More information

Chapter 4 Sequential Instructions

Chapter 4 Sequential Instructions Chaper 4 Sequenial Insrucions The sequenial insrucions of FBs-PLC shown in his chaper are also lised in secion 3.. Please refer o Chaper, "PLC Ladder diagram and he Coding rules of Mnemonic insrucion",

More information

MB86297A Carmine Timing Analysis of the DDR Interface

MB86297A Carmine Timing Analysis of the DDR Interface Applicaion Noe MB86297A Carmine Timing Analysis of he DDR Inerface Fujisu Microelecronics Europe GmbH Hisory Dae Auhor Version Commen 05.02.2008 Anders Ramdahl 0.01 Firs draf 06.02.2008 Anders Ramdahl

More information

4 Error Control. 4.1 Issues with Reliable Protocols

4 Error Control. 4.1 Issues with Reliable Protocols 4 Error Conrol Jus abou all communicaion sysems aemp o ensure ha he daa ges o he oher end of he link wihou errors. Since i s impossible o build an error-free physical layer (alhough some shor links can

More information

Assignment 2. Due Monday Feb. 12, 10:00pm.

Assignment 2. Due Monday Feb. 12, 10:00pm. Faculy of rs and Science Universiy of Torono CSC 358 - Inroducion o Compuer Neworks, Winer 218, LEC11 ssignmen 2 Due Monday Feb. 12, 1:pm. 1 Quesion 1 (2 Poins): Go-ack n RQ In his quesion, we review how

More information

Reinforcement Learning by Policy Improvement. Making Use of Experiences of The Other Tasks. Hajime Kimura and Shigenobu Kobayashi

Reinforcement Learning by Policy Improvement. Making Use of Experiences of The Other Tasks. Hajime Kimura and Shigenobu Kobayashi Reinforcemen Learning by Policy Improvemen Making Use of Experiences of The Oher Tasks Hajime Kimura and Shigenobu Kobayashi Tokyo Insiue of Technology, JAPAN genfe.dis.iech.ac.jp, kobayasidis.iech.ac.jp

More information

Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries

Axiomatic Foundations and Algorithms for Deciding Semantic Equivalences of SQL Queries Axiomaic Foundaions and Algorihms for Deciding Semanic Equivalences of SQL Queries Shumo Chu, Brendan Murphy, Jared Roesch, Alvin Cheung, Dan Suciu Paul G. Allen School of Compuer Science and Engineering

More information

FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS

FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS FIELD PROGRAMMABLE GATE ARRAY (FPGA) AS A NEW APPROACH TO IMPLEMENT THE CHAOTIC GENERATORS Mohammed A. Aseeri and M. I. Sobhy Deparmen of Elecronics, The Universiy of Ken a Canerbury Canerbury, Ken, CT2

More information

A pipeline polish string computer*

A pipeline polish string computer* A pipeline polish sring compuer* by GERARD G. BAILLE and JEAN P. SCHOELLKOPF Co--,np'ueT ATcli-iecure Group Grenoble "Universiy, France ABSTRACT This paper describes a new compuer organizaion which allows

More information

Chapter Six Chapter Six

Chapter Six Chapter Six Chaper Si Chaper Si 0 CHAPTER SIX ConcepTess and Answers and Commens for Secion.. Which of he following graphs (a) (d) could represen an aniderivaive of he funcion shown in Figure.? Figure. (a) (b) (c)

More information

Analysis of Various Types of Bugs in the Object Oriented Java Script Language Coding

Analysis of Various Types of Bugs in the Object Oriented Java Script Language Coding Indian Journal of Science and Technology, Vol 8(21), DOI: 10.17485/ijs/2015/v8i21/69958, Sepember 2015 ISSN (Prin) : 0974-6846 ISSN (Online) : 0974-5645 Analysis of Various Types of Bugs in he Objec Oriened

More information

AML710 CAD LECTURE 11 SPACE CURVES. Space Curves Intrinsic properties Synthetic curves

AML710 CAD LECTURE 11 SPACE CURVES. Space Curves Intrinsic properties Synthetic curves AML7 CAD LECTURE Space Curves Inrinsic properies Synheic curves A curve which may pass hrough any region of hreedimensional space, as conrased o a plane curve which mus lie on a single plane. Space curves

More information

In fmri a Dual Echo Time EPI Pulse Sequence Can Induce Sources of Error in Dynamic Magnetic Field Maps

In fmri a Dual Echo Time EPI Pulse Sequence Can Induce Sources of Error in Dynamic Magnetic Field Maps In fmri a Dual Echo Time EPI Pulse Sequence Can Induce Sources of Error in Dynamic Magneic Field Maps A. D. Hahn 1, A. S. Nencka 1 and D. B. Rowe 2,1 1 Medical College of Wisconsin, Milwaukee, WI, Unied

More information

PROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001

PROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001 PROCESS AUTOMATION MANUAL TIMER RELAY KF**-DU-EX1.D ISO9001 Wih regard o he supply of producs, he curren issue of he following documen is applicable: The general erms of delivery for producs and services

More information

Chapter 8 LOCATION SERVICES

Chapter 8 LOCATION SERVICES Disribued Compuing Group Chaper 8 LOCATION SERVICES Mobile Compuing Winer 2005 / 2006 Overview Mobile IP Moivaion Daa ransfer Encapsulaion Locaion Services & Rouing Classificaion of locaion services Home

More information

Electric Ephemeris PCA Argus v 3.1 for Windows. Sales & CD development. Electric Ephemeris/PCA Argus Programming: Laurids Pedersen

Electric Ephemeris PCA Argus v 3.1 for Windows. Sales & CD development. Electric Ephemeris/PCA Argus Programming: Laurids Pedersen Elecric Ephemeris PCA Argus v 3.1 for Windows MSP Soluions: Sales & CD developmen Elecric Ephemeris/PCA Argus Programming: Laurids Pedersen CD Design: Web Design: Magic Space MSP Soluions Technical suppor

More information

Using CANopen Slave Driver

Using CANopen Slave Driver CAN Bus User Manual Using CANopen Slave Driver V1. Table of Conens 1. SDO Communicaion... 1 2. PDO Communicaion... 1 3. TPDO Reading and RPDO Wriing... 2 4. RPDO Reading... 3 5. CANopen Communicaion Parameer

More information

Fill in the following table for the functions shown below.

Fill in the following table for the functions shown below. By: Carl H. Durney and Neil E. Coer Example 1 EX: Fill in he following able for he funcions shown below. he funcion is odd he funcion is even he funcion has shif-flip symmery he funcion has quarer-wave

More information

It is easier to visualize plotting the curves of cos x and e x separately: > plot({cos(x),exp(x)},x = -5*Pi..Pi,y = );

It is easier to visualize plotting the curves of cos x and e x separately: > plot({cos(x),exp(x)},x = -5*Pi..Pi,y = ); Mah 467 Homework Se : some soluions > wih(deools): wih(plos): Warning, he name changecoords has been redefined Problem :..7 Find he fixed poins, deermine heir sabiliy, for x( ) = cos x e x > plo(cos(x)

More information

NRMI: Natural and Efficient Middleware

NRMI: Natural and Efficient Middleware NRMI: Naural and Efficien Middleware Eli Tilevich and Yannis Smaragdakis Cener for Experimenal Research in Compuer Sysems (CERCS), College of Compuing, Georgia Tech {ilevich, yannis}@cc.gaech.edu Absrac

More information

BI-TEMPORAL INDEXING

BI-TEMPORAL INDEXING BI-TEMPORAL INDEXING Mirella M. Moro Uniersidade Federal do Rio Grande do Sul Poro Alegre, RS, Brazil hp://www.inf.ufrgs.br/~mirella/ Vassilis J. Tsoras Uniersiy of California, Rierside Rierside, CA 92521,

More information

Rule-Based Multi-Query Optimization

Rule-Based Multi-Query Optimization Rule-Based Muli-Query Opimizaion Mingsheng Hong Dep. of Compuer cience Cornell Universiy mshong@cs.cornell.edu Johannes Gehrke Dep. of Compuer cience Cornell Universiy johannes@cs.cornell.edu Mirek Riedewald

More information

Verified Validation of Lazy Code Motion

Verified Validation of Lazy Code Motion Verified Validaion of Lazy Code Moion Jean-Bapise Trisan INRIA Paris-Rocquencour jean-bapise.risan@inria.fr Xavier Leroy INRIA Paris-Rocquencour xavier.leroy@inria.fr Absrac Translaion validaion esablishes

More information

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab

Y. Tsiatouhas. VLSI Systems and Computer Architecture Lab CMOS INEGRAED CIRCUI DESIGN ECHNIQUES Universiy of Ioannina Clocking Schemes Dep. of Compuer Science and Engineering Y. siaouhas CMOS Inegraed Circui Design echniques Overview 1. Jier Skew hroughpu Laency

More information

Verified Validation of Lazy Code Motion

Verified Validation of Lazy Code Motion Verified Validaion of Lazy Code Moion Jean-Bapise Trisan, Xavier Leroy To cie his version: Jean-Bapise Trisan, Xavier Leroy. Verified Validaion of Lazy Code Moion. ACM SIGPLAN conference on Programming

More information

Discrete Event Systems. Lecture 14: Discrete Control. Continuous System. Discrete Event System. Discrete Control Systems.

Discrete Event Systems. Lecture 14: Discrete Control. Continuous System. Discrete Event System. Discrete Control Systems. Lecure 14: Discree Conrol Discree Even Sysems [Chaper: Sequenial Conrol + These Slides] Discree Even Sysems Sae Machine-Based Formalisms Saechars Grafce Laboraory 2 Peri Nes Implemenaion No covered in

More information

Quantitative macro models feature an infinite number of periods A more realistic (?) view of time

Quantitative macro models feature an infinite number of periods A more realistic (?) view of time INFINIE-HORIZON CONSUMPION-SAVINGS MODEL SEPEMBER, Inroducion BASICS Quaniaive macro models feaure an infinie number of periods A more realisic (?) view of ime Infinie number of periods A meaphor for many

More information

Learning in Games via Opponent Strategy Estimation and Policy Search

Learning in Games via Opponent Strategy Estimation and Policy Search Learning in Games via Opponen Sraegy Esimaion and Policy Search Yavar Naddaf Deparmen of Compuer Science Universiy of Briish Columbia Vancouver, BC yavar@naddaf.name Nando de Freias (Supervisor) Deparmen

More information

Network management and QoS provisioning - QoS in Frame Relay. . packet switching with virtual circuit service (virtual circuits are bidirectional);

Network management and QoS provisioning - QoS in Frame Relay. . packet switching with virtual circuit service (virtual circuits are bidirectional); QoS in Frame Relay Frame relay characerisics are:. packe swiching wih virual circui service (virual circuis are bidirecional);. labels are called DLCI (Daa Link Connecion Idenifier);. for connecion is

More information

V103 TRIPLE 10-BIT LVDS TRANSMITTER FOR VIDEO. General Description. Features. Block Diagram

V103 TRIPLE 10-BIT LVDS TRANSMITTER FOR VIDEO. General Description. Features. Block Diagram General Descripion The V103 LVDS display inerface ransmier is primarily designed o suppor pixel daa ransmission beween a video processing engine and a digial video display. The daa rae suppors up o SXGA+

More information

BEST DYNAMICS NAMICS CRM A COMPILATION OF TECH-TIPS TO HELP YOUR BUSINESS SUCCEED WITH DYNAMICS CRM

BEST DYNAMICS NAMICS CRM A COMPILATION OF TECH-TIPS TO HELP YOUR BUSINESS SUCCEED WITH DYNAMICS CRM DYNAMICS CR A Publicaion by elogic s fines Microsof Dynamics CRM Expers { ICS CRM BEST OF 2014 A COMPILATION OF TECH-TIPS TO HELP YOUR BUSINESS SUCCEED WITH DYNAMICS CRM NAMICS CRM { DYNAMICS M INTRODUCTION

More information

Landmarks: A New Model for Similarity-Based Pattern Querying in Time Series Databases

Landmarks: A New Model for Similarity-Based Pattern Querying in Time Series Databases Lmarks: A New Model for Similariy-Based Paern Querying in Time Series Daabases Chang-Shing Perng Haixun Wang Sylvia R. Zhang D. So Parker perng@cs.ucla.edu hxwang@cs.ucla.edu Sylvia Zhang@cle.com so@cs.ucla.edu

More information

Troubleshooting PLCopen Block Behavior

Troubleshooting PLCopen Block Behavior Troubleshooing PLCopen Block Behavior Deailed Troubleshooing of he PLCopen Block Behavior General informaion Copyrigh Siemens AG 2 All righs reserved Subjec o change wihou prior noice. Copyrigh The disribuion

More information

Constant-Work-Space Algorithms for Shortest Paths in Trees and Simple Polygons

Constant-Work-Space Algorithms for Shortest Paths in Trees and Simple Polygons Journal of Graph Algorihms and Applicaions hp://jgaa.info/ vol. 15, no. 5, pp. 569 586 (2011) Consan-Work-Space Algorihms for Shores Pahs in Trees and Simple Polygons Tesuo Asano 1 Wolfgang Mulzer 2 Yajun

More information

Video Content Description Using Fuzzy Spatio-Temporal Relations

Video Content Description Using Fuzzy Spatio-Temporal Relations Proceedings of he 4s Hawaii Inernaional Conference on Sysem Sciences - 008 Video Conen Descripion Using Fuzzy Spaio-Temporal Relaions rchana M. Rajurkar *, R.C. Joshi and Sananu Chaudhary 3 Dep of Compuer

More information

Distributed Task Negotiation in Modular Robots

Distributed Task Negotiation in Modular Robots Disribued Task Negoiaion in Modular Robos Behnam Salemi, eer Will, and Wei-Min Shen USC Informaion Sciences Insiue and Compuer Science Deparmen Marina del Rey, USA, {salemi, will, shen}@isi.edu Inroducion

More information

A non-stationary uniform tension controlled interpolating 4-point scheme reproducing conics

A non-stationary uniform tension controlled interpolating 4-point scheme reproducing conics A non-saionary uniform ension conrolled inerpolaing 4-poin scheme reproducing conics C. Beccari a, G. Casciola b, L. Romani b, a Deparmen of Pure and Applied Mahemaics, Universiy of Padova, Via G. Belzoni

More information

Representing Non-Manifold Shapes in Arbitrary Dimensions

Representing Non-Manifold Shapes in Arbitrary Dimensions Represening Non-Manifold Shapes in Arbirary Dimensions Leila De Floriani,2 and Annie Hui 2 DISI, Universiy of Genova, Via Dodecaneso, 35-646 Genova (Ialy). 2 Deparmen of Compuer Science, Universiy of Maryland,

More information

Handling uncertainty in semantic information retrieval process

Handling uncertainty in semantic information retrieval process Handling uncerainy in semanic informaion rerieval process Chkiwa Mounira 1, Jedidi Anis 1 and Faiez Gargouri 1 1 Mulimedia, InfoRmaion sysems and Advanced Compuing Laboraory Sfax Universiy, Tunisia m.chkiwa@gmail.com,

More information

Voltair Version 2.5 Release Notes (January, 2018)

Voltair Version 2.5 Release Notes (January, 2018) Volair Version 2.5 Release Noes (January, 2018) Inroducion 25-Seven s new Firmware Updae 2.5 for he Volair processor is par of our coninuing effors o improve Volair wih new feaures and capabiliies. For

More information

Outline. EECS Components and Design Techniques for Digital Systems. Lec 06 Using FSMs Review: Typical Controller: state

Outline. EECS Components and Design Techniques for Digital Systems. Lec 06 Using FSMs Review: Typical Controller: state Ouline EECS 5 - Componens and Design Techniques for Digial Sysems Lec 6 Using FSMs 9-3-7 Review FSMs Mapping o FPGAs Typical uses of FSMs Synchronous Seq. Circuis safe composiion Timing FSMs in verilog

More information

IDEF3 Process Description Capture Method

IDEF3 Process Description Capture Method IDEF3 Process Descripion Capure Mehod IDEF3 is par of he IDEF family of mehods developmen funded by he US Air Force o provide modelling suppor for sysems engineering and enerprise inegraion 2 IDEF3 Mehod

More information

(10) Patent No.: US 6,931,558 Bl (57) ABSTRACT ~ :!j 304 ; OS. BMR. & TSM files needed at restore time. Boot ~II backed-up ~ 106

(10) Patent No.: US 6,931,558 Bl (57) ABSTRACT ~ :!j 304 ; OS. BMR. & TSM files needed at restore time. Boot ~II backed-up ~ 106 111111 1111111111111111111111111111111111111111111111111111111111111 US006931558Bl (12) Unied Saes Paen Jeffe e ai. (10) Paen No.: US 6,931,558 Bl (45) Dae of Paen: Aug. 16,2005 (54) COMPUTER RESTORATION

More information

Scattering at an Interface: Normal Incidence

Scattering at an Interface: Normal Incidence Course Insrucor Dr. Raymond C. Rumpf Office: A 337 Phone: (915) 747 6958 Mail: rcrumpf@uep.edu 4347 Applied lecromagneics Topic 3f Scaering a an Inerface: Normal Incidence Scaering These Normal noes Incidence

More information

source managemen, naming, proecion, and service provisions. This paper concenraes on he basic processor scheduling aspecs of resource managemen. 2 The

source managemen, naming, proecion, and service provisions. This paper concenraes on he basic processor scheduling aspecs of resource managemen. 2 The Virual Compuers A New Paradigm for Disribued Operaing Sysems Banu Ozden y Aaron J. Goldberg Avi Silberschaz z 600 Mounain Ave. AT&T Bell Laboraories Murray Hill, NJ 07974 Absrac The virual compuers (VC)

More information

UX260 QUICK START GUIDE

UX260 QUICK START GUIDE UX260 QUICK START GUIDE Transferring Music Playing Music Blueooh Pairing Taking a Picure/ Recording a Video www.lgusa.com Geing o Know Your Phone Camera BACK SIDE Lef Sof Key Speakerphone Key Talk Key

More information

Quick Verification of Concurrent Programs by Iteratively Relaxed Scheduling

Quick Verification of Concurrent Programs by Iteratively Relaxed Scheduling Quick Verificaion of Concurren Programs by Ieraively Relaxed Scheduling Parick Mezler, Habib Saissi, Péer Bokor, Neeraj Suri Technische Univerisä Darmsad, Germany {mezler, saissi, pbokor, suri}@deeds.informaik.u-darmsad.de

More information

The Data Locality of Work Stealing

The Data Locality of Work Stealing The Daa Localiy of Work Sealing Umu A. Acar School of Compuer Science Carnegie Mellon Universiy umu@cs.cmu.edu Guy E. Blelloch School of Compuer Science Carnegie Mellon Universiy guyb@cs.cmu.edu Rober

More information

MOTION DETECTORS GRAPH MATCHING LAB PRE-LAB QUESTIONS

MOTION DETECTORS GRAPH MATCHING LAB PRE-LAB QUESTIONS NME: TE: LOK: MOTION ETETORS GRPH MTHING L PRE-L QUESTIONS 1. Read he insrucions, and answer he following quesions. Make sure you resae he quesion so I don hae o read he quesion o undersand he answer..

More information

Computer representations of piecewise

Computer representations of piecewise Edior: Gabriel Taubin Inroducion o Geomeric Processing hrough Opimizaion Gabriel Taubin Brown Universiy Compuer represenaions o piecewise smooh suraces have become vial echnologies in areas ranging rom

More information

PLCopen for efficiency in automation

PLCopen for efficiency in automation Technical Paper PLCopen Technical Commiee 2 Funcion Blocks for Moion Conrol Par 6 Fluid Power Exensions Version 2.0, Published DISCLAIMER OF WARRANTIES THIS DOCUMENT IS PROVIDED ON AN AS IS BASIS AND MAY

More information

Mobile Robots Mapping

Mobile Robots Mapping Mobile Robos Mapping 1 Roboics is Easy conrol behavior percepion modelling domain model environmen model informaion exracion raw daa planning ask cogniion reasoning pah planning navigaion pah execuion

More information

Connections, displays and operating elements. Status LEDs (next to the keys)

Connections, displays and operating elements. Status LEDs (next to the keys) GB Connecions, displays and operaing elemens A Push-buon plus Sysem M Operaing insrucions 1 2 1 2 3 4 5 6 7 8 C B A 4 Inser he bus erminal ino he connecion of pushbuon A. 5 Inser he push-buon ino he frame.

More information

Connections, displays and operating elements. 3 aux. 5 aux.

Connections, displays and operating elements. 3 aux. 5 aux. Taser PlusKapiel3:Taser3.1Taser Plus Meren2005V6280-561-0001/08 GB Connecions, displays and operaing elemens Taser Plus Arec/Anik/Trancen Operaing insrucions A 1 2 1 2 3 4 5 6 C B A B 3 aux. 7 8 9 aux.

More information

Nonparametric CUSUM Charts for Process Variability

Nonparametric CUSUM Charts for Process Variability Journal of Academia and Indusrial Research (JAIR) Volume 3, Issue June 4 53 REEARCH ARTICLE IN: 78-53 Nonparameric CUUM Chars for Process Variabiliy D.M. Zombade and V.B. Ghue * Dep. of aisics, Walchand

More information

An Adaptive Spatial Depth Filter for 3D Rendering IP

An Adaptive Spatial Depth Filter for 3D Rendering IP JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.3, NO. 4, DECEMBER, 23 175 An Adapive Spaial Deph Filer for 3D Rendering IP Chang-Hyo Yu and Lee-Sup Kim Absrac In his paper, we presen a new mehod

More information

The University of Sheffield Department of Computer Science. Indexing XML Databases: Classifications, Problems Identification and a New Approach

The University of Sheffield Department of Computer Science. Indexing XML Databases: Classifications, Problems Identification and a New Approach The Universiy of Sheffield Deparmen of Compuer Science Indexing XML Daabases: Classificaions, Problems Idenificaion and a New Approach Research Memorandum CS-7-5 Mohammed Al-Badawi Compuer Science Dep

More information

Elite Acoustics Engineering A4-8 Live-Performance Studio Monitor with 4 Channels, Mixer, Effects, and Bluetooth Quick Start Guide

Elite Acoustics Engineering A4-8 Live-Performance Studio Monitor with 4 Channels, Mixer, Effects, and Bluetooth Quick Start Guide Elie Acousics Engineering A4-8 Live-Performance Sudio Monior wih 4 Channels, Mixer, Effecs, and Blueooh Quick Sar Guide WHAT IS IN THE BOX Your A4-8 package conains he following: (1) Speaker (1) 12V AC

More information

1.4 Application Separable Equations and the Logistic Equation

1.4 Application Separable Equations and the Logistic Equation 1.4 Applicaion Separable Equaions and he Logisic Equaion If a separable differenial equaion is wrien in he form f ( y) dy= g( x) dx, hen is general soluion can be wrien in he form f ( y ) dy = g ( x )

More information

Data Structures and Algorithms

Data Structures and Algorithms Daa Srucures and Algorihms The maerial for his lecure is drawn, in ar, from The Pracice of Programming (Kernighan & Pike) Chaer 2 1 Goals of his Lecure Hel you learn (or refresh your memory) abou: Common

More information

COSC 3213: Computer Networks I Chapter 6 Handout # 7

COSC 3213: Computer Networks I Chapter 6 Handout # 7 COSC 3213: Compuer Neworks I Chaper 6 Handou # 7 Insrucor: Dr. Marvin Mandelbaum Deparmen of Compuer Science York Universiy F05 Secion A Medium Access Conrol (MAC) Topics: 1. Muliple Access Communicaions:

More information