Abstract
Traditional programming paradigms revolve around mapping a single requirements specification into a program. As less and less software is developed from scratch, and more and more is developed from existing software artifacts, this traditional paradigm is growing less and less predominant. Paradigms that are gaining ground include:
-
Program adaptation, whereby a program is modified to satisfy a specification that it does not originally satisfy; this occurs in adaptive software maintenance and in white box software reuse.
-
Software Incrementation, whereby a program is modified to have an additional functional feature, while preserving its current functional properties.
-
Software Merging, whereby two (typically) similar software products are merged into a single product that cumulates the functional features of each; this arises typically when the two products are obtained by software incrementation from a common base version.
-
Software Composition, whereby various existing reusable assets are composed together (by means of application-specific code) to produce a prespecified software application; this arises in component-based software development.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
N. Boudriga, F. Elloumi, and A. Mili. The lattice of specifications: Applications to a specification methodology. Formal Aspects of Computing, 4:544–571, 1992.
C.A.R. Hoare et al. Laws of programming. Communications of the ACM, 30(8):672–686, 1987.
M. Frappier, J. Desharnais, and A. Mili. A calculus of program construction by parts. Science of Computer Programming, 6:237–254, 1996.
E.C.R. Hehner. A Practical Theory of Programming. Springer-Verlag, 1993.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ayed, R.B., Desharnais, J., Frappier, M., Mili, A. (1999). Mathematical Foundations for Program Transformations. In: Flener, P. (eds) Logic-Based Program Synthesis and Transformation. LOPSTR 1998. Lecture Notes in Computer Science, vol 1559. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48958-4_21
Download citation
DOI: https://doi.org/10.1007/3-540-48958-4_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65765-1
Online ISBN: 978-3-540-48958-0
eBook Packages: Springer Book Archive