Core technologies for system renovation

  • Mark van den Brand
  • Paul Klint
  • Chris Verhoef
Invited Papers Programming and Software Engineering
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1175)


Renovation of business-critical software is becoming increasingly important. We identify fundamental notions and techniques to aid in system renovation and sketch some basic techniques: generic language technology to build analysis tools, a knowledge retrieval system to aid in program understanding, and a coordination architecture that is useful to restructure monolithic systems thus enabling their renovation. We argue that these techniques are not only essential for the renovation of old software but that they can also play an important role during the development and maintenance of new software systems.

Additional key words and phrases

re-engineering system renovation, intermediate data representation coordination language query algebra 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ANS85]
    COBOL, ANSI X3.23. American National Standards Institute, 1985.Google Scholar
  2. [ASN87]
    Specification of Abstract Syntax Notation One (ASN-1). 1987. ISO 8824.Google Scholar
  3. [Aus90]
    D. Austry. The VTP project: modular abstract syntax specification. Rapports de Recherche 1219, INRIA, Sophia-Antipolis, 1990.Google Scholar
  4. [BB96]
    J.C.M. Baeten and J.A. Bergstra. Discrete time process algebra. Formal Aspects of Computing, 8(2):188–208, 1996.Google Scholar
  5. [BK96a]
    J. A. Bergstra and P. Klint. The discrete time toolbus. In M. Wirsing and M. Nivat, editors, Algebraic Methodology and Software Technology (AMAST '96), volume 1101 of LNCS, pages 288–305. Springer-Verlag, 1996.Google Scholar
  6. [BK96b]
    J.A. Bergstra and P. Klint. The toolbus coordination architecture. In P. Ciancarini and C. Hankin, editors, Coordination Languages and Models, volume 1061 of LNCS, pages 75–88. Springer-Verlag, 1996.Google Scholar
  7. [BKOV]
    M.G.J. van den Brand, P. Klint, P. Olivier, and E. Visser. Aterms: representing structured data for exchange between heterogeneous tools. Unpublished manuscript.Google Scholar
  8. [BKV96]
    M.G.J. van den Brand, P. Klint, and C. Verhoef. Reverse engineering and system renovation — an annotated bibliography. Technical Report P9603, University of Amsterdam, Programming Research Group, 1996.Google Scholar
  9. [BS95]
    M.L. Brodie and M. Stonebraker. Migrating Legacy Systems — Gateways, Interfaces & The Incremental Approach. Morgan Kaufmann Publishers, Inc., 1995.Google Scholar
  10. [BV95]
    J.C.M. Baeten and C. Verhoef. Concrete process algebra. In S. Abramsky, D.M. Gabbay, and T.S.E. Maibaum, editors, Handbook of Logic in Computer Science, Volume IV, Syntactical Methods, pages 149–268. Oxford University Press, 1995.Google Scholar
  11. [BW90]
    J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge University Press, 1990.Google Scholar
  12. [CC90]
    E.J. Chikofsky and J.H. Cross. Reverse engineering and design recovery: A taxonomy. IEEE Software, 7(1):13–17, 1990.Google Scholar
  13. [Cor89]
    T.A. Corbi. Program understanding: challenge for the 1990s. IBM System Journal, 28(2):294–306, 1989.Google Scholar
  14. [DHK96]
    A. van Deursen, J. Heering, and P. Klint, editors. Language Prototyping: An Algebraic Specification Approach, volume 5 of AMAST Series in Computing. World Scientific Publishing Co., 1996.Google Scholar
  15. [DRW96]
    P.T. Devanbu, D.R. Rosenblum, and A.L. Wolf. Generating testing and analysis tools. ACM Transactions on Software Engineering and Methodology, 5(1):42–62, 1996.Google Scholar
  16. [Flo71]
    I. Flores. Job Control Language and File Definition. Prentice-Hall, Englewood Cliffs, N.J., 1971.Google Scholar
  17. [HHKR92]
    J. Heering, P.R.H. Hendriks, P. Klint, and J. Rekers. The syntax definition formalism SDF — reference manual, 1992. Earlier version in SIGPLAN Notices, 24(11):43–75, 1989.Google Scholar
  18. [KB93]
    J.W.C. Koorn and H.C.N. Bakker. Building an editor from existing components: an exercise in software re-use. Report P9312, Programming Research Group, University of Amsterdam, 1993.Google Scholar
  19. [Kli93]
    P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2):176–201, 1993.Google Scholar
  20. [KR78]
    B.W. Kernighan and D.M. Ritchie. The C Programming Language. Prentice-Hall, 1978.Google Scholar
  21. [LeL87]
    INRIA, Rocquencourt. LeLisp, Version 15.21, le manuel de référence, 1987.Google Scholar
  22. [Ode93]
    M. Odersky. Defining context-dependent syntax without using contexts. ACM Transactions on Programming Languages and Systems, 15(3):535–562, 1993.Google Scholar
  23. [Ous94]
    J.K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994.Google Scholar
  24. [PP94a]
    S. Paul and A. Prakash. A framework for source code search using program patterns. IEEE Transactions on Software Engineering, 20(6):463–475, 1994.Google Scholar
  25. [PP94b]
    S. Paul and A. Prakash. Supporting queries on source code: A formal framework. International Journal of Software Engineering and Knowledge Engineering, 4(3):325–348, 1994.Google Scholar
  26. [REQ94]
    REQL Source Code Query Language. Raleigh, USA, 1994. User Guide and Language Reference — Version 2.0 for Windows.Google Scholar
  27. [RT89]
    T. Reps and T. Teitelbaum. The Synthesizer Generator: a System for Constructing Language-Based Editors. Springer-Verlag, 1989.Google Scholar
  28. [Sno89]
    R. Snodgrass. The Interface Description Language. Computer Science Press, 1989.Google Scholar
  29. [VVW94]
    S.F.M. van Vlijmen, P.N. Vriend, and A. van Waveren. Control and data transfer in the distributed editor of the ASF+SDF meta-environment. Report P9415, Programming Research Group, University of Amsterdam, 1994.Google Scholar
  30. [You89]
    E. Yourdon. RE-3. American Programmer, 2(4):3–10, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Mark van den Brand
    • 1
  • Paul Klint
    • 2
    • 1
  • Chris Verhoef
    • 1
  1. 1.Programming Research GroupUniversity of AmsterdamSJ AmsterdamThe Netherlands
  2. 2.Department of Software TechnologyCentre for Mathematics and Computer ScienceAB AmsterdamThe Netherlands

Personalised recommendations