Region analysis and the polymorphic lambda calculus

Size: px
Start display at page:

Download "Region analysis and the polymorphic lambda calculus"

Transcription

1 Region analyi and the polymorphic lambda calculu Anindya Banerjee Steven Intitute of Technology Nevin Heintze Bell Laboratorie Jon G. Riecke Bell Laboratorie Abtract We how how to tranlate the region calculu of Tofte and Talpin, a typed lambda calculu that can tatically delimit the lifetime of object, into an extenion of the polymorphic lambda calculu called F #. We give a denotational emantic of F #, and ue it to give a imple and abtract proof of the correctne of memory deallocation. 1 Introduction Implementation of modern programming language divide dynamically allocated memory into two part. The tack i ued for data that ha a imple lat-in, firt-out lifetime determined by block tructure; the other part (often called the heap) i ued for data whoe lifetime extend beyond the cope of program block. The heap i periodically garbage collected to reclaim memory that i no longer needed. Tofte and Talpin region calculu [23] attempt to unify thee two tyle of memory management. The region calculu divide memory into region, and provide a local coping mechanim for thoe region. Every value created by the program i placed in one of thee region. When program execution enter the cope of a region, memory for that region i allocated, and when program execution leave the cope, memory for that region i deallocated. Hence memory i managed uing a imple, block-tructure allocation and deallocation mechanim. Thi paper decribe an abtract characterization of a verion of the region calculu and give a imple proof of it correctne. The proof relie on a tranlation into a verion of the polymorphic lambda calculu called F #. Our proof i more abtract than the verion preented by Tofte and Talpin [23]. Tofte and Talpin give a high-level operational emantic of a ubet of ML [11], a tranlation of that language into their region calculu, and an operational emantic of the region calculu that explicitly manipulate Member of Church Project, and upported in part by NSF grant EIA memory. Their main theorem i a proof of adequacy: evaluation in either operational emantic yield the ame reult. The proof relie on greatet fixed point and coinduction, partly becaue of the coupling of the region calculu and the tranlation, and partly becaue deallocation can yield dangling reference. In contrat, we work at a higher level: we prove that once the program leave the cope of a region, value held in that region do not affect the final reult of the program. Thi fact implie that once the program leave a block aociated with a region, the memory for that region may be afely reclaimed. The connection between the region calculu and parametric polymorphim can be brought out by a few example. In the region calculu, each type i annotated with a region, and the type ytem track all read and write to region. For example, the typing judgement x : e : mean that there i a free variable of type called x which live in region. The body e alo produce an in region, and during the computation, value may be both read from and written into. In general, a computation that accee a region ha an aociated effect ; converely, any computation that tore into region ha an aociated effect. In the above judgement, e may arbitrarily read from and write to. Contrat thi with the typing judgement x : e : In thi cae, e can acce the value of x, but it may not tore any value in region. We can view thi type a a retriction on the behavior of the function computed by the expreion. In thi cae, if there i a value produced by the computation, it mut be the value of x; the computation may diverge or converge to x depending on the value of x. The typing judgement x : e : /0 i even more retrictive: it pecifie that there are no accee to the region. The only function of thi type are the identity function and the function that diverge on all 1

2 parameter. Thi lat example reemble the argument that the only function one may write of type α α α are the identity and the everywhere divergent function. It i perhap not urpriing that there hould be ome connection between parametric polymorphim and region; Reynold and other have made the ame point about the connection between block tructure in Idealized Algol and polymorphim [13, 1]. Other, too, have noted connection between garbage collection and polymorphim. Fradet, for intance, note that if a ubterm of a term can be typed with an abtract type α and α doe not appear in the type of the term the ubterm mut be garbage []. That i, no matter what ubterm i replaced for the original ubterm, it will not affect the final reult computed by the program. Hooya and Yonezawa note a imilar phenomenon [9]. The region calculu doe, however, raie new emantic iue. One might, for intance, ugget that type uch a be repreented by type variable. The type i not, however, completely abtract: even if the program cannot acce value of thi type, thee value mut till be integer. Alo, value of different type may be tored in the ame region. For example, type and can co-exit in the ame program. To model the behavior of the region calculu, our verion of the polymorphic lambda calculu contain a new type operator #. One of the novel feature of our calculu i that it combine a mechanim to hide the tructure of a type (i.e., make the type abtract) with another mechanim to reveal the tructure of uch a hidden type. Intuitively, when a value i put into a region, it tructure i hidden; when it i removed from the region, thi tructure i recovered. For example, conider the region type. Thi i modelled in F # by the type #, where now denote a type variable intead of a region variable. The preence of in the type # make the type of abtract. The language F # alo include a pecial type which i the unit of the # operation; a type of the form # can then be converted back to by binding to. We formalize the connection via a type-directed tranlation from the region calculu to F #. Uing the emantic of F #, we how that the tranlation i adequate, i.e., the anwer produced by ource and target program are the ame. Our main reult i a proof of the afety of region deallocation: we how that if the effect aociated with an expreion do not mention a region, then evaluation of the expreion i independent of the value placed in. Our proof i baed on a relational-tyle emantic [12, 18]. While the domain theory underlying our proof i complex, the adaptation of thi tandard machinery for proving correctne of region deallocation i mall and imple. The benefit of our tranlation approach, a oppoed to the operational technique of Tofte and Talpin, are twofold. Firt, the tranlation bring out the eential detail of the region calculu. In our verion of the calculu, for intance, we implify the rule for lambda abtraction, dropping a ide condition from the original rule of Tofte and Talpin [23]. An additional benefit of our approach i that it can be more eaily modified to account for extenion of the underlying language. Second, the proof of correctne i more modular. The main part of the proof i the type correctne of the tranlation. We believe, for intance, that other region-like calculi could be proven correct uing an appropriate tranlation. We might alo ue the approach to prove computational propertie of term, imilar to parametricity. 2 Region calculu The region calculu of Tofte and Talpin i the target of a type-directed tranlation from an ML-like core language [23]. Intead of preenting the original tranlation, we omit the tranlation and decribe the region calculu on it own. Thi implification make the typing rule eaier to read, and alo allow u to modify the type ytem o that the rule are uitable for type checking rather than type recontruction. The region calculu aociate a region with every type. Let range over region variable. The type and primitive effect are defined by the grammar t ε :: :: t where range over et of primitive effect ε. Effect are either read from a region, denoted, or write to a region, denoted. The et above the function pace denote the et of latent effect of the function, and i a familiar feature of effect ytem [10, 21]. Here, the latent effect of a function are the poible read to or write from region after an argument ha been upplied to the function. The value and expreion of the region calculu are defined by the grammar v :: n λx : e e :: v x e e e e!" e # e $ % e '! f x : ( e where x range over variable and n range over natural number. The annotation on integer and function value denote the region into which the value i placed; the annotation on and pecifie the region into which the reult will be placed. Mot of the expreion are familiar from PCF [15, 19], with the exception of the contruct. Thi annotation demarcate the cope of a region : within the region, value may be read from or written into. Upon exit from the, all value in the region become garbage and the memory may be reclaimed. e 2

3 4 Table 1. Type ytem for the region calculu. Var Γ x : Γ x /0 Cont Γ n : Cont Γ e : c or Γ! c " e : "# $% ' "# If Γ e : Γ e i : t i Γ () e *+, e 1 -, e 2 : t $ 1 $ 2 $%, Lam Region Γ x : 1 e : 2 Γ!. λx : 1 / e : Γ e : 3 FRV Γ $ FRV Γ 5-,6 8 e : 9: ; < App Rec Γ e 1 : Γ e 2 : 1 2 Γ e 1 e 2 : 2 $ 1 $ 2 $%, Γ f : x : 1 e : 2 = Γ!.<( f x : 1 e > : The typing rule for the region calculu appear in Table 1. Type context Γ are finite map from variable to type, and judgement have the form Γ e :. We ue FRV Γ and FRV to denote the free region of a type context or et of effect. The type rule differ from the original region calculu of Tofte and Talpin [23] in three way. Firt, the original calculu ha no contant or operation on the integer. We include them here to give ome more computational content to the calculu. Second, we include no polymorphim on region variable or type variable, and the calculu i tuned for type checking rather than type inference. In particular, the rule for recurion i not a complicated, and there are no effect variable for ue in unifying two latent effect. We will dicu region polymorphim later in Section 6. Third, the original typing rule for abtraction include a ide condition requiring that the body of the abtraction have no free region variable not occurring in the type context [23]. The original proof of correctne of the region calculu eem to require thi ide condition, but we do not. The region calculu i a call-by-value language, whoe operational emantic can be defined in the evaluationcontext tyle of Felleien [6]. Evaluation context are defined by the grammar #? E :: E e v E E E!" E # e $ e E and the local operational rule are λx : e v e x : v n n!" n # e $ e e n 0!" n # e $ e e n A 0! f x : 1 e '! λx : 1 e f : f x : 1 e v when e rewrite to v and v cannot be rewrit- We write e B ten. The original correctne theorem of the region calculu talk about an abtract implementation with memory, and how that deallocation at the end of i afe : no data in the deallocated region can affect the final reult. Our main reult tate the property more abtractly: if the effect aociated with an expreion do not mention the region, then evaluation of the expreion i independent of the value placed in. Thi jutifie the rule, and therefore, region reue. Specifically, we hall prove the following property: Suppoe x : e : 0 where A 0 and CA. If /0 v i : for i 1 2, then λx : e λx : e 2 2 v 1 :B v 2 :B n 0 n 0 The proof will rely upon the tranlation of the region calculu into F #. We potpone the proof until Section 5. 3 Syntax and emantic of F # 3.1 Overview The target of the tranlation i F #, an extenion of the polymorphic lambda calculu [8, 16] with bae type, product, an aociative, commutative, idempotent operation # for making a type abtract, and a pecial contant which i the unit of #. For example, # #. Algebraically, # behave like an interection or union type operator. Unlike the cae for union and interection type operator, however, our calculu ha no introduction or elimination rule for # and alo no ubtyping rule for #, and that ha a ignificant impact. For example, with interection and union, we can contruct cloed term of type E t and F t. In F #, however, we cannot contruct cloed term for # t or # t. In fact, it i preciely thi feature of F # that allow u to model iff 3

4 4 Table 2. Typing rule for F #. Var Γ x : Γ x Unit Γ : 6 8 Int Γ n : Succ Γ Γ e : 6 e : Pred Γ e : Γ!' e : If Γ e : Γ e i : t Γ! 8() e *+8 e 1 -, e 2 : t Pair Γ e 1 : 1 Γ e 2 : 2 Γ e 1 e 2 : 1 2 Lam Γ x : 1 e : 2 Γ λx : 1 / e : Lift Γ e : Γ 5-8( e : Proj ForallI Γ e : 1 2 Γ!' i e : i Γ e : α 3 FTV Γ Γ! Λα/ e : α/ App Rec Γ e : Γ e" : 1 Γ e e" : 2 Seq Γ f : e : Γ µ f : / e : EqType Γ e : Γ x : e" : t Γ C, x e e" : t Γ e :! t Γ e : t ForallE Γ e : α/ Γ e t : α : t region. A value of type t in a region will have the F # type t # under the tranlation. The action of toring a value of type t in region (denoted by the effect ) correpond to a function of type t t #. Converely, getting a value of type t out of a region (denoted by the effect ) correpond to a function of type t # t. So, in order to put a value of type t into region, one mut poe the capability function t t #. To get a value of type t from a region, one mut poe the capability function t # t. The interpretation of # in the model of F # alo depart from the tandard interpretation of union and interection. The operation # i bet viewed a a form of abtraction operation. For example, the type # (correponding to region type ) i a hidden or opaque verion of. It retain the tructure of, but that tructure i not viible. To recover thi tructure, we intantiate with, ince #. The control of how and where may be intantiated i critical, and i intimately tied to the tranlation of the contruct. 3.2 Syntax The type of the target language are :: α # α where α range over type variable. To make the connection with the region calculu more imple, we will alo ue to range over type variable. Although F # permit type # t where and t are arbitrary type, our tranlation from the region calculu doe not employ thee type in their full generality e.g., we do not ue type uch a #. The contruct and # have a nontrivial equality theory given by the following axiom cheme: # # # t # t # u t # # t # u In other word, # and atify the ACUI equation. We write t when the equality can be derived from the equation above and the uual rule of reflexivity, ymmetry, tranitivity, and congruence. The term of F # are thoe of the polymorphic lambda calculu over the extended type. More preciely, the term are defined by the grammar e :: x µ f : e!" n e e e $ e 1 e $! e x e e 2 e e # e $ e λx : e Λα e e e e The typing rule for F # appear in Table 2. Neither the type nor type of the form # t have any pecial introduction or elimination operation aociated with them. Of coure, type variable alo have no introduction or elimination operation. Thi fact give ome evidence that value of type # t may not be created except by pecial operation. 3.3 Untyped denotational emantic The emantic of F # i given in two tep. Firt, we pecify a meaning function on term in an untyped model of the lambda calculu with contant. Second, we carve up the untyped model into ubet, and how how to contruct relation between the ubet from certain primitive relation. The relation play a key role in the definition of the polymorphic type. 4

5 Table 3. Some claue in the untyped denotational emantic of F #. Γ λx : / e : η inj 4 f where f d ; Γ x : 1 e : 2 η x 1 d Γ e e" : 2 η Γ e : η Γ e" : 1 η Γ! - 8( e : η inj 5 Γ e : η 0 Γ, x e e" : t η Γ! Λα/ e : α/ η Γ e : η Γ e t : α : t η Γ e : α/ η 1 Γ x : e" : t : η x d if Γ e : : η inj 5 d 0 otherwie The untyped emantic i traightforward and familiar. Let O be the Sierpinki pace. Let U be the initial olution, in the category of dcpo and embedding-projection pair, of the following domain equation [20]: U U U U The U tand for univere. Unlike certain partial equivalence relation model, we do not require any pecial propertie of the olution for U (cf. [2]). Let inj 1 : O U, inj 2 : N U, inj 3 : U U U, inj 4 : U U U, and inj 5 : U U be the injection correponding to the domain equation above. It i probably poible to contruct a domain U out of term rather than via domain theory, but then reaoning about recurion would become more difficult. Typing judgement may be interpreted directly in thi domain. Let η be a map from variable to element of U. To implify the notation, define the application operation on element of U by d d ( f d if d inj 4 otherwie Alo, element of U are either d 0 for d U or. The meaning of term i determined by induction on the typing derivation. A few of the claue appear in Table 3. Theorem 3.1 Suppoe Γ e : i derivable. Then Γ e : η U. 3.4 Typed denotational emantic To give the typed emantic, we need only pecify the meaning of type; the meaning of term i the ame a in the untyped model. The meaning of a type ha two component: a et of element and a mean of relating two interpretation of a type. efine a U-domain to be a ubet of U that contain and i directed-complete. More pecifically, X i a U-domain if, whenevery i a directed ubet of X, the f leat upper bound a calculated in U i an element of X. Given a type environment ι i.e., a map from type variable to U-domain we can then calculate the meaning of a type a a U-domain. The relational meaning of a type i more involved. efine a U-relation between U-domain A B to be a ubet R A B uch that the following two propertie hold: Pointedne: A. irected-completene: Suppoe X x i i I A and Y y i i I B are directed, and x i y i R for all i I. Then X Y R. We write the relation R : A B when R i uch a relation. A relation environment χ between type environment ι 1 ι 2, written χ : ι 1 ι 2, i a map from type variable to U-relation uch that for all α, χ α : ι 1 α ι 2 α. The domain and relational meaning of type are defined by imultaneou induction on the tructure of type. For type variable and the bae type, α ι ι α R α χ χ α ι inj 1 x x O R χ inj 1 x inj 1 x x O ι inj 2 x x N R χ inj 2 x inj 2 x x N ι U R χ For product type, 1 2 ι R 1 2 χ For function type, t ι R t χ inj 3 x 1 x 2 x i i ι inj 3 x 1 x 2 inj 3 y 1 y 2 x i y i R i χ inj 4 f for all x ι, f x inj 4 f inj 4 g x y R χ, f x g y t ι R t χ 5

6 For lifted type, ( ι inj 5 x x ι R χ inj 5 x 0 inj 5 y 0 x y R χ For polymorphic type, define the relation environment ι : ι ι by ι α x x x ι α and define α ι R α χ x A ι α A R : A 1 A 2, x x R ι α R x y R:A 1 A 2 R χ α R Finally, for the # operation, if χ : ι 1 ι 2, define # t ι ι t ι R # t χ x y R χ R t χ x ι 1 t ι 1 and y ι 2 Propoition 3.2 Suppoe i a type. t ι 2 If ι i a type environment, then ι i a U-domain. If χ : ι 1 ι 2 i a relation environment, then R χ : ι 1 ι 2 i a U-relation. Proof: The only real difficulty lie in howing that # work properly on relation, i.e., R # t χ i pointed and directed-complete. Note firt that R # t χ. Next, uppoe X i a directed ubet of R # t χ. Let X A X R χ and X B X R t χ (thee et might overlap). There are three cae. In the firt cae, for any tuple x x X A, there i a tuple y y X B uch that x y and x y. We claim that X B i directed. To ee why, uppoe y 1 y1 y 2 y2 X B. Then there mut be a tuple z z X uch that y i z and yi z. Now, if that tuple z z i in X B, we are done. If the tuple i in X A, on the other hand, we know that we can pick ome y y X B uch that z y and z y. Thi tuple y y i alo an upper bound for the y i yi. Let Y y y y X B and Y y y y X B. Both of thee et are directed becaue X B i. Thu, z z X B Y Y exit. Note that z ι 1 t ι 1 and imilarly for z. Alo, becaue of the directed completene of R t χ, z z R χ R t χ. Finally, z z i the leat upper bound of X B and, by the hypothei, i an upper bound for all of the X A ; thu, it i the leat upper bound of X, and o we are done. In the econd cae, for any tuple y y X B, there i a tuple x x X A uch that y x and y x. Thi cae i imilar to the previou cae. Finally, uppoe neither of the two cae above hold. That i, there i a tuple x 1 x 2 X A uch that no y y X B i above it, and there i a tuple y 1 y 2 X B uch that no x x X A i above it. Since X i directed, there mut be a tuple z 1 z 2 uch that x i y i z i. Now, either z 1 z 2 i in X A or X B. But both cae are ruled out by the hypothei. Thu, thi cae hold vacuouly. Thi complete the cae analyi and hence the proof. One may alo prove that the equality theory on type i atified by the interpretation: Propoition 3.3 Suppoe t u are type. Then the equation above hold, e.g., # ι ι R # χ R χ Finally, we can how that the meaning of any typing judgement i in the appropriate type. Suppoe η are environment, Γ i a type environment, and ι i a map from type variable to U-domain. We ay η i compatible with Γ ι if for all x Γ, η x Γ x ι. Then Theorem 3.4 Suppoe Γ e : i derivable and η i compatible with Γ ι. Then Γ e : η ι. The proof require additional induction hypothee, one of which amount to Reynold Abtraction Theorem [18]. 4 Tranlation of region calculu into F # We are now ready to connect the region calculu with F #. We ue a type-directed tranlation: type in the region calculu are repreented by type in F #, and typing derivation in the region calculu are tranlated into typing derivation in F #. We then how how to ue the emantic model to prove the correctne property tated in Section 2 for the region calculu. We begin with the tranlation of type, which involve two function. efine the tranlation? from type with region to F # -type, and?, from type without region to F # -type, a follow: t # Thee type are related to the interpretation of call-by-value in call-by-name (ee [14]). The tranlation alo involve the tranlation of et of effect to F # -type. efine β β # ( β β β β # t 6

7 C Table 4. Tranlation of the region calculu. ) ) ) ) : 9 Var Γ x : Γ x /0 Γ λp : /0 x : /0 Γ x Cont Γ n : Γ λp : p n : Γ e : x b b- freh Γ e : c "!$## or %(' Γ λx : Cont 1 )*+, -. 1!/(0 b " e π 1 x b-(1 π Γ c - e : x b 1 π 1-2 x c b-2 : 1 -, Γ e : Γ e Γ e : Γ e i : t i : i t x b b- freh i Γ λx : If )*+ 4 Γ 3 e (5 3!/(0 b " e π 3 x b- " π e 1!/ e 2 : t 3 + x b 3 4 (5 b- e 1 π 3 1 x 6!/ e 2 π 3 2 x : 3 t Lam Γ x : 1 e : Γ x : 1 e : 2 p freh Γ λx : 1 e : Γ λp : p 1 2 λx : 1 e : App Γ e 1 Γ e 1 : Γ e 2 : Γ e 2 : 2 1 x f g v freh 2 Γ 8 λx : )*+ 3!/(0 f1 e 1 π 3 1 x Γ 3 e 1 e 2 : 2 g " π 3 + x 1 2 f 3!/(0 v e 2 π 3 2 x g v π 3 x : 3 2 Region Γ e : FRV Γ ) FRV Γ e : x freh 1 ;<+ =, Γ 8 %(+ 6> Γ λx : e : 1 Λ e add 1 x : 1 1 Rec Γ f : x : 1 e : 2 " 1 2 Γ 8 f x : 1? e : Γ 8 λp : Γ f : x : 1 e 2 p freh / µ f : A p 1 2 λx : 1 e B : To be precie about the tranlation of et of effect, aume ome canonical ordering of effect. Suppoe that the et ε 1 ε n i ordered by thi ordering. efine ε 1 ε n ε 1 ε n if n 0 otherwie Note that the ordering enure that two different mean of writing the ame effect et yield the ame type. The tranlation of typing derivation appear in Table 4. To implify the tranlation, we ue let notation (which can be deugared into abtraction and application), I for Λβ λx : β x, and the notation π 1 2 : 1 2, where 2 1, for the canonical projection of the firt et onto the econd et. We alo ue the notation add 2 1 : 2 1 for a function that take a tuple in 2 and put in I for the miing component to produce a tuple in 1. Propoition 4.1 Suppoe Γ e : i derivable, and the derivation tranlate to Γ e :. Then the tranlation of the judgement i a legal typing derivation in F #. Theorem 4.2 (Adequacy) Suppoe /0 e : derivable, and the derivation tranlate to /0 e : # where C are the free region variable. Then e B ΛC e I! I n. n i iff To ee how the tranlation work, we conider a mall example. Let 1 1, 2 2, 3 1, and Alo, /0 let Conider the following cloed expreion given with their type and effect. e 0 e 1 e 2 e 3 % e 2 e 3 : 2 1 e 1 λx : 2 x 2 2 : 2 : : 1 2 Then the tranlation of e 3 i λp : 2! p 2 which ha type 2 t with t # 2. To tranlate e 2, note # 2 ( # 2 Then # 1, and the tranlation for e 2 i! λp : 1 p λx : t λp :! x which ha type 1. The term e 1 get tranlated a λz : f e2 π 1 z g π 3 z f v e3 π 2 z g v π z with type t. Finally, e 0 judgement i tranlated into λu : 2 Λ 1 e1 I u I

8 C C with type 2 t. Thi example alo erve to illutrate the adequacy theorem. The judgement for e0 can be implified to! /0 λu : 2 u 2 : 2 t Note that e 0 B 2 2 iff! Λ 2 e0 I 2. 5 Application The # operation of F # make a type abtract (i.e. hide it content) in a manner that i imilar to quantification over type variable in the polymorphic lambda calculu. In direct analogy to the property that function of type α α α are either the identity function or the everywhere- function, we have the following property for function of type α # α # α : Propoition 5.1 If f For any x α ι, f x # α ; or # α ι, then For any x ι, f x x. Proof: Conider any x y ι. efine the U-domain A 1 x and A 2 y, and et R : A 1 A 2 by R x y. Then we know that f x f y R # α ι α R by the definition of. Thi mean that for all x y ι, either f x( or f y( y. In other word, For any x For any y ι, f x ι, f y( y., or For another example of how the model can be ued to etablih propertie, recall the judgement x : e : from Section 1, which i tranlated into F # a: x : # e : β β # β( # The following propoition how that any function of thi type mut either return it argument or diverge. Propoition 5.2 Suppoe f α # α β β # α β( # α ι For any U-domain A, any x # α ι α A, and any g β β # α β ι α A, then either f x g x or f x g. The next propoition and theorem ue the model to etablih the correctne of region deallocation. Propoition 5.3 If f α # α ι, A i a U- domain, and x y # α ι α A, then f x f y. Proof: Conider the relation R : A A where R A A. We know that f f R # α ι α R Pick any element x y # α ι α A. Then x y R # α ι α R, o But then f x f x f y f y R ι α R% a deired. Theorem 5.4 Suppoe x : 0 and %A. If /0 v i 1 2, then λx : e λx : e 2 v 1 B 2 v 2 B e : 0 : n 0 n 0 where A for i Proof: We ue the model of F # in a crucial way to carry out the proof. Let C be the region variable other than. t 1 e λx : e 2 e i ΛC Λ λz : 1 f e π 1 2 z g π 1 2 z t f v vi π 1 z g v π 1 z I I u C : F Λ λv : u f e C : C I f v I I Note firt that u u # for ome u. Alo, a imple inpection of the tranlation of value how that C : C λp :! β β β # vi vi for ome term vi. Let Note that F ha type v i λp : β β β # vi u # iff. Now λx : e 2 v 1 :B n 0! iff e 1 ι n ι iff F! v 1 : I ι n ι iff F! v 2 : I ι n ι! iff e 2 ι n ι iff λx : e 2 v 2 :B n 0 8

9 = Copy PolyFun PolyApp Γ e : t 0 )*+, -. Γ # - e : t - 0 Γ f : x : 1 e : Γ f x : 1 6 e -2 : -. Γ e 1 : 1 2 -, 1 Γ e 2 : ) 1 ) 2 ) + -2 Γ e 1 e 2 : 2 3 Table 5. Polymorphim and it tranlation. Γ e : t # Γ 8 λx : 0!/(0 f1 e π 0 x π 0 - x t π 0 + x freh x t f : 0 Γ f : x : 1 e 2 t " 1 2 Γ λp : -2 µ f : p t Λ λx : 1 e : Γ e 1 : Γ e 2 : 2 1 Γ 8 λx : 3!/(0 f e 1 π 3 1 x!/(0 v e 2 π 3 2 x w " π x f w v π 3 x : 3 2 t - p freh x freh where the firt and lat line follow from the Adequacy Theorem, the econd and fourth by an argument about the meaning of term, and the third by Propoition 5.3. Intuitively, thi reult ay that if a computation ha effect and produce a value in region 0 according to the region calculu, then that computation cannot be influenced by value in region unle contain. In contrat, Tofte and Talpin [23] give a low-level operational emantic of the region calculu with explicit memory allocation and deallocation, and preent region type ytem a a tranlation from a fragment of ML into the region calculu. Their main reult [23, Theorem 6.1] i that if e i tranlated into e, and e evaluate to v (in ML), then e (in the region calculu) evaluate to a value v uch that v i equivalent to v. Thi how that memory deallocation (in the region calculu) doe not go wrong. Clearly, thee two theorem are at oppoite end of the pectrum with repect to their level of abtraction. The Tofte-Talpin theorem i baed on an operational emantic that i cloe to an implementation model. However, the actual tatement of their theorem i complex, particularly the definition of conitency. In contrat, our theorem relie on a denotational model that i further removed from an implementation model, but it i more abtract and much impler to tate. The quetion of how thee reult relate, or which i more ueful in practice, are open. 6 Region Polymorphim In the full region calculu [23], it i poible to write region-polymorphic function in recurive function definition, where the polymorphim i over region and effect variable only. For intance, one may write f 1 2 x : 1 e 1 where 1 i the region where x i located, 2 i the region of the return reult, and i the region of the recurive function. Region polymorphim i ueful epecially e 2 becaue of recurive call: the actual parameter to a recurive call can be placed in region different from the region of the original parameter. For example, a recurive call f get the parameter from 3 and allocate pace for the reult in 4. We can extend our grammar for type, value, and expreion of the region calculu from Section 2 to allow region polymorphim over region variable. We redefine t v :: :: n! C t f x : e add the form e to expreion, and replace the expreion form e e with e C e. Thu, all function are now potentially recurive and polymorphic over region, and all application mut involve application of region variable. The copy operation copie a value from one region to another, and i ueful in allocating recurive call in different region. Both the new typing rule and the tranlation appear in Table 5. The tranlation of function type i modified o that C t C t. icuion We have hown how to prove the correctne of the region calculu via a tranlation into F #. The main noveltie of the paper are twofold: firt, we point out the cloe correpondence between the region calculu and the polymorphic lambda calculu; and econd, we how that there are certain difference that motivate the extenion preent in F #. Along the way, we how that the region calculu can be implified by eliminating a ide condition on the typing rule for functional abtraction. Our work on modelling type ytem that track dependency [1] originally led u to conider the region calculu. In the work on dependency, the target of the tranlation i a language called the dependency core calculu, or CC for hort. The emantic of CC ue logical relation, a we do here. However, our attempt to ue CC to model 9

10 the region calculu failed. It would be intereting to ee if there i ome unification of the idea into one calculu; poibly F # already ha enough tructure to model notion of dependency. We believe that F # i a good candidate for modelling other region-baed calculi. For intance, Aiken, Fähndrich, and Levien [3] decribe a type ytem where the allocation and deallocation of region i plit from the coping declaration of. Other paper develop the more practical apect of region-baed memory management [4, 22]. A recent paper of Crary, Walker, and Morriett decribe a different type ytem [5] for region baed on capabilitie. We plan to contruct tranlation for thee calculi into F #. For example, the capabilitie in the calculu of Crary, Walker, and Morriett may be cloely connected with our ue of function to model the and effect; if the type doe not mention or, there i no capability for acceing the region. Such tranlation might uncover implification in thee other region calculi, a well a give greater confidence in their correctne. We conjecture that a tranlation from the original effect ytem for tate [21] may be poible for a verion of F # with recurive type. In thee effect ytem, only aignable reference cell are aociated with region, and term may be polymorphic over region. Reference [1] M. Abadi, A. Banerjee, N. Heintze, and J. G. Riecke. A core calculu of dependency. In Conference Record of the Twenty-Sixth Annual ACM Sympoium on Principle of Programming Language. ACM, [2] M. Abadi and G.. Plotkin. A PER model of polymorphim and recurive type. In Proceeding, Fifth Annual IEEE Sympoium on Logic in Computer Science, page , [3] A. Aiken, M. Fähndrich, and R. Levien. Better tatic memory management: Improving region-baed analyi of higher-order language. In Proceeding of the 1995 ACM SIGPLAN Conference on Programming Language eign and Implementation. ACM, [4] L. Birkedal, M. Tofte, and M. Vejltrup. From region inference to von Neumann machine via region repreentation inference. In Conference Record of the Twenty-Third Annual ACM Sympoium on Principle of Programming Language, page ACM, [5] K. Crary,. Walker, and G. Morriett. Typed memory management in a calculu of capabilitie. In Conference Record of the Twenty-Sixth Annual ACM Sympoium on Principle of Programming Language. ACM, [6] M. Felleien. The theory and practice of firt-cla prompt. In Conference Record of the Fifteenth Annual ACM Sympoium on Principle of Programming Language, page ACM, [] P. Fradet. Collecting more garbage. In Proceeding of the 1994 ACM Conference on Lip and Functional Programming, page ACM, [8] J.-Y. Girard. Une extenion de l interprétation de Gödel à l analye, et on application à l élimination de coupure dan l analye et la théorie de type. In J. E. Fentad, editor, Proceeding of the Second Scandinavian Logic Sympoium, volume 63 of Studie in Logic and the Foundation of Mathematic, page North-Holland, 191. [9] H. Hooya and A. Yonezawa. Garbage collection via dynamic type inference a formal treatment. In Proc. Second International Workhop on Type in Compilation (TIC 98), volume 143 of Lect. Note in Computer Sci. Springer- Verlag, [10] J. M. Lucaen and. K. Gifford. Polymorphic effect ytem. In Conference Record of the Fifteenth Annual ACM Sympoium on Principle of Programming Language, page 4 5. ACM, [11] R. Milner, M. Tofte, R. Harper, and. MacQueen. The efinition of Standard ML (Revied). MIT Pre, 199. [12] P. W. O Hearn and J. C. Reynold. From Algol to polymorphic linear lambda calculu. J. ACM, To appear. [13] P. W. O Hearn and R.. Tennent. Parametricity and local variable. J. ACM, 42:658 09, [14] C.-H. L. Ong. The Lazy Lambda Calculu: An Invetigation into the Foundation of Functional Programming. Ph thei, Imperial College, Univerity of London, [15] G.. Plotkin. LCF conidered a a programming language. Theoretical Computer Sci., 5:223 25, 19. [16] J. C. Reynold. Toward a theory of type tructure. In Proceeding Colloque ur la Programmation, volume 19 of Lecture Note in Computer Science, page , Berlin, 194. Springer-Verlag. [1] J. C. Reynold. The eence of Algol. In J. W. de Bakker and J. C. van Vliet, editor, Algorithmic Language, page North-Holland, Amterdam, [18] J. C. Reynold. Type, abtraction and parametric polymorphim. In R. E. A. Maon, editor, Information Proceing 83, page North Holland, Amterdam, [19]. Scott. A type theoretical alternative to CUCH, ISWIM, OWHY. Theoretical Computer Sci., 121: , Publihed verion of unpublihed manucript, Oxford Univerity, [20] M. B. Smyth and G.. Plotkin. The category-theoretic olution of recurive domain equation. SIAM J. Computing, 11:61 83, [21] J.-P. Talpin and P. Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2:245 21, [22] M. Tofte and L. Birkedal. A region inference algorithm. ACM Tran. Programming Language and Sytem, 20(4):34 6, July [23] M. Tofte and J.-P. Talpin. Region-baed memory management. Information and Computation, 132(2):109 16,

Minimum congestion spanning trees in bipartite and random graphs

Minimum congestion spanning trees in bipartite and random graphs Minimum congetion panning tree in bipartite and random graph M.I. Otrovkii Department of Mathematic and Computer Science St. John Univerity 8000 Utopia Parkway Queen, NY 11439, USA e-mail: otrovm@tjohn.edu

More information

A note on degenerate and spectrally degenerate graphs

A note on degenerate and spectrally degenerate graphs A note on degenerate and pectrally degenerate graph Noga Alon Abtract A graph G i called pectrally d-degenerate if the larget eigenvalue of each ubgraph of it with maximum degree D i at mot dd. We prove

More information

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS

A SIMPLE IMPERATIVE LANGUAGE THE STORE FUNCTION NON-TERMINATING COMMANDS A SIMPLE IMPERATIVE LANGUAGE Eventually we will preent the emantic of a full-blown language, with declaration, type and looping. However, there are many complication, o we will build up lowly. Our firt

More information

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz

Operational Semantics Class notes for a lecture given by Mooly Sagiv Tel Aviv University 24/5/2007 By Roy Ganor and Uri Juhasz Operational emantic Page Operational emantic Cla note for a lecture given by Mooly agiv Tel Aviv Univerity 4/5/7 By Roy Ganor and Uri Juhaz Reference emantic with Application, H. Nielon and F. Nielon,

More information

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X

Topics. Lecture 37: Global Optimization. Issues. A Simple Example: Copy Propagation X := 3 B > 0 Y := 0 X := 4 Y := Z + W A := 2 * 3X Lecture 37: Global Optimization [Adapted from note by R. Bodik and G. Necula] Topic Global optimization refer to program optimization that encompa multiple baic block in a function. (I have ued the term

More information

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract

Karen L. Collins. Wesleyan University. Middletown, CT and. Mark Hovey MIT. Cambridge, MA Abstract Mot Graph are Edge-Cordial Karen L. Collin Dept. of Mathematic Weleyan Univerity Middletown, CT 6457 and Mark Hovey Dept. of Mathematic MIT Cambridge, MA 239 Abtract We extend the definition of edge-cordial

More information

Temporal Abstract Interpretation. To have a continuum of program analysis techniques ranging from model-checking to static analysis.

Temporal Abstract Interpretation. To have a continuum of program analysis techniques ranging from model-checking to static analysis. Temporal Abtract Interpretation Patrick COUSOT DI, École normale upérieure 45 rue d Ulm 75230 Pari cedex 05, France mailto:patrick.couot@en.fr http://www.di.en.fr/ couot and Radhia COUSOT LIX École polytechnique

More information

Lecture 14: Minimum Spanning Tree I

Lecture 14: Minimum Spanning Tree I COMPSCI 0: Deign and Analyi of Algorithm October 4, 07 Lecture 4: Minimum Spanning Tree I Lecturer: Rong Ge Scribe: Fred Zhang Overview Thi lecture we finih our dicuion of the hortet path problem and introduce

More information

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart.

Universität Augsburg. Institut für Informatik. Approximating Optimal Visual Sensor Placement. E. Hörster, R. Lienhart. Univerität Augburg à ÊÇÅÍÆ ËÀǼ Approximating Optimal Viual Senor Placement E. Hörter, R. Lienhart Report 2006-01 Januar 2006 Intitut für Informatik D-86135 Augburg Copyright c E. Hörter, R. Lienhart Intitut

More information

Routing Definition 4.1

Routing Definition 4.1 4 Routing So far, we have only looked at network without dealing with the iue of how to end information in them from one node to another The problem of ending information in a network i known a routing

More information

The Set Constraint/CFL Reachability Connection in Practice

The Set Constraint/CFL Reachability Connection in Practice The Set Contraint/CFL Reachability Connection in Practice John Kodumal EECS Department Univerity of California, Berkeley jkodumal@c.berkeley.edu Alex Aiken Computer Science Department Stanford Univerity

More information

Edits in Xylia Validity Preserving Editing of XML Documents

Edits in Xylia Validity Preserving Editing of XML Documents dit in Xylia Validity Preerving diting of XML Document Pouria Shaker, Theodore S. Norvell, and Denni K. Peter Faculty of ngineering and Applied Science, Memorial Univerity of Newfoundland, St. John, NFLD,

More information

Description of background ideas, and the module itself.

Description of background ideas, and the module itself. CO3008 Semantic of Programming Language 1 Chapter 1 Decription of background idea, and the module itelf. Review ome mathematic. CO3008 Semantic of Programming Language 2 Overview: Background Introduction

More information

xy-monotone path existence queries in a rectilinear environment

xy-monotone path existence queries in a rectilinear environment CCCG 2012, Charlottetown, P.E.I., Augut 8 10, 2012 xy-monotone path exitence querie in a rectilinear environment Gregory Bint Anil Mahehwari Michiel Smid Abtract Given a planar environment coniting of

More information

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization

Lecture Outline. Global flow analysis. Global Optimization. Global constant propagation. Liveness analysis. Local Optimization. Global Optimization Lecture Outline Global flow analyi Global Optimization Global contant propagation Livene analyi Adapted from Lecture by Prof. Alex Aiken and George Necula (UCB) CS781(Praad) L27OP 1 CS781(Praad) L27OP

More information

Delaunay Triangulation: Incremental Construction

Delaunay Triangulation: Incremental Construction Chapter 6 Delaunay Triangulation: Incremental Contruction In the lat lecture, we have learned about the Lawon ip algorithm that compute a Delaunay triangulation of a given n-point et P R 2 with O(n 2 )

More information

1 The secretary problem

1 The secretary problem Thi i new material: if you ee error, pleae email jtyu at tanford dot edu 1 The ecretary problem We will tart by analyzing the expected runtime of an algorithm, a you will be expected to do on your homework.

More information

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline

Generic Traverse. CS 362, Lecture 19. DFS and BFS. Today s Outline Generic Travere CS 62, Lecture 9 Jared Saia Univerity of New Mexico Travere(){ put (nil,) in bag; while (the bag i not empty){ take ome edge (p,v) from the bag if (v i unmarked) mark v; parent(v) = p;

More information

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights

Shortest Paths Problem. CS 362, Lecture 20. Today s Outline. Negative Weights Shortet Path Problem CS 6, Lecture Jared Saia Univerity of New Mexico Another intereting problem for graph i that of finding hortet path Aume we are given a weighted directed graph G = (V, E) with two

More information

An Approach to a Test Oracle for XML Query Testing

An Approach to a Test Oracle for XML Query Testing An Approach to a Tet Oracle for XML Query Teting Dae S. Kim-Park, Claudio de la Riva, Javier Tuya Univerity of Oviedo Computing Department Campu of Vieque, /n, 33204 (SPAIN) kim_park@li.uniovi.e, claudio@uniovi.e,

More information

Shortest Paths with Single-Point Visibility Constraint

Shortest Paths with Single-Point Visibility Constraint Shortet Path with Single-Point Viibility Contraint Ramtin Khoravi Mohammad Ghodi Department of Computer Engineering Sharif Univerity of Technology Abtract Thi paper tudie the problem of finding a hortet

More information

An Intro to LP and the Simplex Algorithm. Primal Simplex

An Intro to LP and the Simplex Algorithm. Primal Simplex An Intro to LP and the Simplex Algorithm Primal Simplex Linear programming i contrained minimization of a linear objective over a olution pace defined by linear contraint: min cx Ax b l x u A i an m n

More information

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is

Today s Outline. CS 561, Lecture 23. Negative Weights. Shortest Paths Problem. The presence of a negative cycle might mean that there is Today Outline CS 56, Lecture Jared Saia Univerity of New Mexico The path that can be trodden i not the enduring and unchanging Path. The name that can be named i not the enduring and unchanging Name. -

More information

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc

MAT 155: Describing, Exploring, and Comparing Data Page 1 of NotesCh2-3.doc MAT 155: Decribing, Exploring, and Comparing Data Page 1 of 8 001-oteCh-3.doc ote for Chapter Summarizing and Graphing Data Chapter 3 Decribing, Exploring, and Comparing Data Frequency Ditribution, Graphic

More information

On successive packing approach to multidimensional (M-D) interleaving

On successive packing approach to multidimensional (M-D) interleaving On ucceive packing approach to multidimenional (M-D) interleaving Xi Min Zhang Yun Q. hi ankar Bau Abtract We propoe an interleaving cheme for multidimenional (M-D) interleaving. To achieved by uing a

More information

Algorithmic Discrete Mathematics 4. Exercise Sheet

Algorithmic Discrete Mathematics 4. Exercise Sheet Algorithmic Dicrete Mathematic. Exercie Sheet Department of Mathematic SS 0 PD Dr. Ulf Lorenz 0. and. May 0 Dipl.-Math. David Meffert Verion of May, 0 Groupwork Exercie G (Shortet path I) (a) Calculate

More information

else end while End References

else end while End References 621-630. [RM89] [SK76] Roenfeld, A. and Melter, R. A., Digital geometry, The Mathematical Intelligencer, vol. 11, No. 3, 1989, pp. 69-72. Sklanky, J. and Kibler, D. F., A theory of nonuniformly digitized

More information

Chapter S:II (continued)

Chapter S:II (continued) Chapter S:II (continued) II. Baic Search Algorithm Sytematic Search Graph Theory Baic State Space Search Depth-Firt Search Backtracking Breadth-Firt Search Uniform-Cot Search AND-OR Graph Baic Depth-Firt

More information

Advanced Encryption Standard and Modes of Operation

Advanced Encryption Standard and Modes of Operation Advanced Encryption Standard and Mode of Operation G. Bertoni L. Breveglieri Foundation of Cryptography - AES pp. 1 / 50 AES Advanced Encryption Standard (AES) i a ymmetric cryptographic algorithm AES

More information

Laboratory Exercise 6

Laboratory Exercise 6 Laboratory Exercie 6 Adder, Subtractor, and Multiplier The purpoe of thi exercie i to examine arithmetic circuit that add, ubtract, and multiply number. Each type of circuit will be implemented in two

More information

3D SMAP Algorithm. April 11, 2012

3D SMAP Algorithm. April 11, 2012 3D SMAP Algorithm April 11, 2012 Baed on the original SMAP paper [1]. Thi report extend the tructure of MSRF into 3D. The prior ditribution i modified to atify the MRF property. In addition, an iterative

More information

Control Flow Analysis

Control Flow Analysis Control Flow Analyi Efficiency Control Flow Analyi Type an Effect ytem Data Flow Analyi Abtract Interpretation Correctne Control Flow Analyi p.1/35 Control Flow Analyi Flow information i eential for the

More information

Size Balanced Tree. Chen Qifeng (Farmer John) Zhongshan Memorial Middle School, Guangdong, China. December 29, 2006.

Size Balanced Tree. Chen Qifeng (Farmer John) Zhongshan Memorial Middle School, Guangdong, China. December 29, 2006. Size Balanced Tree Chen Qifeng (Farmer John) Zhonghan Memorial Middle School, Guangdong, China Email:44687@QQ.com December 9, 006 Abtract Thi paper preent a unique trategy for maintaining balance in dynamically

More information

Representations and Transformations. Objectives

Representations and Transformations. Objectives Repreentation and Tranformation Objective Derive homogeneou coordinate tranformation matrice Introduce tandard tranformation - Rotation - Tranlation - Scaling - Shear Scalar, Point, Vector Three baic element

More information

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM

AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROBLEM RAC Univerity Journal, Vol IV, No, 7, pp 87-9 AN ALGORITHM FOR RESTRICTED NORMAL FORM TO SOLVE DUAL TYPE NON-CANONICAL LINEAR FRACTIONAL PROGRAMMING PROLEM Mozzem Hoain Department of Mathematic Ghior Govt

More information

Aspects of Formal and Graphical Design of a Bus System

Aspects of Formal and Graphical Design of a Bus System Apect of Formal and Graphical Deign of a Bu Sytem Tiberiu Seceleanu Univerity of Turku, Dpt. of Information Technology Turku, Finland tiberiu.eceleanu@utu.fi Tomi Weterlund Turku Centre for Computer Science

More information

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK

ES205 Analysis and Design of Engineering Systems: Lab 1: An Introductory Tutorial: Getting Started with SIMULINK ES05 Analyi and Deign of Engineering Sytem: Lab : An Introductory Tutorial: Getting Started with SIMULINK What i SIMULINK? SIMULINK i a oftware package for modeling, imulating, and analyzing dynamic ytem.

More information

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications

DAROS: Distributed User-Server Assignment And Replication For Online Social Networking Applications DAROS: Ditributed Uer-Server Aignment And Replication For Online Social Networking Application Thuan Duong-Ba School of EECS Oregon State Univerity Corvalli, OR 97330, USA Email: duongba@eec.oregontate.edu

More information

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks

Performance of a Robust Filter-based Approach for Contour Detection in Wireless Sensor Networks Performance of a Robut Filter-baed Approach for Contour Detection in Wirele Senor Network Hadi Alati, William A. Armtrong, Jr., and Ai Naipuri Department of Electrical and Computer Engineering The Univerity

More information

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router

Distributed Packet Processing Architecture with Reconfigurable Hardware Accelerators for 100Gbps Forwarding Performance on Virtualized Edge Router Ditributed Packet Proceing Architecture with Reconfigurable Hardware Accelerator for 100Gbp Forwarding Performance on Virtualized Edge Router Satohi Nihiyama, Hitohi Kaneko, and Ichiro Kudo Abtract To

More information

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu

CERIAS Tech Report EFFICIENT PARALLEL ALGORITHMS FOR PLANAR st-graphs. by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daescu CERIAS Tech Report 2003-15 EFFICIENT PARALLEL ALGORITHMS FOR PLANAR t-graphs by Mikhail J. Atallah, Danny Z. Chen, and Ovidiu Daecu Center for Education and Reearch in Information Aurance and Security,

More information

Shortest Path Routing in Arbitrary Networks

Shortest Path Routing in Arbitrary Networks Journal of Algorithm, Vol 31(1), 1999 Shortet Path Routing in Arbitrary Network Friedhelm Meyer auf der Heide and Berthold Vöcking Department of Mathematic and Computer Science and Heinz Nixdorf Intitute,

More information

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial

SIMIT 7. Component Type Editor (CTE) User manual. Siemens Industrial SIMIT 7 Component Type Editor (CTE) Uer manual Siemen Indutrial Edition January 2013 Siemen offer imulation oftware to plan, imulate and optimize plant and machine. The imulation- and optimizationreult

More information

Microsemantics as a Bootstrap in Teaching Formal Methods

Microsemantics as a Bootstrap in Teaching Formal Methods Microemantic a a Boottrap in Teaching Formal Method Raymond Boute INTEC Univeriteit Gent, Belgium Raymond.Boute@intec.UGent.be Abtract Introducing an elementary form of program emantic early in the curriculum

More information

arxiv: v1 [math.co] 18 Jan 2019

arxiv: v1 [math.co] 18 Jan 2019 Anti-Ramey number of path in hypergraph Ran Gu 1, Jiaao Li 2 and Yongtang Shi 3 1 College of Science, Hohai Univerity, Nanjing, Jiangu Province 210098, P.R. China 2 School of Mathematical Science and LPMC

More information

Select Operation (σ) It selects tuples that satisfy the given predicate from a relation (choose rows). Review : RELATIONAL ALGEBRA

Select Operation (σ) It selects tuples that satisfy the given predicate from a relation (choose rows). Review : RELATIONAL ALGEBRA Review : RELATIONAL ALGEBRA Relational databae ytem are expected to be equipped with a query language that can ait it uer to query the databae intance. There are two kind of query language relational algebra

More information

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks

Localized Minimum Spanning Tree Based Multicast Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Sensor Networks Localized Minimum Spanning Tree Baed Multicat Routing with Energy-Efficient Guaranteed Delivery in Ad Hoc and Senor Network Hanne Frey Univerity of Paderborn D-3398 Paderborn hanne.frey@uni-paderborn.de

More information

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing

A Fast Association Rule Algorithm Based On Bitmap and Granular Computing A Fat Aociation Rule Algorithm Baed On Bitmap and Granular Computing T.Y.Lin Xiaohua Hu Eric Louie Dept. of Computer Science College of Information Science IBM Almaden Reearch Center San Joe State Univerity

More information

Planning of scooping position and approach path for loading operation by wheel loader

Planning of scooping position and approach path for loading operation by wheel loader 22 nd International Sympoium on Automation and Robotic in Contruction ISARC 25 - September 11-14, 25, Ferrara (Italy) 1 Planning of cooping poition and approach path for loading operation by wheel loader

More information

Testing Structural Properties in Textual Data: Beyond Document Grammars

Testing Structural Properties in Textual Data: Beyond Document Grammars Teting Structural Propertie in Textual Data: Beyond Document Grammar Felix Saaki and Jen Pönninghau Univerity of Bielefeld, Germany Abtract Schema language concentrate on grammatical contraint on document

More information

Proving Temporal Properties of Z Specifications Using Abstraction

Proving Temporal Properties of Z Specifications Using Abstraction Proving Temporal Propertie of Z Specification Uing Abtraction Graeme Smith and Kirten Winter Software Verification Reearch Centre Univerity of Queenland 4072, Autralia {mith, kirten}@vrc.uq.edu.au Abtract.

More information

Objects and Classes. The Big Picture. Classes. Objects. Some paradigms of programming:

Objects and Classes. The Big Picture. Classes. Objects. Some paradigms of programming: Object and Clae The Big Picture Some paradigm of programming: Imperative Programming ue explicit loop, conditional, variable Three paradigm of programming we cover in CS111. Functional Programming Ue function

More information

Parameters, UVM, Coverage & Emulation Take Two and Call Me in the Morning

Parameters, UVM, Coverage & Emulation Take Two and Call Me in the Morning Parameter, UVM, Coverage & Emulation Take Two and Call Me in the Morning Michael Horn Mentor Graphic Corporation Colorado, USA Mike_Horn@mentor.com Bryan Ramirez Mentor Graphic Corporation Colorado, USA

More information

Web Science and additionality

Web Science and additionality Admin tuff... Lecture 1: EITN01 Web Intelligence and Information Retrieval Meage, lide, handout, lab manual and link: http://www.eit.lth.e/coure/eitn01 Contact: Ander Ardö, Ander.Ardo@eit.lth.e, room:

More information

The Split Domination and Irredundant Number of a Graph

The Split Domination and Irredundant Number of a Graph The Split Domination and Irredundant Number of a Graph S. Delbin Prema 1, C. Jayaekaran 2 1 Department of Mathematic, RVS Technical Campu-Coimbatore, Coimbatore - 641402, Tamil Nadu, India 2 Department

More information

Chapter 13 Non Sampling Errors

Chapter 13 Non Sampling Errors Chapter 13 Non Sampling Error It i a general aumption in the ampling theory that the true value of each unit in the population can be obtained and tabulated without any error. In practice, thi aumption

More information

AUTOMATIC TEST CASE GENERATION USING UML MODELS

AUTOMATIC TEST CASE GENERATION USING UML MODELS Volume-2, Iue-6, June-2014 AUTOMATIC TEST CASE GENERATION USING UML MODELS 1 SAGARKUMAR P. JAIN, 2 KHUSHBOO S. LALWANI, 3 NIKITA K. MAHAJAN, 4 BHAGYASHREE J. GADEKAR 1,2,3,4 Department of Computer Engineering,

More information

Objects, Classes, and Inheritance

Objects, Classes, and Inheritance Object, Clae, and Inheritance CS111 Computer Programming Department of Computer Science Welleley College The Big Picture Some paradigm of programming: o Imperative Programming Program pecified by conditional,

More information

New Structural Decomposition Techniques for Constraint Satisfaction Problems

New Structural Decomposition Techniques for Constraint Satisfaction Problems New Structural Decompoition Technique for Contraint Satifaction Problem Yaling Zheng and Berthe Y. Choueiry Contraint Sytem Laboratory Univerity of Nebraka-Lincoln Email: yzheng choueiry@ce.unl.edu Abtract.

More information

arxiv: v3 [cs.cg] 1 Oct 2018

arxiv: v3 [cs.cg] 1 Oct 2018 Improved Time-Space Trade-off for Computing Voronoi Diagram Bahareh Banyaady Matia Korman Wolfgang Mulzer André van Renen Marcel Roeloffzen Paul Seiferth Yannik Stein arxiv:1708.00814v3 [c.cg] 1 Oct 2018

More information

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course:

Contents. shortest paths. Notation. Shortest path problem. Applications. Algorithms and Networks 2010/2011. In the entire course: Content Shortet path Algorithm and Network 21/211 The hortet path problem: Statement Verion Application Algorithm (for ingle ource p problem) Reminder: relaxation, Dijktra, Variant of Dijktra, Bellman-Ford,

More information

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang

Stochastic Search and Graph Techniques for MCM Path Planning Christine D. Piatko, Christopher P. Diehl, Paul McNamee, Cheryl Resch and I-Jeng Wang Stochatic Search and Graph Technique for MCM Path Planning Chritine D. Piatko, Chritopher P. Diehl, Paul McNamee, Cheryl Rech and I-Jeng Wang The John Hopkin Univerity Applied Phyic Laboratory, Laurel,

More information

Exploring Simple Grid Polygons

Exploring Simple Grid Polygons Exploring Simple Grid Polygon Chritian Icking 1, Tom Kamphan 2, Rolf Klein 2, and Elmar Langetepe 2 1 Univerity of Hagen, Praktiche Informatik VI, 58084 Hagen, Germany. 2 Univerity of Bonn, Computer Science

More information

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder

Computer Arithmetic Homework Solutions. 1 An adder for graphics. 2 Partitioned adder. 3 HDL implementation of a partitioned adder Computer Arithmetic Homework 3 2016 2017 Solution 1 An adder for graphic In a normal ripple carry addition of two poitive number, the carry i the ignal for a reult exceeding the maximum. We ue thi ignal

More information

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic

Exercise 4: Markov Processes, Cellular Automata and Fuzzy Logic Exercie 4: Marko rocee, Cellular Automata and Fuzzy Logic Formal Method II, Fall Semeter 203 Solution Sheet Marko rocee Theoretical Exercie. (a) ( point) 0.2 0.7 0.3 tanding 0.25 lying 0.5 0.4 0.2 0.05

More information

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks

Nearly Constant Approximation for Data Aggregation Scheduling in Wireless Sensor Networks Nearly Contant Approximation for Data Aggregation Scheduling in Wirele Senor Network Scott C.-H. Huang, Peng-Jun Wan, Chinh T. Vu, Yinghu Li and France Yao Computer Science Department, City Univerity of

More information

Lemma 1. A 3-connected maximal generalized outerplanar graph is a wheel.

Lemma 1. A 3-connected maximal generalized outerplanar graph is a wheel. 122 (1997) MATHEMATICA BOHEMICA No. 3, 225{230 A LINEAR ALGORITHM TO RECOGNIZE MAXIMAL GENERALIZED OUTERPLANAR GRAPHS Jo C cere, Almer a, Alberto M rquez, Sevilla (Received November 16, 1994, revied May

More information

Brief Announcement: Distributed 3/2-Approximation of the Diameter

Brief Announcement: Distributed 3/2-Approximation of the Diameter Brief Announcement: Ditributed /2-Approximation of the Diameter Preliminary verion of a brief announcement to appear at DISC 14 Stephan Holzer MIT holzer@mit.edu David Peleg Weizmann Intitute david.peleg@weizmann.ac.il

More information

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking

Refining SIRAP with a Dedicated Resource Ceiling for Self-Blocking Refining SIRAP with a Dedicated Reource Ceiling for Self-Blocking Mori Behnam, Thoma Nolte Mälardalen Real-Time Reearch Centre P.O. Box 883, SE-721 23 Väterå, Sweden {mori.behnam,thoma.nolte}@mdh.e ABSTRACT

More information

arxiv: v1 [cs.ds] 27 Feb 2018

arxiv: v1 [cs.ds] 27 Feb 2018 Incremental Strong Connectivity and 2-Connectivity in Directed Graph Louka Georgiadi 1, Giueppe F. Italiano 2, and Niko Parotidi 2 arxiv:1802.10189v1 [c.ds] 27 Feb 2018 1 Univerity of Ioannina, Greece.

More information

Laboratory Exercise 2

Laboratory Exercise 2 Laoratory Exercie Numer and Diplay Thi i an exercie in deigning cominational circuit that can perform inary-to-decimal numer converion and inary-coded-decimal (BCD) addition. Part I We wih to diplay on

More information

Multicast with Network Coding in Application-Layer Overlay Networks

Multicast with Network Coding in Application-Layer Overlay Networks IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 22, NO. 1, JANUARY 2004 1 Multicat with Network Coding in Application-Layer Overlay Network Ying Zhu, Baochun Li, Member, IEEE, and Jiang Guo Abtract

More information

Analyzing Hydra Historical Statistics Part 2

Analyzing Hydra Historical Statistics Part 2 Analyzing Hydra Hitorical Statitic Part Fabio Maimo Ottaviani EPV Technologie White paper 5 hnode HSM Hitorical Record The hnode i the hierarchical data torage management node and ha to perform all the

More information

Compiler Construction

Compiler Construction Compiler Contruction Lecture 6 - An Introduction to Bottom- Up Paring 3 Robert M. Siegfried All right reerved Bottom-up Paring Bottom-up parer pare a program from the leave of a pare tree, collecting the

More information

CSE 250B Assignment 4 Report

CSE 250B Assignment 4 Report CSE 250B Aignment 4 Report March 24, 2012 Yuncong Chen yuncong@c.ucd.edu Pengfei Chen pec008@ucd.edu Yang Liu yal060@c.ucd.edu Abtract In thi project, we implemented the recurive autoencoder (RAE) a decribed

More information

SLA Adaptation for Service Overlay Networks

SLA Adaptation for Service Overlay Networks SLA Adaptation for Service Overlay Network Con Tran 1, Zbigniew Dziong 1, and Michal Pióro 2 1 Department of Electrical Engineering, École de Technologie Supérieure, Univerity of Quebec, Montréal, Canada

More information

The Association of System Performance Professionals

The Association of System Performance Professionals The Aociation of Sytem Performance Profeional The Computer Meaurement Group, commonly called CMG, i a not for profit, worldwide organization of data proceing profeional committed to the meaurement and

More information

CORRECTNESS ISSUES AND LOOP INVARIANTS

CORRECTNESS ISSUES AND LOOP INVARIANTS The next everal lecture 2 Study algorithm for earching and orting array. Invetigate their complexity how much time and pace they take Formalize the notion of average-cae and wort-cae complexity CORRECTNESS

More information

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds *

A Linear Interpolation-Based Algorithm for Path Planning and Replanning on Girds * Advance in Linear Algebra & Matrix Theory, 2012, 2, 20-24 http://dx.doi.org/10.4236/alamt.2012.22003 Publihed Online June 2012 (http://www.scirp.org/journal/alamt) A Linear Interpolation-Baed Algorithm

More information

Separating Ownership Topology and Encapsulation with Generic Universe Types

Separating Ownership Topology and Encapsulation with Generic Universe Types Separating Ownerhip Topology and Encapulation with Generic Univere Type WERNER DIETL, Univerity of Wahington SOPHIA DROSSOPOULOU, Imperial College London PETER MÜLLER, ETH Zurich Ownerhip i a powerful

More information

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and Thi article appeared in a journal publihed by Elevier. The attached copy i furnihed to the author for internal non-commercial reearch and education ue, including for intruction at the author intitution

More information

Distribution-based Microdata Anonymization

Distribution-based Microdata Anonymization Ditribution-baed Microdata Anonymization Nick Kouda niverity of Toronto kouda@c.toronto.edu Ting Yu North Carolina State niverity yu@cc.ncu.edu Diveh Srivatava AT&T Lab Reearch diveh@reearch.att.com Qing

More information

KS3 Maths Assessment Objectives

KS3 Maths Assessment Objectives KS3 Math Aement Objective Tranition Stage 9 Ratio & Proportion Probabilit y & Statitic Appreciate the infinite nature of the et of integer, real and rational number Can interpret fraction and percentage

More information

A Multi-objective Genetic Algorithm for Reliability Optimization Problem

A Multi-objective Genetic Algorithm for Reliability Optimization Problem International Journal of Performability Engineering, Vol. 5, No. 3, April 2009, pp. 227-234. RAMS Conultant Printed in India A Multi-objective Genetic Algorithm for Reliability Optimization Problem AMAR

More information

Towards a verified Lustre compiler with modular reset

Towards a verified Lustre compiler with modular reset Toward a verified Lutre compiler with modular reet Timothy Bourke, Lélio Brun, Marc Pouzet To cite thi verion: Timothy Bourke, Lélio Brun, Marc Pouzet. Toward a verified Lutre compiler with modular reet.

More information

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck.

Cutting Stock by Iterated Matching. Andreas Fritsch, Oliver Vornberger. University of Osnabruck. D Osnabruck. Cutting Stock by Iterated Matching Andrea Fritch, Oliver Vornberger Univerity of Onabruck Dept of Math/Computer Science D-4909 Onabruck andy@informatikuni-onabrueckde Abtract The combinatorial optimization

More information

QoS Oriented Flexible Distributed Objects for. Dept. of Computers and Systems Engineering, Tokyo Denki University

QoS Oriented Flexible Distributed Objects for. Dept. of Computers and Systems Engineering, Tokyo Denki University QoS Oriented Flexible Ditributed Object for Multimedia Application Tetuo Kanezuka y Hiroaki Higaki y Michiaki Katumoto z Makoto Takizawa y y Dept. of Computer and Sytem Engineering, Tokyo Denki Univerity

More information

Today s Outline. CS 362, Lecture 19. DFS and BFS. Generic Traverse. BFS and DFS Wrapup Shortest Paths. Jared Saia University of New Mexico

Today s Outline. CS 362, Lecture 19. DFS and BFS. Generic Traverse. BFS and DFS Wrapup Shortest Paths. Jared Saia University of New Mexico Today Outline CS 362, Lecture 9 Jared Saia Univerity of New Mexico BFS and DFS Wrapup Shortet Path Generic Travere DFS and BFS Travere(){ put (nil,) in bag; while (the bag i not empty){ take ome edge (p,v)

More information

ETSI TS V ( )

ETSI TS V ( ) TS 122 153 V14.4.0 (2017-05) TECHNICAL SPECIFICATION Digital cellular telecommunication ytem (Phae 2+) (GSM); Univeral Mobile Telecommunication Sytem (UMTS); LTE; Multimedia priority ervice (3GPP TS 22.153

More information

Touring a Sequence of Polygons

Touring a Sequence of Polygons Touring a Sequence of Polygon Mohe Dror (1) Alon Efrat (1) Anna Lubiw (2) Joe Mitchell (3) (1) Univerity of Arizona (2) Univerity of Waterloo (3) Stony Brook Univerity Problem: Given a equence of k polygon

More information

SIMIT 7. Profinet IO Gateway. User Manual

SIMIT 7. Profinet IO Gateway. User Manual SIMIT 7 Profinet IO Gateway Uer Manual Edition January 2013 Siemen offer imulation oftware to plan, imulate and optimize plant and machine. The imulation- and optimizationreult are only non-binding uggetion

More information

Data Mining with Linguistic Thresholds

Data Mining with Linguistic Thresholds Int. J. Contemp. Math. Science, Vol. 7, 22, no. 35, 7-725 Data Mining with Linguitic Threhold Tzung-Pei Hong Department of Electrical Engineering National Univerity of Kaohiung Kaohiung, Taiwan, R.O.C.

More information

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract

A Boyer-Moore Approach for. Two-Dimensional Matching. Jorma Tarhio. University of California. Berkeley, CA Abstract A Boyer-Moore Approach for Two-Dimenional Matching Jorma Tarhio Computer Science Diviion Univerity of California Berkeley, CA 94720 Abtract An imple ublinear algorithm i preented for two-dimenional tring

More information

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks

Maneuverable Relays to Improve Energy Efficiency in Sensor Networks Maneuverable Relay to Improve Energy Efficiency in Senor Network Stephan Eidenbenz, Luka Kroc, Jame P. Smith CCS-5, MS M997; Lo Alamo National Laboratory; Lo Alamo, NM 87545. Email: {eidenben, kroc, jpmith}@lanl.gov

More information

Drawing Lines in 2 Dimensions

Drawing Lines in 2 Dimensions Drawing Line in 2 Dimenion Drawing a traight line (or an arc) between two end point when one i limited to dicrete pixel require a bit of thought. Conider the following line uperimpoed on a 2 dimenional

More information

Service and Network Management Interworking in Future Wireless Systems

Service and Network Management Interworking in Future Wireless Systems Service and Network Management Interworking in Future Wirele Sytem V. Tountopoulo V. Stavroulaki P. Demeticha N. Mitrou and M. Theologou National Technical Univerity of Athen Department of Electrical Engineering

More information

Modeling of underwater vehicle s dynamics

Modeling of underwater vehicle s dynamics Proceeding of the 11th WEA International Conference on YTEM, Agio Nikolao, Crete Iland, Greece, July 23-25, 2007 44 Modeling of underwater vehicle dynamic ANDRZEJ ZAK Department of Radiolocation and Hydrolocation

More information

Gray-level histogram. Intensity (grey-level) transformation, or mapping. Use of intensity transformations:

Gray-level histogram. Intensity (grey-level) transformation, or mapping. Use of intensity transformations: Faculty of Informatic Eötvö Loránd Univerity Budapet, Hungary Lecture : Intenity Tranformation Image enhancement by point proceing Spatial domain and frequency domain method Baic Algorithm for Digital

More information

A System Dynamics Model for Transient Availability Modeling of Repairable Redundant Systems

A System Dynamics Model for Transient Availability Modeling of Repairable Redundant Systems International Journal of Performability Engineering Vol., No. 3, May 05, pp. 03-. RAMS Conultant Printed in India A Sytem Dynamic Model for Tranient Availability Modeling of Repairable Redundant Sytem

More information

Laboratory Exercise 2

Laboratory Exercise 2 Laoratory Exercie Numer and Diplay Thi i an exercie in deigning cominational circuit that can perform inary-to-decimal numer converion and inary-coded-decimal (BCD) addition. Part I We wih to diplay on

More information