Abstract
A common problem in library-based programming is the downward compatibility problem: will a program using an existing version of a library continue to function correctly with an upgraded version? As a step toward addressing this problem for libraries of reactive components we develop a theory that equips components with interface languages characterizing the interaction patterns user applications may engage in with the component. We then show how these languages may be used to build upgrade specifications from components and their interface languages. Intuitively, upgrade specifications explicitly describe requirements an (improved) implementation of a component must satisfy and are intended for use by library developers. Under certain reasonable assumptions about the contexts components are to be used in we show that our upgrade specifications are complete in the sense that every correct upgrade of a component is related in a precise manner to its upgrade specification. In particular, these results hold if the language being used to develop contexts is CSP or CCS.
Chapter PDF
Similar content being viewed by others
Keywords
References
Baeten, J.C.M., Weijland, W.P.: Process Algebra. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1990)
Cleaveland, R., Steffen, B.: A preorder for partial process specification. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 141–151. Springer, Heidelberg (1990)
Hennessy, M.C.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985)
Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM TOPLAS 5(4), 596–619 (1983)
Larsen, K.G.: Context-Dependent Bisimulation Between Processes. PhD thesis, University of Edinburgh (1986)
Larsen, K.G.: Ideal specification formalism = expressivity + compositionality + decidability + testablity + ⋯. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458. Springer, Heidelberg (1990)
Larsen, K.G., Xinxin, L.: Compositionality through an operational semantics of contexts. In: Paterson, M. (ed.) ICALP 1990. LNCS, vol. 443, pp. 526–539. Springer, Heidelberg (1990)
Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)
Park, D.M.R.: Concurrency and automata on infinite sequences. In: Díaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 561–572. Springer, Heidelberg (1981)
Walker, D.J.: Bisimulations and divergence. In: LICS 1988, pp. 186–192. IEEE Computer Society, Los Alamitos (1988)
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
Müller-Olm, M., Steffen, B., Cleaveland, R. (1999). On the Evolution of Reactive Components. In: Finance, JP. (eds) Fundamental Approaches to Software Engineering. FASE 1999. Lecture Notes in Computer Science, vol 1577. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-49020-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-49020-3_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65718-7
Online ISBN: 978-3-540-49020-3
eBook Packages: Springer Book Archive