Model driven software modernisation