{"id":"https://openalex.org/W2133337233","doi":"https://doi.org/10.1145/2110356.2110361","title":"A Declarative Language Approach to Device Configuration","display_name":"A Declarative Language Approach to Device Configuration","publication_year":2012,"publication_date":"2012-02-01","ids":{"openalex":"https://openalex.org/W2133337233","doi":"https://doi.org/10.1145/2110356.2110361","mag":"2133337233"},"language":"en","primary_location":{"id":"doi:10.1145/2110356.2110361","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2110356.2110361","pdf_url":null,"source":{"id":"https://openalex.org/S193109227","display_name":"ACM Transactions on Computer Systems","issn_l":"0734-2071","issn":["0734-2071","1557-7333"],"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 Computer Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5034362961","display_name":"Adrian Sch\u00fcpbach","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Adrian Sch\u00fcpbach","raw_affiliation_strings":["ETH Zurich","[ETH, Zurich]"],"affiliations":[{"raw_affiliation_string":"ETH Zurich","institution_ids":["https://openalex.org/I35440088"]},{"raw_affiliation_string":"[ETH, Zurich]","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5001597905","display_name":"Andrew Baumann","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Andrew Baumann","raw_affiliation_strings":["ETH Zurich","[ETH, Zurich]"],"affiliations":[{"raw_affiliation_string":"ETH Zurich","institution_ids":["https://openalex.org/I35440088"]},{"raw_affiliation_string":"[ETH, Zurich]","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072227627","display_name":"Timothy Roscoe","orcid":"https://orcid.org/0000-0002-8298-1126"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Timothy Roscoe","raw_affiliation_strings":["ETH Zurich","[ETH, Zurich]"],"affiliations":[{"raw_affiliation_string":"ETH Zurich","institution_ids":["https://openalex.org/I35440088"]},{"raw_affiliation_string":"[ETH, Zurich]","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5102251003","display_name":"Simon Peter","orcid":null},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Simon Peter","raw_affiliation_strings":["ETH Zurich","[ETH, Zurich]"],"affiliations":[{"raw_affiliation_string":"ETH Zurich","institution_ids":["https://openalex.org/I35440088"]},{"raw_affiliation_string":"[ETH, Zurich]","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5034362961"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":0.5801,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.68849541,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"30","issue":"1","first_page":"1","last_page":"35"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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":0.9990000128746033,"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.9990000128746033,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9976000189781189,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8688580989837646},{"id":"https://openalex.org/keywords/interrupt","display_name":"Interrupt","score":0.568865180015564},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.466597318649292},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4514344334602356},{"id":"https://openalex.org/keywords/constraint-programming","display_name":"Constraint programming","score":0.43074706196784973},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.42072486877441406},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.4168865978717804},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.384985089302063},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.36766886711120605},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.2909865975379944}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8688580989837646},{"id":"https://openalex.org/C41661131","wikidata":"https://www.wikidata.org/wiki/Q220764","display_name":"Interrupt","level":3,"score":0.568865180015564},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.466597318649292},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4514344334602356},{"id":"https://openalex.org/C173404611","wikidata":"https://www.wikidata.org/wiki/Q528588","display_name":"Constraint programming","level":3,"score":0.43074706196784973},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.42072486877441406},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.4168865978717804},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.384985089302063},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.36766886711120605},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.2909865975379944},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C137631369","wikidata":"https://www.wikidata.org/wiki/Q7617831","display_name":"Stochastic programming","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C173018170","wikidata":"https://www.wikidata.org/wiki/Q165678","display_name":"Microcontroller","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2110356.2110361","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2110356.2110361","pdf_url":null,"source":{"id":"https://openalex.org/S193109227","display_name":"ACM Transactions on Computer Systems","issn_l":"0734-2071","issn":["0734-2071","1557-7333"],"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 Computer Systems","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W41612456","https://openalex.org/W110456303","https://openalex.org/W110825830","https://openalex.org/W259012431","https://openalex.org/W1518703145","https://openalex.org/W1529535786","https://openalex.org/W1672988363","https://openalex.org/W1865515598","https://openalex.org/W1972793074","https://openalex.org/W1996565109","https://openalex.org/W2004937484","https://openalex.org/W2045066785","https://openalex.org/W2107210325","https://openalex.org/W2123396057","https://openalex.org/W2132210624","https://openalex.org/W2136310957","https://openalex.org/W2157733805","https://openalex.org/W2167510195","https://openalex.org/W2167809671","https://openalex.org/W2168075869","https://openalex.org/W2169317663","https://openalex.org/W2914355744","https://openalex.org/W3044061836","https://openalex.org/W3113306529","https://openalex.org/W4232094446"],"related_works":["https://openalex.org/W4288898221","https://openalex.org/W2358308054","https://openalex.org/W2109690896","https://openalex.org/W2391783641","https://openalex.org/W4231875098","https://openalex.org/W4230529130","https://openalex.org/W2314685986","https://openalex.org/W2949190809","https://openalex.org/W2008001558","https://openalex.org/W1823909182"],"abstract_inverted_index":{"C":[0,90],"remains":[1],"the":[2,27,45,106,136,164,183,205,208],"language":[3,144],"of":[4,48,110,173,194,207],"choice":[5],"for":[6],"hardware":[7,34,53,115],"programming":[8,59,143],"(device":[9],"drivers,":[10],"bus":[11],"configuration,":[12,157],"etc.):":[13],"it":[14,201,219],"is":[15,21,66,72,185],"fast,":[16],"allows":[17],"low-level":[18,95],"access,":[19],"and":[20,32,36,42,52,71,91,108,135,160,187,228],"trusted":[22],"by":[23],"OS":[24],"developers.":[25],"However,":[26],"algorithms":[28,175],"required":[29],"to":[30,55,101,119],"configure":[31,190],"reconfigure":[33],"devices":[35],"interconnects":[37],"are":[38],"becoming":[39],"more":[40,216],"complex":[41,69],"diverse,":[43],"with":[44,94,145,196],"added":[46],"burden":[47],"legacy":[49],"support,":[50],"\u201cquirks,\u201d":[51],"bugs":[54],"work":[56],"around.":[57],"Even":[58],"PCI":[60,156],"bridges":[61],"in":[62,89,133,140,163,176,211],"a":[63,67,111,141,149,170,191],"modern":[64],"PC":[65],"surprisingly":[68],"problem,":[70],"getting":[73],"worse":[74],"as":[75,79,224],"new":[76,112],"functionality":[77],"such":[78,223],"hotplug":[80],"appears.":[81],"Existing":[82],"approaches":[83],"use":[84],"relatively":[85],"simple":[86],"algorithms,":[87],"hard-coded":[88],"closely":[92],"coupled":[93],"register":[96],"access":[97],"code,":[98],"generally":[99],"leading":[100],"suboptimal":[102],"configurations.":[103],"We":[104,180],"investigate":[105],"merits":[107],"drawbacks":[109],"approach:":[113],"separating":[114],"configuration":[116,121],"logic":[117,178],"(algorithms":[118],"determine":[120],"parameter":[122],"values)":[123],"from":[124],"mechanism":[125],"(programming":[126],"device":[127],"registers).":[128],"The":[129],"latter":[130],"we":[131,138,152],"keep":[132],"C,":[134],"former":[137],"encode":[139],"declarative":[142],"constraint-satisfaction":[146],"extensions.":[147],"As":[148],"test":[150],"case,":[151],"have":[153],"implemented":[154],"full":[155],"resource":[158],"allocation,":[159],"interrupt":[161],"assignment":[162],"Barrelfish":[165],"research":[166],"operating":[167],"system,":[168],"using":[169],"concise":[171],"expression":[172],"efficient":[174],"constraint":[177],"programming.":[179],"show":[181],"that":[182],"approach":[184,210],"tractable,":[186],"can":[188],"successfully":[189],"wide":[192],"range":[193],"PCs":[195],"competitive":[197],"runtime":[198],"cost.":[199],"Moreover,":[200],"requires":[202],"about":[203],"half":[204],"code":[206],"C-based":[209],"Linux":[212],"while":[213],"offering":[214],"considerably":[215],"functionality.":[217],"Additionally":[218],"easily":[220],"accommodates":[221],"adaptations":[222],"hotplug,":[225],"fixed":[226],"regions,":[227],"\u201cquirks.\u201d":[229]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
