{"id":"https://openalex.org/W4415007629","doi":"https://doi.org/10.1145/3763050","title":"Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern","display_name":"Exploring the Theory and Practice of Concurrency in the Entity-Component-System Pattern","publication_year":2025,"publication_date":"2025-10-09","ids":{"openalex":"https://openalex.org/W4415007629","doi":"https://doi.org/10.1145/3763050"},"language":"en","primary_location":{"id":"doi:10.1145/3763050","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763050","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1145/3763050","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103223141","display_name":"Patrick Redmond","orcid":"https://orcid.org/0000-0001-5702-0860"},"institutions":[{"id":"https://openalex.org/I185103710","display_name":"University of California, Santa Cruz","ror":"https://ror.org/03s65by71","country_code":"US","type":"education","lineage":["https://openalex.org/I185103710"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Patrick Redmond","raw_affiliation_strings":["University of California, Santa Cruz, Santa Cruz, USA"],"raw_orcid":"https://orcid.org/0000-0001-5702-0860","affiliations":[{"raw_affiliation_string":"University of California, Santa Cruz, Santa Cruz, USA","institution_ids":["https://openalex.org/I185103710"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055702623","display_name":"Jonathan Castello","orcid":"https://orcid.org/0000-0002-8548-3683"},"institutions":[{"id":"https://openalex.org/I185103710","display_name":"University of California, Santa Cruz","ror":"https://ror.org/03s65by71","country_code":"US","type":"education","lineage":["https://openalex.org/I185103710"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jonathan Castello","raw_affiliation_strings":["University of California, Santa Cruz, Santa Cruz, USA"],"raw_orcid":"https://orcid.org/0000-0002-8548-3683","affiliations":[{"raw_affiliation_string":"University of California, Santa Cruz, Santa Cruz, USA","institution_ids":["https://openalex.org/I185103710"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023739244","display_name":"Jos\u00e9 Manuel Calder\u00f3n Trilla","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jos\u00e9 Manuel Calder\u00f3n Trilla","raw_affiliation_strings":["Haskell Foundation, Ottawa, Canada"],"raw_orcid":"https://orcid.org/0009-0001-1145-2032","affiliations":[{"raw_affiliation_string":"Haskell Foundation, Ottawa, Canada","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5065115190","display_name":"Lindsey Kuper","orcid":"https://orcid.org/0000-0002-1374-7715"},"institutions":[{"id":"https://openalex.org/I185103710","display_name":"University of California, Santa Cruz","ror":"https://ror.org/03s65by71","country_code":"US","type":"education","lineage":["https://openalex.org/I185103710"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lindsey Kuper","raw_affiliation_strings":["University of California, Santa Cruz, Santa Cruz, USA"],"raw_orcid":"https://orcid.org/0000-0002-1374-7715","affiliations":[{"raw_affiliation_string":"University of California, Santa Cruz, Santa Cruz, USA","institution_ids":["https://openalex.org/I185103710"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5103223141"],"corresponding_institution_ids":["https://openalex.org/I185103710"],"apc_list":null,"apc_paid":null,"fwci":4.1578,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.94384206,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":91,"max":98},"biblio":{"volume":"9","issue":"OOPSLA2","first_page":"1","last_page":"28"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9973999857902527,"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"}},"topics":[{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9973999857902527,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9973000288009644,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9962000250816345,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.7461000084877014},{"id":"https://openalex.org/keywords/leverage","display_name":"Leverage (statistics)","score":0.6129000186920166},{"id":"https://openalex.org/keywords/point","display_name":"Point (geometry)","score":0.4787999987602234},{"id":"https://openalex.org/keywords/design-pattern","display_name":"Design pattern","score":0.4666999876499176},{"id":"https://openalex.org/keywords/core","display_name":"Core (optical fiber)","score":0.4636000096797943},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4578000009059906},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4551999866962433}],"concepts":[{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.7461000084877014},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6865000128746033},{"id":"https://openalex.org/C153083717","wikidata":"https://www.wikidata.org/wiki/Q6535263","display_name":"Leverage (statistics)","level":2,"score":0.6129000186920166},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.4787999987602234},{"id":"https://openalex.org/C14501506","wikidata":"https://www.wikidata.org/wiki/Q5253831","display_name":"Design pattern","level":2,"score":0.4666999876499176},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.4636000096797943},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45910000801086426},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4578000009059906},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4551999866962433},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4494999945163727},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3919000029563904},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3594000041484833},{"id":"https://openalex.org/C2778355321","wikidata":"https://www.wikidata.org/wiki/Q17079427","display_name":"Identity (music)","level":2,"score":0.35589998960494995},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3330000042915344},{"id":"https://openalex.org/C2778572836","wikidata":"https://www.wikidata.org/wiki/Q380933","display_name":"Space (punctuation)","level":2,"score":0.32170000672340393},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.3124000132083893},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.2879999876022339},{"id":"https://openalex.org/C52913732","wikidata":"https://www.wikidata.org/wiki/Q857102","display_name":"Software design","level":4,"score":0.28049999475479126},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.260699987411499},{"id":"https://openalex.org/C2777561058","wikidata":"https://www.wikidata.org/wiki/Q2652119","display_name":"Program comprehension","level":4,"score":0.2597000002861023},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.25369998812675476}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3763050","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763050","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:2508.15264","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2508.15264","pdf_url":"https://arxiv.org/pdf/2508.15264","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":"doi:10.1145/3763050","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3763050","pdf_url":null,"source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G867572711","display_name":null,"funder_award_id":"2145367","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1970603441","https://openalex.org/W1984062223","https://openalex.org/W1986804682","https://openalex.org/W1997189669","https://openalex.org/W2006766139","https://openalex.org/W2027275704","https://openalex.org/W2050942832","https://openalex.org/W2068306188","https://openalex.org/W2073001576","https://openalex.org/W2084143659","https://openalex.org/W2244101089","https://openalex.org/W2950139924","https://openalex.org/W3114934668","https://openalex.org/W3146312719","https://openalex.org/W4205872049","https://openalex.org/W4240363966","https://openalex.org/W4244157805","https://openalex.org/W7075880215"],"related_works":[],"abstract_inverted_index":{"The":[0],"Entity-Component-System":[1],"(ECS)":[2],"software":[3,134],"design":[4,114],"pattern,":[5],"long":[6],"used":[7],"in":[8,77,90,96],"game":[9],"development,":[10],"encourages":[11],"a":[12,47,64,105,116,141,160,169,195],"clean":[13],"separation":[14],"of":[15,49,63,69,81,92,98,108,115,126,133,143,151,155,171],"identity":[16],"(entities),":[17],"data":[18],"properties":[19],"(components),":[20],"and":[21,34,40,58,180],"computational":[22],"behaviors":[23],"(systems).":[24],"Programs":[25],"written":[26],"using":[27,135],"the":[28,35,53,70,78,88,109,113,124,131,136,156],"ECS":[29,50,54,71,83,110,137,145,157,167,178,199],"pattern":[30,36,55,72,89,111,158],"are":[31],"naturally":[32],"concurrent,":[33],"offers":[37],"modularity,":[38],"flexibility,":[39],"performance":[41],"benefits":[42],"that":[43,121,147,182,202],"have":[44],"led":[45],"to":[46,74,129],"proliferation":[48],"frameworks.":[51],"Nevertheless,":[52],"is":[56,101],"little-known":[57],"not":[59],"well":[60],"understood":[61],"outside":[62],"few":[65],"domains.":[66],"Existing":[67],"explanations":[68],"tend":[73],"be":[75],"mired":[76],"concrete":[79],"details":[80,125],"particular":[82],"frameworks,":[84],"or":[85,95],"they":[86,183],"explain":[87],"terms":[91,97],"imperfect":[93],"metaphors":[94],"what":[99],"it":[100],"not.":[102],"We":[103,139],"seek":[104],"rigorous":[106],"understanding":[107],"via":[112],"formal":[117],"model,":[118],"Core":[119,144,166],"ECS,":[120],"abstracts":[122],"away":[123],"specific":[127],"implementations":[128],"reveal":[130],"essence":[132],"pattern.":[138],"identify":[140],"class":[142],"programs":[146],"behave":[148],"deterministically":[149],"regardless":[150],"scheduling,":[152],"enabling":[153],"use":[154],"as":[159,168],"deterministic-by-construction":[161],"concurrent":[162],"programming":[163],"model.":[164],"With":[165],"point":[170,193],"comparison,":[172],"we":[173],"then":[174],"survey":[175],"several":[176],"real-world":[177],"frameworks":[179],"find":[181],"all":[184],"leave":[185],"opportunities":[186],"for":[187,197],"deterministic":[188],"concurrency":[189],"unexploited.":[190],"Our":[191],"findings":[192],"out":[194],"space":[196],"new":[198],"implementation":[200],"techniques":[201],"better":[203],"leverage":[204],"such":[205],"opportunities.":[206]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1}],"updated_date":"2026-05-07T13:39:58.223016","created_date":"2025-10-10T00:00:00"}
