Matches in SemOpenAlex for { <https://semopenalex.org/work/W4387667048> ?p ?o ?g. }
- W4387667048 endingPage "2170" @default.
- W4387667048 startingPage "2142" @default.
- W4387667048 abstract "Several distributed programming language solutions have been proposed to reason about the placement of data, computations, and peers interaction. Such solutions include, among the others, multitier programming, choreographic programming and various approaches based on behavioral types. These methods statically ensure safety properties thanks to a complete knowledge about placement of data and computation at compile time. In distributed systems, however, dynamic placement of computation and data is crucial to enable performance optimizations, e.g., driven by data locality or in presence of a number of other constraints such as security and compliance regarding data storage location. Unfortunately, in existing programming languages, dynamic placement conflicts with static reasoning about distributed programs: the flexibility required by dynamic placement hinders statically tracking the location of data and computation. In this paper we present Dyno, a programming language that enables static reasoning about dynamic placement. Dyno features a type system where values are explicitly placed, but in contrast to existing approaches, placed values are also first class, ensuring that they can be passed around and referred to from other locations. Building on top of this mechanism, we provide a novel interpretation of dynamic placement as unions of placement types. We formalize type soundness, placement correctness (as part of type soundness) and architecture conformance. In case studies and benchmarks, our evaluation shows that Dyno enables static reasoning about programs even in presence of dynamic placement, ensuring type safety and placement correctness of programs at negligible performance cost. We reimplement an Android app with ∼ 7 K LOC in Dyno, find a bug in the existing implementation, and show that the app's approach is representative of a common way to implement dynamic placement found in over 100 apps in a large open-source app store." @default.
- W4387667048 created "2023-10-17" @default.
- W4387667048 creator A5008442460 @default.
- W4387667048 creator A5090555377 @default.
- W4387667048 creator A5092101568 @default.
- W4387667048 date "2023-10-16" @default.
- W4387667048 modified "2023-10-17" @default.
- W4387667048 title "Type-Safe Dynamic Placement with First-Class Placed Values" @default.
- W4387667048 cites W1525370593 @default.
- W4387667048 cites W1594773397 @default.
- W4387667048 cites W1795023635 @default.
- W4387667048 cites W1874173005 @default.
- W4387667048 cites W1980939032 @default.
- W4387667048 cites W1999602293 @default.
- W4387667048 cites W2038268348 @default.
- W4387667048 cites W2040105559 @default.
- W4387667048 cites W2052352054 @default.
- W4387667048 cites W2059243982 @default.
- W4387667048 cites W2071599766 @default.
- W4387667048 cites W2101206446 @default.
- W4387667048 cites W2108060598 @default.
- W4387667048 cites W2117385038 @default.
- W4387667048 cites W2119212127 @default.
- W4387667048 cites W2125716662 @default.
- W4387667048 cites W2136327713 @default.
- W4387667048 cites W2148144728 @default.
- W4387667048 cites W2157079925 @default.
- W4387667048 cites W2232745072 @default.
- W4387667048 cites W2277366276 @default.
- W4387667048 cites W2289301276 @default.
- W4387667048 cites W2293875919 @default.
- W4387667048 cites W2518019954 @default.
- W4387667048 cites W2529756738 @default.
- W4387667048 cites W2541133209 @default.
- W4387667048 cites W2617413542 @default.
- W4387667048 cites W2771914302 @default.
- W4387667048 cites W2790823473 @default.
- W4387667048 cites W2898179350 @default.
- W4387667048 cites W2972522875 @default.
- W4387667048 cites W3042159823 @default.
- W4387667048 cites W3052597481 @default.
- W4387667048 cites W3091809495 @default.
- W4387667048 cites W3101051483 @default.
- W4387667048 cites W3104018683 @default.
- W4387667048 cites W4239633670 @default.
- W4387667048 cites W4256538884 @default.
- W4387667048 cites W4288075881 @default.
- W4387667048 cites W4384999944 @default.
- W4387667048 cites W2557403020 @default.
- W4387667048 doi "https://doi.org/10.1145/3622873" @default.
- W4387667048 hasPublicationYear "2023" @default.
- W4387667048 type Work @default.
- W4387667048 citedByCount "0" @default.
- W4387667048 crossrefType "journal-article" @default.
- W4387667048 hasAuthorship W4387667048A5008442460 @default.
- W4387667048 hasAuthorship W4387667048A5090555377 @default.
- W4387667048 hasAuthorship W4387667048A5092101568 @default.
- W4387667048 hasBestOaLocation W43876670481 @default.
- W4387667048 hasConcept C120314980 @default.
- W4387667048 hasConcept C138958017 @default.
- W4387667048 hasConcept C169590947 @default.
- W4387667048 hasConcept C197298091 @default.
- W4387667048 hasConcept C199360897 @default.
- W4387667048 hasConcept C200833197 @default.
- W4387667048 hasConcept C39920170 @default.
- W4387667048 hasConcept C41008148 @default.
- W4387667048 hasConcept C44779574 @default.
- W4387667048 hasConcept C45374587 @default.
- W4387667048 hasConcept C55439883 @default.
- W4387667048 hasConcept C97686452 @default.
- W4387667048 hasConceptScore W4387667048C120314980 @default.
- W4387667048 hasConceptScore W4387667048C138958017 @default.
- W4387667048 hasConceptScore W4387667048C169590947 @default.
- W4387667048 hasConceptScore W4387667048C197298091 @default.
- W4387667048 hasConceptScore W4387667048C199360897 @default.
- W4387667048 hasConceptScore W4387667048C200833197 @default.
- W4387667048 hasConceptScore W4387667048C39920170 @default.
- W4387667048 hasConceptScore W4387667048C41008148 @default.
- W4387667048 hasConceptScore W4387667048C44779574 @default.
- W4387667048 hasConceptScore W4387667048C45374587 @default.
- W4387667048 hasConceptScore W4387667048C55439883 @default.
- W4387667048 hasConceptScore W4387667048C97686452 @default.
- W4387667048 hasIssue "OOPSLA2" @default.
- W4387667048 hasLocation W43876670481 @default.
- W4387667048 hasOpenAccess W4387667048 @default.
- W4387667048 hasPrimaryLocation W43876670481 @default.
- W4387667048 hasRelatedWork W1971791198 @default.
- W4387667048 hasRelatedWork W197866098 @default.
- W4387667048 hasRelatedWork W1989143821 @default.
- W4387667048 hasRelatedWork W2054765143 @default.
- W4387667048 hasRelatedWork W2098806455 @default.
- W4387667048 hasRelatedWork W2157155332 @default.
- W4387667048 hasRelatedWork W2216704661 @default.
- W4387667048 hasRelatedWork W2412614833 @default.
- W4387667048 hasRelatedWork W4234890740 @default.
- W4387667048 hasRelatedWork W4235177585 @default.
- W4387667048 hasVolume "7" @default.
- W4387667048 isParatext "false" @default.