Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Model-driven software migration : a methodology reengineering, recovery and modernization of legacy systems
Wagner C., Springer Vieweg, Wiesbaden, Germany, 2014. 332 pp. Type: Book (978-3-658052-69-0)
Date Reviewed: Aug 14 2014

Change is inevitable in life, and software, like anything else, may need to undergo change for many reasons. The cost of software maintenance is high; it may range from 60 percent up to 75 percent of the total cost of a software system. This book describes the concepts, theory, methodology, and practicalities of a modern approach to software maintenance, namely, model-driven software maintenance.

The book has been organized into seven chapters. Chapter 1 discusses the motivations and basic concepts associated with software maintenance, archaeological discovery, and software migration, and the scientific contribution of the work together with validation of the approach.

The general science and basic concepts behind software maintenance are explored in chapter 2. The discussion in this chapter is essential to understanding the model-driven software migration described in chapter 3. To this end, chapter 2 first covers fundamental concepts related to the different software process models and their roles in software maintenance. The chapter then covers the notion of software maintenance, different types of maintenance, and tasks relevant to software maintenance. The author then shifts to the other important aspects of maintenance, namely, legacy systems, software re-engineering techniques, software migration, and models and the role of modeling. The chapter ends with an elaboration of modeling concepts and modeling notations, and a survey of model-driven and model-based approaches to software evolution.

The model-driven software migration methodology is described in chapter 3. More specifically, this chapter tries to provide in-depth details of the model that is being used as the centerpiece of model-driven development in the field of software maintenance. The chapter describes the importance of the model, its main departure from existing code analysis approaches, and the process by which the model is extracted and used in the re-engineering of a legacy software system. To this end, the chapter covers the following approaches: continuous software development, which is used for synchronization during the development process, and continuous model-driven engineering (CMDE), which represents the description and execution of business processes and includes a detailed explanation of its main ingredients (model-driven development, process modeling, extreme programming, aspect and service orientations, and the involvement of stakeholders). The chapter then changes its focus to the backbone of the model-driven evolution approach. It describes the theory and process behind this approach and how model-driven re-engineering is being exploited in the area of model-driven evolution and migration. Starting with model-driven re-engineering activities, the chapter explains each single activity, such as modeling, code analysis, and code generation, used in the reverse engineering phase. The output of this phase is used as an input to model-driven migration, which is an incremental process for adding new functional requirements and/or porting software to the new platform.

Chapter 4 is a comprehensive survey of existing works and known approaches in software maintenance. To this end, the survey includes works in the areas of program analysis and supporting toolsets (for example, various compilers), language and meta-language exchange formats (for example, the graph exchange language (GXL)), reverse re-engineering tools, modeling tools, source code transformations, and so on. The chapter ends with a discussion of various research projects in the area of software migration.

In chapter 5, the author demonstrates the practicality of model-driven software maintenance using a legacy software system known as DeAs, which is a software system used by the German Aerospace Center (DLR) and the Dutch Nationaal Lucht- en Ruimtevaartlaboratorium (NLR) to manage and control experimental results in a wind tunnel. The main justifications for choosing DeAs were the complexity of the system and its relevance to various aspects of computer science. The case study illustrates in good detail the step-by-step application of the theory and methodology of model-driven software maintenance that was outlined in chapter 3. The discussion in this chapter, among other things, includes parsing of source code using the Elsa parser, translating the output of the Elsa parser into Extensible Markup Language (XML) format, creating a code model (control flow graph model) that takes XML as input via modeling tools, performing model-driven analysis and code-model generation, translating the generated code, performing model-driven migration, and validating re-engineered DeAs against the original systems.

Chapters 6 and 7 discuss the possible applications of model-driven software maintenance, summarize the results, and pose open research questions.

This book is well written and well organized. Its main contributions revolve around an in-depth discussion of the theory, terminologies, and methodology behind model-driven software migration, the practicality of the approach using a complex legacy system, and validation of the work. It can be used as a textbook or reference by graduate students and professionals who are interested in advanced topics in software maintenance.

Reviewer:  Hassan Reza Review #: CR142621 (1411-0915)
Bookmark and Share
 
Distribution, Maintenance, and Enhancement (D.2.7 )
 
 
Design Tools and Techniques (D.2.2 )
 
 
Model Development (I.6.5 )
 
Would you recommend this review?
yes
no
Other reviews under "Distribution, Maintenance, and Enhancement": Date
A program design language based software maintenance tool
Ince D. (ed) Software--Practice & Experience 15(6): 583-594, 1985. Type: Article
Mar 1 1986
The complete computer maintenance handbook
Bellin D. (ed), Harper&Row Publishers, Inc., New York, NY, 1986. Type: Book (9789780060406189)
Jul 1 1986
Building custom software tools and libraries
Stitt M., John Wiley & Sons, Inc., New York, NY, 1993. Type: Book (9780471579144)
Nov 1 1993
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy