ACM Transactions on Software Engineering and Methodology · 2022 · 36 citations · 22 references
ComputingComputer ScienceSystems EngineeringFormal MethodsModel-based Systems EngineeringSystems ModelingModel CheckingModel TransformationModel-driven DevelopmentModel-driven Software EngineeringSoftware ModelingSoftware RefactoringConstraintsCoqMeta-modelingMetamodel TransformationModel VerificationRefactoringRefactoring VerificationUnified Modeling Language (Uml) Class Diagrams
Model Driven Engineering ( MDE ) is a general-purpose engineering methodology to elevate system design, maintenance, and analysis to corresponding activities on models. Models (graphical and/or textual) of a target application are automatically transformed into source code, performance models, Promela files (for model checking), and so on for system analysis and construction. Models are instances of metamodels . One form an MDE metamodel can take is a [class diagram, constraints] pair: the class diagram defines all object diagrams that could be metamodel instances; object constraint language ( OCL ) constraints eliminate semantically undesirable instances. A metamodel refactoring is an invertible semantics-preserving co-transformation, i.e., it transforms both a metamodel and its models without losing data. This article addresses a subproblem of metamodel refactoring: how to prove the correctness of refactorings of class diagrams without OCL constraints using the Coq Proof Assistant.
22
Refactoring improving the design of existing code
Mauricio A. Saca · 2017 · 2.1K citations
Daniel Jackson · ACM Transactions on Software Engineering and Methodology · 2002 · 1.2K citations
Refactoring object-oriented frameworks
William F. Opdyke · 1992 · 1K citations
Program restructuring as an aid to software maintenance
William G. Griswold · 1992 · 158 citations