Incremental Transformation of Business Software

  • Thomas Rauber
  • Gudula Rünger
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 12)


Business software systems have often grown over years and contain specific knowledge which is essential for the enterprise using the software. However, it is difficult to adapt these software systems to the rapidly changing hardware and software technologies. This so-called legacy problem is extremely cost intensive when a change in the software itself or the hardware platform is required due to a change in the business processes of the enterprise or the hardware technology. Thus, a common problem in business software is the cost effective analysis, documentation, and transformation of business software. In this paper, we concentrate on the transformation issue of software systems and propose an incremental process for transforming monolithic business software into client-server architectures. The internal logical structure of the software system is used to create software components in a flexible way. The transformation process is supported by a transformation toolset which preserves correctness and functionality.


Incremental transformation transformation toolset legacy software component 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Akers, R.L., Baxter, I.D., Mehlich, M.: Re-Engineering C++ Components Via Automatic Program Transformation. In: Proc. of ACM Symposium on Partial Evaluation and Program Manipulation, pp. 51–55. ACM Press, New York (2004)CrossRefGoogle Scholar
  2. 2.
    Al-Ekram, R., Kontogiannis, K.: Source Code Modularization Using Lattice of Concept Slices. In: Proc. of Euromicro Working Conference on Software Maintenance and Reengineering (CSMR 2004), pp. 195–203 (2004)Google Scholar
  3. 3.
    Andritsos, P., Tzerpos, V.: Software Clustering based on Information Loss Minimization. In: Proc. of Working Conference on Reverse Engineering (WCRE 2003), pp. 334–344 (2003)Google Scholar
  4. 4.
    Balmas, F.: Displaying dependence graphs: a hierarchical approach. J. of Software Maintenance and Evolution: Research and Practice 16(3), 151–185 (2004)CrossRefGoogle Scholar
  5. 5.
    Baxter, I.D., Pidgeon, C., Mehlich, M.: DMS: Program Transformations for Practical Scalable Software Evolution. In: Proc. of the 26th Int. Conf. on Software Engineering, pp. 625–634. IEEE Press, Los Alamitos (2004)CrossRefGoogle Scholar
  6. 6.
    Bernstein, Ph.A.: Middleware - A Model for Distributed System Services. Commun. of the ACM 39(2) (1996)Google Scholar
  7. 7.
    Brunner, R., Weber, J.: Java Web Services. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  8. 8.
    Cao, F., Bryant, B.R., Burt, C.C., Raje, R.R., Olson, A.M., Auguston, M.: A Component Assembly Approach Based On Aspect-Oriented Generative Domain Modeling. Electronic Notes in Theoretical Computer Science 114, 119–136 (2005)CrossRefGoogle Scholar
  9. 9.
    Crnkovic, I., Larsson, M.: Challenges of component-based development. Journal of Systems and Software 61(3), 201–212 (2002)CrossRefGoogle Scholar
  10. 10.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  11. 11.
    Emmerich, W.: Engineering Distributed Objects. John Wiley & Sons, Chichester (2000)Google Scholar
  12. 12.
    Emmerich, W.: Distributed Component Technologies and their Software Engineering Implications. In: Proc. of Int.Conf.Software Engineering, pp. 537–546. ACM Press, New York (2002)Google Scholar
  13. 13.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Iwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  14. 14.
    Lewandowski, S.M.: Frameworks for component-based client/server computing. ACM Comput. Surv. 30(1), 3–27 (1998)CrossRefGoogle Scholar
  15. 15.
    Litoiu, M.: Migrating to Web Services: a performance engineering approach. Journal of Software Maintenance and Evolution: Research and Practice 16, 51–70 (2004)CrossRefGoogle Scholar
  16. 16.
    Lung, C., Zaman, M.: Applying Clustering Techniques to Software Architecture Partitioning, Recovery and Restructuring. Journal of Systems and Software 73(2), 227–244 (2004)CrossRefGoogle Scholar
  17. 17.
    Mehta, A., Heineman, G.T.: Evolving Legacy System Features into Fine-Grained Components. In: Proc. of Int. Conf. on Software Engineering, pp. 417–427 (2002)Google Scholar
  18. 18.
    Menkhaus, G., Frei, U.: Legacy System Integration using a Grammar-based Transformation System. CIT - Journal of Computing and Information Technology 12(2), 95–102 (2004)CrossRefGoogle Scholar
  19. 19.
    Siegel, J.: Why use the Model Driven Architecture to Design and Build Distributed Applications. In: Proc. of Int.Conf.Software Engineering, p. 37. ACM Press, New York (2005)Google Scholar
  20. 20.
    Zhao, W., Bryant, B.R., Gray, J., Burt, C.C., Raje, R.R., Auguston, M., Olson, A.M.: A Generative and Model Driven Framework for Automated Software Product Generation. In: Proc. 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction, pp. 103–108 (May 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Thomas Rauber
    • 1
  • Gudula Rünger
    • 2
  1. 1.Department of Computer ScienceUniversity of BayreuthGermany
  2. 2.Department of Computer ScienceChemnitz University of TechnologyGermany

Personalised recommendations