{"id":"https://openalex.org/W2951467711","doi":"https://doi.org/10.1145/3319618","title":"A Survey of Asynchronous Programming Using Coroutines in the Internet of Things and Embedded Systems","display_name":"A Survey of Asynchronous Programming Using Coroutines in the Internet of Things and Embedded Systems","publication_year":2019,"publication_date":"2019-05-31","ids":{"openalex":"https://openalex.org/W2951467711","doi":"https://doi.org/10.1145/3319618","mag":"2951467711"},"language":"en","primary_location":{"id":"doi:10.1145/3319618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3319618","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Embedded Computing Systems","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1906.00367","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5079261409","display_name":"Bruce Belson","orcid":"https://orcid.org/0000-0003-2904-1650"},"institutions":[{"id":"https://openalex.org/I86467917","display_name":"James Cook University","ror":"https://ror.org/04gsp2c11","country_code":"AU","type":"education","lineage":["https://openalex.org/I86467917"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Bruce Belson","raw_affiliation_strings":["James Cook University, Smithfield, Cairns, QLD, Australia"],"raw_orcid":"https://orcid.org/0000-0003-2904-1650","affiliations":[{"raw_affiliation_string":"James Cook University, Smithfield, Cairns, QLD, Australia","institution_ids":["https://openalex.org/I86467917"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5091642155","display_name":"Jason Holdsworth","orcid":"https://orcid.org/0000-0001-9349-772X"},"institutions":[{"id":"https://openalex.org/I86467917","display_name":"James Cook University","ror":"https://ror.org/04gsp2c11","country_code":"AU","type":"education","lineage":["https://openalex.org/I86467917"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Jason Holdsworth","raw_affiliation_strings":["James Cook University, Smithfield, Cairns, QLD, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"James Cook University, Smithfield, Cairns, QLD, Australia","institution_ids":["https://openalex.org/I86467917"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100389005","display_name":"Wei Xiang","orcid":"https://orcid.org/0000-0002-0608-065X"},"institutions":[{"id":"https://openalex.org/I86467917","display_name":"James Cook University","ror":"https://ror.org/04gsp2c11","country_code":"AU","type":"education","lineage":["https://openalex.org/I86467917"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Wei Xiang","raw_affiliation_strings":["James Cook University, Smithfield, Cairns, QLD, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"James Cook University, Smithfield, Cairns, QLD, Australia","institution_ids":["https://openalex.org/I86467917"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5031120027","display_name":"Bronson Philippa","orcid":"https://orcid.org/0000-0002-5736-0336"},"institutions":[{"id":"https://openalex.org/I86467917","display_name":"James Cook University","ror":"https://ror.org/04gsp2c11","country_code":"AU","type":"education","lineage":["https://openalex.org/I86467917"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Bronson Philippa","raw_affiliation_strings":["James Cook University, Smithfield, Cairns, QLD, Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"James Cook University, Smithfield, Cairns, QLD, Australia","institution_ids":["https://openalex.org/I86467917"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I86467917"],"apc_list":null,"apc_paid":null,"fwci":1.7168,"has_fulltext":false,"cited_by_count":22,"citation_normalized_percentile":{"value":0.85764741,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"18","issue":"3","first_page":"1","last_page":"21"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10273","display_name":"IoT and Edge/Fog Computing","score":0.9966999888420105,"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/T10273","display_name":"IoT and Edge/Fog Computing","score":0.9966999888420105,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9955000281333923,"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.9904999732971191,"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/computer-science","display_name":"Computer science","score":0.8774211406707764},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.6330620646476746},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.6145661473274231},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5710594058036804},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.451890766620636},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.44395729899406433},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.42282766103744507},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.11272135376930237}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8774211406707764},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.6330620646476746},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.6145661473274231},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5710594058036804},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.451890766620636},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.44395729899406433},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.42282766103744507},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.11272135376930237},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C21547014","wikidata":"https://www.wikidata.org/wiki/Q1423657","display_name":"Operations management","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3319618","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3319618","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Embedded Computing Systems","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1906.00367","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1906.00367","pdf_url":"https://arxiv.org/pdf/1906.00367","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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"},{"id":"pmh:oai:researchonline.jcu.edu.au:58575","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4377196350","display_name":"ResearchOnline - JCU (James Cook University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I86467917","host_organization_name":"James Cook University","host_organization_lineage":["https://openalex.org/I86467917"],"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":"Article"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1906.00367","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1906.00367","pdf_url":"https://arxiv.org/pdf/1906.00367","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"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":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":80,"referenced_works":["https://openalex.org/W4214443","https://openalex.org/W119603277","https://openalex.org/W127183630","https://openalex.org/W142876020","https://openalex.org/W317521241","https://openalex.org/W1147985193","https://openalex.org/W1496883322","https://openalex.org/W1539977517","https://openalex.org/W1553293008","https://openalex.org/W1573930648","https://openalex.org/W1575442313","https://openalex.org/W1587375298","https://openalex.org/W1603617425","https://openalex.org/W1625164006","https://openalex.org/W1750514695","https://openalex.org/W1966769826","https://openalex.org/W1971903460","https://openalex.org/W1978197069","https://openalex.org/W1991570511","https://openalex.org/W1999798506","https://openalex.org/W2001730388","https://openalex.org/W2001784314","https://openalex.org/W2013464721","https://openalex.org/W2021838450","https://openalex.org/W2031131603","https://openalex.org/W2036971530","https://openalex.org/W2043718431","https://openalex.org/W2046018349","https://openalex.org/W2048563365","https://openalex.org/W2053020645","https://openalex.org/W2056659466","https://openalex.org/W2061909578","https://openalex.org/W2072668705","https://openalex.org/W2073806609","https://openalex.org/W2081449537","https://openalex.org/W2090642077","https://openalex.org/W2104927807","https://openalex.org/W2105103777","https://openalex.org/W2105867215","https://openalex.org/W2110105483","https://openalex.org/W2111619626","https://openalex.org/W2116103175","https://openalex.org/W2118328848","https://openalex.org/W2119165513","https://openalex.org/W2124489373","https://openalex.org/W2124705135","https://openalex.org/W2125555950","https://openalex.org/W2133161577","https://openalex.org/W2134295053","https://openalex.org/W2135023245","https://openalex.org/W2139039591","https://openalex.org/W2141305501","https://openalex.org/W2143184988","https://openalex.org/W2147416291","https://openalex.org/W2161566505","https://openalex.org/W2166306403","https://openalex.org/W2166856083","https://openalex.org/W2168894761","https://openalex.org/W2212652786","https://openalex.org/W2315998946","https://openalex.org/W2344231795","https://openalex.org/W2547469997","https://openalex.org/W2611840193","https://openalex.org/W2737229169","https://openalex.org/W2747481953","https://openalex.org/W2752853835","https://openalex.org/W2761442781","https://openalex.org/W2773200239","https://openalex.org/W2775251417","https://openalex.org/W2952903763","https://openalex.org/W4205540825","https://openalex.org/W4210597212","https://openalex.org/W4232808600","https://openalex.org/W4235686527","https://openalex.org/W4245087630","https://openalex.org/W4245787777","https://openalex.org/W4250898388","https://openalex.org/W4255895675","https://openalex.org/W4292002113","https://openalex.org/W4312698677"],"related_works":["https://openalex.org/W2030816003","https://openalex.org/W4239992647","https://openalex.org/W2150013480","https://openalex.org/W1554458299","https://openalex.org/W2076325756","https://openalex.org/W81423522","https://openalex.org/W1509860481","https://openalex.org/W2488264085","https://openalex.org/W4386206750","https://openalex.org/W4238700786"],"abstract_inverted_index":{"Many":[0],"Internet":[1],"of":[2,37,105,113,146,202,250,257,261],"Things":[3],"and":[4,10,14,68,72,75,96,179,190,196,220,264],"embedded":[5,40],"projects":[6],"are":[7],"event":[8],"driven,":[9],"therefore":[11],"require":[12],"asynchronous":[13],"concurrent":[15],"programming.":[16],"Current":[17],"proposals":[18],"for":[19,82,231,244],"C++20":[20],"suggest":[21,238],"that":[22,226,239,266],"coroutines":[23,38,52,106,232,251],"will":[24],"have":[25,204],"native":[26,211],"language":[27,218],"support.":[28],"It":[29],"is":[30,59,228,241],"timely":[31],"to":[32,90,123,207,274],"survey":[33],"the":[34,76,103,131,258],"current":[35],"use":[36,70,167],"in":[39,252],"systems":[41],"development.":[42],"This":[43],"article":[44],"investigates":[45],"existing":[46,57],"research":[47,58,101],"which":[48,98],"uses":[49],"or":[50,155],"describes":[51],"on":[53,107,233],"resource-constrained":[54,108,234,262],"platforms.":[55,109],"The":[56,134,163,183],"analysed":[60],"with":[61,255],"regard":[62],"to:":[63],"software":[64],"platform,":[65,67],"hardware":[66],"capacity;":[69],"cases":[71,168],"intended":[73,185],"benefits;":[74],"application":[77,104],"programming":[78,138],"interface":[79],"design":[80],"used":[81,141,153,160,206],"coroutines.":[83],"A":[84,199],"systematic":[85],"mapping":[86],"study":[87],"was":[88],"performed,":[89],"select":[91],"studies":[92,144,152],"published":[93],"between":[94],"2007":[95],"2018":[97],"contained":[99],"original":[100],"into":[102],"An":[110],"initial":[111],"set":[112],"566":[114],"candidate":[115],"papers,":[116],"collated":[117],"from":[118],"on-line":[119],"databases,":[120],"were":[121,128,140,169,187],"reduced":[122],"only":[124],"35":[125],"after":[126],"filters":[127],"applied,":[129],"revealing":[130],"following":[132],"taxonomy.":[133],"C":[135],"8":[136],"C++":[137],"languages":[139],"by":[142],"22":[143],"out":[145],"35.":[147],"As":[148],"regards":[149],"hardware,":[150],"16":[151],"8-":[154],"16-bit":[156],"processors":[157],"while":[158],"13":[159],"32-bit":[161],"processors.":[162],"four":[164],"most":[165],"common":[166],"concurrency":[170],"(17":[171],"papers),":[172,193],"network":[173],"communication":[174],"(15),":[175],"sensor":[176],"readings":[177],"(9),":[178,195],"data":[180],"flow":[181],"(7).":[182],"leading":[184],"benefits":[186,272],"code":[188],"style":[189],"simplicity":[191],"(12":[192],"scheduling":[194],"efficiency":[197],"(8).":[198],"wide":[200],"variety":[201],"techniques":[203],"been":[205],"implement":[208],"coroutines,":[209],"including":[210],"macros,":[212],"additional":[213],"tool":[214],"chain":[215],"steps,":[216],"new":[217],"features,":[219],"non-portable":[221],"assembly":[222],"language.":[223],"We":[224],"conclude":[225],"there":[227,240],"widespread":[229],"demand":[230,243],"devices.":[235,276],"Our":[236],"findings":[237],"significant":[242],"a":[245],"formalised,":[246],"stable,":[247],"well-supported":[248],"implementation":[249,269],"C++,":[253],"designed":[254],"consideration":[256],"special":[259],"needs":[260],"devices,":[263],"further":[265],"such":[267,275],"an":[268],"would":[270],"bring":[271],"specific":[273]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1}],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2025-10-10T00:00:00"}
