{"id":"https://openalex.org/W7106014935","doi":"https://doi.org/10.22152/programming-journal.org/2025/10/20","title":"Chorex: Restartable, Language-Integrated Choreographies","display_name":"Chorex: Restartable, Language-Integrated Choreographies","publication_year":2025,"publication_date":"2025-10-15","ids":{"openalex":"https://openalex.org/W7106014935","doi":"https://doi.org/10.22152/programming-journal.org/2025/10/20"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2025/10/20","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2025/10/20","pdf_url":null,"source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2511.15820","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Ashton Wiersdorf","orcid":null},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ashton Wiersdorf","raw_affiliation_strings":["University of Utah, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Utah, USA","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"last","author":{"id":null,"display_name":"Ben Greenman","orcid":null},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben Greenman","raw_affiliation_strings":["University of Utah, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Utah, USA","institution_ids":["https://openalex.org/I223532165"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I223532165"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.41880285,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"10","issue":"3","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12784","display_name":"Modular Robots and Swarm Intelligence","score":0.24120000004768372,"subfield":{"id":"https://openalex.org/subfields/2210","display_name":"Mechanical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T12784","display_name":"Modular Robots and Swarm Intelligence","score":0.24120000004768372,"subfield":{"id":"https://openalex.org/subfields/2210","display_name":"Mechanical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"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.2003999948501587,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.09070000052452087,"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/choreography","display_name":"Choreography","score":0.6700999736785889},{"id":"https://openalex.org/keywords/path","display_name":"Path (computing)","score":0.4964999854564667},{"id":"https://openalex.org/keywords/state","display_name":"State (computer science)","score":0.4415000081062317},{"id":"https://openalex.org/keywords/stateless-protocol","display_name":"Stateless protocol","score":0.41780000925064087},{"id":"https://openalex.org/keywords/password","display_name":"Password","score":0.4147999882698059},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.3970000147819519},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.39559999108314514},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.3382999897003174}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7346000075340271},{"id":"https://openalex.org/C183920142","wikidata":"https://www.wikidata.org/wiki/Q180856","display_name":"Choreography","level":3,"score":0.6700999736785889},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6363999843597412},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.4964999854564667},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.4415000081062317},{"id":"https://openalex.org/C103613024","wikidata":"https://www.wikidata.org/wiki/Q230924","display_name":"Stateless protocol","level":3,"score":0.41780000925064087},{"id":"https://openalex.org/C109297577","wikidata":"https://www.wikidata.org/wiki/Q161157","display_name":"Password","level":2,"score":0.4147999882698059},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.3970000147819519},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.39559999108314514},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.3382999897003174},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3310999870300293},{"id":"https://openalex.org/C167822520","wikidata":"https://www.wikidata.org/wiki/Q176452","display_name":"Finite-state machine","level":2,"score":0.32010000944137573},{"id":"https://openalex.org/C80509450","wikidata":"https://www.wikidata.org/wiki/Q1894248","display_name":"Coining (mint)","level":2,"score":0.3172999918460846},{"id":"https://openalex.org/C57493831","wikidata":"https://www.wikidata.org/wiki/Q3134666","display_name":"Projection (relational algebra)","level":2,"score":0.3158000111579895},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.30230000615119934},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.29670000076293945},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.2955000102519989},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.29100000858306885},{"id":"https://openalex.org/C2780428219","wikidata":"https://www.wikidata.org/wiki/Q16952335","display_name":"Cover (algebra)","level":2,"score":0.2890999913215637},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.2874999940395355},{"id":"https://openalex.org/C172086080","wikidata":"https://www.wikidata.org/wiki/Q62270","display_name":"Remote procedure call","level":2,"score":0.2840999960899353},{"id":"https://openalex.org/C145644426","wikidata":"https://www.wikidata.org/wiki/Q169411","display_name":"Unified Modeling Language","level":3,"score":0.2696000039577484},{"id":"https://openalex.org/C94922259","wikidata":"https://www.wikidata.org/wiki/Q33215","display_name":"Constructed language","level":2,"score":0.2696000039577484},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.2535000145435333}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2025/10/20","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2025/10/20","pdf_url":null,"source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2511.15820","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2511.15820","pdf_url":"https://arxiv.org/pdf/2511.15820","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2511.15820","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2511.15820","pdf_url":"https://arxiv.org/pdf/2511.15820","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"We":[0,124],"built":[1],"Chorex,":[2],"a":[3,12,36,42,106,110,137],"language":[4],"that":[5,55,64,126],"brings":[6],"choreographic":[7,22],"programming":[8],"to":[9,109,143],"Elixir":[10],"as":[11],"path":[13],"toward":[14],"robust":[15],"distributed":[16],"applications.":[17],"Chorex":[18,34,52,100],"is":[19,136],"unique":[20],"among":[21,28],"languages":[23,142],"because":[24],"it":[25],"tolerates":[26],"failure":[27],"actors:":[29],"when":[30],"an":[31,81],"actor":[32,82],"crashes,":[33],"spawns":[35],"new":[37],"process,":[38],"restores":[39],"state":[40],"using":[41],"checkpoint,":[43],"and":[44,63,80,87,118],"updates":[45],"the":[46,71,120],"network":[47],"configuration":[48],"for":[49,140],"all":[50],"actors.":[51,146],"also":[53],"proves":[54],"full-featured":[56],"choreographies":[57],"can":[58],"be":[59],"implemented":[60],"via":[61],"metaprogramming,":[62],"doing":[65],"so":[66],"achieves":[67],"tight":[68],"integration":[69],"with":[70],"host":[72],"language.":[73],"For":[74],"example,":[75],"mismatches":[76],"between":[77],"choreography":[78],"requirements":[79],"implementation":[83],"are":[84],"reported":[85],"statically":[86],"in":[88],"terms":[89],"of":[90,122,133],"source":[91],"code":[92],"rather":[93],"than":[94],"macro-expanded":[95],"code.":[96],"This":[97],"paper":[98],"illustrates":[99],"on":[101],"several":[102],"examples,":[103],"ranging":[104],"from":[105],"higher-order":[107],"bookseller":[108],"secure":[111],"remote":[112],"password":[113],"protocol,":[114],"details":[115],"its":[116],"implementation,":[117],"measures":[119],"overhead":[121],"checkpointing.":[123],"conjecture":[125],"Chorex's":[127],"projection":[128],"strategy,":[129],"which":[130],"outputs":[131],"sets":[132],"stateless":[134],"functions,":[135],"viable":[138],"approach":[139],"other":[141],"support":[144],"restartable":[145]},"counts_by_year":[],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-11-19T00:00:00"}
