{"id":"https://openalex.org/W2519294590","doi":"https://doi.org/10.1145/2934466.2962733","title":"Experiences from reengineering and modularizing a legacy software generator with a projectional language workbench","display_name":"Experiences from reengineering and modularizing a legacy software generator with a projectional language workbench","publication_year":2016,"publication_date":"2016-09-16","ids":{"openalex":"https://openalex.org/W2519294590","doi":"https://doi.org/10.1145/2934466.2962733","mag":"2519294590"},"language":"en","primary_location":{"id":"doi:10.1145/2934466.2962733","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2934466.2962733","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th International Systems and Software Product Line Conference","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/A5044370847","display_name":"Max Lillack","orcid":"https://orcid.org/0000-0001-8213-6988"},"institutions":[{"id":"https://openalex.org/I926574661","display_name":"Leipzig University","ror":"https://ror.org/03s7gtk40","country_code":"DE","type":"education","lineage":["https://openalex.org/I926574661"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Max Lillack","raw_affiliation_strings":["Leipzig University, Germany"],"affiliations":[{"raw_affiliation_string":"Leipzig University, Germany","institution_ids":["https://openalex.org/I926574661"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072456187","display_name":"Thorsten Berger","orcid":"https://orcid.org/0000-0002-3870-5167"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]},{"id":"https://openalex.org/I881427289","display_name":"University of Gothenburg","ror":"https://ror.org/01tm6cn81","country_code":"SE","type":"education","lineage":["https://openalex.org/I881427289"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Thorsten Berger","raw_affiliation_strings":["Chalmers | University of Gothenburg, Sweden"],"affiliations":[{"raw_affiliation_string":"Chalmers | University of Gothenburg, Sweden","institution_ids":["https://openalex.org/I66862912","https://openalex.org/I881427289"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5017449010","display_name":"Regina Hebig","orcid":"https://orcid.org/0000-0002-1459-2081"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]},{"id":"https://openalex.org/I881427289","display_name":"University of Gothenburg","ror":"https://ror.org/01tm6cn81","country_code":"SE","type":"education","lineage":["https://openalex.org/I881427289"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Regina Hebig","raw_affiliation_strings":["Chalmers | University of Gothenburg, Sweden"],"affiliations":[{"raw_affiliation_string":"Chalmers | University of Gothenburg, Sweden","institution_ids":["https://openalex.org/I66862912","https://openalex.org/I881427289"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5044370847"],"corresponding_institution_ids":["https://openalex.org/I926574661"],"apc_list":null,"apc_paid":null,"fwci":0.4335,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":{"value":0.7006734,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"346","last_page":"353"},"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.9998000264167786,"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.9998000264167786,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9995999932289124,"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.9991000294685364,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8775331974029541},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.824935257434845},{"id":"https://openalex.org/keywords/workbench","display_name":"Workbench","score":0.6127618551254272},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.5509591698646545},{"id":"https://openalex.org/keywords/codebase","display_name":"Codebase","score":0.5284093618392944},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.5253065228462219},{"id":"https://openalex.org/keywords/modular-programming","display_name":"Modular programming","score":0.5201292634010315},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.48831436038017273},{"id":"https://openalex.org/keywords/generator","display_name":"Generator (circuit theory)","score":0.4370183050632477},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3381810784339905},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.1739656627178192},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12999889254570007},{"id":"https://openalex.org/keywords/visualization","display_name":"Visualization","score":0.09397432208061218}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8775331974029541},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.824935257434845},{"id":"https://openalex.org/C2779145975","wikidata":"https://www.wikidata.org/wiki/Q347690","display_name":"Workbench","level":3,"score":0.6127618551254272},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5509591698646545},{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.5284093618392944},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.5253065228462219},{"id":"https://openalex.org/C88482812","wikidata":"https://www.wikidata.org/wiki/Q6453666","display_name":"Modular programming","level":2,"score":0.5201292634010315},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.48831436038017273},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.4370183050632477},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3381810784339905},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.1739656627178192},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12999889254570007},{"id":"https://openalex.org/C36464697","wikidata":"https://www.wikidata.org/wiki/Q451553","display_name":"Visualization","level":2,"score":0.09397432208061218},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2934466.2962733","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2934466.2962733","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th International Systems and Software Product Line Conference","raw_type":"proceedings-article"},{"id":"pmh:oai:publications.lib.chalmers.se:239593","is_oa":false,"landing_page_url":"http://publications.lib.chalmers.se/publication/239593-experiences-from-reengineering-and-modularizing-a-legacy-software-generator-with-a-projectional-lang","pdf_url":null,"source":{"id":"https://openalex.org/S4377196470","display_name":"Chalmers Publication Library (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"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.Article.Conference.PeerReviewed"},{"id":"pmh:oai:research.chalmers.se:239593","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/239593","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.6200000047683716,"id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320321114","display_name":"Bundesministerium f\u00fcr Bildung und Forschung","ror":"https://ror.org/04pz7b180"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":17,"referenced_works":["https://openalex.org/W121159850","https://openalex.org/W188179498","https://openalex.org/W238475734","https://openalex.org/W1946588374","https://openalex.org/W2003113483","https://openalex.org/W2009093319","https://openalex.org/W2042289462","https://openalex.org/W2052115883","https://openalex.org/W2053221394","https://openalex.org/W2089252210","https://openalex.org/W2107147876","https://openalex.org/W2122103021","https://openalex.org/W2165124476","https://openalex.org/W2167469483","https://openalex.org/W2291126041","https://openalex.org/W2338264943","https://openalex.org/W2508181318"],"related_works":["https://openalex.org/W2388509490","https://openalex.org/W2109648960","https://openalex.org/W2166015079","https://openalex.org/W2050384624","https://openalex.org/W2776888796","https://openalex.org/W2388480422","https://openalex.org/W2624268110","https://openalex.org/W2951120646","https://openalex.org/W2356913294","https://openalex.org/W2903672016"],"abstract_inverted_index":{"We":[0,35,96,131],"present":[1],"a":[2,7,15,121,127,188,195],"case":[3,147],"study":[4,148],"of":[5,80,93,101,160,173,191],"migrating":[6,111],"legacy":[8,192],"language":[9,17,39,52,88,155,197],"infrastructure":[10,89],"and":[11,85,107,152,157,176],"its":[12],"codebase":[13,138],"to":[14,67,90,125,179,194],"projectional":[16,51,196],"workbench.":[18,198],"Our":[19,59,146,181],"subject":[20],"is":[21,61],"the":[22,37,50,87,91,98,133,144,150,161,171],"generator":[23],"tool":[24],"ADS":[25,38,81,113,137],"used":[26,66],"for":[27,31,139,185],"generating":[28],"COBOL":[29],"code":[30,103],"critical":[32],"software":[33],"systems.":[34],"decompose":[36],"into":[40],"smaller":[41,165],"sub-languages,":[42],"which":[43],"we":[44,115],"implement":[45,116],"as":[46,104],"individual":[47,94],"DSLs":[48],"in":[49,123,129,143],"workbench":[53],"JetBrains":[54],"Meta":[55],"Programming":[56],"System":[57],"(MPS).":[58],"focus":[60],"on":[62,120],"ADS'":[63],"preprocessor":[64],"sub-language,":[65],"realize":[68],"static":[69],"variability":[70],"by":[71],"conditionally":[72],"including":[73],"or":[74],"parameterizing":[75],"target":[76,102],"code.":[77],"The":[78],"modularization":[79],"supports":[82],"future":[83],"extensions":[84],"tailoring":[86],"needs":[92],"customers.":[95],"re-implement":[97],"generation":[99],"process":[100],"chained":[105],"model-to-model":[106],"model-to-text":[108],"transformations.":[109],"For":[110],"existing":[112],"code,":[114],"an":[117,136],"importer":[118],"relying":[119],"parser":[122],"order":[124],"create":[126],"model":[128],"MPS.":[130],"validate":[132],"approach":[134],"using":[135],"handling":[140],"car":[141],"registrations":[142],"Netherlands.":[145],"shows":[149],"feasibility":[151],"benefits":[153],"(e.g.,":[154,167],"extensibility":[156],"modern":[158],"editors)":[159],"migration,":[162],"but":[163],"also":[164],"caveats":[166],"small":[168],"syntax":[169],"adaptations,":[170],"necessity":[172],"import":[174],"tools,":[175],"providing":[177],"training":[178],"developers).":[180],"experiences":[182],"are":[183],"useful":[184],"practitioners":[186],"attempting":[187],"similar":[189],"migration":[190],"generators":[193]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2016,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
