{"id":"https://openalex.org/W2969471607","doi":"https://doi.org/10.1145/3340671.3343357","title":"Implementation of a Feature-Based Context-Oriented Programming Language","display_name":"Implementation of a Feature-Based Context-Oriented Programming Language","publication_year":2019,"publication_date":"2019-01-01","ids":{"openalex":"https://openalex.org/W2969471607","doi":"https://doi.org/10.1145/3340671.3343357","mag":"2969471607"},"language":"en","primary_location":{"id":"doi:10.1145/3340671.3343357","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3340671.3343357","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop on Context-oriented Programming - COP '19","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/2078.1/223636","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5024803671","display_name":"Beno\u00eet Duhoux","orcid":"https://orcid.org/0000-0002-0323-9194"},"institutions":[{"id":"https://openalex.org/I95674353","display_name":"UCLouvain","ror":"https://ror.org/02495e989","country_code":"BE","type":"education","lineage":["https://openalex.org/I95674353"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Beno\u00eet Duhoux","raw_affiliation_strings":["Universit\u00e9 catholique de Louvain, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e9 catholique de Louvain, Belgium","institution_ids":["https://openalex.org/I95674353"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5074052329","display_name":"Kim Mens","orcid":"https://orcid.org/0000-0003-0303-1630"},"institutions":[{"id":"https://openalex.org/I95674353","display_name":"UCLouvain","ror":"https://ror.org/02495e989","country_code":"BE","type":"education","lineage":["https://openalex.org/I95674353"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Kim Mens","raw_affiliation_strings":["Universit\u00e9 catholique de Louvain, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e9 catholique de Louvain, Belgium","institution_ids":["https://openalex.org/I95674353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086048049","display_name":"Bruno Dumas","orcid":"https://orcid.org/0000-0001-5302-4303"},"institutions":[{"id":"https://openalex.org/I149768937","display_name":"University of Namur","ror":"https://ror.org/03d1maw17","country_code":"BE","type":"education","lineage":["https://openalex.org/I149768937"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Bruno Dumas","raw_affiliation_strings":["Universit\u00e9 de Namur, Belgium"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Namur, Belgium","institution_ids":["https://openalex.org/I149768937"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"9","last_page":"16"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9997000098228455,"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.9997000098228455,"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/T10444","display_name":"Context-Aware Activity Recognition Systems","score":0.9959999918937683,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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.9947999715805054,"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.8742892146110535},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6765452027320862},{"id":"https://openalex.org/keywords/feature","display_name":"Feature (linguistics)","score":0.651071310043335},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.5741424560546875},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.5086594223976135},{"id":"https://openalex.org/keywords/language-primitive","display_name":"Language primitive","score":0.4776255488395691},{"id":"https://openalex.org/keywords/very-high-level-programming-language","display_name":"Very high-level programming language","score":0.4672683775424957},{"id":"https://openalex.org/keywords/first-generation-programming-language","display_name":"First-generation programming language","score":0.46597859263420105},{"id":"https://openalex.org/keywords/high-level-programming-language","display_name":"High-level programming language","score":0.450560986995697},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.43650147318840027},{"id":"https://openalex.org/keywords/programming-language-implementation","display_name":"Programming language implementation","score":0.4170449376106262},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.4047415554523468},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.3595852851867676},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.22405827045440674},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.07417497038841248}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8742892146110535},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6765452027320862},{"id":"https://openalex.org/C2776401178","wikidata":"https://www.wikidata.org/wiki/Q12050496","display_name":"Feature (linguistics)","level":2,"score":0.651071310043335},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.5741424560546875},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.5086594223976135},{"id":"https://openalex.org/C20724563","wikidata":"https://www.wikidata.org/wiki/Q3075258","display_name":"Language primitive","level":4,"score":0.4776255488395691},{"id":"https://openalex.org/C169796678","wikidata":"https://www.wikidata.org/wiki/Q835124","display_name":"Very high-level programming language","level":5,"score":0.4672683775424957},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.46597859263420105},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.450560986995697},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.43650147318840027},{"id":"https://openalex.org/C201997060","wikidata":"https://www.wikidata.org/wiki/Q4117406","display_name":"Programming language implementation","level":5,"score":0.4170449376106262},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.4047415554523468},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.3595852851867676},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.22405827045440674},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.07417497038841248},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3340671.3343357","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3340671.3343357","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Workshop on Context-oriented Programming - COP '19","raw_type":"proceedings-article"},{"id":"pmh:oai:dial.uclouvain.be:boreal:223636","is_oa":true,"landing_page_url":"http://hdl.handle.net/2078.1/223636","pdf_url":null,"source":{"id":"https://openalex.org/S4306401902","display_name":"Digital Access to Libraries (Universit\u00e9 catholique de Louvain (UCL), l'Universit\u00e9 de Namur (UNamur) and the Universit\u00e9 Saint-Louis (USL-B))","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I95674353","host_organization_name":"UCLouvain","host_organization_lineage":["https://openalex.org/I95674353"],"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":"","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:oai:pure.unamur.be:openaire_cris_publications/4a6974a1-d6e1-477e-af1a-ec7643140487","is_oa":false,"landing_page_url":"https://researchportal.unamur.be/en/publications/4a6974a1-d6e1-477e-af1a-ec7643140487","pdf_url":null,"source":{"id":"https://openalex.org/S4406922457","display_name":"Repository of the University of Namur","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":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Duhoux, B, Mens, K & Dumas, B 2019, Implementation of a feature-based context-oriented programming language. in Proceedings of the Workshop on Context-Oriented Programming, COP 2019. Proceedings of the Workshop on Context-Oriented Programming, COP 2019, ACM Press, pp. 9-16, 11th International Workshop on Context-oriented Programming, COP 2019, London, United Kingdom, 15/07/19. https://doi.org/10.1145/3340671.3343357","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"pmh:oai:dial.uclouvain.be:boreal:223636","is_oa":true,"landing_page_url":"http://hdl.handle.net/2078.1/223636","pdf_url":null,"source":{"id":"https://openalex.org/S4306401902","display_name":"Digital Access to Libraries (Universit\u00e9 catholique de Louvain (UCL), l'Universit\u00e9 de Namur (UNamur) and the Universit\u00e9 Saint-Louis (USL-B))","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I95674353","host_organization_name":"UCLouvain","host_organization_lineage":["https://openalex.org/I95674353"],"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":"","raw_type":"info:eu-repo/semantics/conferenceObject"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W1556513858","https://openalex.org/W1724660581","https://openalex.org/W1882088395","https://openalex.org/W1967123341","https://openalex.org/W1978875190","https://openalex.org/W2000941156","https://openalex.org/W2037048706","https://openalex.org/W2039838058","https://openalex.org/W2040500323","https://openalex.org/W2084429940","https://openalex.org/W2089287449","https://openalex.org/W2099213660","https://openalex.org/W2103457658","https://openalex.org/W2115607078","https://openalex.org/W2115899208","https://openalex.org/W2116346633","https://openalex.org/W2124489158","https://openalex.org/W2145304606","https://openalex.org/W2145919358","https://openalex.org/W2150275961","https://openalex.org/W2156879585","https://openalex.org/W2504961937","https://openalex.org/W2740160934","https://openalex.org/W2770973448","https://openalex.org/W2889947498","https://openalex.org/W2947165259","https://openalex.org/W3131402290"],"related_works":["https://openalex.org/W2376978878","https://openalex.org/W2230513087","https://openalex.org/W4301347183","https://openalex.org/W2389992781","https://openalex.org/W2360705725","https://openalex.org/W2235266364","https://openalex.org/W2056649074","https://openalex.org/W3141558467","https://openalex.org/W2133376498","https://openalex.org/W2198524561"],"abstract_inverted_index":{"We":[0,151],"implemented":[1,105],"a":[2,30,51,98,157,161],"feature-based":[3,99,162],"context-oriented":[4,100,118,163],"programming":[5,101,111],"language,":[6,102],"which":[7,29,103],"clearly":[8],"separates":[9],"the":[10,15,25,37,42,47,68,77,89,109,128,143],"notion":[11,16],"of":[12,17,96,108,123,131,137,160],"contexts":[13,63,132],"from":[14],"features.":[18],"Contexts":[19,54],"reify":[20,36],"particular":[21,82],"situations":[22],"occurring":[23],"in":[24,135,166],"surrounding":[26],"environment,":[27],"to":[28,57,80,146],"software":[31],"system":[32],"can":[33],"adapt.":[34],"Features":[35],"system's":[38,48,78],"behaviour;":[39],"they":[40],"are":[41,55],"language":[43,112,125,154],"components":[44],"that":[45,141],"describe":[46],"functionality":[49,79],"at":[50,66,149],"fine-grained":[52],"level.":[53],"mapped":[56],"features,":[58],"such":[59,97],"that,":[60],"when":[61],"certain":[62],"become":[64],"active":[65],"run-time,":[67],"corresponding":[69],"features":[70,134],"get":[71],"selected":[72],"and":[73,93,133],"activated,":[74],"thus":[75],"adapting":[76],"those":[81],"contexts.":[83],"In":[84],"this":[85,167],"paper":[86],"we":[87,104],"show":[88],"object-oriented":[90],"architecture,":[91],"design":[92,126,155],"implementation":[94],"issues":[95],"on":[106],"top":[107],"Ruby":[110],"as":[113],"an":[114],"application":[115],"framework":[116],"for":[117],"programmers.":[119],"An":[120],"important":[121],"part":[122],"our":[124,153],"is":[127],"explicit":[129],"representation":[130],"terms":[136],"hierarchical":[138],"tree":[139],"structures":[140],"capture":[142],"structural":[144],"constraints":[145],"be":[147],"maintained":[148],"runtime.":[150],"illustrate":[152],"with":[156],"small":[158],"example":[159],"program":[164],"written":[165],"language.":[168]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
