File(s) under permanent embargo
Reason: 12 month embargo from publication
Safe Reuse in Modeling Language Engineering using Model Subtyping with OCL Constraints
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.
Author affiliationSchool of Computing and Mathematical Sciences, University of Leicester
- AM (Accepted Manuscript)