{"id":"https://openalex.org/W2005681852","doi":"https://doi.org/10.1145/1868688.1868700","title":"Dynamically adaptable software product lines using Ruby metaprogramming","display_name":"Dynamically adaptable software product lines using Ruby metaprogramming","publication_year":2010,"publication_date":"2010-10-10","ids":{"openalex":"https://openalex.org/W2005681852","doi":"https://doi.org/10.1145/1868688.1868700","mag":"2005681852"},"language":"en","primary_location":{"id":"doi:10.1145/1868688.1868700","doi":"https://doi.org/10.1145/1868688.1868700","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1868688.1868700","pdf_url":null,"source":{"id":"https://openalex.org/S4306418415","display_name":"Feature-oriented software development","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd International Workshop on Feature-Oriented Software Development","raw_type":"proceedings-article"},"parent_works":[],"lineage":["https://openalex.org/W2005681852"],"child_works_count":0,"type":"conference-paper","is_traditional":true,"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/A5060920392","display_name":"Sebastian G\u00fcnther","orcid":"https://orcid.org/0000-0003-1281-2180","observed_orcids":["https://orcid.org/0000-0003-1281-2180"]},"institutions":[{"id":"https://openalex.org/I95793202","display_name":"Otto-von-Guericke-Universit\u00e4t Magdeburg","ror":"https://ror.org/00ggpsq73","country_code":"DE","type":"education","lineage":["https://openalex.org/I95793202"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian G\u00fcnther","raw_affiliation_strings":["University of Magdeburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Magdeburg, Germany","institution_ids":["https://openalex.org/I95793202"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5068346244","display_name":"Sagar Sunkle","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I95793202","display_name":"Otto-von-Guericke-Universit\u00e4t Magdeburg","ror":"https://ror.org/00ggpsq73","country_code":"DE","type":"education","lineage":["https://openalex.org/I95793202"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sagar Sunkle","raw_affiliation_strings":["University of Magdeburg, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Magdeburg, Germany","institution_ids":["https://openalex.org/I95793202"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I95793202"],"apc_list":null,"apc_paid":null,"fwci":0.9831,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.69545455,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"80","last_page":"87"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9994999766349792,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9994999766349792,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.00019999999494757503,"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"}},{"id":"https://openalex.org/T11729","display_name":"Product Development and Customization","score":0.0,"subfield":{"id":"https://openalex.org/subfields/1405","display_name":"Management of Technology and Innovation"},"field":{"id":"https://openalex.org/fields/14","display_name":"Business, Management and Accounting"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/software-product-lines","display_name":"software product lines","score":1.0},{"id":"https://openalex.org/keywords/feature-oriented-programming","display_name":"feature-oriented programming","score":0.8489999771118164},{"id":"https://openalex.org/keywords/runtime-adaptation","display_name":"runtime adaptation","score":0.6880000233650208},{"id":"https://openalex.org/keywords/product-variants","display_name":"product variants","score":0.5809999704360962},{"id":"https://openalex.org/keywords/feature-configuration","display_name":"feature configuration","score":0.7070000171661377},{"id":"https://openalex.org/keywords/software-reuse","display_name":"software reuse","score":0.460999995470047}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8072799444198608},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.746475875377655},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.587036669254303},{"id":"https://openalex.org/C2778177629","wikidata":"https://www.wikidata.org/wiki/Q2111823","display_name":"Software product line","level":4,"score":0.583316445350647},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5263389945030212},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4701782763004303},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.4345461130142212},{"id":"https://openalex.org/C90673727","wikidata":"https://www.wikidata.org/wiki/Q901718","display_name":"Product (mathematics)","level":2,"score":0.4294258654117584},{"id":"https://openalex.org/C139807058","wikidata":"https://www.wikidata.org/wiki/Q352374","display_name":"Adaptation (eye)","level":2,"score":0.42664653062820435},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.3116613030433655},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12465262413024902},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1868688.1868700","doi":"https://doi.org/10.1145/1868688.1868700","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1868688.1868700","pdf_url":null,"source":{"id":"https://openalex.org/S4306418415","display_name":"Feature-oriented software development","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2nd International Workshop on Feature-Oriented Software Development","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W70959085","https://openalex.org/W143769446","https://openalex.org/W1485856036","https://openalex.org/W1500250067","https://openalex.org/W1560222722","https://openalex.org/W1577384748","https://openalex.org/W1591471358","https://openalex.org/W1596531711","https://openalex.org/W1886729418","https://openalex.org/W1985058608","https://openalex.org/W2009285855","https://openalex.org/W2014596857","https://openalex.org/W2029414465","https://openalex.org/W2070949764","https://openalex.org/W2093361007","https://openalex.org/W2099213660","https://openalex.org/W2101730275","https://openalex.org/W2121771606","https://openalex.org/W2135557764","https://openalex.org/W2140249393","https://openalex.org/W2142035772","https://openalex.org/W2143238865","https://openalex.org/W2144244174","https://openalex.org/W2150275961","https://openalex.org/W2171002355","https://openalex.org/W2208500163","https://openalex.org/W2997998108"],"related_works":["https://openalex.org/W7098373838","https://openalex.org/W2092790729","https://openalex.org/W2093361007","https://openalex.org/W2105031207","https://openalex.org/W7096588586","https://openalex.org/W2135048318","https://openalex.org/W2070949764","https://openalex.org/W2536030384","https://openalex.org/W4293280545","https://openalex.org/W7097842652"],"abstract_inverted_index":{"Software":[0],"product":[1,36,109,134],"lines":[2,110],"(SPL)":[3],"is":[4],"a":[5,13,59,78,172],"paradigm":[6],"to":[7,67,105,126,132,150,158],"structure":[8],"software":[9],"development":[10],"assets":[11],"in":[12,45,55,81],"common":[14,21,173],"and":[15,32,111,123,136,162],"reusable":[16],"form.":[17],"Out":[18],"of":[19,47,90,97,139,165,168],"this":[20],"asset":[22],"base":[23],"-":[24],"which":[25,50],"includes":[26],"the":[27,48,65,91,98,133,137,166],"application's":[28],"source":[29],"code,":[30],"documentation,":[31],"configuration":[33],"--":[34],"concrete":[35],"variants":[37,42,113,141],"can":[38],"be":[39],"created.":[40],"The":[41,118,146],"are":[43,51,87,149,156],"differing":[44],"terms":[46],"features,":[49],"basically":[52],"an":[53,103,163],"increment":[54],"functionality":[56],"important":[57],"for":[58],"stakeholder.":[60],"Feature-oriented":[61],"programming":[62],"(FOP)":[63],"provides":[64],"capability":[66],"compose":[68],"those":[69],"different":[70,143],"variants.":[71],"In":[72],"earlier":[73],"work":[74],"we":[75],"presented":[76],"rbFeatures,":[77,84],"FOP":[79],"implementation":[80],"Ruby.":[82],"With":[83],"features":[85,129],"become":[86],"first-class":[88,115,160],"entities":[89,116,119,161],"language":[92],"that":[93,107],"facilitate":[94],"runtime":[95],"changes":[96],"program.":[99],"This":[100],"paper":[101],"presents":[102],"extension":[104],"rbFeatures":[106],"implements":[108],"their":[112],"as":[114],"too.":[117],"allow":[120],"powerful":[121],"runtime-adaptation":[122],"configuration,":[124],"like":[125],"add":[127],"new":[128],"or":[130],"constraints":[131],"line":[135],"instantiation":[138],"several":[140],"with":[142,171],"feature":[144],"configurations.":[145],"particular":[147],"contributions":[148],"show":[151],"how":[152],"Ruby's":[153],"metaprogramming":[154],"capabilities":[155],"used":[157],"design":[159],"explanation":[164],"usage":[167],"our":[169],"approach":[170],"case":[174],"study.":[175]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2026-11-14T11:04:58.165337","created_date":"2016-06-24T00:00:00"}
