{"id":"https://openalex.org/W2169706961","doi":"https://doi.org/10.1145/2048066.2048138","title":"Flexible object layouts","display_name":"Flexible object layouts","publication_year":2011,"publication_date":"2011-10-22","ids":{"openalex":"https://openalex.org/W2169706961","doi":"https://doi.org/10.1145/2048066.2048138","mag":"2169706961"},"language":"en","primary_location":{"id":"doi:10.1145/2048066.2048138","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048138","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":true,"oa_status":"green","oa_url":"https://pure.rug.nl/ws/files/33885001/Verw11bFlexibleObjectLayouts.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5057639638","display_name":"T. Verwaest","orcid":"https://orcid.org/0000-0002-3911-6962"},"institutions":[{"id":"https://openalex.org/I118564535","display_name":"University of Bern","ror":"https://ror.org/02k7v4d05","country_code":"CH","type":"education","lineage":["https://openalex.org/I118564535"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Toon Verwaest","raw_affiliation_strings":["University of Berne, Bern, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Berne, Bern, Switzerland","institution_ids":["https://openalex.org/I118564535"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5066277083","display_name":"Camillo Bruni","orcid":"https://orcid.org/0000-0002-0157-1652"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210138412","display_name":"Centre Inria de l'Universit\u00e9 de Lille","ror":"https://ror.org/04eej9726","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210138412"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Camillo Bruni","raw_affiliation_strings":["INRIA Lille , Lille, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"INRIA Lille , Lille, France","institution_ids":["https://openalex.org/I4210138412","https://openalex.org/I1326498283"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017593978","display_name":"Mircea Lungu","orcid":"https://orcid.org/0000-0003-3944-5261"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mircea Lungu","raw_affiliation_strings":["Univerisity of Berne, Bern, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univerisity of Berne, Bern, Switzerland","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041096019","display_name":"Oscar Nierstrasz","orcid":"https://orcid.org/0000-0002-9975-9791"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Oscar Nierstrasz","raw_affiliation_strings":["Univerisity of Berne, Bern, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Univerisity of Berne, Bern, Switzerland","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":24,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"959","last_page":"972"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.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/T10679","display_name":"Service-Oriented Architecture and Web Services","score":0.9986000061035156,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/boilerplate-text","display_name":"Boilerplate text","score":0.8910527229309082},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8093715906143188},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8060389161109924},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.5430277585983276},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.4443775713443756},{"id":"https://openalex.org/keywords/low-level-programming-language","display_name":"Low-level programming language","score":0.44231653213500977},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.43481117486953735},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.23024636507034302},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.19805839657783508},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.13513806462287903}],"concepts":[{"id":"https://openalex.org/C75701414","wikidata":"https://www.wikidata.org/wiki/Q1651672","display_name":"Boilerplate text","level":2,"score":0.8910527229309082},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8093715906143188},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8060389161109924},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.5430277585983276},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4443775713443756},{"id":"https://openalex.org/C124577441","wikidata":"https://www.wikidata.org/wiki/Q558937","display_name":"Low-level programming language","level":5,"score":0.44231653213500977},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.43481117486953735},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.23024636507034302},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.19805839657783508},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.13513806462287903},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/2048066.2048138","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2048066.2048138","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:pure.rug.nl:publications/a97f92c5-4e5d-43ea-87b7-3a6bb6445233","is_oa":true,"landing_page_url":"https://research.rug.nl/en/publications/a97f92c5-4e5d-43ea-87b7-3a6bb6445233","pdf_url":"https://pure.rug.nl/ws/files/33885001/Verw11bFlexibleObjectLayouts.pdf","source":{"id":"https://openalex.org/S4306400420","display_name":"University of Groningen research database (University of Groningen / Centre for Information Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I169381384","host_organization_name":"University of Groningen","host_organization_lineage":["https://openalex.org/I169381384"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Verwaest, T, Bruni, C, Lungu, M & Nierstrasz, O 2011, Flexible object layouts : Enabling lightweight language extensions by intercepting slot access. in Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications. OOPSLA '11, ACM Press, New York, NY, USA, pp. 959-972. https://doi.org/10.1145/2048066.2048138","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:pure.rug.nl:publications/a97f92c5-4e5d-43ea-87b7-3a6bb6445233","is_oa":true,"landing_page_url":"https://research.rug.nl/en/publications/a97f92c5-4e5d-43ea-87b7-3a6bb6445233","pdf_url":"https://pure.rug.nl/ws/files/33885001/Verw11bFlexibleObjectLayouts.pdf","source":{"id":"https://openalex.org/S4306400420","display_name":"University of Groningen research database (University of Groningen / Centre for Information Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I169381384","host_organization_name":"University of Groningen","host_organization_lineage":["https://openalex.org/I169381384"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Verwaest, T, Bruni, C, Lungu, M & Nierstrasz, O 2011, Flexible object layouts : Enabling lightweight language extensions by intercepting slot access. in Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications. OOPSLA '11, ACM Press, New York, NY, USA, pp. 959-972. https://doi.org/10.1145/2048066.2048138","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.4699999988079071,"display_name":"Quality Education"}],"awards":[{"id":"https://openalex.org/G5599649393","display_name":null,"funder_award_id":"200020","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G628552264","display_name":null,"funder_award_id":"200020","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2169706961.pdf","grobid_xml":"https://content.openalex.org/works/W2169706961.grobid-xml"},"referenced_works_count":31,"referenced_works":["https://openalex.org/W13424272","https://openalex.org/W239634878","https://openalex.org/W1511185067","https://openalex.org/W1689913591","https://openalex.org/W1770006921","https://openalex.org/W1839902311","https://openalex.org/W1982296773","https://openalex.org/W2029414465","https://openalex.org/W2045723688","https://openalex.org/W2052833826","https://openalex.org/W2076106422","https://openalex.org/W2088675571","https://openalex.org/W2091795590","https://openalex.org/W2095219277","https://openalex.org/W2111898165","https://openalex.org/W2115680394","https://openalex.org/W2121049046","https://openalex.org/W2128029766","https://openalex.org/W2143238865","https://openalex.org/W2160370554","https://openalex.org/W2161433768","https://openalex.org/W2180690638","https://openalex.org/W2182404660","https://openalex.org/W2523075099","https://openalex.org/W2611201119","https://openalex.org/W3188581976","https://openalex.org/W4248658721","https://openalex.org/W4298691655","https://openalex.org/W6637322797","https://openalex.org/W6637879497","https://openalex.org/W6638767560"],"related_works":["https://openalex.org/W2154111312","https://openalex.org/W2169706961","https://openalex.org/W3016534353","https://openalex.org/W4310506829","https://openalex.org/W2765318545","https://openalex.org/W165104480","https://openalex.org/W2374205924","https://openalex.org/W4245713008","https://openalex.org/W2124609872","https://openalex.org/W4379410859"],"abstract_inverted_index":{"Programming":[0],"idioms,":[1],"design":[2],"patterns":[3],"and":[4,10,20,49,71,100],"application":[5],"libraries":[6],"often":[7],"introduce":[8],"cumbersome":[9],"repetitive":[11],"boilerplate":[12,34,126],"code":[13,127],"to":[14,29,57,86],"a":[15],"software":[16],"system.":[17],"Language":[18],"extensions":[19,108],"external":[21],"DSLs":[22],"(domain":[23],"specific":[24],"languages)":[25],"are":[26,90,98],"sometimes":[27],"introduced":[28],"reduce":[30],"the":[31,40,44,59,64,75,93,103],"need":[32,45],"for":[33,46],"code,":[35],"but":[36],"they":[37],"also":[38],"complicate":[39],"system":[41],"by":[42],"introducing":[43],"language":[47,65,78,107],"dialects":[48],"inter-language":[50],"mediation.":[51],"To":[52],"address":[53],"this,":[54],"we":[55,80,116],"propose":[56],"extend":[58],"structural":[60],"reflective":[61,77],"model":[62,79],"of":[63,95,105],"with":[66],"object":[67,87,97],"layouts,":[68],"layout":[69],"scopes":[70],"slots.":[72],"Based":[73],"on":[74],"new":[76],"can":[81,128],"1)":[82],"provide":[83],"behavioral":[84],"hooks":[85],"layouts":[88],"that":[89,123],"triggered":[91],"when":[92],"fields":[94],"an":[96],"accessed":[99],"2)":[101],"simplify":[102],"implementation":[104],"state-related":[106],"such":[109],"as":[110],"stateful":[111],"traits.":[112],"By":[113],"doing":[114],"this":[115],"show":[117],"how":[118],"many":[119],"idiomatic":[120],"use":[121],"cases":[122],"normally":[124],"require":[125],"be":[129],"more":[130],"effectively":[131],"supported.":[132]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":2}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
