Core Technologies for System Renovation

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.

[1]  J. M. T. Romijn Automatic analysis of term rewriting systems: proving properties of term rewriting systems derived from ASF+SDF specifications , 1995 .

[2]  Arie van Deursen,et al.  Language Prototyping: An Algebraic Specification Approach , 1996, AMAST Series in Computing.

[3]  Jan A. Bergstra,et al.  Network algebra for synchronous and asynchronous dataflow , 1994 .

[4]  Eelco Visser Solving type equations in multi-level specifications (preliminary version) , 1996 .

[5]  M. J. Koens,et al.  A Real Time μCRL Specification of a System for Traffic Regulation at Signalized Intersections , 1995 .

[6]  Alex Sellink On the Conservativity of Leibniz Equality , 1998, Int. J. Found. Comput. Sci..

[7]  J. Brunekreef,et al.  TransLog, an interactive tool for transformation of logic programs , 1995 .

[8]  T. B. Dinesh,et al.  Specifying Input and Output of Visual Languages , 1996 .

[9]  C. Groza The Algebraic Speciication of Annotated Abstract Syntax Trees , 1994 .

[10]  Jan A. Bergstra,et al.  Discrete time process algebra (revised version of P9208b) , 1995 .

[11]  T. B. Dinesh,et al.  Asf+Sdf'95: a workshop on Generating Tools from Algebraic Specifications , 1995 .

[12]  Jan A. Bergstra,et al.  Sequential data algebra primitives , 1996 .

[13]  Jan A. Bergstra,et al.  Process algebra with feedback , 1994 .

[14]  P. A. Olivier,et al.  Embedded system simulation: testdriving the ToolBus , 1996 .

[15]  Jan A. Bergstra,et al.  Sequential data algebra primitives (revised version of P9602) , 1996 .

[16]  Chris Verhoef,et al.  Concrete process algebra , 1995, LICS 1995.

[17]  Paul Klint,et al.  The syntax definition formalism SDF—reference manual— , 1989, SIGP.

[18]  Jan A. Bergstra,et al.  Frame-based process logics , 1995 .

[19]  Martin Odersky,et al.  Defining context-dependent syntax without using contexts , 1993, TOPL.

[20]  Michael Stonebraker,et al.  Migrating Legacy Systems: Gateways, Interfaces, and the Incremental Approach , 1995 .

[21]  Jan A. Bergstra,et al.  The Discrete Time TOOLBUS , 1996, AMAST.

[22]  Paul Klint,et al.  A meta-environment for generating programming environments , 1989, TSEM.

[23]  Jan A. Bergstra,et al.  Grid protocols based on synchronous communication: specification and correctness , 1995 .

[24]  Chris Verhoef,et al.  A General Conservative Extension Theorem in Process Algebra , 1994, PROCOMET.

[25]  Jan A. Bergstra,et al.  Axiomatizing Probabilistic Processes: ACP with Generative Probabilities , 1995, Inf. Comput..

[26]  S.F.M. van Vlijmen,et al.  Control and Data Transfer in the Distributed Editor of the ASF+SDF Meta-environment , 1994 .

[27]  Jan A. Bergstra,et al.  Network algebra with demonic relation operators , 1995 .

[28]  J. J. Brunekreef A transformation tool for pure Prolog programs: the algebraic specification , 1996 .

[29]  Premkumar T. Devanbu,et al.  Generating testing and analysis tools with Aria , 1996, TSEM.

[30]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[31]  Brian W. Kernighan,et al.  The C Programming Language , 1978 .

[32]  Job control language and file definition , 1971 .

[33]  P. Klint,et al.  Reverse engineering and system renovation—an annotated bibliography , 1997, SOEN.

[34]  Eelco Visser,et al.  Generation of formatters for context-free languages , 1996, TSEM.

[35]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[36]  Thomas Reps,et al.  The Synthesizer Generator: A System for Constructing Language-Based Editors , 1988 .

[37]  Jos van Wamel Process Algebra with Language Matching , 1997, Theor. Comput. Sci..

[38]  Eelco Visser,et al.  A Case Study in Optimizing Parsing Schemata by Disambiguation Filters , 1997, IWPT.

[39]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[40]  Atul Prakash,et al.  Supporting Queries on Source Code: a Formal Framework , 1994, Int. J. Softw. Eng. Knowl. Eng..

[41]  C. Groza An Experiment in Implementing Process Algebra Specifications in a Procedural Language , 1995 .

[42]  J. W. C. Koorn,et al.  Building an Editor From Existing Components: An Exercise in Software Re-Use , 1993 .

[43]  L.M.F. Moonen,et al.  Data Flow Analysis for Reverse Engineering , 1996 .

[44]  Eelco Visser,et al.  From Box to T E X: An algebraic approach to the construction of documentation tools , 1994 .

[45]  Jan A. Bergstra,et al.  The TOOLBUS Coordination Architecture , 1996, COORDINATION.

[46]  Jan A. Bergstra,et al.  Frame algebra with synchronous communication , 1995 .

[47]  H. P. Korver,et al.  A well-formedness checker for ?CRL , 1995 .

[48]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[49]  Atul Prakash,et al.  A Framework for Source Code Search Using Program Patterns , 1994, IEEE Trans. Software Eng..