{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,13]],"date-time":"2025-12-13T23:09:52Z","timestamp":1765667392565,"version":"3.40.3"},"publisher-location":"Cham","reference-count":40,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031174353"},{"type":"electronic","value":"9783031174360"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-17436-0_2","type":"book-chapter","created":{"date-parts":[[2022,9,27]],"date-time":"2022-09-27T14:19:41Z","timestamp":1664288381000},"page":"16-30","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Varda: A Framework for\u00a0Compositional Distributed Programming"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0375-8207","authenticated-orcid":false,"given":"Laurent","family":"Prosperi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2060-3592","authenticated-orcid":false,"given":"Ahmed","family":"Bouajjani","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8953-9322","authenticated-orcid":false,"given":"Marc","family":"Shapiro","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,9,28]]},"reference":[{"key":"2_CR1","unstructured":"Hagar. https:\/\/github.com\/ReubenBond\/Hagar"},{"key":"2_CR2","unstructured":"Iptables. https:\/\/www.netfilter.org\/projects\/iptables\/index.html"},{"key":"2_CR3","unstructured":"Kubernetes. http:\/\/kubernetes.io"},{"key":"2_CR4","unstructured":"OpenStack. https:\/\/www.openstack.org\/"},{"key":"2_CR5","unstructured":"Podman. https:\/\/podman.io\/"},{"key":"2_CR6","unstructured":"Akka: Akka. https:\/\/akka.io\/"},{"key":"2_CR7","unstructured":"Amazon: Aws lambda. https:\/\/aws.amazon.com\/lambda\/"},{"issue":"9","key":"2_CR8","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1145\/1810891.1810910","volume":"53","author":"J Armstrong","year":"2010","unstructured":"Armstrong, J.: Erlang. Commun. ACM 53(9), 68\u201375 (2010)","journal-title":"Commun. ACM"},{"issue":"4","key":"2_CR9","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2501654.2501666","volume":"45","author":"E Bainomugisha","year":"2013","unstructured":"Bainomugisha, E., Carreton, A.L., Cutsem, T.V., Mostinckx, S., Meuter, W.D.: A survey on reactive programming. ACM Comput. Surv. (CSUR) 45(4), 1\u201334 (2013)","journal-title":"ACM Comput. Surv. (CSUR)"},{"issue":"2","key":"2_CR10","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2220365.2220369","volume":"34","author":"G Boudol","year":"2012","unstructured":"Boudol, G., Luo, Z., Rezk, T., Serrano, M.: Reasoning about web applications: an operational semantics for HOP. ACM Trans. Program. Lang. Syst. (TOPLAS) 34(2), 1\u201340 (2012)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"2_CR11","unstructured":"Buoyant Inc.: Linkerd. https:\/\/linkerd.io\/"},{"key":"2_CR12","unstructured":"Burns, B., Oppenheimer, D.: Design patterns for container-based distributed systems. In: Clements, A., Condie, T. (eds.) 8th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2016, Denver, CO, USA, 20\u201321 June 2016. USENIX Association (2016). https:\/\/www.usenix.org\/conference\/hotcloud16\/workshop-program\/presentation\/burns"},{"key":"2_CR13","doi-asserted-by":"crossref","unstructured":"Bykov, S., Geller, A., Kliot, G., Larus, J.R., Pandya, R., Thelin, J.: Orleans: cloud computing for everyone. In: Proceedings of the 2nd ACM Symposium on Cloud Computing, p. 16. ACM (2011)","DOI":"10.1145\/2038916.2038932"},{"key":"2_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/978-3-642-14458-5_1","volume-title":"Web Services and Formal Methods","author":"M Dezani-Ciancaglini","year":"2010","unstructured":"Dezani-Ciancaglini, M., de\u2019Liguoro, U.: Sessions and session types: an overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1\u201328. Springer, Heidelberg (2010). https:\/\/doi.org\/10.1007\/978-3-642-14458-5_1"},{"key":"2_CR15","unstructured":"Docker Inc.: Docker Compose. https:\/\/docs.docker.com\/compose\/"},{"key":"2_CR16","unstructured":"Docker Inc.: Docker Engine. https:\/\/www.docker.com\/"},{"key":"2_CR17","unstructured":"Emerick, C.: Distributed systems and the end of the API. https:\/\/writings.quilt.org\/2014\/05\/12\/distributed-systems-and-the-end-of-the-api\/"},{"key":"2_CR18","doi-asserted-by":"crossref","unstructured":"Eskandani, N., K\u00f6hler, M., Margara, A., Salvaneschi, G.: Distributed object-oriented programming with multiple consistency levels in ConSysT. In: Proceedings Companion of the 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity, pp. 13\u201314. ACM (2019)","DOI":"10.1145\/3359061.3362779"},{"key":"2_CR19","unstructured":"Apache Foundation: Thrift. https:\/\/thrift.apache.org\/"},{"key":"2_CR20","unstructured":"Google: Cloud functions. https:\/\/cloud.google.com\/functions\/"},{"key":"2_CR21","unstructured":"Google: Protocol buffers. https:\/\/developers.google.com\/protocol-buffers"},{"key":"2_CR22","unstructured":"Hendrickson, S., Sturdevant, S., Harter, T., Venkataramani, V., Arpaci-Dusseau, A.C., Arpaci-Dusseau, R.H.: Serverless computation with OpenLambda. In: Clements, A., Condie, T. (eds.) 8th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2016, Denver, CO, USA, 20\u201321 June 2016. USENIX Association (2016). https:\/\/www.usenix.org\/conference\/hotcloud16\/workshop-program\/presentation\/hendrickson"},{"key":"2_CR23","unstructured":"Hutchinson, N.C., Raj, R.K., Black, A.P., Levy, H.M., Jul, E.: The Emerald programming language (1991)"},{"key":"2_CR24","unstructured":"Istio: https:\/\/istio.io\/"},{"key":"2_CR25","doi-asserted-by":"publisher","unstructured":"Kramer, J., Magee, J., Finkelstein, A.: A constructive approach to the design of distributed systems. In: 10th International Conference on Distributed Computing Systems (ICDCS 1990), 28 May\u20131 June 1990, Paris, France, pp. 580\u2013587. IEEE Computer Society (1990). https:\/\/doi.org\/10.1109\/ICDCS.1990.89266","DOI":"10.1109\/ICDCS.1990.89266"},{"key":"2_CR26","unstructured":"Lewis, J., Fowler, M.: Microservices. https:\/\/martinfowler.com\/articles\/microservices.html"},{"issue":"6","key":"2_CR27","doi-asserted-by":"publisher","first-page":"1811","DOI":"10.1145\/197320.197383","volume":"16","author":"BH Liskov","year":"1994","unstructured":"Liskov, B.H., Wing, J.M.: A behavioral notion of subtyping. ACM Trans. Program. Lang. Syst. (TOPLAS) 16(6), 1811\u20131841 (1994)","journal-title":"ACM Trans. Program. Lang. Syst. (TOPLAS)"},{"key":"2_CR28","doi-asserted-by":"publisher","unstructured":"Magee, J., Dulay, N., Kramer, J.: Regis: a constructive development environment for distributed programs. Distrib. Syst. Eng. 1(5), 304\u2013312 (1994). https:\/\/doi.org\/10.1088\/0967-1846\/1\/5\/005","DOI":"10.1088\/0967-1846\/1\/5\/005"},{"key":"2_CR29","doi-asserted-by":"crossref","unstructured":"Meiklejohn, C., Van Roy, P.: Lasp: a language for distributed, coordination-free programming. In: Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming - PPDP 2015, pp. 184\u2013195. ACM Press (2015)","DOI":"10.1145\/2790449.2790525"},{"key":"2_CR30","unstructured":"Meiklejohn, C.S., Lakhani, Z., Alvaro, P., Miller, H.: Verifying interfaces between container-based components (2018)"},{"key":"2_CR31","unstructured":"Microsoft: Azure functions. https:\/\/functions.azure.com\/"},{"key":"2_CR32","doi-asserted-by":"publisher","unstructured":"Milano, M., Myers, A.C.: MixT: a language for mixing consistency in geodistributed transactions. In: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation - PLDI 2018, pp. 226\u2013241. ACM Press. https:\/\/doi.org\/10.1145\/3192366.3192375. http:\/\/dl.acm.org\/citation.cfm?doid=3192366.3192375","DOI":"10.1145\/3192366.3192375"},{"key":"2_CR33","doi-asserted-by":"publisher","unstructured":"Milano, M., Recto, R., Magrino, T., Myers, A.: A tour of gallifrey, a language for geodistributed programming. In: Lerner, B.S., Bod\u00edk, R., Krishnamurthi, S. (eds.) 3rd Summit on Advances in Programming Languages (SNAPL 2019). Leibniz International Proceedings in Informatics (LIPIcs), vol. 136, pp. 11:1\u201311:19. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2019). https:\/\/doi.org\/10.4230\/LIPIcs.SNAPL.2019.11. http:\/\/drops.dagstuhl.de\/opus\/volltexte\/2019\/10554","DOI":"10.4230\/LIPIcs.SNAPL.2019.11"},{"key":"2_CR34","unstructured":"Mogk, R., Baumg\u00e4rtner, L., Salvaneschi, G., Freisleben, B., Mezini, M.: Fault-tolerant distributed reactive programming. In: 32nd European Conference on Object-Oriented Programming, ECOOP 2018, 16\u201321 July 2018, Amsterdam, The Netherlands, pp. 1:1\u20131:26 (2018)"},{"key":"2_CR35","unstructured":"Mozilla: Service Worker. https:\/\/developer.mozilla.org\/fr\/docs\/Web\/API\/Service_Worker_API"},{"key":"2_CR36","unstructured":"Redis: Redis. https:\/\/redis.io\/"},{"key":"2_CR37","doi-asserted-by":"crossref","unstructured":"Sang, B., Roman, P.L., Eugster, P., Lu, H., Ravi, S., Petri, G.: Plasma: programmable elasticity for stateful cloud computing applications. In: Proceedings of the Fifteenth European Conference on Computer Systems, pp. 1\u201315 (2020)","DOI":"10.1145\/3342195.3387553"},{"key":"2_CR38","unstructured":"Shapiro, M.: Structure and encapsulation in distributed systems: the proxy principle. In: International Conference on Distributed Computing Systems (ICDCS), Camchannel, MA, USA, pp. 198\u2013204. IEEE (1986). https:\/\/hal.inria.fr\/inria-00444651"},{"key":"2_CR39","doi-asserted-by":"publisher","unstructured":"Vinoski, S.: CORBA: integrating diverse applications within distributed heterogeneous environments. IEEE Commun. Mag. 35(2), 46\u201355 (1997). https:\/\/doi.org\/10.1109\/35.565655","DOI":"10.1109\/35.565655"},{"key":"2_CR40","doi-asserted-by":"crossref","unstructured":"Weisenburger, P., K\u00f6hler, M., Salvaneschi, G.: Distributed system development with ScalaLoci. Proc. ACM Program. Lang. 2(OOPSLA), 129 (2018)","DOI":"10.1145\/3276499"}],"container-title":["Lecture Notes in Computer Science","Networked Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-17436-0_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,9,27]],"date-time":"2022-09-27T14:20:03Z","timestamp":1664288403000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-17436-0_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031174353","9783031174360"],"references-count":40,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-17436-0_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"28 September 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"NETYS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Networked Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 May 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"19 May 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"netys2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/netys.net\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"100","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"18","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"18% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}