https://1library.org/document/y495jk0z-a-model-driven-approach-to-formal-refactoring.html