Compiler-based Implementation of. Katia Gladitz. Lehrstuhl fur Informatik II, RWTH Aachen. Ahornstrae 55, W{5100 Aachen, Germany

Size: px
Start display at page:

Download "Compiler-based Implementation of. Katia Gladitz. Lehrstuhl fur Informatik II, RWTH Aachen. Ahornstrae 55, W{5100 Aachen, Germany"

Transcription

1 Compile-based Implementation of Syntax-Diected Functional Pogamming Katia Gladitz ehstuhl fu Infomatik II, RWTH Aachen Ahonstae 55, W{5100 Aachen, Gemany Heinz Fabende and Heiko Vogle Abt. Theoetische Infomatik, Univesitat Ulm Obee Eselsbeg, W-7900 Ulm, Gemany Ulme Infomatik-Beichte N. 91 { 02 Abstact We conside paticula functional pogams in which on the one hand the ecusion is esticted to syntax-diected ecusion and on the othe hand simultaneous ecusion and nesting of function calls in paamete positions of othe functions is allowed. Fo such pogams called syntax-diected functional pogams, we fomalize a compile-based implementation of the callby-name computation stategy. The machine involved in this implementation, called syntaxdiected untime-stack machine, is minimal in the sense that it computes exactly the class sdfun of functions which ae expessible by syntax-diected functional pogams. We veify this minimality popety by showing a one-to-one coespondence between the implementation pesented in this pape, and an intepete-based implementation of syntax-diected functional pogams on checking-tee nested-stack tansduces. It is known fom the liteatue that such tansduces chaacteize in a fomal sense the class sdfun. The wok of this autho has been suppoted by the Deutsche Foschungsgemeinschaft (DFG).

2 1 1 Intoduction In many situations it is appopiate, to descibe the semantics of stings that ae geneated by some context-fee gamma, in a syntax-diected way [Io61, AU71, AU73, Knu68] (fo shot: sd way). Then, the meaning of a sting is expessed in tems of the meanings of its substings. Fo example, the tanslation of a high-level language pogam into machine code is often descibed in a syntax-diected way [Ind79]. Then, the tanslation of a pogam constuct, e.g. an if then else statement, is descibed in tems of the tanslation of its constituents, i.e. the condition and the two altenatives of the if then else statement. Up to now thee exists vaious fomalizations of the concept of sd tanslation: genealized sd tanslation schemes [AU73] attibute gammas [Knu68] denotational semantics [SS71, Go79] ax gammas [Kos71] total deteministic maco tee-to-sting tansduces [CF82, Eng81, EV86] context-fee hypegaph gamma based syntax-diected tanslation schemes [EH89] In this pape we stat fom total deteministic maco tee-to-sting tansduces (fo shot: ymt) that ae paticula, left-linea, conuent, and noetheian tem ewiting systems, and embed them into the context of functional pogamming. Fo this pupose we enich the syntax of ymt by adding pogamming language like syntactic featues. Moe pecisely, all ewite ules that specify the computation of one paticula function, ae collected into one equation, and the patten matching inheent in tem ewiting systems, is eplaced by the usual case-constuct. In this pape we call the esult of this syntactic enichment a syntax-diected functional pogam (fo shot: sd funpog). Befoe showing an example of an sd funpog we explain infomally the shape of such pogams. An sd funpog is a nite list of function denitions ove an input-output base whee such a base consists of a anked alphabet of input symbols and a usual alphabet of output symbols. The st agument z of a function is called its ecusion agument, the othe aguments ae called paametes. Evey function denition has the fom of an equation the ight hand side of an equation is a caseconstuct which checks the label oot(z) of the oot of the ecusion agument and switches to the appopiate case-altenative. Fo evey input symbol thee is exactly one case-altenative. A case-altenative is a sting ove function calls, paametes that appea on the left hand side of the equation, and output symbols. In paticula, function calls may occu nested in paamete positions of othe functions. Hee, we only conside call-by-name computations of sd funpogs. Figue 1 shows a piece of the concete sd funpog P tans. Actually, itisthesyntax-diected denition of the function exptans which tanslates abstact syntax tees of high-level pogams into code fo some abstact machine. The one and only paamete of exptans keeps a teestuctued addess which has not yet been used in the code geneated so fa. Clealy, the input symbols of the pogams ae the labels of the abstact syntax tees (like the symbol "if then else" of ank thee), and the output symbols ae machine instuctions, addesses, and intepunctuation symbols. In the gue wehave only pesented one case-altenative which teats ecusion aguments of the fom of if then else-statements. Fo the complete denition of exptans, wewould have to add exactly one case-altenative fo evey othe command of the pogamming laguage (like

3 2 1 INTRODUCTION exptans (z y 1 ) = CASE oot(z) OF. if then else : exptans (sel 1 (z) y 1 :1) JMC y 1 :0 exptans (sel 2 (z) y 1 :2) JMP y 1 :4 y 1 :0 : exptans (sel 3 (z) y 1 :3) y 1 :4 :. END Figue 1: Pat of an sd funpog fo the tanslation of if then else into abstact machine code. "while do", ":=", "epeat until"). The case-altenative shown in the gue contains thee function calls, viz. exptans (sel 1 (z) y 1 :1), exptans (sel 2 (z) y 1 :2), and exptans (sel 3 (z) y 1 :3). In fact, these function calls occu independently fom each othe and not nestedly. Up to now only an intepete-based implementation of sd funpogs exists. The involved abstact machine called checking-tee nested-stack tansduce (fo shot: ct-ns tansduce) is a sequential machine with a nested-stack based memoy called checking-tee nested-stack [Aho69, ES84]. As implementation devices, these machines ae of paticula inteest, because in [EV86] it is shown in an indiect way that the class sdfun of tee-to-sting functions which ae computable by sd funpogs with call-by-name computation stategy, is chaacteized by ct-ns tansduces. Thus, in paticula, evey function computable by a ct-ns tansduce lies in sdfun. In [FV90] the intepete-based implementation suggested in [EV86] has been fomalized in a diect way. Thee, the complete case-altenative is witten into one squae of the stoage of the ct-ns tansduce. Duing untime the case-altenative is intepeted symbol by symbol fom left to ight. In this pape we fomalize a compile-oiented implementation of sd funpogs, i.e. we dene an abstact machine, called syntax-diected untime-stack machine (fo shot sds machine), and a tanslation function which maps evey sd funpog into a pogam which is executable on the sds machine. This implementation is a estiction of the compile-based implementation of st-ode functional pogams with call-by-name computation stategy in [Ind85] with espect to the special ecusion stuctue of sd funpog. In the fomalization of the sds machine we aim at a minimal set of instuctions which is appopiate fo the execution of sd funpog. Actually, we have achieved that functional pogams which allow the specication of tee-to-sting functions outside sdfun ae not computable on the sds machine. Rathe than poving this chaacteization fomally we convince the eade about the validity of the chaacteization by compaing the sds machine with the ct-ns tansduce. The sds machine consists of a pogam stoage PS, a pogam counte PC, an output tape OT, and a untime stack RS. An instantaneous desciption of an sds machine is given in Figue 2. In fact, the main component of the sds machine is the untime stack. It consists of F-blocks fo the evaluation of function calls and Y-blocks fo the evaluation of the paamete values. In Figue 2

4 - - 3 PS PC RS 6 Y 38 a Y{block 5: 6: JMP 10 RET sl F F{block 28 a dl subtee 24 ad 1 26 ad 2 OT a b c... F F{block 0 a 2 dl (() ) input tee Figue 2: An instantaneous desciption of an sds machine we have indicated thee blocks: one Y-block on top one F-block one position below the top, and one F-block at the bottom of the untime stack. The block at the bottom epesents the call of the main function F in of the sd funpog at the beginning of the computation. We assume that F in has just one agument (its ecusion agument) in Figue 2 this agument is the tee (() ). The computation of a function call is illustated in Figue 3. Suppose that "G(sel 2 (z) pa 1 ::: pa n )est" is a postx of a case-altenative, the F-block bl is on top of RS, and the machine is about to simulate the function call of G with ecusion agument sel 2 (z) and paamete expessions pa 1 ::: pa n. et ad(piece) be the pogam addess of the st instuction in the tanslation of some piece of the souce pogam into sds machine code. Then, a new F-block bl' is pushed on top of the untime stack by executing the instuction CREATE(2 ad(pa 1 ) ::: ad(pa n ) ad(est)). The block bl' contains

5 4 1 INTRODUCTION RS RS bl' F ad(est) s 2 ad(pa 1 ) dl tee ad(pa n ) F F bl a bl a (s 1 s 2 ) ad(pa 1 ) tee CREATE(2 ad(pa 1 ) ::: ad(pa n ) ad(est)) (s 1 s 2 ) ad(pa 1 ) tee ad(pa 2 ) ad(pa 2 ) Figue 3: Computation of the function call G(sel 2 (z) pa 1 ::: pa n ) the tag F the etun addess ad(est) at which the computation has to be esumed afte the evaluation of the called function. a dynamic link dl which points to the topmost squae of block bl the cuent ecusion agument s 2 which is selected fom the ecusion agument of block bl the addesses ad(pa 1 ) ::: ad(pa n ) fo the evaluation of the paametes. Afte the execution of the CREATE-instuction the pogam counte is set to the addess fo the evaluation of G by executing the instuction JMP ad(g). Besides the F-blocks, the untime stack contains Y-blocks. Such a Y-block is pushed on top of the untime stack, if a value of a paamete expession is needed. (Recall that the sds machine simulates the call-by-name computation stategy of sd funpogs.) A Y-block always consists of thee squaes:

6 5 the tag Y the etun addess a the static link sl which points to the F-block which contains the cuent envionment, i.e., the bindings of the fee vaiables of the paamete expessions. In the following we call this F-block and its tee the cuent block and cuent ecusion agument, espectively. The way in which F-blocks ae pushed on top of the untime stack and, in paticula, the fact that the ecusion agument of the called function always is a subtee of the cuent ecusion agument, aleady indicates that the sds machine can only evaluate functions in the class sdfun. We ae not going to pove this equivalence fomally. Rathe we compae this implementation with the intepete-based implementation in [FV90] and we will show a one-to-one coespondence between the two implementations. We have implemented the sds machine diectly in C on a SPARC station SC. On the othe hand sd funpogs can be consideed as vey simple MIRANDA pogams fo which a commecial implementation is available. Not vey stikingly, it tuns out that ou implementation uns faste than the MIRANDA-like implementation. This pape is oganized in seven sections whee the second section contains peliminaies. In Section 3 we intoduce the syntax and semantics of sd funpog. In Section 4, we fomally dene the sds machine. Section 5 deals with the call-by-name implementation of sd funpog on the sds machine. In Section 6 we ecall the intepete-based implementation of sd funpog on the ct-ns tansduce and compae this implementation with the implementation of Section 5. Finally, Section 7 contains some concluding emaks and indicates futhe eseach topics.

7 6 2 PREIMINARIES 2 Peliminaies We ecall some notations and basic denitions which will be used in the est of the pape. We denote the set of natual numbes by IN it includes the numbe 0. Fo j 2 IN [j] denotes the set f1 ::: jg thus [0] =. Fo an alphabet A, we denote the set of wod ove A with length n by A n. The set of all wods ove A is the set S n2in An and is denoted by A " denotes the empty wod. As usual, a anked alphabet is a pai ( ank ), whee is an alphabet and ank : ;! IN is a total function. Fo 2, ank () is called ank of. The subset m of consists of all symbols of ank m (m 0). Note that, fo i 6= j, i and j ae disjoint. If the anks of the symbols ae clea fom the context, then we dop the function ank fom the denotation of the anked alphabet ( ank ) and simply wite. et ( ank ) be a anked alphabet and let S be an abitay set. Then the set of (labeled) tees ove ( ank ) indexed bys,denoted by T (S) is dened inductively as follows: (i) (ii) S T (S) fo evey 2 k with k 0 and t 1 ::: t k 2 T (S) (t 1 ::: t k ) 2 T (S): We denote T = T ( ). Fo the est of this pape we x the set Y = fy 1 y 2 :::g of the paamete vaiables fo k 0, Y k = fy 1 ::: y k g. Fo a set U = fu 1 ::: u k g of wods with k 0, and some wod w in which the elements of U do not occu ovelapped, we denote by w[u 1 =w 1 ::: u k =w k ] the esult of substituting w i fo evey occuence of u i in w.

8 7 3 Syntax-Diected Functional Pogams In this section we intoduce the concept of syntax-diected functional pogams (fo shot: sd funpog) by giving the denition of its syntax and semantics. Then we illustate this concept by a simple example. Befoe we stat with the denition of the syntax, we x the following peliminaies fo the est of this pape: We assume that denotes the anked alphabet f 1 ::: g of input symbols fo some 1. denotes the alphabet of output symbols. and we call ( ) the input-output base of sd funpogs. The only eason of having these peliminaies is to avoid epetitions in the fomal denitions. Although having xed now the symbols of, we feel fee to choose dieent symbols in concete examples. 3.1 Syntax of sd funpogs As aleady mentioned in the intoduction, an sd funpog consists of a nite system of equations, each of them specifying one function by means of a case-expession with case-altenatives. Fo the sake of a bette undestanding, the denitions of these two latte technical concepts ae given pefeence to the denition of the syntax of sd funpogs. Denition 3.1 et F denote a anked alphabet of function symbols such that, fo evey F 2F, ank F (F ) 1. Moeove, let 2 m fo some m 0 and let n 0. The set of case-altenatives fo with n paametes and function symbols fom F, denoted by CA( n F), is the smallest subset CA ( [F[fsel j (z) j j 2 INg[Y [f( ) g) such that: (i) " 2 CA. (ii) Fo evey a 2 and 2 CA, a 2 CA. (iii) Fo evey k 0, G 2F k+1 1 ::: k 2 CA and j 2 [m], G(sel j (z) 1 ::: k ) 2 CA. (iv) Fo evey i 2 [n] and 2 CA, y i 2 CA. CA(F) denotes the set S 2 n2ran K(F) CA( n F) whee RANK(F) is the set of all anks of function symbols occuing in F. The expessions 1 ::: k in (iii) ae called paamete expessions. We note that paamete expessions may contain functions. Denition 3.2 et F again denote a anked alphabet of function symbols as in the pevious denition. Fo evey n 2 IN, the set of case-expessions with n paametes, denoted by CASE ; EXPR(n), is the smallest set which contains all stings of the fom CASE oot(z) OF 1 : t 1 ::: : t END whee fo evey i 2 [], t i 2 CA( i n F). The set of case-expessions of F, denoted by CASE ; EXPR(F), is the set S n2ran K(F) CASE ; EXPR(n).

9 8 3 SYNTAX-DIRECTED FUNCTIONA PROGRAMS Now we ae able to pesent the denition of the syntax of sd funpogs. Denition 3.3 An sd funpog P is a tuple (F F in E) such that Fis a anked alphabet of function symbols such that, fo evey F 2F, ank F (F ) 1. F in 2F with ank 1 is the initial function symbol. E is a nite set of equations of the fom F (z y 1 ::: y n )= whee F 2F n+1, z is a vaiable, and 2 CASE ; EXPR(n). Moeove, fo evey F 2F thee is exactly one such equation in E. Note that the vaiable z, called ecusion vaiable, may only occu as st agument of a function F. Also note that the initial function F in always has ank one. The only eason fo these estictions is the fact that the implementation on the sds machine becomes technically a bit easie. Finally we note that, due to the denition of case-expessions and of sd funpogs, fo evey function symbol F 2Fand fo evey input symbol 2 thee is exactly one case-altenative. Thus, fom the computational point of view, no computation can block because of a lack of an appopiate casealtenative. This is the eason why sd funpogs only compute total functions, but we will come back to this point in the next subsection. The class of sd funpogs ove the input-output base ( ) is denoted by SDFP( ). Now let us illustate these denitions by an easy example. Example 3.4 Conside the anked alphabets F = ff (1) 1 F(2) 2 F(3) 3 g and = f (2) (1) (0) g of function symbols and input symbols, espectively. et =fa b cg be the set of output symbols and conside the set E with the following thee equations: F 1 (z) F 2 (z y 1 ) F 3 (z y 1 y 2 ) = CASE oot(z) OF : af 2 (sel 1 (z) bf 3 (sel 2 (z) a b)) (1.1) : a (1.2) : a (1.3) END = CASE oot(z) OF : a (2.1) : F 3 (sel 1 (z) y 1 c) (2.2) : a (2.3) END = CASE oot(z) OF : a (3.1) : a (3.2) : y 2 y 2 (3.3) END

10 3.2 Semantics of sd funpogs 9 Then (F F 1 E) is an sd funpog ove the input-output base ( ). The sting CASE oot(z) OF : af 2 (sel 1 (z) bf 3 (sel 2 (z) a b)) : a : a END is a case-expession without paamete, and af 2 (sel 1 (z) bf 3 (sel 2 (z) a b)) in (1.1) is a case-altenative fo without paamete and function symbols fom F. The function call F 3 (sel 2 (z) a b) occus nested in the st paamete of F 2. Having fomalized the syntax of sd funpogs we will intoduce its call-by-name semantics in the next subsection. 3.2 Semantics of sd funpogs Clealy, evey computation of an sd funpog is diected by an input tee, and befoe a computation step is executed, the appopiate case-altenative has to be chosen accoding to the label of the cuent node of the input tee. Thus, to pepae the denition of the semantics, we st fomalize this choice as the semantics of case-expessions. Denition 3.5 et P =(F F in E) be an sd funpog. The semantics of case-expessions fo F, denoted by [ ] case P, is the function with [ CASE oot(z) OF 1 : t 1 ::: : t [ ] case P : CASE ; EXPR(F) T ;! CA(F) END ] case P (t) =t j,ifoot(t) = j. The semantics of an sd funpog P =(F F in E) is fomalized by means of a binay computation elation on the set of potential computation foms. Denition 3.6 et F be a anked alphabet of function symbols. The set of potential computation foms, denoted by pcf, is the smallest subset ( [F[T [f( ) g) such that (i) " 2. (ii) Fo evey a 2 and 2, a 2. (iii) Fo evey F 2F k+1 with k 0, t 2 T, 2, and fo evey i 2 [k]: i 2 : F (t 1 ::: k ) 2 : In one computation step the leftmost occuence of a function call F ((s 1 ::: s m ) 1 ::: n ) is eplaced by a modication of the case-altenative fo in the equation fo F. The modication consists of eplacing evey selection opeato sel j (z)by the diect subtee s j of the cuent ecusion agument, and by eplacing evey paamete vaiable y i by the paamete expession i. Note that these paamete expessions do not contain paamete vaiables because this absence aleady holds fo the whole function call. Now we ae able to dene the call-by-name computation elation of an sd funpog.

11 10 3 SYNTAX-DIRECTED FUNCTIONA PROGRAMS Denition 3.7 et P =(F F in E) be an sd funpog. The call-by-name computation elation of P, denoted by =) P, is the smallest subset of pcf pcf such that fo evey ' 1 ' 2 2 pcf : ' 1 =) P ' 2 i (i) ' 1 = wf((s 1 ::: s m ) 1 ::: n ) fo some w 2, F 2F n+1 with n 0, (s 1 ::: s m ) 2 T with m 0, 1 ::: n 2 pcf and 2 pcf. (ii) F (z y 1 ::: y n ) = is an equation in E. (iii) ' 2 = w ([ ] case P ((s 1 ::: s m ))) [sel 1 (z)=s 1 ::: sel m (z)=s m y 1 = 1 ::: y n = n ]: As usual we denote the eexive, tansitive closue of =) P by=) P. We note that, if at all, any paamete expession is computed in a call-by-name fashion. Howeve, we obseve that the ecusion agument does not have to be computed at all, because in evey instance it is a subtee of the tee that is given to the initial function symbol at the beginning of the computation. Thus, the st agument ofevey function can also be consideed as a call-by-value paamete. Actually, in the implementation of sd funpogs we will take advantage of this obsevation. As descibed in the intoduction, sd funpogs ae in a one-to-one coespondence to total deteministic maco tee-to-sting tansduces. Fom the consideations of Section 3.3 of [EV86], it follows that fo an abitay total deteministic maco tee-to-sting tansduce P and evey input tee s 2 T, thee is a unique output sting w 2 such that F in (s) =) P w: Thus, =) P induces a total function of type T ;!. Denition 3.8 et P =(F F in E) be an sd funpog. The function computed bypwithcall-byname computation stategy is the function (P ): T ;! dened by (P )(s) =w i F in (s) =) P w.. The set of computation foms of P, denoted by CF(P ), is the set f j 2 pcf and F in (s) =) P fo some s 2 T g The class of functions computed by sd funpogs with call-by-name computation stategy is denoted by sdfun. We nish this section by giving an example of a computation. The supescipt at the computation elation =) efes to the applied case-altenative. Example 3.9 Conside the sd funpog P of 3.4. The following input tee t = (() ) is given. F 1 ((() )) (1:1) =) af 2 (() bf 3 ( a b)) (2:2) =) af 3 ( bf 3 ( a b) c) (3:3) =) acc Hence, (P )((() ))) = acc. In this section we have dened sd funpogs and explained them by an example. In the next two sections we will fomalize a compile-based implementation of the call-by-name computation stategy on a untime stack machine: Section 4 intoduces the machine, and Section 5 shows how to tanslate an sd funpog into code fo this machine.

12 11 4 Syntax-Diected Runtime Stack Machine Now we fomalize the abstact machine on which the implementation of sd funpogs is based. These machines ae called syntax-diected untime stack machines, fo shot sds machines. The implementation pesented hee is compile-based in the sense that evey sd funpog is compiled into a owchat ove instuctions which ae executable on this machine. The sds machine is dened by its instantaneous desciptions, its instuction set and the semantics of its instuctions. An example of an instantaneous desciption of an sds machine is given in Figue 2 in the intoduction. Since the denition of the sds machine is completely independent of the contents of the pogam stoe, this stoe is dopped fom the instantaneous desciptions of the machine. Recall that the denitions efe to the input-output base ( ) and that is the set f 1 ::: g. Denition 4.1 The ( ){sds machine is dened as follows: The set of instantaneous desciptions, denoted by ID( ), is the set PC RS OT, whee { PC = IN is the pogam counte. { RS = SY MB with SY MB = ff,yg[ IN [ T, is the untime stack a conguation h of the untime stack is descibed as a sequence h:1 :h:2 :::: h:q of squaes h:i 2 SY MB whee h:1 denotes the top squae. { OT = is the output tape. The set of instuctions of the sds-machine, denoted by I( ), is the set containing all instuctions of one of the following type: { Jump instuctions: JMP n JMR ( 1 : m 1 ::: : m ) n2 PC, fo evey i 2 []:m i 2 PC { RS instuctions: CREATE(j m 1 ::: m n a) RET EV A i, j 2 IN, fo evey i 2 [n]: m i 2 PC, and a 2 PC,foevey i 2 IN { Output instuction: WRITE a a2 { othe instuction: DUMMY Pogams fo the sds machine ae deteminsitic owchats ove the set of instuctions in which the JMR-instuctions ealize the banching points.

13 12 4 SYNTAX-DIRECTED RUNTIME STACK MACHINE Denition 4.2 The set of the pogams fo the ( )-sds machine, denoted by Pog( ), is the set f1 : ; 1 ::: n : ; n j n 1 and fo evey j 2 [n] : ; j 2 I( )g of stings ove the alphabet (IN [ I( ) [f: g). We nish this subsection with an example of an sds machine pogam. Example 4.3 Conside the input-output base ( ) of Example 3.4. Then the following sting is an ( )-sds machine pogam. 1 : JMR( :2 :9) 2 : WRITE b 3 : CREATE(1 5 7) 4 : JMP 9 5 : WRITE a 6 : RET 7 : WRITE b 8 : RET 9 : EV A 2 10 : JMP : RET Now we tun to the denition of the semantics of sds machine pogams. Fist we give the denition of the semantics of the instuctions, then we dene the one-step semantics, and we end up with the iteation semantics. The semantics of a pogam will be dened by using paticula input- and output-mappings and the iteation semantics. We need the following ve auxiliay functions to dene the instuction semantics: 1. env : RS ;! IN env(h) = ( 1 if h:1 =F 3+h:3 if h:1 =Y Given a untime stack h, this function yields the position of the top squae of the F{block which contains the cuent envionment, i.e., bindings of the ecusion vaiable z and the paamete vaiables occuing in the postx of the case-altenative which is cuently computed. If the topmost block isanf{block, then it contains the bindings itself. If it is a Y{block, then the static link points to the appopiate F{block. 2. next : RS ;! IN 8 >< 3+h:3 if h:1 =Fand h:(3 + h:3) = F next(h:1 ::::: h:q) = 5+h:3+h:(5 + h:3) if h:1 =Fand h:(3 + h:3) = Y >: 3+h:3+next(h 0 ) ; 1 if h:1 =Yand h:(3 + h:3) = F whee h 0 = h:(3 + h:3) : :::: h:q This function yields the position of the top squae of the F{block which epesents the envionment of the cuent envionment.

14 13 3. cn : ;! IN cn() =l,if = l fo some l 2 [] This function yields the position of the constucto in the list ( 1 ::: ) of input symbols that is given by the input alphabet of the ( )-sds machine. 4. oot : T ;! oot(t) =,ift = (t 1 ::: t n ) fo some 2 n and t 1 ::: t n 2 T This function yields the oot of the given tee. 5. sel : T IN ;;! T sel((t 1 ::: t n ) j)= ( tj if j 2 [n] undefined othewise Fo a tee and a numbe j, this function detemines the j-th subtee of the given tee, if it exists. Denition 4.4 Fo evey instuction ; 2 I( ), the instuction semantics of ;, denoted by C [; ], is a function of type ID( ) ;! ID( ) dened as follows whee (m h w) 2 ID( ): 1. C [ JMP n ](m h w) := (n h w) C [ JMR ( 1 : m 1 ::: : m )](m h w) := (m h w) whee = cn(oot(h:4)) 2. C [ CREATE(j m 1 ::: m n a) ](m h w) := (m +1 F:a :(n +2):sel(h:(env(h)+3) j):m 1 : :::: m n : h w) C [ RET ](m h w) := if h =F:a : dl : tee : ad 1 : :::: ad dl;2 : h 0 then (a h 0 w) if h =Y:a : sl : h 0 then (a h 0 w) C [ EV A i ](m h w) := (h:(env(h)+3+i) Y:m +1:next(h) :h w) 3. C [ WRITE a ](m h w) := (m +1 h wa) 4. C [ DUMMY ](m h w) := (m +1 h w) Befoe we dene the one-step semantics, we infomally explain the instuction semantics. 1. JMP n sets the pogam counte to n. Using the instuction JMR ( 1 : m 1 ::: : m ) (jump on oot) the pogam "jumps" to the pogam place coesponding to the label of the oot of the cuent ecusion agument. This tee is contained in the fouth squae (counted fom the top) of the cuent F {block. The functions cn and oot help to detemine this symbol.

15 14 4 SYNTAX-DIRECTED RUNTIME STACK MACHINE 2. CREATE(j m 1 ::: m n a) pushes a new F{block ontopoftheuntime stack with the tag F, the etun addess a, the dynamic link n +2, thej-th subtee of the cuent ecusion agument and the addesses m 1 ::: m n fo the evaluation of the paamete vaiables. The pogam counte is set to the addess of the next instuction. The RET instuction deletes the topmost block and sets the pogam counte to the etun addess of the deleted block. By means of the EV A i instuction a Y{block fo the evaluation of the paamete vaiable y i is pushed on the untime stack and the pogam counte is set to the addess fo the computation of the paamete vaiable y i. Note that this addess is contained in the F{block which is specied by env(h). 3. The instuction WRITE a appends the output symbol a to the end of the output tape and inceases the pogam counte. 4. The DUMMY instuction only inceases the pogam counte. The othe components of the sds machine ae not changed. This instuction is only intoduced fo the computation of an empty case-altenative of sd funpog. Afte this explanation we dene the one-step semantics and the iteation semantics of sds machine pogams. Denition 4.5 et P =1:; 1 ::: n:; n 2 Pog( ) be an ( )-sds machine pogam. The one-step semantics E [ P ] of P is the function E [ P ]:ID( ) ;! ID( ) whee ( C [;m ](m h w) if m 2 [n] E [ P ](m h w)= (0 h w) othewise The iteation semantics I [ P ] of P is the function I [ P ]:ID( ) ;! ID( ) whee I [ P ](m h w)= ( (m h w) if m =0 I [ P ](E[ P ](m h w)) othewise Now we intoduce the input-mapping and output-mapping fo the sds machine. Denition 4.6 The input-mapping is the function input : T ;! ID( ) dened by input(t) =(1 F:0:2:t ").. The output-mapping is the function output : ID( ) ;! dened by output(0 h w)=w The initial instantaneous desciption (m h w) of the sds machine is povided by the inputmapping. The pogam counte m is set to the stating addess 1, the untime stack h only contains one F{block with tag F, etun addess 0, dynamic link 2, and the given input tee t, and the output tape w contains the empty wod ". The output-mapping pojects the sting witten on the output tape. Now, the semantics of a pogam can be dened in tems of the input- and output-mappings, and the iteation semantics.

16 15 Denition 4.7 et P be a ( )-sds machine pogam. The semantics of P is the function M[ P ]: T ;;! dened by M[ P ]:=input I[ P ] output whee denotes the composition opeation to be ead fom the left to the ight. Note that M[ P ] might be a patial function. Although, if P is an sds machine pogam which is geneated by a tanslation of an sd funpog, then M[ P ] is total. Afte the intoduction of the sd funpogs and the sds machine we dene the tanslation of sd funpogs into sds machine pogams in the next section.

17 16 5 TRANSATION OF SD FUNPROGS INTO SDRS MACHINE PROGRAMS 5 Tanslation of sd funpogs into sds machine pogams Fo the sake of simplicity of the tanslation fom SDFP( ) to Pog( ), we always use tee-stuctued addesses in the geneated pogams. Such an addess is a sting of nonnegative integes sepeated by dots, and it is possible that an instuction is labeled by seveal (possibly none) tee-stuctued addesses. Clealy, such addesses may now also appea as paametes of instuctions. Befoe fomalizing pogams with tee-stuctued addesses, we pesent an example of such a pogam. Example 5.1 et = f (2) (0) g be a anked alphabet and = fa bg be a usual alphabet. Then 1 : JMR( :1:1 :1:2) 1.1 : WRITE b CREATE(1 1:1:1 1:1:2) JMP 1: : WRITE a RET : WRITE b RET 1.2 : EV A : JMP 1:4 1.4 : RET is a ( )-sds machine pogam with tee-stuctued addesses. We assume that a load pogam exists, which tansfoms pogams with tee-stuctued addesses into pogams with usual addesses as equied in Denition 4.2. This load pogam tansfoms, e.g., the pogam in Example 5.1 into the pogam shown in Example 4.3. Denition 5.2 The set of ( )-sds machine pogams with tee-stuctued addesses, denoted by Pog; t( ), is the set fw 1 :; 1 : ::: w n :; n j n 1 fo evey i 2 [n] :; i 2 I 0 ( ) w i 2 (IN ) g of stings whee I 0 ( ) denotes the set of instuctions that include tee-stuctued addesses as paametes and it is equied that no addess appeas moe than once as a label of an instuction in a pogam. The tanslation fom SDFP( ) to Pog ; t( ) is dened inductively ove the syntax of the sd funpog (cf. Denitions 3.1, 3.2, and 3.3). Denition 5.3 The tanslation tans is a function of type SDFP( ) ;! Pog ; t( ). et P =(F F in E) be an sd funpog with F = ff 1 ::: F g fo some 0, F in = F 1,and Then E = ff i (z y 1 ::: y ni )= i j i 2 []g:

18 17 tans(p )=1 : ct( 1 1) RET. : ct( ) RET whee ct is the function which tanslates a case-expession into a piece of an sds machine pogam. The second paamete of ct is a tee-stuctued addess such that fo evey sting 2 IN, the addess is not yet used in the pogam geneated so fa. ct is dened as follows: ct : CASE ; EXPR(F) IN ;! Pog; t( ) with ct( CASE oot(z) OF 1 : t 1 ::: : t END )= JMR ( 1 : :1 ::: : :) :1 : et (t 1 :1) JMP :( +1) :2 : et (t 2 :2) JMP :( +1). : : et (t :) :( +1): whee et is the function which tanslates a case-altenative into a sequence of instuctions. It is dened inductively ove the stuctue of the case-altenatives as follows: et : CA(F) IN ;! Pog; t( ) with et (" ) = DUMMY fo a 2 2 CA(F) : et(a ) =WRITE a et( :1) fo y i with i 1, 2 CA(F) : et(y i ) =EV A i et ( :1) fo F i 2F n+1 i 1 n2 IN, fo evey k 2 [n] : k 2 CA(F) 2 CA(F) and j 1: et(f i (sel j (z) 1 ::: n ) ) =CREATE(j :1 ::: :n :(n +1)) JMP i :1: et ( 1 :1) RET. :n: et ( n :n) RET :(n +1): et ( :(n + 1))

19 18 5 TRANSATION OF SD FUNPROGS INTO SDRS MACHINE PROGRAMS The geneated pogam always stats with the tanslation of the case-expession of the equation fo F 1, which is also called the main equation. The st instuction in the tanslation of any case-expession is the JMR-instuction. Depending on the oot symbol of the cuent ecusion agument, it jumps to the coesponding code which is poduced by the tanslation function et. This latte function is dened ecusively on the stucue of case-altenatives: An empty case-altenative is tanslated into the DUMMY instuction. If the given case-altenative is pexed by an output symbol a, then the instuction WRITE a is poduced. If the given casealtenative is pexed by a paamete vaiable y i, then the instuction EV A i must be executed. This instuction poduces a new Y{block at the top of the untime stack fo the evaluation of this paamete vaiable. If the case-altenative stats with a function call F i (sel j (z) 1 ::: n ), then a CREATE-instuction pushes an F{block on top of the untime stack. The succeeding JMP i instuction jumps to the st instuction of ct( i i). Futhemoe, the code fo the evaluation of the paamete expessions 1 ::: n is poduced. The stating addesses fo the evaluation of paamete expessions ae given as paametes to the mentioned CREATE-instuction. Now we want to illustate the tanslation fo an sd funpog into an sds-machine pogam by means of an example. Example 5.4 Conside the sd funpog P of Example 3.4. We do not want to develop its tanslation step by step. Rathe, we show the top-level of this development fo the tanslation of the caseexpession of the function F 2 and we show the complete tanslation of P in Figue 4. ct( CASE oot(z) OF : a, : F 3 (sel 1 (z) y 1 c), : a END 2) = 2 : JMR( :2:1 :2:2 :2:3) 2:1 : et(a 2:1) JMP 2:4 2:2 : et(f 3 (sel 1 (z) y 1 c) 2:2) JMP 2:4 2:3 : et(a 2:3) 2:4 : RET The RET instuction and abel 2 is poduced by tans(p ). By applying the load pogam to tans(p )we obtain the tanslation of P which is pesented in Figue 4. Fo a bette undestanding we have ommitted the DUMMY -instuctions, but note that a 'complete' tanslation would contain them. We nish this example with the desciption of the computation of the sds machine fo the input tee (() ) in Figue 5 (cf. the computation of the sd funpog in Example 3.9). The execution of the pogam is documented as follows: Evey state of the sds machine is enumeated. Evey block of the untime stack is witten down sepaately in one line. Thus the uppemost line coesponds to the top block of the untime stack. The instuction of the pogam to be evaluated next is listed sepaately. We only list the components of the sds machine which have been changed duing the last computation step.

20 19 Fo a bette undestanding of the behaviou of the machine, we give some detailed infomations. The step tansfoming the state with the numbe n to the state with the numbe n + 1, is called step n. State 1 is poduced by application of the input mapping to the input tee (() ). Step 1 tests the top-constucto and jumps to the pogam addess fo the execution of the case-altenative fo. Then the output symbol a is witten to the output tape. In step 3 a new F{block fo the evaluation of the function call F 2 (sel 1 (z) bf 3 (sel 2 (z) a b)) is ceated on top of the untime stack. Note that the actual value of z is (() ). Then a new test on the top-constucto is executed. In step 6 anothe F{block fo the evaluation of the function call F 3 (sel 1 (z) y 1 c) is ceated. Note that the actual values of z and y 1 ae () and bf 3 ( a b), espectively. In this conguation the value of the paamete vaiable y 2, which isc, isevaluated and then the output symbol c is witten down to the output tape. In step 11 the Y{block can be deleted, because the evaluation of the value of y 2 has been nished. Then the second occuence of y 2 in the case-altenative (3.3) of Example 3.4 must be evaluated. Thus, again a new Y{block is geneated, c is witten down to the output tape, and then the Y{block is deleted. The second function call is nished and the coesponding F{block is deleted in step 15. The st function call is nished and the coesponding F{block is deleted in step 17. In step 19 the input{block is deleted and the stop label 0 is witten to the pogam counte. The wok stops with the output acc.

21 20 5 TRANSATION OF SD FUNPROGS INTO SDRS MACHINE PROGRAMS Function No. Code Constucto F 1 1 JMR( :2 :14 : 16) 2 WRITE a 3 CREATE(1 5 13) 4 JMP 18 5 WRITE b 6 CREATE( ) 7 JMP 30 8 WRITE a 9 RET 10 WRITE b 11 RET 12 RET 13 JMP WRITE a 15 JMP WRITE a 17 RET F 2 18 JMR( :19 :21 : 28) 19 WRITE a 20 JMP CREATE( ) 22 JMP EV A 1 24 RET 25 WRITE c 26 RET 27 JMP WRITE a 29 RET F 3 30 JMR( :31 :33 : 35) 31 WRITE a 32 JMP WRITE a 34 JMP EV A 2 36 EV A 2 37 RET Figue 4: Tanslation of the sd funpog of Example 3.4

22 21 No. PogamCounte RuntimeStack OutputTape Instuction 1 1 F:0:2:(() ) " JMR( :2 :14 :16) 2 2 WRITE a 3 3 a CREATE(1 5 13) F: 13 : 3 : ():5 4 4 F:0:2:(() ) JMP JMR( :19 :21 :28) 6 21 CREATE( ) F: 27 : 4 : :23:25 F: 13 : 3 : (): F:0:2:(() ) JMP JMR( :31 :33 :35) 9 35 EV A 2 Y: 36 : 7 F: 27 : 4 : :23:25 F: 13 : 3 : (): F:0:2:(() ) WRITE c ac RET F: 27 : 4 : :23:25 F: 13 : 3 : (): F:0:2:(() ) EV A 2 Y: 37 : 7 F: 27 : 4 : :23:25 F: 13 : 3 : (): F:0:2:(() ) WRITE c acc RET F: 27 : 4 : :23:25 F: 13 : 3 : (): F:0:2:(() ) RET F: 13 : 3 : (): F:0:2:(() ) JMP RET F:0:2:(() ) JMP RET 20 0 " Figue 5: Computation of the sds machine pogam in Figue 4 with input tee (() )

23 22 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER 6 Compaison of the sds machine and the ct-ns tansduce Afte having developed a compile-based implementation of sd funpogs on the basis of the sds machine, we now biey ecall fom [FV90] the checking-tee nested-stack tansduce (fo shot: ctns tansduce), which seves as an intepete-based implementation of sd funpogs. Recall fom the intoduction that ct-ns tansduces exactly compute the functions of the class sdfun. In the second subsection we compae both implementations and, by establishing a one-to-one coespondence between the computational behaviou of the sds machine and the ct-ns tansduce, we veify that sds machines also compute exactly the class sdfun. 6.1 Infomal desciption of ct-ns tansduce An instantaneous desciption of the ct-ns tansduce is povided by the state of the nite contol, the contents of the output-tape, and the conguation of the checking-tee nested-stack (fo shot: ct-ns). An example of an instantaneous desciption is given in Figue 6. ct-ns stack 3 s 00 2 stack 1 stack 2 s 00 1 top s 0 1 s 0 2 " s 0 2 s 1 s 1 bottom (s 1 ::: s j ) nite contol output tape q i? a b c b a... Figue 6: A Checking-Tee Nested-Stack Tansduce. Intuitively, a ct-ns consists of a nite amount ofstacks that ae nested in each othe, e.g., the nested-stack in Figue 6 consists of thee stacks stack 1 stack 2 and stack 3 stack 3 is nested between the two squaes of stack 2, stack 2 is nested between the bottom squae of stack 1 and the next squae above stack 1 is called outemost stack. We note that the nesting elation of stacks is acyclic. One of the squaes is designated to be the cuent squae. Each squae of the ct-ns consists of two components. The left component includes a subtee of the checking-tee and the ight component includes a symbol of the stack alphabet. The tee in the left component of a stack squae is a diect subtee of the tee in the squae below, e.g., in Figue 6, s 0 2 is a diect subtee of s 1. The complete

24 6.1 Infomal desciption of ct-ns tansduce 23 checking-tee (s 1 ::: s j ) is stoed in the bottom squae of the outemost stack. (The eade is efeed to Denition 3.17 and Denition 7.1 of [EV86] fo a fomal denition of the checking-tee nested-stack thee it is denoted by NS(TR).) The conguations of the ct-ns can be tansfomed by means of the instuctions push(i ), pop, moveup, movedown, ceate(), destuct, and stay(), whee is an element of the stack alphabet and i is a positive intege. The meaning of these instuctions is descibed in the following gues, whee we assume that t i is the i-th diect subtee of t. push(i ) : (1) =) (2) pop : (2) =) (1) t i t t (1) (2) moveup : (1) =) (2), movedown : (2) =) (1) We have to distinguish two possible conguations: 1.) t i t i t t (1) (2) 2.) t i t i t i t i t t (1) (2)

25 24 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER ceate() : (1) =) (2) destuct : (2) =) (1) Also hee, we have to distinguish two possibilities: 1.) t i t i t i t t (1) (2) 2.) t i t i t i t i t i t t (1) (2) stay() : (1) =) (2) t t (1) (2) A ct-ns tansduce contains a nite set of ules each of which has the following fom: q((x 1 ::: x j ) ) ;! whee q denotes a state of the nite contol, (x 1 ::: x j ) and denote epesentations of the two components of the cuent stack squae. The ight-hand-side is a sting ove output symbols followed by at most one constuct (p ) wheep is a state and is an instuction of the ct-ns. The ule can be applied to an instantaneous desciption of the ct-ns tansduce, if q is the state of the

26 6.2 Compaison of the implementations 25 nite contol and the cuent stack squae contains a tee with oot label in its st component and the symbol in its second component. Example 6.1 Conside the instantaneous desciption of the ct-ns tansduce in Figue 6 and the following ule: q i ((x 1 ::: x j ) ) ;! abcq l (moveup), whee q i and q l ae states and a b c ae output symbols. This ule can be applied to the instantaneous desciption in Figue 6, if we assume that denotes the oot of the tee s 00 1 in the cuent squae. The application of this ule changes the instantaneous desciption by switching the nite contol to state q l. applying the instuction moveup to the ct-ns and appending the sting abc to the output tape. The fomal denition of the computation elation of a ct-ns tansduce can be found in [EV86, FV90]. 6.2 Compaison of the implementations In [FV90] a diect intepete-based implementation of sd funpogs on ct-ns tansduces is de- ned. In this subsection we simultaneously ecall this implementation and compae it with the implementation of sd funpog on the sds machine as developed in this pape. In the intepete-based implementation the whole case-altenative is put into the ight component of the cuent squae,anditisintepeted symbol by symbol fomlefttoight. This intepetation mechanism eplaces the pogam-contoled mechanism of the sds machine. We divide the compaison of the intepetation mechanism and the pogam-contoled mechanism into the fou cases which ae possible fo case-altenatives (cf. Denition 3.1): 1. = a, wheea 2 2. = F i (sel j (z) 1 ::: k ) 3. = y i 4. = " We conside the following instantaneous desciption of the ct-ns tansduce as stating point of ou compaison whee p is the woking state:

27 26 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER CT-NS s (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) OT a b We will see that this instantaneous desciption is suciently geneal fo the desciption of the behaviou of the ct-ns tansduce in each of the fou cases. The coesponding instantaneous desciption of the sds machine is shown in the next gue: PC ad() OT a b Runtime stack Pogam F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad():m +2:(s) :ad( 1 )::::: ad( m ) ad() : The pogam counte contains the stat addess fo the evaluation of the cuent expession. The top F{block consists of the tag F, the etun addess ad() fo the evaluation of the expession, the dynamic link n + 2, the ecusion agument s and the stat addesses ad( 1 ) ::: ad( n ) fo the evaluation of the paametes 1 ::: n. The contents of the output tape is identical to the output tape of the ct-ns tansduce. Now, we illustate the instantaneous desciption of the ct-ns tansduce afte intepetation of the pex symbol of and the instantaneous desciption of the sds machine afte the execution of the code which aises fom the tanslation of the pex symbol of. If the output tape is not changed, it is omitted. The nite contol of the ct-ns tansduce mostly is in the woking state p if this holds, then we omit the contol fom the gues.

28 6.2 Compaison of the implementations 27 Case 1: = a The output symbol a is deleted in the cuent squae of the ct-ns and it is witten to the output tape. Thus, we each the following instantaneous desciption: CT-NS s (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) OT a b a In this situation the pogam stoage of the sds machine has the following stuctue: ad() : WRITE a ad() : Afte executing WRITE a we obtain the following instantaneous desciption:

29 28 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER PC ad() OT a b a Runtime stack Pogamm F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad():m +2:(s) :ad( 1 )::::: ad( m ) ad() : ad() : Case 2: = F i (sel j (z) 1 ::: k ) In the ct-ns tansduce F i (sel j (z) 1 ::: k ) is eplaced by ( 1 ::: k ), and a push(j Z 0 )- instuction is executed. Thus, in the new squae the left component includes the j-th subtee s j of s and the ight component includes Z 0.Futhemoe, the state of the nite contol changes to F i. Fo instance, the instantaneous desciption s F i (sel j (z) 1 ::: k ) p (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) is changed into the following instantaneous desciption: s j Z 0 F i s ( 1 ::: k ) (s) ( 1 ::: n ) ((s)) ( 1 ::: m )

30 6.2 Compaison of the implementations 29 If, fo example the oot of s j is and, in the sd funpog which is unde consideation, t is the case-altenative fo of F i, then Z 0 is eplaced by t, and the nite contol changes back to the woking state p. Note that the paamete list in the squae below the new top squae is not deleted, because it contains the bindings of the paamete vaiables in t. We obtain the following instantaneous desciption: s j t p s ( 1 ::: k ) (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) In this situation the pogam stoage of the sds machine has the following stuctue: ad() : CREATE(j ad( 1 ) ::: ad( k ) ad()) JMP i ad() : By executing the CREATE and JMP instuctions we obtain the following instantaneous desciption:

31 30 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER PC ad(t) Runtime stack Pogam F: ad() :k +2:s j : ad( 1 )::::: ad( k ) F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad():m +2:(s) :ad( 1 )::::: ad( m ) ad() : ad(t) : A new F{block with etun addess ad(), the dynamic link k + 2, the ecusion agument s j, the addesses ad( 1 ) ::: ad( k ) fo the evaluation of the paametes 1 ::: k is ceated at top of the untime stack. Then the pogam "jumps" to the stat addess of F i. Thee a JMR instuction is executed. Thus, the pogam jumps to the stat addess fo the evaluation of the coesponding case-altenative ad(t). Case 3: = y i The paamete list ( 1 ::: n )contained in the squae below the cuent stack squae, epesents the bindings of the paamete vaiables in. Thus, we nd the binding of y i in the squae below and we have toevaluate the expession i. We delete y i in the top squae, we movedown to the paamete list, and we ceate a new stack fo the evaluation of i. Note that this new squae contains (s) as checking-tee. Then, we obtain the following instantaneous desciption: CT-NS s (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) (s) i In this situation the pogam stoage of the sds machine has the following stuctue:

32 6.2 Compaison of the implementations 31 ad() : ad() : EV A i By executing the EV A i instuction we obtain the following conguation: PC ad( i ) Runtime stack Pogam Y: ad() : s F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad() :m +2:(s):ad( 1 )::::: ad( m ) ad() : ad() : The addess ad( i ) fo the evaluation of i is witten to the pogam counte and a new Y{ block is ceated on top of the untime stack. This Y{block contains the etun addess ad() and the static link to the envionment of i. In othe wods, the static link points to the F-block in which the appopiate addesses ae stoed fo the computation of the values of paamete vaiables that may occu in i. Case 4: = " The top squae of the ct-ns includes the empty wod ". That means, the evaluation of the casealtenative is nished and thus, this squae can be popped. The paamete list in the new cuent squae contains the bindings of the paamete vaiables fo the pevious function call and hence, this list is not needed any longe. We get the following instantaneous desciption of the ct-ns: CT-NS (s) ((s)) ( 1 ::: m )

33 32 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER In the sds machine the pogam stoage has the following stuctue: ad() : RET By executing the RET instuction we obtain the following conguation: PC ad() Runtime stack Pogam F: ad():m +2:(s) :ad( 1 ):: ad( m ). ad() : This ends the discussion of the fou possible cases of the stuctue of case-altenatives. Howeve, the attentive eade might have ecognized that thee is one possible conguation which is not yet included in these fou cases. It is an instantaneous desciption of the ct-ns tansduce in which the cuent squae of the ct-ns is the bottom squae of a nested-stack and its ight component contains the empty wod ". Fo example: a) CT-NS s (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) (s) " The nested-stack has been ceated fo the evaluation of a paamete expession and now this evaluation is nished. Thus, the nested stack is no longe needed. Theefoe, a destuct-instuction is executed and, since the new cuent squae is not a top squae of a stack, a moveup-instuction is

34 6.2 Compaison of the implementations 33 executed. We obtain the following instantaneous desciption: b) CT-NS s (s) ( 1 ::: n ) ((s)) ( 1 ::: m ) As illustated in Case 3, a nested stack is ceated in the ct-ns tansduce ia Y{block is ceated in the sds machine. Thus, the following instantaneous desciption of the sds machine coesponds to instantaneous desciption a) of the ct-ns: PC ad() Runtime stack Pogam Y: ad() : s F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad() :m +2:(s):ad( 1 )::::: ad( m ) ad() : RET The Y-block has been pushed to the untime stack fo the evaluation of a paamete expession. Now, this evaluation is nished. Thus, the Y-block is deleted by the RET-instuction at addess ad(). We get the following instantaneous desciption of the sds machine which coesponds to instantaneous desciption b) of the ct-ns:

35 34 6 COMPARISON: SDRS MACHINE AND CT-NS TRANSDUCER PC ad() Runtime stack Pogam F: ad():n +2:s : ad( 1 )::::: ad( n ) F: ad() :m +2:(s) :ad( 1 )::::: ad( m ) At the end of this section we summaize the compaison in the following table: ct-ns tansduce sds machine Instuctions push CREATE pop RET (the top block isanf{block) movedown and ceate EVA destuct and moveup RET (the top block is a Y{block) function-call push a squae ceate an F{block y i -vaiable ceate a nested stack ceate a Y{block woking mode intepete-based machine compile-based machine Thus we can conclude a stong similaity between the intepete-based implementation of sd funpog on ct-ns tansduce and the compile-based implementation on the sds machine. Theefoe, we can claim that the sds machine is a minimal machine fo the implementation of sd funpog, because of the chaacteization of sd funpog by the ct-ns tansduce in [EV86]. In paticula, it is not possible to implement tee-to-sting functions on the sds machine which ae not in the class of functions that can be computed by sd funpogs.

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives

a Not yet implemented in current version SPARK: Research Kit Pointer Analysis Parameters Soot Pointer analysis. Objectives SPARK: Soot Reseach Kit Ondřej Lhoták Objectives Spak is a modula toolkit fo flow-insensitive may points-to analyses fo Java, which enables expeimentation with: vaious paametes of pointe analyses which

More information

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES

RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES RANDOM IRREGULAR BLOCK-HIERARCHICAL NETWORKS: ALGORITHMS FOR COMPUTATION OF MAIN PROPERTIES Svetlana Avetisyan Mikayel Samvelyan* Matun Kaapetyan Yeevan State Univesity Abstact In this pape, the class

More information

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2

The Java Virtual Machine. Compiler construction The structure of a frame. JVM stacks. Lecture 2 Compile constuction 2009 Lectue 2 Code geneation 1: Geneating code The Java Vitual Machine Data types Pimitive types, including intege and floating-point types of vaious sizes and the boolean type. The

More information

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18

Reader & ReaderT Monad (11A) Young Won Lim 8/20/18 Copyight (c) 2016-2018 Young W. Lim. Pemission is ganted to copy, distibute and/o modify this document unde the tems of the GNU Fee Documentation License, Vesion 1.2 o any late vesion published by the

More information

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented

Query Language #1/3: Relational Algebra Pure, Procedural, and Set-oriented Quey Language #1/3: Relational Algeba Pue, Pocedual, and Set-oiented To expess a quey, we use a set of opeations. Each opeation takes one o moe elations as input paamete (set-oiented). Since each opeation

More information

FACE VECTORS OF FLAG COMPLEXES

FACE VECTORS OF FLAG COMPLEXES FACE VECTORS OF FLAG COMPLEXES ANDY FROHMADER Abstact. A conjectue of Kalai and Eckhoff that the face vecto of an abitay flag complex is also the face vecto of some paticula balanced complex is veified.

More information

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East.

Undecidability of Static Analysis. William Landi. Siemens Corporate Research Inc. 755 College Rd East. Undecidability of Static Analysis William Landi Siemens Copoate Reseach Inc 755 College Rd East Pinceton, NJ 08540 wlandi@sc.siemens.com Abstact Static Analysis of pogams is indispensable to any softwae

More information

Communication vs Distributed Computation: an alternative trade-off curve

Communication vs Distributed Computation: an alternative trade-off curve Communication vs Distibuted Computation: an altenative tade-off cuve Yahya H. Ezzeldin, Mohammed amoose, Chistina Fagouli Univesity of Califonia, Los Angeles, CA 90095, USA, Email: {yahya.ezzeldin, mkamoose,

More information

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson

DEADLOCK AVOIDANCE IN BATCH PROCESSES. M. Tittus K. Åkesson DEADLOCK AVOIDANCE IN BATCH PROCESSES M. Tittus K. Åkesson Univesity College Boås, Sweden, e-mail: Michael.Tittus@hb.se Chalmes Univesity of Technology, Gothenbug, Sweden, e-mail: ka@s2.chalmes.se Abstact:

More information

Shortest Paths for a Two-Robot Rendez-Vous

Shortest Paths for a Two-Robot Rendez-Vous Shotest Paths fo a Two-Robot Rendez-Vous Eik L Wyntes Joseph S B Mitchell y Abstact In this pape, we conside an optimal motion planning poblem fo a pai of point obots in a plana envionment with polygonal

More information

Towards Adaptive Information Merging Using Selected XML Fragments

Towards Adaptive Information Merging Using Selected XML Fragments Towads Adaptive Infomation Meging Using Selected XML Fagments Ho-Lam Lau and Wilfed Ng Depatment of Compute Science and Engineeing, The Hong Kong Univesity of Science and Technology, Hong Kong {lauhl,

More information

COSC 6385 Computer Architecture. - Pipelining

COSC 6385 Computer Architecture. - Pipelining COSC 6385 Compute Achitectue - Pipelining Sping 2012 Some of the slides ae based on a lectue by David Culle, Pipelining Pipelining is an implementation technique wheeby multiple instuctions ae ovelapped

More information

Illumination methods for optical wear detection

Illumination methods for optical wear detection Illumination methods fo optical wea detection 1 J. Zhang, 2 P.P.L.Regtien 1 VIMEC Applied Vision Technology, Coy 43, 5653 LC Eindhoven, The Nethelands Email: jianbo.zhang@gmail.com 2 Faculty Electical

More information

A Functional Approach for Formalizing Regular. Universitat Karlsruhe, Institut fur Rechnerentwurf und Fehlertoleranz,

A Functional Approach for Formalizing Regular. Universitat Karlsruhe, Institut fur Rechnerentwurf und Fehlertoleranz, A Functional Appoach fo Fomalizing Regula Hadwae Stuctues? Dik Eisenbiegle 1, Klaus Schneide 1 and Ramayya Kuma 2 1 Univesitat Kalsuhe, Institut fu Rechneentwuf und Fehletoleanz, (Pof. D. Schmid), P.O.

More information

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma

MapReduce Optimizations and Algorithms 2015 Professor Sasu Tarkoma apreduce Optimizations and Algoithms 2015 Pofesso Sasu Takoma www.cs.helsinki.fi Optimizations Reduce tasks cannot stat befoe the whole map phase is complete Thus single slow machine can slow down the

More information

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012

Journal of World s Electrical Engineering and Technology J. World. Elect. Eng. Tech. 1(1): 12-16, 2012 2011, Scienceline Publication www.science-line.com Jounal of Wold s Electical Engineeing and Technology J. Wold. Elect. Eng. Tech. 1(1): 12-16, 2012 JWEET An Efficient Algoithm fo Lip Segmentation in Colo

More information

Embeddings into Crossed Cubes

Embeddings into Crossed Cubes Embeddings into Cossed Cubes Emad Abuelub *, Membe, IAENG Abstact- The hypecube paallel achitectue is one of the most popula inteconnection netwoks due to many of its attactive popeties and its suitability

More information

Also available at ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010)

Also available at  ISSN (printed edn.), ISSN (electronic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) Also available at http://amc.imfm.si ISSN 1855-3966 (pinted edn.), ISSN 1855-3974 (electonic edn.) ARS MATHEMATICA CONTEMPORANEA 3 (2010) 109 120 Fulleene patches I Jack E. Gave Syacuse Univesity, Depatment

More information

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform

A Shape-preserving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonuniform Fuzzification Transform A Shape-peseving Affine Takagi-Sugeno Model Based on a Piecewise Constant Nonunifom Fuzzification Tansfom Felipe Fenández, Julio Gutiéez, Juan Calos Cespo and Gacián Tiviño Dep. Tecnología Fotónica, Facultad

More information

Controlled Information Maximization for SOM Knowledge Induced Learning

Controlled Information Maximization for SOM Knowledge Induced Learning 3 Int'l Conf. Atificial Intelligence ICAI'5 Contolled Infomation Maximization fo SOM Knowledge Induced Leaning Ryotao Kamimua IT Education Cente and Gaduate School of Science and Technology, Tokai Univeisity

More information

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler

POMDP: Introduction to Partially Observable Markov Decision Processes Hossein Kamalzadeh, Michael Hahsler POMDP: Intoduction to Patially Obsevable Makov Decision Pocesses Hossein Kamalzadeh, Michael Hahsle 2019-01-02 The R package pomdp povides an inteface to pomdp-solve, a solve (witten in C) fo Patially

More information

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers

XFVHDL: A Tool for the Synthesis of Fuzzy Logic Controllers XFVHDL: A Tool fo the Synthesis of Fuzzy Logic Contolles E. Lago, C. J. Jiménez, D. R. López, S. Sánchez-Solano and A. Baiga Instituto de Micoelectónica de Sevilla. Cento Nacional de Micoelectónica, Edificio

More information

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc

dc - Linux Command Dc may be invoked with the following command-line options: -V --version Print out the version of dc - CentOS 5.2 - Linux Uses Guide - Linux Command SYNOPSIS [-V] [--vesion] [-h] [--help] [-e sciptexpession] [--expession=sciptexpession] [-f sciptfile] [--file=sciptfile] [file...] DESCRIPTION is a evese-polish

More information

UCB CS61C : Machine Structures

UCB CS61C : Machine Structures inst.eecs.bekeley.edu/~cs61c UCB CS61C : Machine Stuctues Lectue SOE Dan Gacia Lectue 28 CPU Design : Pipelining to Impove Pefomance 2010-04-05 Stanfod Reseaches have invented a monitoing technique called

More information

Detection and Recognition of Alert Traffic Signs

Detection and Recognition of Alert Traffic Signs Detection and Recognition of Alet Taffic Signs Chia-Hsiung Chen, Macus Chen, and Tianshi Gao 1 Stanfod Univesity Stanfod, CA 9305 {echchen, macuscc, tianshig}@stanfod.edu Abstact Taffic signs povide dives

More information

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension

Segmentation of Casting Defects in X-Ray Images Based on Fractal Dimension 17th Wold Confeence on Nondestuctive Testing, 25-28 Oct 2008, Shanghai, China Segmentation of Casting Defects in X-Ray Images Based on Factal Dimension Jue WANG 1, Xiaoqin HOU 2, Yufang CAI 3 ICT Reseach

More information

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1

Improvement of First-order Takagi-Sugeno Models Using Local Uniform B-splines 1 Impovement of Fist-ode Takagi-Sugeno Models Using Local Unifom B-splines Felipe Fenández, Julio Gutiéez, Gacián Tiviño and Juan Calos Cespo Dep. Tecnología Fotónica, Facultad de Infomática Univesidad Politécnica

More information

Approaches to Automatic Programming

Approaches to Automatic Programming MITSUBISHI ELECTRIC RESEARCH LABORATORIES http://www.mel.com Appoaches to Automatic Pogamming Chales Rich, Richad C. Wates TR92-04 July 1992 Abstact This pape is an oveview of cuent appoaches to automatic

More information

Lecture 27: Voronoi Diagrams

Lecture 27: Voronoi Diagrams We say that two points u, v Y ae in the same connected component of Y if thee is a path in R N fom u to v such that all the points along the path ae in the set Y. (Thee ae two connected components in the

More information

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number.

(a, b) x y r. For this problem, is a point in the - coordinate plane and is a positive number. Illustative G-C Simila cicles Alignments to Content Standads: G-C.A. Task (a, b) x y Fo this poblem, is a point in the - coodinate plane and is a positive numbe. a. Using a tanslation and a dilation, show

More information

arxiv: v4 [cs.ds] 7 Feb 2018

arxiv: v4 [cs.ds] 7 Feb 2018 Dynamic DFS in Undiected Gaphs: beaking the O(m) baie Suende Baswana Sheejit Ray Chaudhuy Keeti Choudhay Shahbaz Khan axiv:1502.02481v4 [cs.ds] 7 Feb 2018 Depth fist seach (DFS) tee is a fundamental data

More information

GCC-AVR Inline Assembler Cookbook Version 1.2

GCC-AVR Inline Assembler Cookbook Version 1.2 GCC-AVR Inline Assemble Cookbook Vesion 1.2 About this Document The GNU C compile fo Atmel AVR isk pocessos offes, to embed assembly language code into C pogams. This cool featue may be used fo manually

More information

The Internet Ecosystem and Evolution

The Internet Ecosystem and Evolution The Intenet Ecosystem and Evolution Contents Netwok outing: basics distibuted/centalized, static/dynamic, linkstate/path-vecto inta-domain/inte-domain outing Mapping the sevice model to AS-AS paths valley-fee

More information

An Unsupervised Segmentation Framework For Texture Image Queries

An Unsupervised Segmentation Framework For Texture Image Queries An Unsupevised Segmentation Famewok Fo Textue Image Queies Shu-Ching Chen Distibuted Multimedia Infomation System Laboatoy School of Compute Science Floida Intenational Univesity Miami, FL 33199, USA chens@cs.fiu.edu

More information

User Specified non-bonded potentials in gromacs

User Specified non-bonded potentials in gromacs Use Specified non-bonded potentials in gomacs Apil 8, 2010 1 Intoduction On fist appeaances gomacs, unlike MD codes like LAMMPS o DL POLY, appeas to have vey little flexibility with egads to the fom of

More information

A modal estimation based multitype sensor placement method

A modal estimation based multitype sensor placement method A modal estimation based multitype senso placement method *Xue-Yang Pei 1), Ting-Hua Yi 2) and Hong-Nan Li 3) 1),)2),3) School of Civil Engineeing, Dalian Univesity of Technology, Dalian 116023, China;

More information

A Recommender System for Online Personalization in the WUM Applications

A Recommender System for Online Personalization in the WUM Applications A Recommende System fo Online Pesonalization in the WUM Applications Mehdad Jalali 1, Nowati Mustapha 2, Ali Mamat 2, Md. Nasi B Sulaiman 2 Abstact foeseeing of use futue movements and intentions based

More information

IP Network Design by Modified Branch Exchange Method

IP Network Design by Modified Branch Exchange Method Received: June 7, 207 98 IP Netwok Design by Modified Banch Method Kaiat Jaoenat Natchamol Sichumoenattana 2* Faculty of Engineeing at Kamphaeng Saen, Kasetsat Univesity, Thailand 2 Faculty of Management

More information

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM

ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM ADDING REALISM TO SOURCE CHARACTERIZATION USING A GENETIC ALGORITHM Luna M. Rodiguez*, Sue Ellen Haupt, and Geoge S. Young Depatment of Meteoology and Applied Reseach Laboatoy The Pennsylvania State Univesity,

More information

arxiv: v1 [cs.lo] 3 Dec 2018

arxiv: v1 [cs.lo] 3 Dec 2018 A high-level opeational semantics fo hadwae weak memoy models axiv:1812.00996v1 [cs.lo] 3 Dec 2018 Abstact Robet J. Colvin School of Electical Engineeing and Infomation Technology The Univesity of Queensland

More information

A Memory Efficient Array Architecture for Real-Time Motion Estimation

A Memory Efficient Array Architecture for Real-Time Motion Estimation A Memoy Efficient Aay Achitectue fo Real-Time Motion Estimation Vasily G. Moshnyaga and Keikichi Tamau Depatment of Electonics & Communication, Kyoto Univesity Sakyo-ku, Yoshida-Honmachi, Kyoto 66-1, JAPAN

More information

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor

Obstacle Avoidance of Autonomous Mobile Robot using Stereo Vision Sensor Obstacle Avoidance of Autonomous Mobile Robot using Steeo Vision Senso Masako Kumano Akihisa Ohya Shin ichi Yuta Intelligent Robot Laboatoy Univesity of Tsukuba, Ibaaki, 35-8573 Japan E-mail: {masako,

More information

Optical Flow for Large Motion Using Gradient Technique

Optical Flow for Large Motion Using Gradient Technique SERBIAN JOURNAL OF ELECTRICAL ENGINEERING Vol. 3, No. 1, June 2006, 103-113 Optical Flow fo Lage Motion Using Gadient Technique Md. Moshaof Hossain Sake 1, Kamal Bechkoum 2, K.K. Islam 1 Abstact: In this

More information

Assessment of Track Sequence Optimization based on Recorded Field Operations

Assessment of Track Sequence Optimization based on Recorded Field Operations Assessment of Tack Sequence Optimization based on Recoded Field Opeations Matin A. F. Jensen 1,2,*, Claus G. Søensen 1, Dionysis Bochtis 1 1 Aahus Univesity, Faculty of Science and Technology, Depatment

More information

A Two-stage and Parameter-free Binarization Method for Degraded Document Images

A Two-stage and Parameter-free Binarization Method for Degraded Document Images A Two-stage and Paamete-fee Binaization Method fo Degaded Document Images Yung-Hsiang Chiu 1, Kuo-Liang Chung 1, Yong-Huai Huang 2, Wei-Ning Yang 3, Chi-Huang Liao 4 1 Depatment of Compute Science and

More information

Reachable State Spaces of Distributed Deadlock Avoidance Protocols

Reachable State Spaces of Distributed Deadlock Avoidance Protocols Reachable State Spaces of Distibuted Deadlock Avoidance Potocols CÉSAR SÁNCHEZ and HENNY B. SIPMA Stanfod Univesity We pesent a family of efficient distibuted deadlock avoidance algoithms with applications

More information

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System

Slotted Random Access Protocol with Dynamic Transmission Probability Control in CDMA System Slotted Random Access Potocol with Dynamic Tansmission Pobability Contol in CDMA System Intaek Lim 1 1 Depatment of Embedded Softwae, Busan Univesity of Foeign Studies, itlim@bufs.ac.k Abstact In packet

More information

Any modern computer system will incorporate (at least) two levels of storage:

Any modern computer system will incorporate (at least) two levels of storage: 1 Any moden compute system will incopoate (at least) two levels of stoage: pimay stoage: andom access memoy (RAM) typical capacity 32MB to 1GB cost pe MB $3. typical access time 5ns to 6ns bust tansfe

More information

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE

A New and Efficient 2D Collision Detection Method Based on Contact Theory Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai MIAO, Jian XUE 5th Intenational Confeence on Advanced Mateials and Compute Science (ICAMCS 2016) A New and Efficient 2D Collision Detection Method Based on Contact Theoy Xiaolong CHENG, Jun XIAO a, Ying WANG, Qinghai

More information

Point-Biserial Correlation Analysis of Fuzzy Attributes

Point-Biserial Correlation Analysis of Fuzzy Attributes Appl Math Inf Sci 6 No S pp 439S-444S (0 Applied Mathematics & Infomation Sciences An Intenational Jounal @ 0 NSP Natual Sciences Publishing o Point-iseial oelation Analysis of Fuzzy Attibutes Hao-En hueh

More information

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson

Lecture 8 Introduction to Pipelines Adapated from slides by David Patterson Lectue 8 Intoduction to Pipelines Adapated fom slides by David Patteson http://www-inst.eecs.bekeley.edu/~cs61c/ * 1 Review (1/3) Datapath is the hadwae that pefoms opeations necessay to execute pogams.

More information

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples

Multi-azimuth Prestack Time Migration for General Anisotropic, Weakly Heterogeneous Media - Field Data Examples Multi-azimuth Pestack Time Migation fo Geneal Anisotopic, Weakly Heteogeneous Media - Field Data Examples S. Beaumont* (EOST/PGS) & W. Söllne (PGS) SUMMARY Multi-azimuth data acquisition has shown benefits

More information

INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING

INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING INDEXATION OF WEB PAGES BASED ON THEIR VISUAL RENDERING Emmanuel Buno Univesité du Sud Toulon-Va / LSIS CNRS BP 20132, F-83957 La Gade buno@univ-tln.f Nicolas Faessel LSIS CNRS Domaine Univesitaie de Saint-Jéôme

More information

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines

COEN-4730 Computer Architecture Lecture 2 Review of Instruction Sets and Pipelines 1 COEN-4730 Compute Achitectue Lectue 2 Review of nstuction Sets and Pipelines Cistinel Ababei Dept. of Electical and Compute Engineeing Maquette Univesity Cedits: Slides adapted fom pesentations of Sudeep

More information

Conversion Functions for Symmetric Key Ciphers

Conversion Functions for Symmetric Key Ciphers Jounal of Infomation Assuance and Secuity 2 (2006) 41 50 Convesion Functions fo Symmetic Key Ciphes Deba L. Cook and Angelos D. Keomytis Depatment of Compute Science Columbia Univesity, mail code 0401

More information

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994.

The International Conference in Knowledge Management (CIKM'94), Gaithersburg, MD, November 1994. The Intenational Confeence in Knowledge Management (CIKM'94), Gaithesbug, MD, Novembe 994. Hashing by Poximity to Pocess Duplicates in Spatial Databases Walid G. Aef Matsushita Infomation Technology Laboatoy

More information

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS

ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS ANALYTIC PERFORMANCE MODELS FOR SINGLE CLASS AND MULTIPLE CLASS MULTITHREADED SOFTWARE SERVERS Daniel A Menascé Mohamed N Bennani Dept of Compute Science Oacle, Inc Geoge Mason Univesity 1211 SW Fifth

More information

Automatically Testing Interacting Software Components

Automatically Testing Interacting Software Components Automatically Testing Inteacting Softwae Components Leonad Gallaghe Infomation Technology Laboatoy National Institute of Standads and Technology Gaithesbug, MD 20899, USA lgallaghe@nist.gov Jeff Offutt

More information

Frequency Domain Approach for Face Recognition Using Optical Vanderlugt Filters

Frequency Domain Approach for Face Recognition Using Optical Vanderlugt Filters Optics and Photonics Jounal, 016, 6, 94-100 Published Online August 016 in SciRes. http://www.scip.og/jounal/opj http://dx.doi.og/10.436/opj.016.68b016 Fequency Domain Appoach fo Face Recognition Using

More information

Efficient protection of many-to-one. communications

Efficient protection of many-to-one. communications Efficient potection of many-to-one communications Miklós Molná, Alexande Guitton, Benad Cousin, and Raymond Maie Iisa, Campus de Beaulieu, 35 042 Rennes Cedex, Fance Abstact. The dependability of a netwok

More information

Image Enhancement in the Spatial Domain. Spatial Domain

Image Enhancement in the Spatial Domain. Spatial Domain 8-- Spatial Domain Image Enhancement in the Spatial Domain What is spatial domain The space whee all pixels fom an image In spatial domain we can epesent an image by f( whee x and y ae coodinates along

More information

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks

Spiral Recognition Methodology and Its Application for Recognition of Chinese Bank Checks Spial Recognition Methodology and Its Application fo Recognition of Chinese Bank Checks Hanshen Tang 1, Emmanuel Augustin 2, Ching Y. Suen 1, Olivie Baet 2, Mohamed Cheiet 3 1 Cente fo Patten Recognition

More information

Modeling a shared medium access node with QoS distinction

Modeling a shared medium access node with QoS distinction Modeling a shaed medium access node with QoS distinction Matthias Gies, Jonas Geutet Compute Engineeing and Netwoks Laboatoy (TIK) Swiss Fedeal Institute of Technology Züich CH-8092 Züich, Switzeland email:

More information

Gravitational Shift for Beginners

Gravitational Shift for Beginners Gavitational Shift fo Beginnes This pape, which I wote in 26, fomulates the equations fo gavitational shifts fom the elativistic famewok of special elativity. Fist I deive the fomulas fo the gavitational

More information

SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH

SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH I J C A 7(), 202 pp. 49-53 SYSTEM LEVEL REUSE METRICS FOR OBJECT ORIENTED SOFTWARE : AN ALTERNATIVE APPROACH Sushil Goel and 2 Rajesh Vema Associate Pofesso, Depatment of Compute Science, Dyal Singh College,

More information

On Error Estimation in Runge-Kutta Methods

On Error Estimation in Runge-Kutta Methods Leonado Jounal of Sciences ISSN 1583-0233 Issue 18, Januay-June 2011 p. 1-10 On Eo Estimation in Runge-Kutta Methods Ochoche ABRAHAM 1,*, Gbolahan BOLARIN 2 1 Depatment of Infomation Technology, 2 Depatment

More information

Evaluation of Partial Path Queries on XML Data

Evaluation of Partial Path Queries on XML Data Evaluation of Patial Path Queies on XML Data Stefanos Souldatos Dept of EE & CE NTUA, Geece stef@dblab.ntua.g Theodoe Dalamagas Dept of EE & CE NTUA, Geece dalamag@dblab.ntua.g Xiaoying Wu Dept. of CS

More information

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes

Information Retrieval. CS630 Representing and Accessing Digital Information. IR Basics. User Task. Basic IR Processes CS630 Repesenting and Accessing Digital Infomation Infomation Retieval: Basics Thosten Joachims Conell Univesity Infomation Retieval Basics Retieval Models Indexing and Pepocessing Data Stuctues ~ 4 lectues

More information

GARBAGE COLLECTION METHODS. Hanan Samet

GARBAGE COLLECTION METHODS. Hanan Samet gc0 GARBAGE COLLECTION METHODS Hanan Samet Compute Science Depatment and Cente fo Automation Reseach and Institute fo Advanced Compute Studies Univesity of Mayland College Pak, Mayland 07 e-mail: hjs@umiacs.umd.edu

More information

All lengths in meters. E = = 7800 kg/m 3

All lengths in meters. E = = 7800 kg/m 3 Poblem desciption In this poblem, we apply the component mode synthesis (CMS) technique to a simple beam model. 2 0.02 0.02 All lengths in metes. E = 2.07 10 11 N/m 2 = 7800 kg/m 3 The beam is a fee-fee

More information

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces

A Family of Distributed Deadlock Avoidance Protocols and their Reachable State Spaces A Family of Distibuted Deadlock Avoidance Potocols and thei Reachable State Spaces Césa Sánchez, Henny B. Sipma, and Zoha Manna Compute Science Depatment Stanfod Univesity, Stanfod, CA 94305-9025 {cesa,sipma,manna}@cs.stanfod.edu

More information

Pipes, connections, channels and multiplexors

Pipes, connections, channels and multiplexors Pipes, connections, channels and multiplexos Fancisco J. Ballesteos ABSTRACT Channels in the style of CSP ae a poeful abstaction. The ae close to pipes and connections used to inteconnect system and netok

More information

Functional Dependencies in OWL ABoxes

Functional Dependencies in OWL ABoxes Functional Dependencies in OWL ABoxes Jean-Paul Calbimonte, Fabio Poto, C. Maia Keet 3 École Polytechnique Fédéale de Lausanne (EPFL) Database Laboatoy - Switzeland jean-paul.calbimonte@epfl.ch National

More information

What is a System:- Characteristics of a system:-

What is a System:- Characteristics of a system:- Unit 1 st :- What is a System:- A system is an odely gouping of intedependent components linked togethe accoding to a plan to achieve a specific objective. The study of system concepts has thee basic implications:

More information

In-place Graph Rewriting with Interaction Nets

In-place Graph Rewriting with Interaction Nets In-place Gaph Rewiting with Inteaction Nets Ian Mackie hina ato n algoithm is in-place, o uns in-situ, when it does not need an additional memo to eecute beond a small constant amount. Thee ae man algoithms

More information

Evaluation of Partial Path Queries on XML data

Evaluation of Partial Path Queries on XML data Evaluation of Patial Path Queies on XML data Stefanos Souldatos Dept of EE & CE, NTUA stef@dblab.ntua.g Theodoe Dalamagas Dept of EE & CE, NTUA dalamag@dblab.ntua.g Xiaoying Wu Dept. of CS, NJIT xw43@njit.edu

More information

4.2. Co-terminal and Related Angles. Investigate

4.2. Co-terminal and Related Angles. Investigate .2 Co-teminal and Related Angles Tigonometic atios can be used to model quantities such as

More information

Transmission Lines Modeling Based on Vector Fitting Algorithm and RLC Active/Passive Filter Design

Transmission Lines Modeling Based on Vector Fitting Algorithm and RLC Active/Passive Filter Design Tansmission Lines Modeling Based on Vecto Fitting Algoithm and RLC Active/Passive Filte Design Ahmed Qasim Tuki a,*, Nashien Fazilah Mailah b, Mohammad Lutfi Othman c, Ahmad H. Saby d Cente fo Advanced

More information

ART GALLERIES WITH INTERIOR WALLS. March 1998

ART GALLERIES WITH INTERIOR WALLS. March 1998 ART GALLERIES WITH INTERIOR WALLS Andé Kündgen Mach 1998 Abstact. Conside an at galley fomed by a polygon on n vetices with m pais of vetices joined by inteio diagonals, the inteio walls. Each inteio wall

More information

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes

On the Conversion between Binary Code and Binary-Reflected Gray Code on Boolean Cubes On the Convesion between Binay Code and BinayReflected Gay Code on Boolean Cubes The Havad community has made this aticle openly available. Please shae how this access benefits you. You stoy mattes Citation

More information

Scaling Location-based Services with Dynamically Composed Location Index

Scaling Location-based Services with Dynamically Composed Location Index Scaling Location-based Sevices with Dynamically Composed Location Index Bhuvan Bamba, Sangeetha Seshadi and Ling Liu Distibuted Data Intensive Systems Laboatoy (DiSL) College of Computing, Geogia Institute

More information

Introduction To Pipelining. Chapter Pipelining1 1

Introduction To Pipelining. Chapter Pipelining1 1 Intoduction To Pipelining Chapte 6.1 - Pipelining1 1 Mooe s Law Mooe s Law says that the numbe of pocessos on a chip doubles about evey 18 months. Given the data on the following two slides, is this tue?

More information

DUe to the recent developments of gigantic social networks

DUe to the recent developments of gigantic social networks Exploing Communities in Lage Pofiled Gaphs Yankai Chen, Yixiang Fang, Reynold Cheng Membe, IEEE, Yun Li, Xiaojun Chen, Jie Zhang 1 Abstact Given a gaph G and a vetex q G, the community seach (CS) poblem

More information

DAG-BASED VISUAL INTERFACES FOR NAVIGATION IN INDEXED VIDEO CONTENT 1

DAG-BASED VISUAL INTERFACES FOR NAVIGATION IN INDEXED VIDEO CONTENT 1 DAG-BASED VISUAL INTERFACES FOR NAVIGATION IN INDEXED VIDEO CONTENT 1 Maylis DELEST, Anthony DON, Jenny BENOIS-PINEAU LaBRI CNRS UMR 5800/Univesité Bodeaux 1 {jenny.benois,maylis,don}@labi.f ABSTRACT Indexing

More information

Parallel processing model for XML parsing

Parallel processing model for XML parsing Recent Reseaches in Communications, Signals and nfomation Technology Paallel pocessing model fo XML pasing ADRANA GEORGEVA Fac. Applied Mathematics and nfomatics Technical Univesity of Sofia, TU-Sofia

More information

Module 6 STILL IMAGE COMPRESSION STANDARDS

Module 6 STILL IMAGE COMPRESSION STANDARDS Module 6 STILL IMAE COMPRESSION STANDARDS Lesson 17 JPE-2000 Achitectue and Featues Instuctional Objectives At the end of this lesson, the students should be able to: 1. State the shotcomings of JPE standad.

More information

Color Correction Using 3D Multiview Geometry

Color Correction Using 3D Multiview Geometry Colo Coection Using 3D Multiview Geomety Dong-Won Shin and Yo-Sung Ho Gwangju Institute of Science and Technology (GIST) 13 Cheomdan-gwagio, Buk-ku, Gwangju 500-71, Republic of Koea ABSTRACT Recently,

More information

A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM

A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM Accepted fo publication Intenational Jounal of Flexible Automation and Integated Manufactuing. A VECTOR PERTURBATION APPROACH TO THE GENERALIZED AIRCRAFT SPARE PARTS GROUPING PROBLEM Nagiza F. Samatova,

More information

HISTOGRAMS are an important statistic reflecting the

HISTOGRAMS are an important statistic reflecting the JOURNAL OF L A T E X CLASS FILES, VOL. 14, NO. 8, AUGUST 2015 1 D 2 HistoSketch: Disciminative and Dynamic Similaity-Peseving Sketching of Steaming Histogams Dingqi Yang, Bin Li, Laua Rettig, and Philippe

More information

Decision Support for Rule and Technique Discovery in an Uncertain Environment

Decision Support for Rule and Technique Discovery in an Uncertain Environment Decision Suppot fo Rule and Technique Discovey in an Uncetain Envionment D. James F. Smith III Naval Reseach Laboatoy, Code 5741 Washington, D.C., 0375-5000 Telephone: 0.767.5358 Fax: 0.404.7690 jfsmith@dsews.nl.navy.mil

More information

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer

Input Layer f = 2 f = 0 f = f = 3 1,16 1,1 1,2 1,3 2, ,2 3,3 3,16. f = 1. f = Output Layer Using the Gow-And-Pune Netwok to Solve Poblems of Lage Dimensionality B.J. Biedis and T.D. Gedeon School of Compute Science & Engineeing The Univesity of New South Wales Sydney NSW 2052 AUSTRALIA bbiedis@cse.unsw.edu.au

More information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information

Title. Author(s)NOMURA, K.; MOROOKA, S. Issue Date Doc URL. Type. Note. File Information Title CALCULATION FORMULA FOR A MAXIMUM BENDING MOMENT AND THE TRIANGULAR SLAB WITH CONSIDERING EFFECT OF SUPPO UNIFORM LOAD Autho(s)NOMURA, K.; MOROOKA, S. Issue Date 2013-09-11 Doc URL http://hdl.handle.net/2115/54220

More information

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics

TESSELLATIONS. This is a sample (draft) chapter from: MATHEMATICAL OUTPOURINGS. Newsletters and Musings from the St. Mark s Institute of Mathematics TESSELLATIONS This is a sample (daft) chapte fom: MATHEMATICAL OUTPOURINGS Newslettes and Musings fom the St. Mak s Institute of Mathematics James Tanton www.jamestanton.com This mateial was and can still

More information

Separability and Topology Control of Quasi Unit Disk Graphs

Separability and Topology Control of Quasi Unit Disk Graphs Sepaability and Topology Contol of Quasi Unit Disk Gaphs Jiane Chen, Anxiao(Andew) Jiang, Iyad A. Kanj, Ge Xia, and Fenghui Zhang Dept. of Compute Science, Texas A&M Univ. College Station, TX 7784. {chen,

More information

MIS to Prepress ICS. Version Date: File: ICS-MIS-Prepress-1.01.doc,.pdf. Origination & Prepress WG

MIS to Prepress ICS. Version Date: File: ICS-MIS-Prepress-1.01.doc,.pdf. Origination & Prepress WG MIS to Pepess ICS Vesion 1.01 Date: 2006-01-02 File: ICS-MIS-Pepess-1.01.doc,.pdf Oigination & Pepess WG Abstact This ICS defines the Inteface between the MIS and Pepess. It specifies the Pocesses fo a

More information

tion. Class implementations ae (non-defeed) classes as used in object-oiented languages. They will be intepeted as so-called coalgebas, consisting of

tion. Class implementations ae (non-defeed) classes as used in object-oiented languages. They will be intepeted as so-called coalgebas, consisting of Inheitance and Cofee Constuctions Bat Jacobs CWI, Kuislaan 413, 1098 SJ Amstedam, The Nethelands. Email: bjacobs@cwi.nl Abstact. The coalgebaic view on classes and objects is elaboated to include inheitance.

More information

Generalized Grey Target Decision Method Based on Decision Makers Indifference Attribute Value Preferences

Generalized Grey Target Decision Method Based on Decision Makers Indifference Attribute Value Preferences Ameican Jounal of ata ining and Knowledge iscovey 27; 2(4): 2-8 http://www.sciencepublishinggoup.com//admkd doi:.648/.admkd.2724.2 Genealized Gey Taget ecision ethod Based on ecision akes Indiffeence Attibute

More information

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs

Efficient Execution Path Exploration for Detecting Races in Concurrent Programs IAENG Intenational Jounal of Compute Science, 403, IJCS_40_3_02 Efficient Execution Path Exploation fo Detecting Races in Concuent Pogams Theodous E. Setiadi, Akihiko Ohsuga, and Mamou Maekaa Abstact Concuent

More information

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology,

And Ph.D. Candidate of Computer Science, University of Putra Malaysia 2 Faculty of Computer Science and Information Technology, (IJCSIS) Intenational Jounal of Compute Science and Infomation Secuity, Efficient Candidacy Reduction Fo Fequent Patten Mining M.H Nadimi-Shahaki 1, Nowati Mustapha 2, Md Nasi B Sulaiman 2, Ali B Mamat

More information

The University of North Carolina. its production and consumption. Embedded signal processing applications are naturally

The University of North Carolina. its production and consumption. Embedded signal processing applications are naturally Feasibility concens in PGM gaphs with bounded bues Sanjoy Bauah Depatment of Compute Science The Univesity of Vemont Email: sanjoy@cs.uvm.edu Steve Goddad Kevin Jeay Depatment of Compute Science The Univesity

More information