{"id":"https://openalex.org/W2795128967","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/5","title":"Harmonizing Signals and Events with a Lightweight Extension to Java","display_name":"Harmonizing Signals and Events with a Lightweight Extension to Java","publication_year":2018,"publication_date":"2018-03-28","ids":{"openalex":"https://openalex.org/W2795128967","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/5","mag":"2795128967"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2018/2/5","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/5","pdf_url":null,"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":"green","oa_url":"https://arxiv.org/pdf/1803.10199","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082030898","display_name":"Tetsuo Kamina","orcid":"https://orcid.org/0000-0003-0288-1908"},"institutions":[{"id":"https://openalex.org/I135768898","display_name":"Ritsumeikan University","ror":"https://ror.org/0197nmd03","country_code":"JP","type":"education","lineage":["https://openalex.org/I135768898","https://openalex.org/I4390039241"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tetsuo Kamina","raw_affiliation_strings":["Ritsumeikan University, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Ritsumeikan University, Japan","institution_ids":["https://openalex.org/I135768898"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5070909210","display_name":"Tomoyuki Aotani","orcid":"https://orcid.org/0000-0003-4538-0230"},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tomoyuki Aotani","raw_affiliation_strings":["The University of Tokyo, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.6794,"has_fulltext":false,"cited_by_count":15,"citation_normalized_percentile":{"value":0.87646106,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"2","issue":"3","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9994999766349792,"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/T10142","display_name":"Formal Methods in Verification","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.8456897139549255},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.716677188873291},{"id":"https://openalex.org/keywords/dataflow","display_name":"Dataflow","score":0.7106620073318481},{"id":"https://openalex.org/keywords/event","display_name":"Event (particle physics)","score":0.6262353658676147},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.5734204053878784},{"id":"https://openalex.org/keywords/functional-reactive-programming","display_name":"Functional reactive programming","score":0.5581811666488647},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5286909937858582},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5055334568023682},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.4711918830871582},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.44109809398651123},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4375038146972656},{"id":"https://openalex.org/keywords/signal","display_name":"SIGNAL (programming language)","score":0.4364449381828308},{"id":"https://openalex.org/keywords/reactive-programming","display_name":"Reactive programming","score":0.4318937361240387},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.35884353518486023},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.1064901351928711},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09763714671134949}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8456897139549255},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.716677188873291},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.7106620073318481},{"id":"https://openalex.org/C2779662365","wikidata":"https://www.wikidata.org/wiki/Q5416694","display_name":"Event (particle physics)","level":2,"score":0.6262353658676147},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.5734204053878784},{"id":"https://openalex.org/C119489759","wikidata":"https://www.wikidata.org/wiki/Q5508843","display_name":"Functional reactive programming","level":5,"score":0.5581811666488647},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5286909937858582},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5055334568023682},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4711918830871582},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.44109809398651123},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4375038146972656},{"id":"https://openalex.org/C2779843651","wikidata":"https://www.wikidata.org/wiki/Q7390335","display_name":"SIGNAL (programming language)","level":2,"score":0.4364449381828308},{"id":"https://openalex.org/C150762246","wikidata":"https://www.wikidata.org/wiki/Q4354073","display_name":"Reactive programming","level":4,"score":0.4318937361240387},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.35884353518486023},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.1064901351928711},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09763714671134949},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2018/2/5","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/5","pdf_url":null,"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:1803.10199","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1803.10199","pdf_url":"https://arxiv.org/pdf/1803.10199","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"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":"pmh:oai:arXiv.org:1803.10199","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1803.10199","pdf_url":"https://arxiv.org/pdf/1803.10199","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"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":[{"display_name":"Life below water","id":"https://metadata.un.org/sdg/14","score":0.6000000238418579}],"awards":[{"id":"https://openalex.org/G4668902802","display_name":"\u6587\u8108\u306e\u5909\u5316\u306b\u5fdc\u3058\u3066\u96e2\u6563\u7684\u306b\u632f\u821e\u3044\u3092\u5909\u3048\u308b\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u306e\u305f\u3081\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e","funder_award_id":"16K16033","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G5014063171","display_name":"Development of programming languages and practices for software that intensively interacts with its surrounding environment","funder_award_id":"17K00115","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W106138687","https://openalex.org/W206636664","https://openalex.org/W1491796397","https://openalex.org/W1539693001","https://openalex.org/W1581096042","https://openalex.org/W1597838511","https://openalex.org/W1919109517","https://openalex.org/W1971597822","https://openalex.org/W1975124265","https://openalex.org/W1983093418","https://openalex.org/W1986923831","https://openalex.org/W2002887992","https://openalex.org/W2011055092","https://openalex.org/W2033348393","https://openalex.org/W2041337116","https://openalex.org/W2049440551","https://openalex.org/W2070821087","https://openalex.org/W2079512738","https://openalex.org/W2081938726","https://openalex.org/W2095343326","https://openalex.org/W2104995989","https://openalex.org/W2106656979","https://openalex.org/W2125415493","https://openalex.org/W2135523252","https://openalex.org/W2139695229","https://openalex.org/W2149092902","https://openalex.org/W2158789193","https://openalex.org/W2168485266","https://openalex.org/W2171267342","https://openalex.org/W2329935200","https://openalex.org/W2403131032","https://openalex.org/W2580093666","https://openalex.org/W3103594074"],"related_works":["https://openalex.org/W76619263","https://openalex.org/W4296878212","https://openalex.org/W1988194486","https://openalex.org/W3004782279","https://openalex.org/W2286281461","https://openalex.org/W4234789292","https://openalex.org/W54468917","https://openalex.org/W2060445097","https://openalex.org/W2049440551","https://openalex.org/W1585224757"],"abstract_inverted_index":{"The":[0,279],"current":[1],"demands":[2,17],"for":[3,66,107,216],"seamless":[4],"connections":[5],"with":[6,153,179,243],"the":[7,24,52,74,81,109,141,148,221,229,255,263,270,299],"surrounding":[8],"environment":[9],"make":[10],"software":[11],"more":[12],"reactive.":[13],"For":[14,114,253],"example,":[15,115,254],"such":[16,55,68,96,201],"are":[18,37,57,89,186,295],"evident":[19],"in":[20,40,51,77,83,93,140,156,250],"systems":[21,29],"consisting":[22],"of":[23,26,33,111,123,144,177,196,211,225,232,237,258,266,273,290,301],"Internet":[25],"Things.":[27],"Such":[28],"include":[30],"a":[31,49,118,157,174,197],"set":[32],"reactive":[34,61,69,112,145],"values":[35,70],"that":[36,54,121,161],"periodically":[38],"updated":[39],"response":[41],"to":[42,47,59,127,218,297],"external":[43],"or":[44],"internal":[45],"events":[46,126,180,238],"form":[48],"dataflow":[50],"sense":[53],"updates":[56],"propagated":[58],"other":[60],"values.":[62],"Two":[63],"effective":[64],"approaches":[65,88],"realizing":[67],"have":[71],"been":[72],"proposed:":[73],"event":[75,149,189],"mechanisms":[76,236],"event-based":[78],"programming":[79,146,159],"and":[80,99,129,181,199,214,239,293],"signals":[82,128,217,240,259],"functional-reactive":[84],"programming.":[85],"These":[86],"two":[87],"now":[90],"becoming":[91],"mixed":[92],"several":[94],"languages":[95,104],"as":[97,193,287],"Flapjax":[98],"REScala,":[100],"which":[101],"makes":[102],"these":[103],"notably":[105],"expressive":[106],"modularizing":[108],"implementation":[110],"software.":[113],"REScala":[116],"provides":[117],"rich":[119],"API":[120],"consists":[122],"functions":[124],"converting":[125],"vice":[130],"versa.":[131],"In":[132],"this":[133,169,226,246,274],"paper,":[134],"we":[135,171],"explore":[136],"another,":[137],"simpler":[138],"approach":[139],"design":[142],"space":[143],"languages:":[147],"mechanism":[150],"is":[151,162,228,260,276],"harmonized":[152],"signals,":[154],"resulting":[155],"simplified":[158],"interface":[160],"mostly":[163],"based":[164],"on":[165,168],"signals.":[166,182],"Based":[167],"approach,":[170],"realize":[172],"SignalJ,":[173],"simple":[175],"extension":[176,289],"Java":[178],"Our":[183],"notable":[184],"findings":[185],"(1)":[187],"an":[188,194,202,288],"can":[190,205],"be":[191,206],"represented":[192,207],"update":[195],"signal":[198,204],"(2)":[200],"effectful":[203],"using":[208],"annotations":[209],"instead":[210],"introducing":[212],"types":[213],"constructors":[215],"further":[219],"simplify":[220],"language.":[222],"Another":[223],"contribution":[224],"paper":[227],"formal":[230,271],"model":[231,272],"SignalJ.":[233],"As":[234],"both":[235],"may":[241],"interfere":[242],"each":[244],"other,":[245],"mixing":[247,275],"sometimes":[248],"results":[249],"surprising":[251],"behavior.":[252],"functional":[256],"behavior":[257],"affected":[261],"by":[262],"imperative":[264],"features":[265],"events.":[267],"Thus,":[268],"understanding":[269],"actually":[277],"important.":[278],"core":[280],"calculus,":[281],"Featherweight":[282,291],"SignalJ":[283],"(FSJ),":[284],"was":[285],"developed":[286],"Java,":[292],"proofs":[294],"provided":[296],"ensure":[298],"soundness":[300],"FSJ.":[302]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":4}],"updated_date":"2026-07-18T07:39:51.176621","created_date":"2025-10-10T00:00:00"}
