{"id":"https://openalex.org/W2320704371","doi":"https://doi.org/10.1145/2892664.2892694","title":"Static meta-object protocols: towards efficient reflective object-oriented languages","display_name":"Static meta-object protocols: towards efficient reflective object-oriented languages","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2320704371","doi":"https://doi.org/10.1145/2892664.2892694","mag":"2320704371"},"language":"en","primary_location":{"id":"doi:10.1145/2892664.2892694","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion Proceedings of the 15th International Conference on Modularity","raw_type":"proceedings-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/A5041529659","display_name":"Tony Clark","orcid":"https://orcid.org/0000-0003-3167-0739"},"institutions":[{"id":"https://openalex.org/I71422933","display_name":"Sheffield Hallam University","ror":"https://ror.org/019wt1929","country_code":"GB","type":"education","lineage":["https://openalex.org/I71422933"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Tony Clark","raw_affiliation_strings":["Sheffield Hallam University, UK"],"affiliations":[{"raw_affiliation_string":"Sheffield Hallam University, UK","institution_ids":["https://openalex.org/I71422933"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5041529659"],"corresponding_institution_ids":["https://openalex.org/I71422933"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.01246433,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"160","last_page":"167"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9995999932289124,"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.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9993000030517578,"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/T10933","display_name":"Real-Time Systems Scheduling","score":0.9984999895095825,"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/computer-science","display_name":"Computer science","score":0.8752036094665527},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.81308513879776},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.6478140950202942},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.6399775743484497},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6380588412284851},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.6186360120773315},{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.6175554394721985},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5942325592041016},{"id":"https://openalex.org/keywords/reflection","display_name":"Reflection (computer programming)","score":0.5647233128547668},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5286657810211182},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.5165525674819946},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.5042446851730347},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.4499533772468567},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.4219720959663391},{"id":"https://openalex.org/keywords/intermediate-language","display_name":"Intermediate language","score":0.4212067723274231},{"id":"https://openalex.org/keywords/method","display_name":"Method","score":0.4162081778049469},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12305855751037598}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8752036094665527},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.81308513879776},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.6478140950202942},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.6399775743484497},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6380588412284851},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.6186360120773315},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.6175554394721985},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5942325592041016},{"id":"https://openalex.org/C65682993","wikidata":"https://www.wikidata.org/wiki/Q1056451","display_name":"Reflection (computer programming)","level":2,"score":0.5647233128547668},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5286657810211182},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.5165525674819946},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.5042446851730347},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4499533772468567},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.4219720959663391},{"id":"https://openalex.org/C77660490","wikidata":"https://www.wikidata.org/wiki/Q244916","display_name":"Intermediate language","level":3,"score":0.4212067723274231},{"id":"https://openalex.org/C512554520","wikidata":"https://www.wikidata.org/wiki/Q815844","display_name":"Method","level":3,"score":0.4162081778049469},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12305855751037598},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2892664.2892694","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892664.2892694","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Companion Proceedings of the 15th International Conference on Modularity","raw_type":"proceedings-article"},{"id":"pmh:oai:shura.shu.ac.uk:13365","is_oa":false,"landing_page_url":"http://orcid.org/0000-0003-3167-0739>","pdf_url":null,"source":{"id":"https://openalex.org/S4306401600","display_name":"SHURA (Sheffield Hallam University Research Archive) (Sheffield Hallam University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I71422933","host_organization_name":"Sheffield Hallam University","host_organization_lineage":["https://openalex.org/I71422933"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":null,"raw_type":"PeerReviewed"},{"id":"pmh:oai:publications.aston.ac.uk:33593","is_oa":false,"landing_page_url":"http://publications.aston.ac.uk/id/eprint/33593/","pdf_url":null,"source":{"id":"https://openalex.org/S4306400483","display_name":"Aston Publications Explorer (Aston University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I169199633","host_organization_name":"Aston University","host_organization_lineage":["https://openalex.org/I169199633"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Conference or Workshop Item"},{"id":"pmh:oai:shura.shu.ac.uk:13212","is_oa":false,"landing_page_url":"http://shura.shu.ac.uk/13212/","pdf_url":null,"source":{"id":"https://openalex.org/S4306401600","display_name":"SHURA (Sheffield Hallam University Research Archive) (Sheffield Hallam University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I71422933","host_organization_name":"Sheffield Hallam University","host_organization_lineage":["https://openalex.org/I71422933"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Book Section"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W65435159","https://openalex.org/W68605010","https://openalex.org/W562901101","https://openalex.org/W1521311146","https://openalex.org/W1527793496","https://openalex.org/W1572988071","https://openalex.org/W1782169904","https://openalex.org/W1978220811","https://openalex.org/W2006562083","https://openalex.org/W2017462981","https://openalex.org/W2047793074","https://openalex.org/W2078434561","https://openalex.org/W2091217779","https://openalex.org/W2091731831","https://openalex.org/W2098575713","https://openalex.org/W2109161862","https://openalex.org/W2134057824","https://openalex.org/W2137406503","https://openalex.org/W2141084960","https://openalex.org/W2148535470","https://openalex.org/W2168287017","https://openalex.org/W2217008942","https://openalex.org/W3008260275","https://openalex.org/W3013026118","https://openalex.org/W3044548831","https://openalex.org/W3161282940","https://openalex.org/W3161394903","https://openalex.org/W4234604123"],"related_works":["https://openalex.org/W1825832369","https://openalex.org/W2096768870","https://openalex.org/W2140168742","https://openalex.org/W2087941664","https://openalex.org/W1492181831","https://openalex.org/W3082173509","https://openalex.org/W2066172891","https://openalex.org/W1982534263","https://openalex.org/W2112138644","https://openalex.org/W4235177585"],"abstract_inverted_index":{"Reflection":[0],"and":[1,21,93,123],"extensibility":[2],"in":[3,28,49,99],"object-oriented":[4],"programming":[5],"languages":[6],"can":[7,68],"be":[8,63],"supported":[9],"by":[10],"meta-object":[11],"protocols":[12],"(MOP)":[13],"that":[14,31,101],"define":[15],"class-based":[16],"interfaces":[17],"over":[18],"data":[19],"representation":[20],"execution":[22,50],"features.":[23],"MOPs":[24],"are":[25],"typically":[26],"dynamic":[27],"the":[29,77,108],"sense":[30],"type-based":[32],"dispatching":[33],"is":[34,118],"used":[35],"to":[36,45,53,62,103,119,124],"select":[37],"between":[38],"feature":[39],"implementations":[40],"at":[41,70],"run":[42],"time":[43],"leading":[44],"a":[46,57,64,80,85,90,111,121,130],"significant":[47],"difference":[48],"speed":[51],"compared":[52],"non-MOP-based":[54],"languages.":[55],"Defining":[56],"corresponding":[58],"static-MOP":[59,122],"would":[60],"seem":[61],"solution":[65],"whereby":[66],"type-dispatching":[67],"occur":[69],"compile":[71],"time.":[72],"Such":[73],"an":[74],"approach":[75],"requires":[76],"integration":[78],"of":[79,110,115],"static":[81],"type":[82,131],"system":[83,132],"with":[84,129],"MOP.":[86],"This":[87],"paper":[88,117],"introduces":[89],"new":[91],"reflective":[92],"extensible":[94],"language":[95],"called":[96],"JMF":[97],"written":[98],"Java":[100],"aims":[102],"generate":[104],"efficient":[105],"code":[106],"through":[107],"use":[109],"static-MOP.":[112],"The":[113],"contribution":[114],"this":[116],"characterise":[120],"show":[125],"how":[126],"it":[127],"integrates":[128],"for":[133],"JMF.":[134]},"counts_by_year":[],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
