Type-Safe Dynamic Placement with First-Class Placed Values
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...
Uloženo v:
| Vydáno v: | Proceedings of ACM on programming languages Ročník 7; číslo OOPSLA2; s. 2142 - 2170 |
|---|---|
| Hlavní autoři: | , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
New York, NY, USA
ACM
16.10.2023
|
| Témata: | |
| ISSN: | 2475-1421, 2475-1421 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| 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. |
|---|---|
| AbstractList | 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. 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. |
| ArticleNumber | 297 |
| Author | Zakhour, George Weisenburger, Pascal Salvaneschi, Guido |
| Author_xml | – sequence: 1 givenname: George orcidid: 0009-0000-5042-1207 surname: Zakhour fullname: Zakhour, George email: george.zakhour@unisg.ch organization: University of St. Gallen, St. Gallen, Switzerland – sequence: 2 givenname: Pascal orcidid: 0000-0003-1288-1485 surname: Weisenburger fullname: Weisenburger, Pascal email: pascal.weisenburger@unisg.ch organization: University of St. Gallen, St. Gallen, Switzerland – sequence: 3 givenname: Guido orcidid: 0000-0002-9324-8894 surname: Salvaneschi fullname: Salvaneschi, Guido email: guido.salva@gmail.com organization: University of St. Gallen, St. Gallen, Switzerland |
| BookMark | eNptz8tLAzEQBvAgFay1ePe0N0_RPM3Gm6xWhYKC1esymwdG9lGSiOx_b6VVRDzNwPdjmO8QTfqhdwgdU3JGqZDn_IKxUvE9NGVCSUwFo5Nf-wGap_RGCKGai5LrKbpcjWuHn8C74nrsoQumeGzBuM71ufgI-bVYhJgyrlpIaRvZ4gXad5eO0L6HNrn5bs7Q8-JmVd3h5cPtfXW1xMCUyhgEA-OtBWOdazbvac8Ms6ppvGeklECIo1oaT6VstC05oaUC5SwDzYSwfIbw9q6JQ0rR-dqEDDkMfY4Q2pqS-qt7veu-8ad__DqGDuL4jzzZSjDdD_oOPwF1qWGv |
| CitedBy_id | crossref_primary_10_1109_TSE_2024_3393070 |
| Cites_doi | 10.1007/978-3-319-11245-9_14 10.4230/LIPIcs.ECOOP.2021.22 10.1145/233269.233346 10.1145/2661136.2661146 10.1109/LICS.2004.1319623 10.1145/3397495 10.1109/NOMS.2014.6838412 10.4230/LIPIcs.ECOOP.2022.20 10.4230/LIPIcs.ECOOP.2019.3 10.1145/1135777.1135865 10.14778/2876473.2876477 10.1016/j.tcs.2004.07.036 10.1007/978-3-662-44202-9_13 10.1007/978-3-319-33612-1_1 10.3929/ethz-a-007086593 10.1109/PERCOM.2004.1276864 10.1006/inco.1994.1093 10.5281/zenodo.8148841 10.3233/JCS-15805 10.22152/programming-journal.org/2018/2/3 10.1007/978-3-319-47958-3_20 10.22152/programming-journal.org/2020/4/6 10.1145/3285956 10.1145/3276499 10.1007/978-3-540-78663-4_9 10.1145/2509578.2509582 10.1007/978-3-030-55814-7_20 10.1108/IJWIS-06-2020-0032 10.1145/2951913.2951916 10.1145/1629575.1629606 10.1016/j.jlamp.2019.100486 10.1007/978-3-540-74792-5_12 10.1007/978-3-319-39570-8_8 10.1142/S0218843017500010 10.23638/LMCS-13(1:13)2017 10.1145/566340.566343 10.1109/ICDE.2005.54 10.1145/1328438.1328472 10.23638/LMCS-13(2:1)2017 10.1145/2676726.2677004 10.1007/978-3-319-23165-5_20 10.4230/LIPIcs.SNAPL.2015.294 10.1145/3607849 10.1109/SEFM.2008.11 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3622873 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2475-1421 |
| EndPage | 2170 |
| ExternalDocumentID | 10_1145_3622873 3622873 |
| GrantInformation_xml | – fundername: Basic Research Fund of the University of St. Gallen (GFF) grantid: IPF 1031569 funderid: https://doi.org/10.13039/ – fundername: Swiss National Science Foundation (SNSF) grantid: 200429 funderid: https://doi.org/10.13039/ |
| GroupedDBID | AAKMM AAYFX ACM ADPZR AIKLT ALMA_UNASSIGNED_HOLDINGS GUFHI LHSKQ M~E OK1 ROL AAYXX AEFXT AEJOY AKRVB CITATION |
| ID | FETCH-LOGICAL-a277t-a42acfddacdeeb2289f2c2d7bbff2085a00e195cf155b9d830187a7ed2a9244d3 |
| ISICitedReferencesCount | 1 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001087279100077&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2475-1421 |
| IngestDate | Sun Nov 09 14:46:52 EST 2025 Tue Nov 18 21:50:07 EST 2025 Fri Feb 21 01:29:13 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | OOPSLA2 |
| Keywords | Multitier Programming Union Types Dynamic Placement Distributed Programming Scala Placement Types |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution 4.0 International License. |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a277t-a42acfddacdeeb2289f2c2d7bbff2085a00e195cf155b9d830187a7ed2a9244d3 |
| ORCID | 0000-0003-1288-1485 0000-0002-9324-8894 0009-0000-5042-1207 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3622873 |
| PageCount | 29 |
| ParticipantIDs | crossref_citationtrail_10_1145_3622873 crossref_primary_10_1145_3622873 acm_primary_3622873 |
| PublicationCentury | 2000 |
| PublicationDate | 2023-10-16 |
| PublicationDateYYYYMMDD | 2023-10-16 |
| PublicationDate_xml | – month: 10 year: 2023 text: 2023-10-16 day: 16 |
| PublicationDecade | 2020 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationTitle | Proceedings of ACM on programming languages |
| PublicationTitleAbbrev | ACM PACMPL |
| PublicationYear | 2023 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | Gabriel Radanne, Jérôme Vouillon, and Vincent Balat. 2016. Eliom: A core ML language for Tierless Web Programming. In Proceedings of the 14th Asian Symposium on Programming Languages and Systems, Atsushi Igarashi (Ed.) (APLAS ’16). Springer-Verlag, Berlin, Heidelberg. 377–397. isbn:978-3-319-47957-6 https://doi.org/10.1007/978-3-319-47958-3_20 10.1007/978-3-319-47958-3_20 Pascal Weisenburger, Mirko Köhler, and Guido Salvaneschi. 2018. Distributed System Development with ScalaLoci. Proceedings of the ACM on Programming Languages, 2, OOPSLA (2018), Article 129, Oct., 30 pages. issn:2475-1421 https://doi.org/10.1145/3276499 10.1145/3276499 Manuel Serrano, Erick Gallesio, and Florian Loitsch. 2006. Hop, A Language for Programming the Web 2.0. In Companion to the 21th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion ’06). ACM, New York, NY, USA. Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, David Richter, Guido Salvaneschi, and Pascal Weisenburger. 2021. Multiparty Languages: The Choreographic and Multitier Cases. In Proceedings of the 35th European Conference on Object-Oriented Programming (ECOOP ’21), Anders Møller and Manu Sridharan (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 194). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. Article 22, 27 pages. isbn:978-3-95977-190-0 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2021.22 10.4230/LIPIcs.ECOOP.2021.22 Emilien Kenler and Federico Razzoli. 2015. MariaDB Essentials. Packt Publishing Ltd. isbn:978-1-78398-286-8 Mulki Indana Zulfa, Rudy Hartanto, and Adhistya Erna Permanasari. 2020. Caching strategy for Web application – a systematic literature review. International Journal of Web Information Systems, 16, 5 (2020), Jan., 545–569. issn:1744-0084 https://doi.org/10.1108/IJWIS-06-2020-0032 10.1108/IJWIS-06-2020-0032 Laure Philips, Coen De Roover, Tom Van Cutsem, and Wolfgang De Meuter. 2014. Towards Tierless Web Development without Tierless Languages. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! ’14). ACM, New York, NY, USA. 69–81. isbn:978-1-4503-3210-1 https://doi.org/10.1145/2661136.2661146 10.1145/2661136.2661146 Stephanie Balzer. 2011. Rumer: A programming language and modular verification technique based on relationships. Ph. D. Dissertation. Zürich, Switzerland. https://doi.org/10.3929/ethz-a-007086593 10.3929/ethz-a-007086593 Tom Murphy VII, Karl Crary, Robert Harper, and Frank Pfenning. 2004. A Symmetric Modal Lambda Calculus for Distributed Computing. In Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS ’04). IEEE, Piscataway, NJ, USA. 286–295. https://doi.org/10.1109/LICS.2004.1319623 10.1109/LICS.2004.1319623 David Rajchenbach-Teller and Franois-Régis Sinot. 2010. Opa: Language Support for a Sane, Safe and Secure Web. http://owasp.org/www-pdf-archive/OWASP_AppSec_Research_2010_OPA_by_Rajchenbach-Teller.pdf In Proceedings of the OWASP AppSec Research. Accessed: 2023-07-30 Tiago Macedo and Fred Oliveira. 2011. Redis Cookbook: Practical Techniques for Fast Data Manipulation. O’Reilly Media. isbn:978-1-4493-0504-8 Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop. 2006. Links: Web Programming without Tiers. In Proceedings of the 5th International Conference on Formal Methods for Components and Objects, Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem P. de Roever (Eds.) (FMCO ’06). Springer-Verlag, Berlin, Heidelberg. 266–296. isbn:978-3-540-74791-8 https://doi.org/10.1007/978-3-540-74792-5_12 10.1007/978-3-540-74792-5_12 B. Liskov, A. Adya, M. Castro, S. Ghemawat, R. Gruber, U. Maheshwari, A. C. Myers, M. Day, and L. Shrira. 1996. Safe and Efficient Sharing of Persistent Objects in Thor. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data (SIGMOD ’96). ACM, New York, NY, USA. 318–329. isbn:978-0-89791-794-0 https://doi.org/10.1145/233269.233346 10.1145/233269.233346 Mastodon. 2016. Mastodon: Your self-hosted, globally interconnected microblogging community. https://github.com/mastodon/mastodon Accessed: 2023-07-30 Pascal Weisenburger, Johannes Wirth, and Guido Salvaneschi. 2020. A Survey of Multitier Programming. Comput. Surveys, 53, 4 (2020), Article 81, Sept., 35 pages. issn:0360-0300 https://doi.org/10.1145/3397495 10.1145/3397495 Alberto Lluch Lafuente, Flemming Nielson, and Hanne Riis Nielson. 2015. Discretionary Information Flow Control for Interaction-Oriented Specifications (Lecture Notes in Computer Science, Vol. 9200). Springer-Verlag, Berlin, Heidelberg. 427–450. isbn:978-3-319-23164-8 https://doi.org/10.1007/978-3-319-23165-5_20 10.1007/978-3-319-23165-5_20 Friedrich Steimann. 2013. Content over Container: Object-Oriented Programming with Multiplicities. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! ’13). ACM, New York, NY, USA. 173–186. isbn:978-1-4503-2472-4 https://doi.org/10.1145/2509578.2509582 10.1145/2509578.2509582 George Zakhour, Pascal Weisenburger, and Guido Salvaneschi. 2023. Type-Safe Dynamic Placement with First-Class Placed Values. https://doi.org/10.5281/zenodo.8148841 10.5281/zenodo.8148841 AntennaPod Developers. 2011. AntennaPod – The Open Podcast Player. https://antennapod.org Accessed: 2023-07-30, Commit: 88289d0 Daco Harkes and Eelco Visser. 2014. Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation. In Software Language Engineering, Benoît Combemale, David J. Pearce, Olivier Barais, and Jurgen J. Vinju (Eds.). Springer International Publishing, Cham. 241–260. isbn:978-3-319-11245-9 https://doi.org/10.1007/978-3-319-11245-9_14 10.1007/978-3-319-11245-9_14 Steve Zdancewic, Lantian Zheng, Nathaniel Nystrom, and Andrew C. Myers. 2002. Secure Program Partitioning. ACM Transactions on Computer Systems, 20, 3 (2002), Aug., 283–328. issn:0734-2071 https://doi.org/10.1145/566340.566343 10.1145/566340.566343 Hana Teyeb, Nejib Ben Hadj-Alouane, Samir Tata, and Ali Balma. 2017. Optimal Dynamic Placement of Virtual Machines in Geographically Distributed Cloud Data Centers. International Journal of Cooperative Information Systems, 26, 03 (2017), https://doi.org/10.1142/S0218843017500010 10.1142/S0218843017500010 Jed Liu, Owen Arden, Michael D. George, Andrew C. Myers, Toby Murray, Andrei Sabelfeld, and Lujo Bauer. 2017. Fabric: Building Open Distributed Systems Securely by Construction. Journal of Computer Security, 25, 4–5 (2017), Jan., 367–426. issn:0926-227X https://doi.org/10.3233/JCS-15805 10.3233/JCS-15805 Saverio Giallorenzo, Fabrizio Montesi, and Marco Peressotti. 2020. Choreographies as Objects. arxiv:2005.09520. Gan Shen, Shun Kashiwa, and Lindsey Kuper. 2023. HasChor: Functional Choreographic Programming for All (Functional Pearl). Proceedings of the ACM on Programming Languages, 7, ICFP (2023), Article 207, Aug., 25 pages. https://doi.org/10.1145/3607849 10.1145/3607849 Mila Dalla Preda, Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, and Jacopo Mauro. 2017. Dynamic Choreographies: Theory And Implementation. Logical Methods in Computer Science, 13, 2 (2017), April, 57 pages. https://doi.org/10.23638/LMCS-13(2:1)2017 10.23638/LMCS-13(2:1)2017 Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Guido Salvaneschi, and Mirko Viroli. 2022. Functional Programming for Distributed Systems with XC. In Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP ’22), Karim Ali and Jan Vitek (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 222). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. Article 20, 28 pages. isbn:978-3-95977-225-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2022.20 10.4230/LIPIcs.ECOOP.2022.20 Tom Murphy VII, Karl Crary, and Robert Harper. 2008. Type-Safe Distributed Programming with ML5. In Trustworthy Global Computing, Gilles Barthe and Cédric Fournet (Eds.). Springer-Verlag, Berlin, Heidelberg. 108–123. isbn:978-3-540-78663-4 https://doi.org/10.1007/978-3-540-78663-4_9 10.1007/978-3-540-78663-4_9 Fan Yang, Jinfeng Li, and James Cheng. 2016. Husky: Towards a More Efficient and Expressive Distributed Computing Framework. Proceedings of the VLDB Endowment, 9, 5 (2016), Jan., 420–431. issn:2150-8097 https://doi.org/10.14778/2876473.2876477 10.14778/2876473.2876477 Laure Philips, Joeri De Koster, Wolfgang De Meuter, and Coen De Roover. 2018. Search-based Tier Assignment for Optimising Offline Availability in Multi-tier Web Applications. The Art, Science, and Engineering of Programming, 2, 2 (2018), Article 3, Dec., 29 pages. issn:2473-7321 https://doi.org/10.22152/programming-journal.org/2018/2/3 10.22152/programming-journal.org/2018/2/3 Alex K. Simpson. 1994. The Proof Theory and Semantics of Intuitionistic Modal Logic. Ph. D. Dissertation. http://hdl.handle.net/1842/407 Bob Reynders, Frank Piessens, and Dominique Devriese. 2020. Gavial: Programming the Web with Multi-Tier FRP. The Art, Science, and Engineering of Programming, 4, 3 (2020), Article 6, Feb., 32 pages. issn:2473-7321 https://doi.org/10.22152/programming-journal.org/2020/4/6 10.22152/programming-journal.org/2020/4/6 Yongluan Zhou, Beng Chin Ooi, and Kian-Lee Tan. 2005. Dynamic Load Management for Distributed Continuous Query Systems. In 21st International Conference on Data Engineering (ICDE ’05). 322–323. https://doi.org/10.1109/ICDE.2005.54 10.1109/ICDE.2005.54 Troy Bryan Downing. 1998. Java RMI: Remote Method Invocation (1st ed.). IDG Books Worldwide, Inc., USA. isbn:978-0-7645-8043-7 Alberto Lluch Lafuente, Michele Loreti, and Ugo Montanari. 2017. Asynchronous Distributed Execution of Fixpoint-Based Computational Fields. Logical Methods in Computer Science, 13 (2017), https://doi.org/10.23638/LMCS-13(1:13)2017 10.23638/LMCS-13(1:13)2017 Heather Miller, Philipp Haller, and Martin Odersky. 2014. e_1_2_1_20_1 (e_1_2_1_30_1) 2016 Macedo Tiago (e_1_2_1_28_1) 2011 e_1_2_1_45_1 e_1_2_1_43_1 Downing Troy Bryan (e_1_2_1_12_1) e_1_2_1_49_1 e_1_2_1_26_1 e_1_2_1_47_1 Amiri Khalil (e_1_2_1_1_1) 2000 e_1_2_1_31_1 e_1_2_1_54_1 e_1_2_1_8_1 e_1_2_1_56_1 e_1_2_1_6_1 e_1_2_1_35_1 e_1_2_1_50_1 e_1_2_1_4_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_52_1 e_1_2_1_2_1 e_1_2_1_16_1 e_1_2_1_14_1 e_1_2_1_37_1 e_1_2_1_58_1 e_1_2_1_18_1 Serrano Manuel (e_1_2_1_41_1) Rajchenbach-Teller David (e_1_2_1_39_1) 2010 e_1_2_1_42_1 e_1_2_1_40_1 e_1_2_1_23_1 e_1_2_1_46_1 e_1_2_1_21_1 e_1_2_1_44_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_48_1 e_1_2_1_29_1 e_1_2_1_7_1 Liskov Barbara (e_1_2_1_24_1) 1995 e_1_2_1_55_1 e_1_2_1_5_1 Lightbend Inc. (e_1_2_1_22_1) 2020; 2 e_1_2_1_57_1 e_1_2_1_3_1 e_1_2_1_13_1 e_1_2_1_34_1 e_1_2_1_51_1 e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_53_1 e_1_2_1_17_1 e_1_2_1_38_1 e_1_2_1_15_1 e_1_2_1_36_1 e_1_2_1_9_1 e_1_2_1_19_1 |
| References_xml | – reference: Zachary Arani, Drake Chapman, Chenxiao Wang, Le Gruenwald, Laurent d’Orazio, and Taras Basiuk. 2020. A Scored Semantic Cache Replacement Strategy for Mobile Cloud Database Systems. In ADBIS, TPDL and EDA 2020 Common Workshops and Doctoral Consortium, Ladjel Bellatreche, Mária Bieliková, Omar Boussaïd, Barbara Catania, Jérôme Darmont, Elena Demidova, Fabien Duchateau, Mark Hall, Tanja Merčun, Boris Novikov, Christos Papatheodorou, Thomas Risse, Oscar Romero, Lucile Sautot, Guilaine Talens, Robert Wrembel, and Maja Žumer (Eds.). Springer International Publishing, Cham. 237–248. isbn:978-3-030-55814-7 https://doi.org/10.1007/978-3-030-55814-7_20 10.1007/978-3-030-55814-7_20 – reference: Heather Miller, Philipp Haller, and Martin Odersky. 2014. Spores: A Type-Based Foundation for Closures in the Age of Concurrency and Distribution. In ECOOP ’14, Richard Jones (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 308–333. isbn:978-3-662-44202-9 https://doi.org/10.1007/978-3-662-44202-9_13 10.1007/978-3-662-44202-9_13 – reference: Alex K. Simpson. 1994. The Proof Theory and Semantics of Intuitionistic Modal Logic. Ph. D. Dissertation. http://hdl.handle.net/1842/407 – reference: Yongluan Zhou, Beng Chin Ooi, and Kian-Lee Tan. 2005. Dynamic Load Management for Distributed Continuous Query Systems. In 21st International Conference on Data Engineering (ICDE ’05). 322–323. https://doi.org/10.1109/ICDE.2005.54 10.1109/ICDE.2005.54 – reference: B. Liskov, A. Adya, M. Castro, S. Ghemawat, R. Gruber, U. Maheshwari, A. C. Myers, M. Day, and L. Shrira. 1996. Safe and Efficient Sharing of Persistent Objects in Thor. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data (SIGMOD ’96). ACM, New York, NY, USA. 318–329. isbn:978-0-89791-794-0 https://doi.org/10.1145/233269.233346 10.1145/233269.233346 – reference: A. Karve, T. Kimbrel, G. Pacifici, M. Spreitzer, M. Steinder, M. Sviridenko, and A. Tantawi. 2006. Dynamic Placement for Clustered Web Applications. In Proceedings of the 15th International Conference on World Wide Web (WWW ’06). ACM, New York, NY, USA. 595–604. isbn:978-1-59593-323-2 https://doi.org/10.1145/1135777.1135865 10.1145/1135777.1135865 – reference: A.K. Wright and M. Felleisen. 1994. A Syntactic Approach to Type Soundness. Information and Computation, 115, 1 (1994), 38–94. issn:0890-5401 https://doi.org/10.1006/inco.1994.1093 10.1006/inco.1994.1093 – reference: Mulki Indana Zulfa, Rudy Hartanto, and Adhistya Erna Permanasari. 2020. Caching strategy for Web application – a systematic literature review. International Journal of Web Information Systems, 16, 5 (2020), Jan., 545–569. issn:1744-0084 https://doi.org/10.1108/IJWIS-06-2020-0032 10.1108/IJWIS-06-2020-0032 – reference: Manuel Serrano, Erick Gallesio, and Florian Loitsch. 2006. Hop, A Language for Programming the Web 2.0. In Companion to the 21th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion ’06). ACM, New York, NY, USA. – reference: Giorgio Audrito, Mirko Viroli, Ferruccio Damiani, Danilo Pianini, and Jacob Beal. 2019. A Higher-Order Calculus of Computational Fields. ACM Transactions on Computational Logic, 20, 1 (2019), Article 5, Jan., 55 pages. issn:1529-3785 https://doi.org/10.1145/3285956 10.1145/3285956 – reference: Stephanie Balzer. 2011. Rumer: A programming language and modular verification technique based on relationships. Ph. D. Dissertation. Zürich, Switzerland. https://doi.org/10.3929/ethz-a-007086593 10.3929/ethz-a-007086593 – reference: Barbara Liskov, Dorothy Curtis, Mark Day, Sanjay Ghemawat, Robert Gruber, Paul Johnson, and Andrew C. Myers. 1995. Theta Reference Manual. http://www.cs.cornell.edu/andru/papers/thetaref.pdf Accessed: 2023-07-30 – reference: Pascal Weisenburger and Guido Salvaneschi. 2019. Multitier Modules. In Proceedings of the 33rd European Conference on Object-Oriented Programming (ECOOP ’19), Alastair F. Donaldson (Ed.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 134). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. Article 3, 29 pages. isbn:978-3-95977-111-5 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2019.3 10.4230/LIPIcs.ECOOP.2019.3 – reference: Saverio Giallorenzo, Fabrizio Montesi, and Marco Peressotti. 2020. Choreographies as Objects. arxiv:2005.09520. – reference: Luís Cruz-Filipe and Fabrizio Montesi. 2016. Choreographies in Practice. In Proceedings of the 36th IFIP International Conference on Formal Techniques for Distributed Objects, Components, and Systems, Elvira Albert and Ivan Lanese (Eds.) (FORTE ’16). Springer-Verlag, Berlin, Heidelberg. 114–123. isbn:978-3-319-39569-2 https://doi.org/10.1007/978-3-319-39570-8_8 10.1007/978-3-319-39570-8_8 – reference: Saverio Giallorenzo, Fabrizio Montesi, Marco Peressotti, David Richter, Guido Salvaneschi, and Pascal Weisenburger. 2021. Multiparty Languages: The Choreographic and Multitier Cases. In Proceedings of the 35th European Conference on Object-Oriented Programming (ECOOP ’21), Anders Møller and Manu Sridharan (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 194). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. Article 22, 27 pages. isbn:978-3-95977-190-0 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2021.22 10.4230/LIPIcs.ECOOP.2021.22 – reference: Friedrich Steimann. 2015. None, One, Many – What’s the Difference, Anyhow? In 1st Summit on Advances in Programming Languages (SNAPL ’15), Thomas Ball, Rastislav Bodik, Shriram Krishnamurthi, Benjamin S. Lerner, and Greg Morrisett (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 32). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. 294–308. isbn:978-3-939897-80-4 issn:1868-8969 https://doi.org/10.4230/LIPIcs.SNAPL.2015.294 10.4230/LIPIcs.SNAPL.2015.294 – reference: Daco Harkes and Eelco Visser. 2014. Unifying and Generalizing Relations in Role-Based Data Modeling and Navigation. In Software Language Engineering, Benoît Combemale, David J. Pearce, Olivier Barais, and Jurgen J. Vinju (Eds.). Springer International Publishing, Cham. 241–260. isbn:978-3-319-11245-9 https://doi.org/10.1007/978-3-319-11245-9_14 10.1007/978-3-319-11245-9_14 – reference: Troy Bryan Downing. 1998. Java RMI: Remote Method Invocation (1st ed.). IDG Books Worldwide, Inc., USA. isbn:978-0-7645-8043-7 – reference: Adam Chlipala. 2015. Ur/Web: A Simple Model for Programming the Web. In Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’15). ACM, New York, NY, USA. 153–165. isbn:978-1-4503-3300-9 https://doi.org/10.1145/2676726.2677004 10.1145/2676726.2677004 – reference: Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty Asynchronous Session Types. In Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’08). ACM, New York, NY, USA. 273–284. isbn:978-1-59593-689-9 https://doi.org/10.1145/1328438.1328472 10.1145/1328438.1328472 – reference: Laure Philips, Coen De Roover, Tom Van Cutsem, and Wolfgang De Meuter. 2014. Towards Tierless Web Development without Tierless Languages. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! ’14). ACM, New York, NY, USA. 69–81. isbn:978-1-4503-3210-1 https://doi.org/10.1145/2661136.2661146 10.1145/2661136.2661146 – reference: Friedrich Steimann. 2013. Content over Container: Object-Oriented Programming with Multiplicities. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward! ’13). ACM, New York, NY, USA. 173–186. isbn:978-1-4503-2472-4 https://doi.org/10.1145/2509578.2509582 10.1145/2509578.2509582 – reference: Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop. 2006. Links: Web Programming without Tiers. In Proceedings of the 5th International Conference on Formal Methods for Components and Objects, Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem P. de Roever (Eds.) (FMCO ’06). Springer-Verlag, Berlin, Heidelberg. 266–296. isbn:978-3-540-74791-8 https://doi.org/10.1007/978-3-540-74792-5_12 10.1007/978-3-540-74792-5_12 – reference: Fabrizio Montesi. 2014. Kickstarting Choreographic Programming. In Proceedings of the 13th International Workshop on Web Services and Formal Methods, Thomas Hildebrandt, António Ravara, Jan Martijn van der Werf, and Matthias Weidlich (Eds.) (WS-FM ’14). Springer-Verlag, Berlin, Heidelberg. 3–10. isbn:978-3-319-33611-4 https://doi.org/10.1007/978-3-319-33612-1_1 10.1007/978-3-319-33612-1_1 – reference: J. C. M. Baeten. 2005. A Brief History of Process Algebra. Theoretical Computer Science, 335, 2–113 (2005), May, 131–146. issn:0304-3975 https://doi.org/10.1016/j.tcs.2004.07.036 10.1016/j.tcs.2004.07.036 – reference: Mirko Viroli, Jacob Beal, Ferruccio Damiani, Giorgio Audrito, Roberto Casadei, and Danilo Pianini. 2019. From Distributed Coordination to Field Calculus and Aggregate Computing. Journal of Logical and Algebraic Methods in Programming, 109 (2019), issn:2352-2208 https://doi.org/10.1016/j.jlamp.2019.100486 10.1016/j.jlamp.2019.100486 – reference: Bob Reynders, Frank Piessens, and Dominique Devriese. 2020. Gavial: Programming the Web with Multi-Tier FRP. The Art, Science, and Engineering of Programming, 4, 3 (2020), Article 6, Feb., 32 pages. issn:2473-7321 https://doi.org/10.22152/programming-journal.org/2020/4/6 10.22152/programming-journal.org/2020/4/6 – reference: Hana Teyeb, Nejib Ben Hadj-Alouane, Samir Tata, and Ali Balma. 2017. Optimal Dynamic Placement of Virtual Machines in Geographically Distributed Cloud Data Centers. International Journal of Cooperative Information Systems, 26, 03 (2017), https://doi.org/10.1142/S0218843017500010 10.1142/S0218843017500010 – reference: Lightbend Inc. 2020. Akka Scala Documentation, Release 2.4.20. Accessed: 2023-07-30 – reference: Jed Liu, Michael D. George, K. Vikram, Xin Qi, Lucas Waye, and Andrew C. Myers. 2009. Fabric: A Platform for Secure Distributed Computation and Storage. In Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles (SOSP ’09). ACM, New York, NY, USA. 321–334. isbn:978-1-60558-752-3 https://doi.org/10.1145/1629575.1629606 10.1145/1629575.1629606 – reference: Mastodon. 2016. Mastodon: Your self-hosted, globally interconnected microblogging community. https://github.com/mastodon/mastodon Accessed: 2023-07-30 – reference: Khalil Amiri, David Petrou, Gregory R. Ganger, and Garth A. Gibson. 2000. Dynamic Function Placement for Data-Intensive Cluster Computing. In Proceedings of the 2000 USENIX Annual Technical Conference (USENIX ATC ’00). USENIX Association, San Diego, CA. 16 pages. https://www.usenix.org/conference/2000-usenix-annual-technical-conference/dynamic-function-placement-data-intensive-cluster – reference: Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall. 1994. A Note on Distributed Computing. https://scholar.harvard.edu/waldo/publications/note-distributed-computing Sun Microsystems Laboratories, Accessed: 2023-07-30 – reference: AntennaPod Developers. 2011. AntennaPod – The Open Podcast Player. https://antennapod.org Accessed: 2023-07-30, Commit: 88289d0 – reference: Jed Liu, Owen Arden, Michael D. George, Andrew C. Myers, Toby Murray, Andrei Sabelfeld, and Lujo Bauer. 2017. Fabric: Building Open Distributed Systems Securely by Construction. Journal of Computer Security, 25, 4–5 (2017), Jan., 367–426. issn:0926-227X https://doi.org/10.3233/JCS-15805 10.3233/JCS-15805 – reference: Marco Mamei and Franco Zambonelli. 2004. Programming Pervasive and Mobile Computing Applications with the TOTA Middleware. In Proceedings of the Second IEEE Annual Conference on Pervasive Computing and Communications. IEEE Press, Piscataway, NJ, USA. 263–273. isbn:0-7695-2090-1 https://doi.org/10.1109/PERCOM.2004.1276864 10.1109/PERCOM.2004.1276864 – reference: Pascal Weisenburger, Johannes Wirth, and Guido Salvaneschi. 2020. A Survey of Multitier Programming. Comput. Surveys, 53, 4 (2020), Article 81, Sept., 35 pages. issn:0360-0300 https://doi.org/10.1145/3397495 10.1145/3397495 – reference: George Zakhour, Pascal Weisenburger, and Guido Salvaneschi. 2023. Type-Safe Dynamic Placement with First-Class Placed Values. https://doi.org/10.5281/zenodo.8148841 10.5281/zenodo.8148841 – reference: Laure Philips, Joeri De Koster, Wolfgang De Meuter, and Coen De Roover. 2018. Search-based Tier Assignment for Optimising Offline Availability in Multi-tier Web Applications. The Art, Science, and Engineering of Programming, 2, 2 (2018), Article 3, Dec., 29 pages. issn:2473-7321 https://doi.org/10.22152/programming-journal.org/2018/2/3 10.22152/programming-journal.org/2018/2/3 – reference: Tiago Macedo and Fred Oliveira. 2011. Redis Cookbook: Practical Techniques for Fast Data Manipulation. O’Reilly Media. isbn:978-1-4493-0504-8 – reference: Tom Murphy VII, Karl Crary, Robert Harper, and Frank Pfenning. 2004. A Symmetric Modal Lambda Calculus for Distributed Computing. In Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS ’04). IEEE, Piscataway, NJ, USA. 286–295. https://doi.org/10.1109/LICS.2004.1319623 10.1109/LICS.2004.1319623 – reference: Stuart Clayman, Elisa Maini, Alex Galis, Antonio Manzalini, and Nicola Mazzocca. 2014. The Dynamic Placement of Virtual Network Functions. In 2014 IEEE Network Operations and Management Symposium (NOMS ’14). 1–9. https://doi.org/10.1109/NOMS.2014.6838412 10.1109/NOMS.2014.6838412 – reference: Pascal Weisenburger, Mirko Köhler, and Guido Salvaneschi. 2018. Distributed System Development with ScalaLoci. Proceedings of the ACM on Programming Languages, 2, OOPSLA (2018), Article 129, Oct., 30 pages. issn:2475-1421 https://doi.org/10.1145/3276499 10.1145/3276499 – reference: Tom Murphy VII, Karl Crary, and Robert Harper. 2008. Type-Safe Distributed Programming with ML5. In Trustworthy Global Computing, Gilles Barthe and Cédric Fournet (Eds.). Springer-Verlag, Berlin, Heidelberg. 108–123. isbn:978-3-540-78663-4 https://doi.org/10.1007/978-3-540-78663-4_9 10.1007/978-3-540-78663-4_9 – reference: Steve Zdancewic, Lantian Zheng, Nathaniel Nystrom, and Andrew C. Myers. 2002. Secure Program Partitioning. ACM Transactions on Computer Systems, 20, 3 (2002), Aug., 283–328. issn:0734-2071 https://doi.org/10.1145/566340.566343 10.1145/566340.566343 – reference: Ciaran Gultnieks. 2010. F-Droid – Free and Open Source Android App Repository. https://f-droid.org Accessed: 2023-07-30 – reference: Mila Dalla Preda, Maurizio Gabbrielli, Saverio Giallorenzo, Ivan Lanese, and Jacopo Mauro. 2017. Dynamic Choreographies: Theory And Implementation. Logical Methods in Computer Science, 13, 2 (2017), April, 57 pages. https://doi.org/10.23638/LMCS-13(2:1)2017 10.23638/LMCS-13(2:1)2017 – reference: Fan Yang, Jinfeng Li, and James Cheng. 2016. Husky: Towards a More Efficient and Expressive Distributed Computing Framework. Proceedings of the VLDB Endowment, 9, 5 (2016), Jan., 420–431. issn:2150-8097 https://doi.org/10.14778/2876473.2876477 10.14778/2876473.2876477 – reference: Giorgio Audrito, Roberto Casadei, Ferruccio Damiani, Guido Salvaneschi, and Mirko Viroli. 2022. Functional Programming for Distributed Systems with XC. In Proceedings of the 36th European Conference on Object-Oriented Programming (ECOOP ’22), Karim Ali and Jan Vitek (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 222). Schloss Dagstuhl – Leibniz-Zentrum für Informatik, Dagstuhl, Germany. Article 20, 28 pages. isbn:978-3-95977-225-9 issn:1868-8969 https://doi.org/10.4230/LIPIcs.ECOOP.2022.20 10.4230/LIPIcs.ECOOP.2022.20 – reference: Ivan Lanese, Claudio Guidi, Fabrizio Montesi, and Gianluigi Zavattaro. 2008. Bridging the Gap between Interaction- and Process-Oriented Choreographies. In Proceedings of the 6th IEEE International Conference on Software Engineering and Formal Methods (SEFM ’08). IEEE Computer Society, Washington, DC, USA. 323–332. isbn:978-0-7695-3437-4 https://doi.org/10.1109/SEFM.2008.11 10.1109/SEFM.2008.11 – reference: Gabriel Radanne, Jérôme Vouillon, and Vincent Balat. 2016. Eliom: A core ML language for Tierless Web Programming. In Proceedings of the 14th Asian Symposium on Programming Languages and Systems, Atsushi Igarashi (Ed.) (APLAS ’16). Springer-Verlag, Berlin, Heidelberg. 377–397. isbn:978-3-319-47957-6 https://doi.org/10.1007/978-3-319-47958-3_20 10.1007/978-3-319-47958-3_20 – reference: Alberto Lluch Lafuente, Michele Loreti, and Ugo Montanari. 2017. Asynchronous Distributed Execution of Fixpoint-Based Computational Fields. Logical Methods in Computer Science, 13 (2017), https://doi.org/10.23638/LMCS-13(1:13)2017 10.23638/LMCS-13(1:13)2017 – reference: Gan Shen, Shun Kashiwa, and Lindsey Kuper. 2023. HasChor: Functional Choreographic Programming for All (Functional Pearl). Proceedings of the ACM on Programming Languages, 7, ICFP (2023), Article 207, Aug., 25 pages. https://doi.org/10.1145/3607849 10.1145/3607849 – reference: David Rajchenbach-Teller and Franois-Régis Sinot. 2010. Opa: Language Support for a Sane, Safe and Secure Web. http://owasp.org/www-pdf-archive/OWASP_AppSec_Research_2010_OPA_by_Rajchenbach-Teller.pdf In Proceedings of the OWASP AppSec Research. Accessed: 2023-07-30 – reference: Emilien Kenler and Federico Razzoli. 2015. MariaDB Essentials. Packt Publishing Ltd. isbn:978-1-78398-286-8 – reference: Alberto Lluch Lafuente, Flemming Nielson, and Hanne Riis Nielson. 2015. Discretionary Information Flow Control for Interaction-Oriented Specifications (Lecture Notes in Computer Science, Vol. 9200). Springer-Verlag, Berlin, Heidelberg. 427–450. isbn:978-3-319-23164-8 https://doi.org/10.1007/978-3-319-23165-5_20 10.1007/978-3-319-23165-5_20 – reference: Manuel Serrano and Vincent Prunet. 2016. A Glimpse of Hopjs. In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP ’16). ACM, New York, NY, USA. 180–192. isbn:978-1-4503-4219-3 https://doi.org/10.1145/2951913.2951916 10.1145/2951913.2951916 – ident: e_1_2_1_16_1 doi: 10.1007/978-3-319-11245-9_14 – ident: e_1_2_1_14_1 doi: 10.4230/LIPIcs.ECOOP.2021.22 – ident: e_1_2_1_49_1 – ident: e_1_2_1_23_1 doi: 10.1145/233269.233346 – ident: e_1_2_1_36_1 doi: 10.1145/2661136.2661146 – ident: e_1_2_1_34_1 doi: 10.1109/LICS.2004.1319623 – ident: e_1_2_1_19_1 – ident: e_1_2_1_52_1 doi: 10.1145/3397495 – volume: 2 start-page: 20 issue: 4 year: 2020 ident: e_1_2_1_22_1 article-title: Akka Scala Documentation publication-title: Release – ident: e_1_2_1_9_1 doi: 10.1109/NOMS.2014.6838412 – ident: e_1_2_1_4_1 doi: 10.4230/LIPIcs.ECOOP.2022.20 – ident: e_1_2_1_51_1 doi: 10.4230/LIPIcs.ECOOP.2019.3 – ident: e_1_2_1_18_1 doi: 10.1145/1135777.1135865 – ident: e_1_2_1_54_1 doi: 10.14778/2876473.2876477 – ident: e_1_2_1_6_1 doi: 10.1016/j.tcs.2004.07.036 – ident: e_1_2_1_31_1 doi: 10.1007/978-3-662-44202-9_13 – ident: e_1_2_1_32_1 doi: 10.1007/978-3-319-33612-1_1 – volume-title: Mastodon: Your self-hosted, globally interconnected microblogging community. https://github.com/mastodon/mastodon Accessed: 2023-07-30 year: 2016 ident: e_1_2_1_30_1 – ident: e_1_2_1_7_1 doi: 10.3929/ethz-a-007086593 – ident: e_1_2_1_29_1 doi: 10.1109/PERCOM.2004.1276864 – ident: e_1_2_1_53_1 doi: 10.1006/inco.1994.1093 – ident: e_1_2_1_55_1 doi: 10.5281/zenodo.8148841 – ident: e_1_2_1_25_1 doi: 10.3233/JCS-15805 – volume-title: Java RMI: Remote Method Invocation ident: e_1_2_1_12_1 – ident: e_1_2_1_2_1 – ident: e_1_2_1_35_1 doi: 10.22152/programming-journal.org/2018/2/3 – volume-title: Companion to the 21th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA Companion ’06) ident: e_1_2_1_41_1 – ident: e_1_2_1_13_1 – volume-title: Myers year: 1995 ident: e_1_2_1_24_1 – ident: e_1_2_1_38_1 doi: 10.1007/978-3-319-47958-3_20 – ident: e_1_2_1_40_1 doi: 10.22152/programming-journal.org/2020/4/6 – volume-title: Opa: Language Support for a Sane, Safe and Secure Web year: 2010 ident: e_1_2_1_39_1 – ident: e_1_2_1_5_1 doi: 10.1145/3285956 – ident: e_1_2_1_50_1 doi: 10.1145/3276499 – ident: e_1_2_1_33_1 doi: 10.1007/978-3-540-78663-4_9 – volume-title: Proceedings of the 2000 USENIX Annual Technical Conference (USENIX ATC ’00) year: 2000 ident: e_1_2_1_1_1 – ident: e_1_2_1_45_1 doi: 10.1145/2509578.2509582 – ident: e_1_2_1_3_1 doi: 10.1007/978-3-030-55814-7_20 – ident: e_1_2_1_58_1 doi: 10.1108/IJWIS-06-2020-0032 – ident: e_1_2_1_42_1 doi: 10.1145/2951913.2951916 – ident: e_1_2_1_26_1 doi: 10.1145/1629575.1629606 – ident: e_1_2_1_48_1 doi: 10.1016/j.jlamp.2019.100486 – ident: e_1_2_1_10_1 doi: 10.1007/978-3-540-74792-5_12 – ident: e_1_2_1_11_1 doi: 10.1007/978-3-319-39570-8_8 – ident: e_1_2_1_15_1 – ident: e_1_2_1_47_1 doi: 10.1142/S0218843017500010 – ident: e_1_2_1_20_1 doi: 10.23638/LMCS-13(1:13)2017 – ident: e_1_2_1_56_1 doi: 10.1145/566340.566343 – ident: e_1_2_1_57_1 doi: 10.1109/ICDE.2005.54 – ident: e_1_2_1_17_1 doi: 10.1145/1328438.1328472 – ident: e_1_2_1_37_1 doi: 10.23638/LMCS-13(2:1)2017 – volume-title: Redis Cookbook: Practical Techniques for Fast Data Manipulation. O’Reilly Media. isbn:978-1-4493-0504-8 year: 2011 ident: e_1_2_1_28_1 – ident: e_1_2_1_44_1 – ident: e_1_2_1_8_1 doi: 10.1145/2676726.2677004 – ident: e_1_2_1_27_1 doi: 10.1007/978-3-319-23165-5_20 – ident: e_1_2_1_46_1 doi: 10.4230/LIPIcs.SNAPL.2015.294 – ident: e_1_2_1_43_1 doi: 10.1145/3607849 – ident: e_1_2_1_21_1 doi: 10.1109/SEFM.2008.11 |
| SSID | ssj0001934839 |
| Score | 2.2418365 |
| Snippet | Several distributed programming language solutions have been proposed to reason about the placement of data, computations, and peers interaction. Such... |
| SourceID | crossref acm |
| SourceType | Enrichment Source Index Database Publisher |
| StartPage | 2142 |
| SubjectTerms | Distributed computing models Distributed programming languages Domain specific languages Software and its engineering Theory of computation |
| SubjectTermsDisplay | Software and its engineering -- Distributed programming languages Software and its engineering -- Domain specific languages Theory of computation -- Distributed computing models |
| Title | Type-Safe Dynamic Placement with First-Class Placed Values |
| URI | https://dl.acm.org/doi/10.1145/3622873 |
| Volume | 7 |
| WOSCitedRecordID | wos001087279100077&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2475-1421 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0001934839 issn: 2475-1421 databaseCode: M~E dateStart: 20170101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1Lb9QwELagcOACpYAoUOQD4lJZJI5Tx9xWpS2HPlbagiouq4kf6optWnV3q5762xk_8gD1AAcuURRb3sifd_zNZMYfIR8yACd3VMWEyzQTOrdMWZmzsgKZ11WNnCQUCh_K4-Pq7EyNU-3JIsgJyKapbm_V1X-FGp8h2L509h_g7gbFB3iPoOMVYcfr3wGPniWbgLPbX6LavBcm0iEKGKOu-zNkfCyoYcYms_0d5quUTJiI6rjb2EKux2j3yH9WSNlcFz6-0EY6O1L-A36e4wv2kfb-q89sEY9YiOtjDAsNXWbHBObI5i162SGx4GA1M5fDWAQPWW2xVDKtnpTfHuwXF7JkuYgF0K2xlYM1dXIynhyO-G_mMx61lbZidJey-8288Cdi4N6L_l7R72RdfmFqeUgecVkqb-yO7gahN1UI5IWxhNqP9Sn19wxFXwwYyoBqnK6Tp8lHoKOI7XPywDYb5Fmrv0GTOX5BPndQ0wQ17aCmHmo6gDo2GRqhfkm-7e-d7n5lSQuDAZdyyUBw0M4Y0MbaGt9WOa65kXXtnJdZhSyzuSq1Q35YK1MVXmwRpDUc0MMWpnhF1prLxr4mNLc8U15pHHasqKBS1gL-SZHo5bZwtdokGzgL06t42sk0zc0m-djOylSn4-O9isl8Gkvby74j7Tq2Y_zR5c29v_CWPOnX1Duytrxe2S3yWN8sZ4vr9wHCX_ArWxo |
| linkProvider | ISSN International Centre |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Type-Safe+Dynamic+Placement+with+First-Class+Placed+Values&rft.jtitle=Proceedings+of+ACM+on+programming+languages&rft.au=Zakhour%2C+George&rft.au=Weisenburger%2C+Pascal&rft.au=Salvaneschi%2C+Guido&rft.date=2023-10-16&rft.pub=ACM&rft.eissn=2475-1421&rft.volume=7&rft.issue=OOPSLA2&rft.spage=2142&rft.epage=2170&rft_id=info:doi/10.1145%2F3622873&rft.externalDocID=3622873 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2475-1421&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2475-1421&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2475-1421&client=summon |