{"id":"https://openalex.org/W7201875520","doi":"https://doi.org/10.48550/arxiv.2608.05612","title":"Keeping Models and Code in Sync: Roundtrip Engineering for Tactical Domain-Driven Design","display_name":"Keeping Models and Code in Sync: Roundtrip Engineering for Tactical Domain-Driven Design","publication_year":2026,"publication_date":"2026-08-06","ids":{"openalex":"https://openalex.org/W7201875520","doi":"https://doi.org/10.48550/arxiv.2608.05612"},"language":"en","primary_location":{"id":"pmh:oai:arXiv.org:2608.05612","doi":null,"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2608.05612","pdf_url":"https://arxiv.org/pdf/2608.05612","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"volume":null,"type":"preprint","is_traditional":true,"indexed_in":["arxiv","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/2608.05612","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5139315660","display_name":"Weixing Zhang","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Zhang, Weixing","raw_affiliation_strings":["Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany","institution_ids":["https://openalex.org/I102335020"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5132636148","display_name":"Mario Herb","orcid":"https://orcid.org/0009-0008-9423-4786","observed_orcids":["https://orcid.org/0009-0008-9423-4786"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Herb, Mario","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023639985","display_name":"Dorothy Cheng","orcid":"https://orcid.org/0000-0003-1545-0269","observed_orcids":["https://orcid.org/0000-0003-1545-0269"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Cheng, Wai Chung Dorothy","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5146060202","display_name":"Michael Wagner","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Wagner, Michael","raw_affiliation_strings":["esentri AG , Karlsruhe , 76275 , Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"esentri AG , Karlsruhe , 76275 , Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5145998312","display_name":"Bowen Jiang","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jiang, Bowen","raw_affiliation_strings":["Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany","institution_ids":["https://openalex.org/I102335020"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109621872","display_name":"Tianhai Liu","orcid":"https://orcid.org/0000-0001-5881-1920","observed_orcids":["https://orcid.org/0000-0001-5881-1920"]},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Liu, Tianhai","raw_affiliation_strings":["Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany","institution_ids":["https://openalex.org/I102335020"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5069105710","display_name":"Anne Koziolek","orcid":"https://orcid.org/0000-0002-1593-3394","observed_orcids":["https://orcid.org/0000-0002-1593-3394"]},"institutions":[{"id":"https://openalex.org/I102335020","display_name":"Karlsruhe Institute of Technology","ror":"https://ror.org/04t3en479","country_code":"DE","type":"education","lineage":["https://openalex.org/I102335020","https://openalex.org/I1305996414"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Koziolek, Anne","raw_affiliation_strings":["Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Karlsruhe Institute of Technology , Karlsruhe , 76131 , Germany","institution_ids":["https://openalex.org/I102335020"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"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.9901999831199646,"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.9901999831199646,"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/T10260","display_name":"Software Engineering Research","score":0.007499999832361937,"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/T12601","display_name":"Web Applications and Data Management","score":0.0008999999845400453,"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/domain-driven-design","display_name":"domain-driven design","score":0.8859999775886536},{"id":"https://openalex.org/keywords/domain-model","display_name":"domain model","score":0.5059999823570251},{"id":"https://openalex.org/keywords/java-code-generation","display_name":"Java code generation","score":0.871999979019165},{"id":"https://openalex.org/keywords/reverse-engineering","display_name":"reverse engineering","score":0.656000018119812},{"id":"https://openalex.org/keywords/metamodel","display_name":"meta-model","score":0.9079999923706055},{"id":"https://openalex.org/keywords/hotel-management-system","display_name":"hotel management system","score":0.49900001287460327}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7656999826431274},{"id":"https://openalex.org/C3913047","wikidata":"https://www.wikidata.org/wiki/Q1956265","display_name":"sync","level":3,"score":0.6830999851226807},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.6259999871253967},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5922999978065491},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5450000166893005},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5192000269889832},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.47099998593330383},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4546999931335449},{"id":"https://openalex.org/C92548554","wikidata":"https://www.wikidata.org/wiki/Q2262868","display_name":"Domain model","level":3,"score":0.43849998712539673},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.4341999888420105},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.43149998784065247},{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.4311000108718872},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.429500013589859},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.40540000796318054},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.3986999988555908},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.39489999413490295},{"id":"https://openalex.org/C47434764","wikidata":"https://www.wikidata.org/wiki/Q1770035","display_name":"Dead code","level":5,"score":0.3898000121116638},{"id":"https://openalex.org/C2777210771","wikidata":"https://www.wikidata.org/wiki/Q4927124","display_name":"Block (permutation group theory)","level":2,"score":0.36550000309944153},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2944999933242798},{"id":"https://openalex.org/C169468491","wikidata":"https://www.wikidata.org/wiki/Q146923","display_name":"Middleware (distributed applications)","level":2,"score":0.29280000925064087},{"id":"https://openalex.org/C121957198","wikidata":"https://www.wikidata.org/wiki/Q14365593","display_name":"KPI-driven code analysis","level":5,"score":0.2851000130176544},{"id":"https://openalex.org/C183322885","wikidata":"https://www.wikidata.org/wiki/Q17007702","display_name":"Context model","level":3,"score":0.2849999964237213},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.27570000290870667},{"id":"https://openalex.org/C509989072","wikidata":"https://www.wikidata.org/wiki/Q15188241","display_name":"Model-driven architecture","level":4,"score":0.26759999990463257},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.26179999113082886},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.2606000006198883},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.25870001316070557},{"id":"https://openalex.org/C2781215313","wikidata":"https://www.wikidata.org/wiki/Q3493345","display_name":"SPARK (programming language)","level":2,"score":0.25679999589920044}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:arXiv.org:2608.05612","doi":null,"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2608.05612","pdf_url":"https://arxiv.org/pdf/2608.05612","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"doi:10.48550/arxiv.2608.05612","doi":"https://doi.org/10.48550/arxiv.2608.05612","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2608.05612","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2608.05612","doi":null,"is_oa":true,"landing_page_url":"https://arxiv.org/abs/2608.05612","pdf_url":"https://arxiv.org/pdf/2608.05612","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W7201875520.pdf","grobid_xml":"https://content.openalex.org/works/W7201875520.grobid-xml"},"referenced_works_count":1,"referenced_works":["https://openalex.org/W7165796797"],"related_works":["https://openalex.org/W2361120086","https://openalex.org/W7161766472","https://openalex.org/W3011250856","https://openalex.org/W7096019003","https://openalex.org/W2530793148","https://openalex.org/W4388405830","https://openalex.org/W7098587735","https://openalex.org/W2134349568","https://openalex.org/W7096980863","https://openalex.org/W7203637571"],"abstract_inverted_index":{"Domain-Driven":[0],"Design":[1],"gives":[2],"teams":[3],"a":[4,52,61,70,93,100,117,157],"shared":[5,71],"vocabulary":[6,13],"for":[7,56,161],"complex":[8],"business":[9],"logic,":[10],"but":[11],"that":[12,59,173],"only":[14],"stays":[15],"useful":[16],"as":[17,19,82,156],"long":[18],"the":[20,23,37,46,74,78,83,128,130,147],"model":[21,40,67,95,102,150],"and":[22,64,98,170],"code":[24,34,89,106,163,176],"agree":[25],"with":[26,73,139],"each":[27],"other.":[28],"In":[29],"practice,":[30],"they":[31],"drift":[32],"apart:":[33],"changes":[35],"outpace":[36],"model,":[38],"or":[39],"revisions":[41],"never":[42],"make":[43],"it":[44],"into":[45],"codebase.":[47],"This":[48],"paper":[49],"presents":[50],"JDomInO,":[51],"bidirectional":[53],"synchronization":[54],"toolchain":[55],"tactical":[57],"DDD":[58,171],"keeps":[60],"Java":[62,88,105],"codebase":[63],"its":[65],"domain":[66,94,101,149],"connected":[68],"through":[69],"metamodel,":[72],"goal":[75],"of":[76],"keeping":[77],"two":[79],"in":[80,127],"sync":[81],"system":[84],"evolves.":[85],"JDomInO":[86,153],"generates":[87],"structure":[90],"deterministically":[91],"from":[92,103],"(forward":[96],"path)":[97],"reconstructs":[99],"existing":[104],"(reverse":[107],"path).":[108],"The":[109],"forward":[110],"path":[111],"has":[112,135],"been":[113],"fully":[114],"validated":[115],"on":[116],"Hotel":[118],"Management":[119],"scenario":[120],"covering":[121],"all":[122],"12":[123],"building":[124],"block":[125],"types":[126],"metamodel;":[129],"reverse":[131],"path's":[132],"mapping":[133],"logic":[134],"passed":[136],"unit":[137],"testing,":[138],"end-to-end":[140],"validation":[141],"underway.":[142],"We":[143],"also":[144],"outline":[145],"how":[146],"structured":[148],"produced":[151],"by":[152],"could":[154],"serve":[155],"precision":[158],"context":[159],"layer":[160],"AI":[162],"assistants,":[164],"helping":[165],"them":[166],"respect":[167],"aggregate":[168],"boundaries":[169],"semantics":[172],"raw":[174],"source":[175],"alone":[177],"does":[178],"not":[179],"convey.":[180]},"counts_by_year":[],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2026-08-08T00:00:00"}
