Abstract :
Software maintenance is the Cinderella of Software Engineering. The cost of creating a longlived application is dwarfed by the cost of maintaining, updating and porting it over a lifetime sometimes measured in decades, yet few software engineers plan for maintainability. The only alternative to maintenance is to routinely re-implement working systems to a revised specification, but this is an even more expensive proposition. In fact, as the deployed software base continues to grow, we may already have reached the point where it¿s economically impossible to replace working applications, and there¿s no alternative to maintaining them. Fortunately, recent studies show that model-driven development methods (such as OMG¿s Model Driven Architecture) not only help develop quality applications quickly and cheaply in the first place, but also yield dramatic savings in the time and effort needed to maintain them. Use of model-driven techniques may literally be the only way businesses can afford to keep their software infrastructure running over the next few decades.