{"id":"https://openalex.org/W2485306801","doi":"https://doi.org/10.1145/3591594","title":"Synchronous Deterministic Parallel Programming for Multi-Cores with ForeC","display_name":"Synchronous Deterministic Parallel Programming for Multi-Cores with ForeC","publication_year":2023,"publication_date":"2023-04-10","ids":{"openalex":"https://openalex.org/W2485306801","doi":"https://doi.org/10.1145/3591594","mag":"2485306801"},"language":"en","primary_location":{"id":"doi:10.1145/3591594","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3591594","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591594","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3591594","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5081353402","display_name":"Eugene Yip","orcid":"https://orcid.org/0009-0009-2840-6567"},"institutions":[{"id":"https://openalex.org/I94626330","display_name":"University of Bamberg","ror":"https://ror.org/01c1w6d29","country_code":"DE","type":"education","lineage":["https://openalex.org/I94626330"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Eugene Yip","raw_affiliation_strings":["University of Bamberg","Department of Electrical and Computer Engineering [Auckland ]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Bamberg","institution_ids":["https://openalex.org/I94626330"]},{"raw_affiliation_string":"Department of Electrical and Computer Engineering [Auckland ]","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109363326","display_name":"Alain Girault","orcid":null},"institutions":[{"id":"https://openalex.org/I106785703","display_name":"Institut polytechnique de Grenoble","ror":"https://ror.org/05sbt2524","country_code":"FR","type":"education","lineage":["https://openalex.org/I106785703","https://openalex.org/I899635006"]},{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I4210101348","display_name":"Centre Inria de l'Universit\u00e9 Grenoble Alpes","ror":"https://ror.org/00n8d6z93","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210101348"]},{"id":"https://openalex.org/I4210104430","display_name":"Laboratoire d'Informatique de Grenoble","ror":"https://ror.org/01c8rcg82","country_code":"FR","type":"facility","lineage":["https://openalex.org/I106785703","https://openalex.org/I1294671590","https://openalex.org/I1294671590","https://openalex.org/I1326498283","https://openalex.org/I4210104430","https://openalex.org/I4210159245","https://openalex.org/I899635006","https://openalex.org/I899635006"]},{"id":"https://openalex.org/I899635006","display_name":"Universit\u00e9 Grenoble Alpes","ror":"https://ror.org/02rx3b187","country_code":"FR","type":"education","lineage":["https://openalex.org/I899635006"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Alain Girault","raw_affiliation_strings":["University of Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG","Department of Electrical and Computer Engineering [Auckland ]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Grenoble Alpes, Inria, CNRS, Grenoble INP, LIG","institution_ids":["https://openalex.org/I4210101348","https://openalex.org/I1294671590","https://openalex.org/I106785703","https://openalex.org/I4210104430","https://openalex.org/I899635006"]},{"raw_affiliation_string":"Department of Electrical and Computer Engineering [Auckland ]","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076621370","display_name":"Partha S. Roop","orcid":"https://orcid.org/0000-0001-9654-5678"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]},{"id":"https://openalex.org/I4210145666","display_name":"Embedded Systems (United States)","ror":"https://ror.org/04742eh45","country_code":"US","type":"company","lineage":["https://openalex.org/I4210145666"]}],"countries":["NZ","US"],"is_corresponding":false,"raw_author_name":"Partha S. Roop","raw_affiliation_strings":["The University of Auckland","Sound Programming of Adaptive Dependable Embedded Systems"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Auckland","institution_ids":["https://openalex.org/I154130895"]},{"raw_affiliation_string":"Sound Programming of Adaptive Dependable Embedded Systems","institution_ids":["https://openalex.org/I4210145666"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008748485","display_name":"Morteza Biglari-Abhari","orcid":"https://orcid.org/0000-0001-8094-5343"},"institutions":[{"id":"https://openalex.org/I154130895","display_name":"University of Auckland","ror":"https://ror.org/03b94tp07","country_code":"NZ","type":"education","lineage":["https://openalex.org/I154130895"]}],"countries":["NZ"],"is_corresponding":false,"raw_author_name":"Morteza Biglari-Abhari","raw_affiliation_strings":["The University of Auckland","Department of Electrical and Computer Engineering [Auckland ]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Auckland","institution_ids":["https://openalex.org/I154130895"]},{"raw_affiliation_string":"Department of Electrical and Computer Engineering [Auckland ]","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":4,"institutions_distinct_count":8,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.004811,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":"45","issue":"2","first_page":"1","last_page":"74"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9998000264167786,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9995999932289124,"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/parallel-computing","display_name":"Parallel computing","score":0.7290172576904297},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6604601144790649},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.45046159625053406}],"concepts":[{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7290172576904297},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6604601144790649},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45046159625053406}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3591594","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3591594","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591594","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:HAL:hal-04338823v1","is_oa":true,"landing_page_url":"https://hal.science/hal-04338823","pdf_url":"https://hal.science/hal-04338823v1/file/main.pdf","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ACM Transactions on Programming Languages and Systems (TOPLAS), 2023, 45 (2), pp.1-74. &#x27E8;10.1145/3591594&#x27E9;","raw_type":"info:eu-repo/semantics/article"},{"id":"pmh:oai:HAL:hal-01351552v1","is_oa":true,"landing_page_url":"https://inria.hal.science/hal-01351552","pdf_url":null,"source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"[Research Report] RR-8943, Inria - Research Centre Grenoble \u2013 Rh\u00f4ne-Alpes. 2016","raw_type":"info:eu-repo/semantics/report"}],"best_oa_location":{"id":"doi:10.1145/3591594","is_oa":true,"landing_page_url":"http://dx.doi.org/10.1145/3591594","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3591594","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.6100000143051147,"id":"https://metadata.un.org/sdg/10","display_name":"Reduced inequalities"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320313934","display_name":"Institut national de recherche en informatique et en automatique (INRIA)","ror":"https://ror.org/02kvxyf05"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2485306801.pdf","grobid_xml":"https://content.openalex.org/works/W2485306801.grobid-xml"},"referenced_works_count":106,"referenced_works":["https://openalex.org/W77411585","https://openalex.org/W86951559","https://openalex.org/W164692695","https://openalex.org/W849075951","https://openalex.org/W1481968117","https://openalex.org/W1484997341","https://openalex.org/W1499210710","https://openalex.org/W1503767920","https://openalex.org/W1534452453","https://openalex.org/W1546220007","https://openalex.org/W1548666647","https://openalex.org/W1555915743","https://openalex.org/W1570112753","https://openalex.org/W1600257749","https://openalex.org/W1651593422","https://openalex.org/W1715210439","https://openalex.org/W1965516968","https://openalex.org/W1976014094","https://openalex.org/W1977261710","https://openalex.org/W1978672105","https://openalex.org/W1990147325","https://openalex.org/W2002106209","https://openalex.org/W2006059438","https://openalex.org/W2013464721","https://openalex.org/W2014923483","https://openalex.org/W2018263494","https://openalex.org/W2018822418","https://openalex.org/W2022126655","https://openalex.org/W2023312039","https://openalex.org/W2029279761","https://openalex.org/W2031131603","https://openalex.org/W2034247006","https://openalex.org/W2040789302","https://openalex.org/W2045271686","https://openalex.org/W2045886945","https://openalex.org/W2049455231","https://openalex.org/W2052649320","https://openalex.org/W2056495253","https://openalex.org/W2058713130","https://openalex.org/W2063301303","https://openalex.org/W2066867661","https://openalex.org/W2069216738","https://openalex.org/W2076285066","https://openalex.org/W2080875873","https://openalex.org/W2081938726","https://openalex.org/W2083877067","https://openalex.org/W2084175640","https://openalex.org/W2088173694","https://openalex.org/W2090062385","https://openalex.org/W2091769923","https://openalex.org/W2099529102","https://openalex.org/W2100500718","https://openalex.org/W2101161997","https://openalex.org/W2101855829","https://openalex.org/W2102481384","https://openalex.org/W2103272161","https://openalex.org/W2105259174","https://openalex.org/W2105858189","https://openalex.org/W2107267576","https://openalex.org/W2109565511","https://openalex.org/W2113130027","https://openalex.org/W2114450108","https://openalex.org/W2117708402","https://openalex.org/W2118229393","https://openalex.org/W2121960799","https://openalex.org/W2122532513","https://openalex.org/W2123056851","https://openalex.org/W2125415493","https://openalex.org/W2127159302","https://openalex.org/W2127335869","https://openalex.org/W2128969973","https://openalex.org/W2129895572","https://openalex.org/W2134569009","https://openalex.org/W2143445561","https://openalex.org/W2146642094","https://openalex.org/W2147347162","https://openalex.org/W2149819457","https://openalex.org/W2149843953","https://openalex.org/W2151653149","https://openalex.org/W2152010088","https://openalex.org/W2153027637","https://openalex.org/W2157341056","https://openalex.org/W2158794422","https://openalex.org/W2161451780","https://openalex.org/W2163151857","https://openalex.org/W2166295031","https://openalex.org/W2170079186","https://openalex.org/W2172255864","https://openalex.org/W2339714652","https://openalex.org/W2406166723","https://openalex.org/W2560455120","https://openalex.org/W2771782676","https://openalex.org/W2797124159","https://openalex.org/W2945037107","https://openalex.org/W2979939320","https://openalex.org/W2981619951","https://openalex.org/W3106373601","https://openalex.org/W3149651344","https://openalex.org/W3160830781","https://openalex.org/W4206658214","https://openalex.org/W4233353136","https://openalex.org/W4240847041","https://openalex.org/W4241604698","https://openalex.org/W4242843412","https://openalex.org/W4243099941","https://openalex.org/W4246797854"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W2390279801","https://openalex.org/W2358668433","https://openalex.org/W2376932109","https://openalex.org/W2001405890","https://openalex.org/W2382290278","https://openalex.org/W2350741829","https://openalex.org/W2130043461","https://openalex.org/W2530322880","https://openalex.org/W1596801655"],"abstract_inverted_index":{"Embedded":[0],"real-time":[1],"systems":[2,30],"are":[3,135,146],"tightly":[4],"integrated":[5],"with":[6,154,163],"their":[7,20],"physical":[8],"environment.":[9],"Their":[10],"correctness":[11],"depends":[12],"both":[13],"on":[14,170,178],"the":[15,47,64,71,90,233],"outputs":[16],"and":[17,50,59,74,92,109,128,139,168,207],"timeliness":[18],"of":[19,25,46,77,83,94,237,247],"computations.":[21],"The":[22,80],"increasing":[23],"use":[24],"multi-core":[26],"processors":[27],"in":[28,210],"such":[29],"is":[31,43,85,119,208,226],"pushing":[32],"embedded":[33,78],"programmers":[34],"to":[35,53,87,112,165,172,212,243],"be":[36,103,110,241],"parallel":[37,41,56,95,107,193,219],"programming":[38,42,57,68,76,220],"experts.":[39],"However,":[40],"challenging":[44],"because":[45,142],"skills,":[48],"experiences,":[49],"knowledge":[51],"needed":[52],"avoid":[54],"common":[55],"traps":[58],"pitfalls.":[60],"This":[61],"article":[62],"proposes":[63],"ForeC":[65,84,97,100,133,152,161,189,238],"synchronous":[66,81,201],"multi-threaded":[67],"language":[69,202],"for":[70,106,203,218],"deterministic,":[72],"parallel,":[73],"reactive":[75],"multi-cores.":[79],"semantics":[82,123],"designed":[86],"greatly":[88],"simplify":[89],"understanding":[91],"debugging":[93],"programs.":[96],"ensures":[98],"that":[99,124,188,232],"programs":[101,134,157,186,239],"can":[102,190,240],"compiled":[104],"efficiently":[105],"execution":[108,235],"amenable":[111],"static":[113],"timing":[114],"analysis.":[115],"ForeC\u2019s":[116],"main":[117],"innovation":[118],"its":[120],"shared":[121],"variable":[122],"provides":[125],"thread":[126,130],"isolation":[127],"deterministic":[129],"communication.":[131],"All":[132],"correct":[136],"by":[137],"construction":[138],"deadlock":[140],"free":[141],"no":[143],"non-deterministic":[144],"constructs":[145],"needed.":[147],"We":[148,229],"have":[149],"benchmarked":[150],"our":[151],"compiler":[153],"several":[155],"medium-sized":[156],"(e.g.,":[158],"a":[159,179,197,214,244],"2.274-line":[160],"program":[162],"up":[164,171],"26":[166],"threads":[167],"distributed":[169],"10":[173],"cores,":[174],"which":[175],"was":[176],"based":[177],"2.155-line":[180],"non-multi-threaded":[181],"C":[182],"program).":[183],"These":[184],"benchmark":[185],"show":[187],"achieve":[191],"better":[192],"performance":[194,211],"than":[195],"Esterel,":[196],"widely":[198],"used":[199],"imperative":[200],"concurrent":[204],"safety-critical":[205],"systems,":[206],"competitive":[209],"OpenMP,":[213],"popular":[215],"desktop":[216],"solution":[217],"(which":[221],"implements":[222],"classical":[223],"multi-threading,":[224],"hence":[225],"intrinsically":[227],"non-deterministic).":[228],"also":[230],"demonstrate":[231],"worst-case":[234],"time":[236],"estimated":[242],"high":[245],"degree":[246],"precision.":[248]},"counts_by_year":[{"year":2019,"cited_by_count":1}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2016-08-23T00:00:00"}
