Abstract
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.
The authors were all in part sponsored by bank ABN AMRO, software house DP-Finance, and the Dutch Ministry of Economical Affairs via the Senter Project #ITU95017 “SOS Resolver”. Chris Verhoef was also supported by the Netherlands Computer Science Research Foundation (SION) with financial support from the Netherlands Organization for Scientific Research (NWO), project Interactive tools for program understanding, 612-33-002.
Preview
Unable to display preview. Download preview PDF.
References
COBOL, ANSI X3.23. American National Standards Institute, 1985.
Specification of Abstract Syntax Notation One (ASN-1). 1987. ISO 8824.
D. Austry. The VTP project: modular abstract syntax specification. Rapports de Recherche 1219, INRIA, Sophia-Antipolis, 1990.
J.C.M. Baeten and J.A. Bergstra. Discrete time process algebra. Formal Aspects of Computing, 8(2):188–208, 1996.
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.
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.
M.G.J. van den Brand, P. Klint, P. Olivier, and E. Visser. Aterms: representing structured data for exchange between heterogeneous tools. Unpublished manuscript.
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.
M.L. Brodie and M. Stonebraker. Migrating Legacy Systems — Gateways, Interfaces & The Incremental Approach. Morgan Kaufmann Publishers, Inc., 1995.
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.
J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge University Press, 1990.
E.J. Chikofsky and J.H. Cross. Reverse engineering and design recovery: A taxonomy. IEEE Software, 7(1):13–17, 1990.
T.A. Corbi. Program understanding: challenge for the 1990s. IBM System Journal, 28(2):294–306, 1989.
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.
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.
I. Flores. Job Control Language and File Definition. Prentice-Hall, Englewood Cliffs, N.J., 1971.
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.
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.
P. Klint. A meta-environment for generating programming environments. ACM Transactions on Software Engineering and Methodology, 2(2):176–201, 1993.
B.W. Kernighan and D.M. Ritchie. The C Programming Language. Prentice-Hall, 1978.
INRIA, Rocquencourt. LeLisp, Version 15.21, le manuel de référence, 1987.
M. Odersky. Defining context-dependent syntax without using contexts. ACM Transactions on Programming Languages and Systems, 15(3):535–562, 1993.
J.K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994.
S. Paul and A. Prakash. A framework for source code search using program patterns. IEEE Transactions on Software Engineering, 20(6):463–475, 1994.
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.
REQL Source Code Query Language. Raleigh, USA, 1994. User Guide and Language Reference — Version 2.0 for Windows.
T. Reps and T. Teitelbaum. The Synthesizer Generator: a System for Constructing Language-Based Editors. Springer-Verlag, 1989.
R. Snodgrass. The Interface Description Language. Computer Science Press, 1989.
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.
E. Yourdon. RE-3. American Programmer, 2(4):3–10, 1989.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van den Brand, M., Klint, P., Verhoef, C. (1996). Core technologies for system renovation. In: Jeffery, K.G., Král, J., Bartošek, M. (eds) SOFSEM'96: Theory and Practice of Informatics. SOFSEM 1996. Lecture Notes in Computer Science, vol 1175. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037407
Download citation
DOI: https://doi.org/10.1007/BFb0037407
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61994-9
Online ISBN: 978-3-540-49588-8
eBook Packages: Springer Book Archive