A Set of Refactoring Rules for UML-B Specifications

keywords: UML-B, refactoring, refinement, object-oriented design, annealing, introduce subtyping
UML-B is a graphical formal modelling notation which is based on UML and relies on Event-B and its verification tools. In this paper, we propose annealing and introduce subtyping rules as well-known refactoring rules which can improve and assist the derivation of object-oriented design from an abstract specification written in UML-B. We prove that the proposed annealing rules are behavior preserving. We also demonstrate the applicability and effectiveness of our refactoring rules by applying them on two UML-B specifications.
reference: Vol. 35, 2016, No. 2, pp. 411–440