{"id":"https://openalex.org/W2108892994","doi":"https://doi.org/10.5075/epfl-thesis-4228","title":"Reflexes: programming abstractions for highly responsive computing in Java","display_name":"Reflexes: programming abstractions for highly responsive computing in Java","publication_year":2008,"publication_date":"2008-01-01","ids":{"openalex":"https://openalex.org/W2108892994","doi":"https://doi.org/10.5075/epfl-thesis-4228","mag":"2108892994"},"language":"en","primary_location":{"id":"pmh:oai:infoscience.tind.io:126356","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/27857","pdf_url":"https://infoscience.epfl.ch/record/126356/files/EPFL_TH4228.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"","raw_type":"doctoral thesis"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://infoscience.epfl.ch/record/126356/files/EPFL_TH4228.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5071639962","display_name":"Jesper Honig Spring","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Spring, Jesper Honig","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5071639962"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10933","display_name":"Real-Time Systems Scheduling","score":0.9998999834060669,"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9998999834060669,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9997000098228455,"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.9995999932289124,"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/garbage-collection","display_name":"Garbage collection","score":0.8513113856315613},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.840462327003479},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.7701325416564941},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.655078113079071},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.5945714712142944},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.5920144319534302},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.5688934922218323},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5139272212982178},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.43770214915275574},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.35191985964775085},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.34457117319107056},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.2793551981449127},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.25611019134521484}],"concepts":[{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.8513113856315613},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.840462327003479},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.7701325416564941},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.655078113079071},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.5945714712142944},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.5920144319534302},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.5688934922218323},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5139272212982178},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.43770214915275574},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.35191985964775085},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.34457117319107056},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.2793551981449127},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.25611019134521484},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0}],"mesh":[],"locations_count":6,"locations":[{"id":"pmh:oai:infoscience.tind.io:126356","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/27857","pdf_url":"https://infoscience.epfl.ch/record/126356/files/EPFL_TH4228.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"","raw_type":"doctoral thesis"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.164.5495","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.164.5495","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://biblion.epfl.ch/EPFL/theses/2008/4228/EPFL_TH4228.pdf","raw_type":"text"},{"id":"pmh:oai:doc.rero.ch:12130","is_oa":false,"landing_page_url":"http://library.epfl.ch/theses/?nr=4228","pdf_url":null,"source":{"id":"https://openalex.org/S4306400148","display_name":"reroDoc Digital Library","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I67311998","host_organization_name":"European Organization for Nuclear Research","host_organization_lineage":["https://openalex.org/I67311998"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""},{"id":"pmh:oai:infoscience.epfl.ch:126356","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/126356","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"","raw_type":"Text"},{"id":"doi:10.5075/epfl-thesis-4228","is_oa":true,"landing_page_url":"https://doi.org/10.5075/epfl-thesis-4228","pdf_url":null,"source":{"id":"https://openalex.org/S4306400488","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","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":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"thesis"},{"id":"mag:2108892994","is_oa":false,"landing_page_url":"https://infoscience.epfl.ch/record/126356","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"pmh:oai:infoscience.tind.io:126356","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/27857","pdf_url":"https://infoscience.epfl.ch/record/126356/files/EPFL_TH4228.pdf","source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"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":"","raw_type":"doctoral thesis"},"sustainable_development_goals":[{"display_name":"Reduced inequalities","score":0.7099999785423279,"id":"https://metadata.un.org/sdg/10"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":false},"content_urls":{"pdf":"https://content.openalex.org/works/W2108892994.pdf"},"referenced_works_count":58,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W89731140","https://openalex.org/W90261785","https://openalex.org/W168248273","https://openalex.org/W1482490768","https://openalex.org/W1503092499","https://openalex.org/W1519442771","https://openalex.org/W1568192366","https://openalex.org/W1576914640","https://openalex.org/W1601555688","https://openalex.org/W1644076323","https://openalex.org/W1649645444","https://openalex.org/W1663179985","https://openalex.org/W1774577175","https://openalex.org/W1817199704","https://openalex.org/W1937187201","https://openalex.org/W1968189280","https://openalex.org/W1977237328","https://openalex.org/W1983587324","https://openalex.org/W1986277018","https://openalex.org/W1989623126","https://openalex.org/W2021682354","https://openalex.org/W2021838450","https://openalex.org/W2051600169","https://openalex.org/W2065718314","https://openalex.org/W2068478460","https://openalex.org/W2068563976","https://openalex.org/W2072453486","https://openalex.org/W2072794470","https://openalex.org/W2073407646","https://openalex.org/W2081938726","https://openalex.org/W2094580572","https://openalex.org/W2096183937","https://openalex.org/W2111152250","https://openalex.org/W2115597529","https://openalex.org/W2116318340","https://openalex.org/W2118522165","https://openalex.org/W2123828773","https://openalex.org/W2128362607","https://openalex.org/W2134408405","https://openalex.org/W2134997781","https://openalex.org/W2136839747","https://openalex.org/W2148746214","https://openalex.org/W2149421660","https://openalex.org/W2153006094","https://openalex.org/W2155544344","https://openalex.org/W2156428492","https://openalex.org/W2156557363","https://openalex.org/W2159542925","https://openalex.org/W2161531345","https://openalex.org/W2161532009","https://openalex.org/W2166720067","https://openalex.org/W2167261525","https://openalex.org/W2170609026","https://openalex.org/W2184914255","https://openalex.org/W2611598995","https://openalex.org/W2987803397","https://openalex.org/W3023258080"],"related_works":["https://openalex.org/W1825737259","https://openalex.org/W2124585312","https://openalex.org/W2097849646","https://openalex.org/W2025446277","https://openalex.org/W2159153419","https://openalex.org/W150758477","https://openalex.org/W2063696858","https://openalex.org/W2247629431","https://openalex.org/W1975513208","https://openalex.org/W2182386540","https://openalex.org/W2186945461","https://openalex.org/W2000909537","https://openalex.org/W2298879845","https://openalex.org/W2112852516","https://openalex.org/W1507892365","https://openalex.org/W2032154834","https://openalex.org/W161671044","https://openalex.org/W2166526128","https://openalex.org/W2103103193","https://openalex.org/W3114438252"],"abstract_inverted_index":{"Achieving":[0],"sub-millisecond":[1,285,538],"response":[2,539],"times":[3],"in":[4,37,197,258,283,295,318,324,385,531],"a":[5,72,109,132,156,165,245,296,307,325,368,379,397,422,430,452,476,512,542],"managed":[6],"language":[7],"environment":[8],"such":[9],"as":[10,59,389],"Java":[11,20,39,290,411,432,463],"introduces":[12,76],"significant":[13],"implementation":[14,425,438,470,492],"challenges.":[15],"The":[16],"Achilles'":[17],"heel":[18],"of":[19,48,53,84,90,99,105,141,238,255,298,315,352,370,408,420,429,443,460,471,486,497,514,536,545],"is":[21,57,225,473],"its":[22],"reliance":[23],"on":[24,427,440,458,511],"automatic":[25],"memory":[26,299],"management":[27],"for":[28,63,115,360],"reclaiming":[29],"dead":[30],"objects.":[31],"Typically,":[32],"the":[33,46,51,66,87,91,103,142,173,188,192,236,253,284,409,468,487,490,494],"garbage":[34,67,74,167,184,193,199,232,302,317,398],"collectors":[35,185,233],"used":[36],"commercial":[38],"virtual":[40,434,465,477,488,500],"machines":[41],"are":[42,261,322,402,534],"designed":[43,262],"to":[44,60,102,123,138,163,171,205,218,263,267,363,413,475],"maximize":[45],"performance":[47],"applications":[49,215,257],"at":[50],"expense":[52],"predictability.":[54,546],"Moreover,":[55,230],"it":[56,265],"non-deterministic":[58],"when":[61,355,393],"and":[62,269,305,327,341,377,436,482,522],"how":[64],"long":[65],"collector":[68,168],"will":[69],"run.":[70],"As":[71],"consequence":[73],"collection":[75,200,303],"execution":[77,190],"interference":[78,100],"that":[79,529],"can":[80],"easily":[81],"reach":[82],"hundreds":[83],"milliseconds,":[85],"preventing":[86,374,378],"timeliness":[88],"requirements":[89,222],"real-time":[92,106,133,143,198,231,280,339,433,464],"systems":[93],"from":[94,301,381,517],"being":[95,394],"satisfied.":[96],"Another":[97],"source":[98],"relates":[101],"integration":[104,442],"tasks":[107,273,293,340],"with":[108,153,191,227,346,445,479,502,541],"time-oblivious":[110,289,342],"application.":[111],"Typical":[112],"programming":[113,174,250,358,449],"practices":[114,359],"sharing":[116],"data":[117,126],"between":[118,310,338],"threads":[119],"involve":[120],"synchronized":[121],"access":[122,362],"some":[124,210],"shared":[125,364],"structure":[127],"through":[128,329],"mutual":[129],"exclusion.":[130],"In":[131],"system":[134,157],"this":[135],"might":[136],"lead":[137],"unbounded":[139],"blocking":[140],"thread,":[144],"so-called":[145],"priority":[146,239,353],"inversion,":[147],"causing":[148],"serious":[149],"deadlines":[150],"infringements.":[151],"Faced":[152],"these":[154],"challenges":[155],"designer":[158],"typically":[159],"has":[160],"two":[161,418,446],"options:":[162],"deploy":[164],"realtime":[166],"(RTGC),":[169],"or":[170,274],"restrict":[172],"model.":[175],"RTGCs":[176],"achieve":[177],"much":[178],"improved":[179],"predictability":[180],"over":[181],"traditional":[182],"stop-the-world":[183],"by":[186,396,405],"interleaving":[187],"application":[189],"collection.":[194],"Recent":[195],"advances":[196],"algorithms":[201],"have":[202,220],"reduced":[203],"latency":[204],"approximately":[206],"1":[207],"millisecond.":[208],"Nevertheless,":[209],"applications,":[211],"e.g.,":[212,392],"safety":[213,372],"critical":[214],"certified":[216],"according":[217],"DO-178B,":[219],"temporal":[221],"beyond":[223],"what":[224],"possible":[226],"state-of-the-art":[228],"RTGCs.":[229],"still":[234],"face":[235],"problem":[237],"inversion.":[240],"This":[241],"thesis":[242],"presents":[243],"Reflexes,":[244],"simple,":[246],"statically":[247,404],"type-safe":[248],"restricted":[249,448],"model":[251],"facilitating":[252],"construction":[254],"highly-responsive":[256],"Java.":[259],"Reflexes":[260,334,366,444,472,530],"make":[264],"easy":[266],"write":[268],"integrate":[270],"simple":[271],"periodic":[272,316],"complex":[275],"stream":[276],"processors,":[277],"both":[278,506,532],"observing":[279,382],"timing":[281],"constraints":[282],"range,":[286],"into":[287,451],"larger":[288],"applications.":[291,524],"Reflex":[292,380],"run":[294],"part":[297],"free":[300],"interference,":[304],"maintain":[306],"class-based":[308],"separation":[309],"object":[311],"lifetimes,":[312],"enabling":[313],"reclamation":[314],"constant":[319],"time.":[320],"Tasks":[321],"organized":[323],"graph":[326],"communicate":[328],"uni-directional,":[330],"non-blocking":[331,336],"channels.":[332],"Furthermore,":[333],"enable":[335],"interaction":[337],"code":[343],"using":[344,356,520],"methods":[345],"transactional":[347],"semantics,":[348],"circumventing":[349],"typical":[350],"problems":[351],"inversion":[354],"common":[357],"synchronizing":[361],"data.":[365],"specify":[367],"set":[369],"static":[371],"checks":[373,401],"dangling":[375],"pointers":[376],"heap-allocated":[383],"objects":[384],"an":[386,406,437,441,461,498],"inconsistent":[387],"state":[388],"they":[390],"are,":[391],"copied":[395],"collector.":[399],"These":[400],"enforced":[403],"extension":[407],"standard":[410],"compiler":[412],"guarantee":[414],"correctness.":[415],"We":[416],"describe":[417],"implementations":[419,507],"Reflexes:":[421],"stand-alone":[423],"prototype":[424,469],"built":[426],"top":[428,459],"research":[431],"machine,":[435,489],"based":[439],"existing":[447],"models":[450],"single":[453],"unified":[454],"framework,":[455],"Flexotask,":[456],"running":[457],"industrial-strength":[462,499],"machine.":[466],"Whereas":[467],"limited":[474],"machine":[478,501],"uni-processor":[480],"support":[481,496],"exploits":[483],"non-standard":[484],"features":[485],"latter":[491],"leverages":[493],"multi-processor":[495],"minimal":[503],"extensions.":[504],"For":[505],"we":[508],"report":[509],"separately":[510],"number":[513],"encouraging":[515],"results":[516],"empirical":[518],"experiments":[519,527],"benchmark":[521],"real-world":[523],"Specifically,":[525],"our":[526],"show":[528],"cases":[533],"capable":[535],"achieving":[537],"time":[540],"high":[543],"degree":[544]},"counts_by_year":[{"year":2013,"cited_by_count":1}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
