{"id":"https://openalex.org/W2128324598","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/12","title":"Active Expressions: Basic Building Blocks for Reactive Programming","display_name":"Active Expressions: Basic Building Blocks for Reactive Programming","publication_year":2017,"publication_date":"2017-04-01","ids":{"openalex":"https://openalex.org/W2128324598","doi":"https://doi.org/10.22152/programming-journal.org/2017/1/12","mag":"2128324598"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2017/1/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/12","pdf_url":"https://arxiv.org/pdf/1703.10859v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/1703.10859v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5000043468","display_name":"Stefan Ramson","orcid":"https://orcid.org/0000-0002-0913-1264"},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Stefan Ramson","raw_affiliation_strings":["Hasso Plattner Institute, Germany","[Hasso Plattner Institute, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]},{"raw_affiliation_string":"[Hasso Plattner Institute, Germany]","institution_ids":["https://openalex.org/I143288331"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5079160871","display_name":"Robert Hirschfeld","orcid":"https://orcid.org/0000-0002-4249-6003"},"institutions":[{"id":"https://openalex.org/I143288331","display_name":"Hasso Plattner Institute","ror":"https://ror.org/058rn5r42","country_code":"DE","type":"facility","lineage":["https://openalex.org/I143288331","https://openalex.org/I176453806"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Robert Hirschfeld","raw_affiliation_strings":["Hasso Plattner Institute, Germany","[Hasso Plattner Institute, Germany]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Hasso Plattner Institute, Germany","institution_ids":["https://openalex.org/I143288331"]},{"raw_affiliation_string":"[Hasso Plattner Institute, Germany]","institution_ids":["https://openalex.org/I143288331"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I143288331"],"apc_list":null,"apc_paid":null,"fwci":1.9911,"has_fulltext":true,"cited_by_count":11,"citation_normalized_percentile":{"value":0.89218358,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":98},"biblio":{"volume":"1","issue":"2","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9998999834060669,"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/T10260","display_name":"Software Engineering Research","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9980999827384949,"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.7778830528259277},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4899803698062897},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.4827136695384979},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.46874430775642395},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.44560280442237854},{"id":"https://openalex.org/keywords/ac-power","display_name":"AC power","score":0.44306546449661255},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.32793980836868286},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.3257787823677063},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.19338977336883545},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.08524203300476074}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7778830528259277},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4899803698062897},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.4827136695384979},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.46874430775642395},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.44560280442237854},{"id":"https://openalex.org/C108755667","wikidata":"https://www.wikidata.org/wiki/Q1930258","display_name":"AC power","level":3,"score":0.44306546449661255},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.32793980836868286},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3257787823677063},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.19338977336883545},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.08524203300476074},{"id":"https://openalex.org/C165801399","wikidata":"https://www.wikidata.org/wiki/Q25428","display_name":"Voltage","level":2,"score":0.0},{"id":"https://openalex.org/C119599485","wikidata":"https://www.wikidata.org/wiki/Q43035","display_name":"Electrical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2017/1/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/12","pdf_url":"https://arxiv.org/pdf/1703.10859v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1703.10859","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1703.10859","pdf_url":"https://arxiv.org/pdf/1703.10859","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"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2017/1/12","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2017/1/12","pdf_url":"https://arxiv.org/pdf/1703.10859v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2128324598.pdf","grobid_xml":"https://content.openalex.org/works/W2128324598.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W131463356","https://openalex.org/W1581096042","https://openalex.org/W1649645444","https://openalex.org/W1978875190","https://openalex.org/W1983205028","https://openalex.org/W1998445782","https://openalex.org/W2002887992","https://openalex.org/W2004791319","https://openalex.org/W2019153550","https://openalex.org/W2045191279","https://openalex.org/W2073536284","https://openalex.org/W2079512738","https://openalex.org/W2081449537","https://openalex.org/W2087175184","https://openalex.org/W2088675571","https://openalex.org/W2090040302","https://openalex.org/W2107596222","https://openalex.org/W2143238865","https://openalex.org/W2144114063","https://openalex.org/W2150275961","https://openalex.org/W2156011560","https://openalex.org/W2165605851","https://openalex.org/W2171267342","https://openalex.org/W2313930557","https://openalex.org/W2329935200","https://openalex.org/W2348402940","https://openalex.org/W2403131032","https://openalex.org/W2555448203"],"related_works":["https://openalex.org/W1571189856","https://openalex.org/W2022585506","https://openalex.org/W1177194838","https://openalex.org/W1567814706","https://openalex.org/W4251098644","https://openalex.org/W3110364983","https://openalex.org/W1990570374","https://openalex.org/W2162076253","https://openalex.org/W2153841912","https://openalex.org/W2504620268"],"abstract_inverted_index":{"Modern":[0],"software":[1,17],"development":[2],"without":[3],"reactive":[4,29,40,55,101,107,110,113,163,179,203,217,250],"programming":[5,10,30,164,204,251],"is":[6,31,89],"hard":[7,49],"to":[8,21,69,80,236,238,245,256,263],"imagine.Reactive":[9],"favors":[11],"a":[12,48,75,93,104,116,145,174,210,258],"wide":[13],"class":[14,105],"of":[15,35,39,106,128,133,153,162,169,176,188,195,216,229,261],"contemporary":[16],"systems":[18],"that":[19,255],"respond":[20],"user":[22],"input,":[23],"network":[24],"messages,":[25],"and":[26,220,253],"other":[27],"events.While":[28],"an":[32,129],"active":[33,142,156,170,189,207,243],"field":[34],"research,":[36],"the":[37,70,125,131,134,149,160,167,186,193,227],"implementation":[38,151,161],"concepts":[41,114,180,252],"remains":[42],"challenging.In":[43],"particular,":[44],"change":[45,57,72,87,118,137,154,213],"detection":[46,58,88,119,138],"represents":[47],"but":[50,65],"inevitable":[51],"necessity":[52],"when":[53,200],"implementing":[54],"concepts.Typically,":[56],"mechanisms":[59],"are":[60,66],"not":[61],"intended":[62],"for":[63,86,212],"reuse":[64],"tightly":[67],"coupled":[68],"particular":[71],"resolution":[73],"mechanism.As":[74],"result,":[76],"developers":[77,215],"often":[78],"have":[79],"re-implement":[81],"similar":[82],"abstractions.A":[83],"reusable":[84,146],"primitive":[85,211],"still":[90],"missing.To":[91],"find":[92],"suitable":[94],"primitive,":[95],"we":[96,140,240],"identify":[97],"commonalities":[98],"in":[99,124],"existing":[100,177],"concepts.We":[102,165],"discover":[103],"concepts,":[108],"state-based":[109,112,178],"concepts.All":[111],"share":[115],"common":[117,136],"mechanism:":[120],"they":[121],"detect":[122],"changes":[123],"evaluation":[126],"result":[127],"expression.On":[130],"basis":[132],"identified":[135],"mechanism,":[139],"propose":[141],"expressions":[143,157,171,191,208,244],"as":[144,209],"primitive.By":[147],"abstracting":[148],"tedious":[150],"details":[152],"detection,":[155,214],"can":[158,223],"ease":[159],"evaluate":[166],"design":[168,228],"by":[172],"re-implementing":[173],"number":[175],"using":[181,206],"them.The":[182],"resulting":[183],"implementations":[184],"highlight":[185],"expressiveness":[187],"expressions.Active":[190],"enable":[192],"separation":[194],"essential":[196],"from":[197],"non-essential":[198],"parts":[199],"reasoning":[201],"about":[202],"concepts.By":[205],"language":[218],"constructs":[219],"runtime":[221],"support":[222],"now":[224],"focus":[225],"on":[226],"how":[230],"application":[231],"programmers":[232],"should":[233],"be":[234],"able":[235],"react":[237],"change.Ultimately,":[239],"would":[241],"like":[242],"encourage":[246],"experiments":[247],"with":[248,254],"novel":[249],"yield":[257],"wider":[259],"variety":[260],"them":[262],"explore.":[264]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1}],"updated_date":"2026-08-26T07:47:46.906454","created_date":"2025-10-10T00:00:00"}
