{"id":"https://openalex.org/W4387683208","doi":"https://doi.org/10.1145/3611096.3611098","title":"Using Functional Reactive Programming to Define Safe Actor Systems","display_name":"Using Functional Reactive Programming to Define Safe Actor Systems","publication_year":2022,"publication_date":"2022-06-07","ids":{"openalex":"https://openalex.org/W4387683208","doi":"https://doi.org/10.1145/3611096.3611098"},"language":"en","primary_location":{"id":"doi:10.1145/3611096.3611098","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3611096.3611098","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611096.3611098?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3611096.3611098?download=true","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5022299632","display_name":"Nick Webster","orcid":"https://orcid.org/0000-0002-2508-6643"},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":true,"raw_author_name":"Nick Webster","raw_affiliation_strings":["School of Engineering and Computer Science, Victoria University of Wellington, New Zealand"],"raw_orcid":"https://orcid.org/0000-0002-2508-6643","affiliations":[{"raw_affiliation_string":"School of Engineering and Computer Science, Victoria University of Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5083585434","display_name":"Marco Servetto","orcid":"https://orcid.org/0000-0003-1458-2868"},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Marco Servetto","raw_affiliation_strings":["School of Engineering and Computer Science, Victoria University of Wellington, New Zealand"],"raw_orcid":"https://orcid.org/0000-0003-1458-2868","affiliations":[{"raw_affiliation_string":"School of Engineering and Computer Science, Victoria University of Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013231053","display_name":"Michael Homer","orcid":"https://orcid.org/0000-0003-0280-6748"},"institutions":[{"id":"https://openalex.org/I41156924","display_name":"Victoria University of Wellington","ror":"https://ror.org/0040r6f76","country_code":"NZ","type":"education","lineage":["https://openalex.org/I41156924"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Michael Homer","raw_affiliation_strings":["School of Engineering and Computer Science, Victoria University of Wellington, New Zealand"],"raw_orcid":"https://orcid.org/0000-0003-0280-6748","affiliations":[{"raw_affiliation_string":"School of Engineering and Computer Science, Victoria University of Wellington, New Zealand","institution_ids":["https://openalex.org/I41156924"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5022299632"],"corresponding_institution_ids":["https://openalex.org/I41156924"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.24086049,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"4","last_page":"10"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9993000030517578,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10933","display_name":"Real-Time Systems Scheduling","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9979000091552734,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8532806634902954},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6736090183258057},{"id":"https://openalex.org/keywords/nondeterministic-algorithm","display_name":"Nondeterministic algorithm","score":0.6501924991607666},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.6255089044570923},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.5240945219993591},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.5012884140014648},{"id":"https://openalex.org/keywords/concurrent-object-oriented-programming","display_name":"Concurrent object-oriented programming","score":0.4925433099269867},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.46213048696517944},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4395006597042084},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.40800514817237854},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.33138635754585266},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.21441790461540222}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8532806634902954},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6736090183258057},{"id":"https://openalex.org/C176181172","wikidata":"https://www.wikidata.org/wiki/Q3490301","display_name":"Nondeterministic algorithm","level":2,"score":0.6501924991607666},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.6255089044570923},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.5240945219993591},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5012884140014648},{"id":"https://openalex.org/C3701939","wikidata":"https://www.wikidata.org/wiki/Q5159109","display_name":"Concurrent object-oriented programming","level":5,"score":0.4925433099269867},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.46213048696517944},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4395006597042084},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.40800514817237854},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.33138635754585266},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.21441790461540222},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3611096.3611098","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3611096.3611098","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611096.3611098?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3611096.3611098","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3611096.3611098","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3611096.3611098?download=true","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 24th ACM International Workshop on Formal Techniques for Java-like Programs","raw_type":"proceedings-article"},"sustainable_development_goals":[{"score":0.4300000071525574,"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387683208.pdf","grobid_xml":"https://content.openalex.org/works/W4387683208.grobid-xml"},"referenced_works_count":13,"referenced_works":["https://openalex.org/W2049440551","https://openalex.org/W2049984112","https://openalex.org/W2113112607","https://openalex.org/W2134968380","https://openalex.org/W2188944230","https://openalex.org/W2729947636","https://openalex.org/W2762393945","https://openalex.org/W2898297789","https://openalex.org/W2900040591","https://openalex.org/W2977030256","https://openalex.org/W2982511873","https://openalex.org/W3023325997","https://openalex.org/W4245729501"],"related_works":["https://openalex.org/W2022585506","https://openalex.org/W1516638553","https://openalex.org/W328424390","https://openalex.org/W2541817194","https://openalex.org/W151657593","https://openalex.org/W2162076253","https://openalex.org/W1973354371","https://openalex.org/W4252338223","https://openalex.org/W2034352176","https://openalex.org/W4251155832"],"abstract_inverted_index":{"Functional":[0],"Reactive":[1],"Programming":[2],"(FRP)":[3],"is":[4,27],"a":[5,17,45,167],"powerful":[6],"abstraction":[7,39],"for":[8,21,40,95],"building":[9,41],"deterministic":[10,177],"concurrent":[11,42,60],"systems.":[12],"However,":[13],"some":[14,31],"programmers":[15],"prefer":[16],"more":[18,46,67],"imperative":[19,32,47,59,71,125,140],"approach":[20,26],"certain":[22],"tasks,":[23],"and":[24,81,109,126,135,146,148],"that":[25,122],"required":[28],"to":[29,79,89,138,169,173],"implement":[30],"algorithms.":[33],"The":[34],"Actor":[35,64,111],"Model":[36,65],"provides":[37],"an":[38,101,116],"systems":[43,87],"in":[44,154],"way":[48],"without":[49],"as":[50],"much":[51],"of":[52,56,105,119],"the":[53,63,110],"chaos":[54],"typical":[55],"traditional":[57],"shared-memory":[58],"programming.":[61],"While":[62],"offers":[66],"structure":[68],"than":[69],"other":[70],"approaches,":[72],"it":[73],"still":[74],"suffers":[75],"from":[76],"nondeterminism":[77],"due":[78],"message-ordering":[80],"processing":[82],"times.":[83],"That":[84],"makes":[85],"actor":[86],"hard":[88],"reason":[90],"about,":[91],"limiting":[92],"their":[93],"effectiveness":[94],"critical":[96],"tasks.":[97],"We":[98,132],"formally":[99],"define":[100],"elegant":[102],"multi-paradigm":[103],"unification":[104,114],"event-driven":[106],"FRP":[107],"constructs":[108],"Model.":[112],"Our":[113],"enables":[115],"intuitive":[117],"form":[118],"declarative":[120,127],"programming":[121],"can":[123],"integrate":[124],"code":[128,172],"within":[129],"each":[130],"other.":[131],"use":[133],"reference":[134,142],"object":[136,149],"capabilities":[137,143,150,165],"tame":[139],"features:":[141],"track":[144,151],"aliasing":[145],"mutability,":[147],"I/O.":[152],"Notably,":[153],"our":[155],"system":[156],"expressions":[157],"with":[158,176],"deeply":[159],"immutable":[160],"input":[161],"behave":[162],"deterministically.":[163],"Additionally,":[164],"provide":[166],"boundary":[168],"allow":[170],"nondeterministic":[171],"intermingle":[174],"safely":[175],"code.":[178]},"counts_by_year":[],"updated_date":"2026-03-12T06:13:28.667946","created_date":"2025-10-10T00:00:00"}
