{"id":"https://openalex.org/W2119772607","doi":"https://doi.org/10.1145/2048066.2048100","title":"Reactive imperative programming with dataflow constraints","display_name":"Reactive imperative programming with dataflow constraints","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2119772607","doi":"https://doi.org/10.1145/2048066.2048100","mag":"2119772607"},"language":"en","primary_location":{"id":"doi:10.1145/2048066.2048100","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048100","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},"type":"conference-paper","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/A5066534034","display_name":"Camil Demetrescu","orcid":"https://orcid.org/0000-0002-4686-6745"},"institutions":[{"id":"https://openalex.org/I861853513","display_name":"Sapienza University of Rome","ror":"https://ror.org/02be6w209","country_code":"IT","type":"education","lineage":["https://openalex.org/I861853513"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Camil Demetrescu","raw_affiliation_strings":["Sapienza University of Rome, Rome, Italy","Sapienza university of Rome, Rome, Italy#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sapienza University of Rome, Rome, Italy","institution_ids":["https://openalex.org/I861853513"]},{"raw_affiliation_string":"Sapienza university of Rome, Rome, Italy#TAB#","institution_ids":["https://openalex.org/I861853513"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044822150","display_name":"Irene Finocchi","orcid":"https://orcid.org/0000-0002-6394-6798"},"institutions":[{"id":"https://openalex.org/I861853513","display_name":"Sapienza University of Rome","ror":"https://ror.org/02be6w209","country_code":"IT","type":"education","lineage":["https://openalex.org/I861853513"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Irene Finocchi","raw_affiliation_strings":["Sapienza University of Rome, Rome, Italy","Sapienza university of Rome, Rome, Italy#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sapienza University of Rome, Rome, Italy","institution_ids":["https://openalex.org/I861853513"]},{"raw_affiliation_string":"Sapienza university of Rome, Rome, Italy#TAB#","institution_ids":["https://openalex.org/I861853513"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055684160","display_name":"Andrea Ribichini","orcid":"https://orcid.org/0000-0002-0281-4257"},"institutions":[{"id":"https://openalex.org/I861853513","display_name":"Sapienza University of Rome","ror":"https://ror.org/02be6w209","country_code":"IT","type":"education","lineage":["https://openalex.org/I861853513"]}],"countries":["IT"],"is_corresponding":false,"raw_author_name":"Andrea Ribichini","raw_affiliation_strings":["Sapienza University of Rome, Rome, Italy","Sapienza university of Rome, Rome, Italy#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Sapienza University of Rome, Rome, Italy","institution_ids":["https://openalex.org/I861853513"]},{"raw_affiliation_string":"Sapienza university of Rome, Rome, Italy#TAB#","institution_ids":["https://openalex.org/I861853513"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I861853513"],"apc_list":null,"apc_paid":null,"fwci":4.2888,"has_fulltext":false,"cited_by_count":28,"citation_normalized_percentile":{"value":0.95644329,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"407","last_page":"426"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.9986000061035156,"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/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.9986000061035156,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9973999857902527,"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/T10126","display_name":"Logic, programming, and type systems","score":0.996999979019165,"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/dataflow","display_name":"Dataflow","score":0.9479252099990845},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.88018798828125},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7186362147331238},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5449111461639404},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.44920623302459717},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4352520704269409},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4141230285167694},{"id":"https://openalex.org/keywords/host","display_name":"Host (biology)","score":0.41394510865211487},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.41086894273757935},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3911404013633728}],"concepts":[{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.9479252099990845},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.88018798828125},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7186362147331238},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5449111461639404},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.44920623302459717},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4352520704269409},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4141230285167694},{"id":"https://openalex.org/C126831891","wikidata":"https://www.wikidata.org/wiki/Q221673","display_name":"Host (biology)","level":2,"score":0.41394510865211487},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.41086894273757935},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3911404013633728},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2048066.2048100","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048100","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications","raw_type":"proceedings-article"},{"id":"pmh:oai:iris.luiss.it:11385/192675","is_oa":false,"landing_page_url":"http://dl.acm.org/citation.cfm?doid=2048066.2048100","pdf_url":null,"source":{"id":"https://openalex.org/S4377196446","display_name":"IRIS - Institutional Research Information System (Libera Universit\u00e0 Internazionale degli Studi Sociali Guido Carli)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I56441308","host_organization_name":"Libera Universit\u00e0 Internazionale degli Studi Sociali Guido Carli","host_organization_lineage":["https://openalex.org/I56441308"],"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":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:iris.uniroma1.it:11573/380898","is_oa":false,"landing_page_url":"http://hdl.handle.net/11573/380898","pdf_url":null,"source":{"id":"https://openalex.org/S4377196107","display_name":"IRIS Research product catalog (Sapienza University of Rome)","issn_l":null,"issn":null,"is_oa":false,"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":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.6499999761581421}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":57,"referenced_works":["https://openalex.org/W47957325","https://openalex.org/W80602063","https://openalex.org/W95578667","https://openalex.org/W127812855","https://openalex.org/W432778792","https://openalex.org/W564800084","https://openalex.org/W625323242","https://openalex.org/W1491796397","https://openalex.org/W1578535952","https://openalex.org/W1586826229","https://openalex.org/W1597838511","https://openalex.org/W1663179985","https://openalex.org/W1733489975","https://openalex.org/W1964071625","https://openalex.org/W1983093418","https://openalex.org/W1990597096","https://openalex.org/W1995969393","https://openalex.org/W2007126868","https://openalex.org/W2028423097","https://openalex.org/W2029706450","https://openalex.org/W2041225901","https://openalex.org/W2043100293","https://openalex.org/W2045102550","https://openalex.org/W2049440551","https://openalex.org/W2062950667","https://openalex.org/W2069718764","https://openalex.org/W2075185101","https://openalex.org/W2078000396","https://openalex.org/W2078404830","https://openalex.org/W2079512738","https://openalex.org/W2089589666","https://openalex.org/W2096607457","https://openalex.org/W2098010463","https://openalex.org/W2102400845","https://openalex.org/W2103847662","https://openalex.org/W2129687053","https://openalex.org/W2135784828","https://openalex.org/W2148740615","https://openalex.org/W2158148130","https://openalex.org/W2163164396","https://openalex.org/W2171267342","https://openalex.org/W2171901695","https://openalex.org/W2172288767","https://openalex.org/W2209786445","https://openalex.org/W2227557434","https://openalex.org/W2609578772","https://openalex.org/W4205541974","https://openalex.org/W4231799929","https://openalex.org/W4235858940","https://openalex.org/W4253360640","https://openalex.org/W6603234880","https://openalex.org/W6605157893","https://openalex.org/W6615134493","https://openalex.org/W6619898091","https://openalex.org/W6629346843","https://openalex.org/W6640836790","https://openalex.org/W6820896262"],"related_works":["https://openalex.org/W640253221","https://openalex.org/W2097802575","https://openalex.org/W4205791794","https://openalex.org/W4213129642","https://openalex.org/W1688372159","https://openalex.org/W2523205872","https://openalex.org/W1552423701","https://openalex.org/W1527192480","https://openalex.org/W4380790113","https://openalex.org/W1480125535"],"abstract_inverted_index":{"Dataflow":[0],"languages":[1],"provide":[2,193],"natural":[3],"support":[4],"for":[5,56,187],"specifying":[6],"constraints":[7,34,101,138],"between":[8,102],"objects":[9,103,117],"in":[10,105,124,213,275],"dynamic":[11],"applications,":[12],"where":[13,156],"programs":[14],"need":[15],"to":[16,19,29,61,209,227,247,257],"react":[17],"efficiently":[18,212],"changes":[20],"of":[21,32,51,94,120,159,166,180,183,202,242],"their":[22,144],"environment.":[23],"Researchers":[24],"have":[25],"long":[26],"investigated":[27],"how":[28,208],"take":[30],"advantage":[31],"dataflow":[33,63],"by":[35,176],"embedding":[36],"them":[37],"into":[38,205],"procedural":[39],"languages.":[40],"Previous":[41],"mixed":[42],"imperative/dataflow":[43],"systems,":[44],"however,":[45],"require":[46],"syntactic":[47],"extensions":[48],"or":[49],"libraries":[50],"ad":[52,248],"hoc":[53,249],"data":[54,130,237],"types":[55],"binding":[57],"the":[58,62,76,84,95,125,157,164,178,184,270],"imperative":[59,96],"program":[60,151],"solver.":[64],"In":[65,86],"this":[66],"paper":[67],"we":[68],"propose":[69],"a":[70,150,154,194,199],"novel":[71],"approach":[72,272],"that":[73,99,269],"smoothly":[74],"combines":[75],"two":[77],"paradigms":[78],"without":[79],"placing":[80],"undue":[81],"burden":[82],"on":[83],"programmer.":[85],"our":[87,203,243],"framework,":[88],"programmers":[89],"can":[90,118],"define":[91],"ordinary":[92],"statements":[93],"host":[97,126,185],"language":[98,186],"enforce":[100],"stored":[104],"special":[106],"memory":[107,146],"locations":[108,147],"designated":[109],"as":[110,254,256,261],"\"reactive\".":[111],"Differently":[112],"from":[113],"previous":[114],"approaches,":[115],"reactive":[116,228],"be":[119],"any":[121],"legal":[122],"type":[123],"language,":[127],"including":[128,230],"primitive":[129],"types,":[131],"pointers,":[132],"arrays,":[133],"and":[134,189,197,224,236,264],"structures.":[135],"Statements":[136],"defining":[137],"are":[139],"automatically":[140],"re-executed":[141],"every":[142],"time":[143],"input":[145],"change,":[148],"letting":[149],"behave":[152],"like":[153],"spreadsheet":[155],"values":[158,165],"some":[160],"variables":[161],"depend":[162],"upon":[163],"other":[167],"variables.":[168],"The":[169,240],"constraint":[170],"solving":[171],"mechanism":[172],"is":[173,245,273],"handled":[174],"transparently":[175],"altering":[177],"semantics":[179,196],"elementary":[181],"operations":[182],"reading":[188],"modifying":[190],"objects.":[191],"We":[192,219],"formal":[195],"describe":[198],"concrete":[200],"embodiment":[201],"technique":[204],"C/C++,":[206],"showing":[207,268],"implement":[210],"it":[211],"conventional":[214],"platforms":[215],"using":[216],"off-the-shelf":[217],"compilers.":[218],"discuss":[220],"common":[221],"coding":[222],"idioms":[223],"relevant":[225],"applications":[226],"scenarios,":[229],"incremental":[231],"computation,":[232],"observer":[233],"design":[234],"pattern,":[235],"structure":[238],"repair.":[239],"performance":[241],"implementation":[244],"compared":[246],"problem-specific":[250],"change":[251],"propagation":[252],"algorithms,":[253],"well":[255],"language-centric":[258],"approaches":[259],"such":[260],"self-adjusting":[262],"computation":[263],"subject/observer":[265],"communication":[266],"mechanisms,":[267],"proposed":[271],"efficient":[274],"practice.":[276]},"counts_by_year":[{"year":2024,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1},{"year":2014,"cited_by_count":10},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
