Version 2 2023-11-16, 16:21Version 2 2023-11-16, 16:21
Version 1 2022-08-08, 09:55Version 1 2022-08-08, 09:55
journal contribution
posted on 2023-11-16, 16:21authored byArtur Boronat
<p>Low-code software development promisesrapid delivery of software cloud applications by em-ploying domain-specific languages (DSLs), requiringminimal traditional coding. Model-driven engineering(MDE) provides tools, modeling notations and practicessuited for engineering such DSLs, both from a syntacticand semantic perspective. However, low-code softwaredevelopment is heavily reliant on software reuse. It isimperative to provide safe mechanisms that guaranteevalid semantic reuse of structural components and theirbehaviour, most often in a stepwise manner.This article presents a semantic reuse techniquebased on model subtyping over metamodels to man-age correct model-driven engineering of DSLs. Modelsubtyping is generalized to structural semantics by con-sidering OCL constraints. Moreover, model subtyping isgeneralized to behavioural semantics by considering spec-ifications of model transformation operations, which mayencode operational or translational semantics. Modelsubtyping facilitates structural and behavioural refine-ment. It has been implemented atop a bounded modelchecker, realizing a semi-decidable procedure for verify-ing that DSL elements are safely reused. The algorithmfinds semantic witnesses of inconsistencies when refine-ment principles are not satisfied, fostering a correctstepwise engineering of DSLs. Moreover, the algorithmproduces an extension metamodel that permits theas-isreuse of implementations of model transformationoperation specifications. Finally, the versatility of themodel subtyping technique is illustrated with commonuse cases extracted from the research literature.</p>
History
Author affiliation
School of Computing and Mathematical Sciences, University of Leicester
Version
VoR (Version of Record)
Published in
International Journal on Software and Systems Modeling