Model Driven Software Migration


In his book “Model Driven Software Migration”, Christian Wagner talks about the aging software problem and what to do about it.

Software will age over time and may result in costly failures for organizations. Migrations happen if classical maintenance tracks start to fail.

First software life cycles are discussed:

  • Waterfall
  • Spiral
  • Continuous and Agile

Next the different types of maintenance are discussed:

  • Corrective maintenance
  • Adaptive maintenance
  • Perfecting maintenance
  • Preventive maintenance

The important trigger for migration and refactoring is design drift. The original architecture will erode over the different maintenance cycles ultimately rendering maintenance useless. At this moment software reengineering will be required. This can take different forms:

  • Retargeting
  • Revamping
  • Re-architecting
  • Redesign

Going from the old to the new can happen in diverse ways:

  • Rewrite: new technologies but new errors
  • Wrapping: exiting knowledge but old architecture
  • Migration: existing knowledge and newt architecture

Migration can use different approaches:

  • Model to Model
  • Model to Code
  • Code to Model

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.