Abstract
Long running applications often need to adapt due to changing requirements or changing environment. Typically, such adaptation is performed by dynamically adding or removing components. In these types of adaptation, components are often added to or removed from multiple processes in the system. While techniques for such adaptations have been extensively discussed in the literature, there is a lack of systematic methods to ensure the correctness of dynamic adaptation. To redress this deficiency, in this paper, we propose a new method, based on the concept of proof lattice, for verifying correctness of dynamic adaptation in a distributed application. We use transitional-invariant lattice to verify correctness of adaptation. As an illustration of this method, we show how correctness of dynamic adaptation is obtained in the context of a message communication application.
This work was partially sponsored by NSF CAREER CCR-0092724, DARPA Grant OSURS01-C-1901, ONR Grant N00014-01-1-0744, NSF grant EIA-0130724, and a grant from Michigan State University.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Chen, W.K., Hiltunen, M., Schlichting, R.: Constructing adaptive software in distributed systems. In: 21st International Conference on Distributed Computing Systems, April 2001, pp. 635–643 (2001)
McKinley, P., Padmanabhan, U.: Design of composable proxy filters for mobile computing. In: Workshop on Wireless Networks and Mobile Computing (2001)
Hallstrom, J., Leal, W., Arora, A.: Scalable evolution of highly available systems. Transactions of the Institute for Electronics, Information and Communication Engineers (to appear)
Redmond, B., Cahill, V.: Supporting unanticipated dynamic adaptation of application. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 205. Springer, Heidelberg (2002)
Owicki, S., Lamport, L.: Proving liveness properties of concurrent programs. ACM Transactions on Programming Languages and Systems 4, 455–495 (1982)
Kulkarni, S.S., Biyani, K.N., Arumugam, U.: Composing distributed fault-tolerance components. In: Workshop on Principles of Dependable Systems, DSN (June 2003)
Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21, 181–185 (1985)
Arora, A., Kulkarni, S.S.: Component based design of multitolerant systems. IEEE transactions on Software Engineering 24(1), 63–78 (1998)
Kulkarni, S., Biyani, K.: Correctness of dynamic adaptation. Technical report, Department of Computer Science, Michigan State University (January 2004)
Gouda, M.G., Herman, T.: Adaptive programming. IEEE Transactions on Software Engineering 17, 911–921 (1991)
Cheng, B., Yang, Z., Zhang, J.: Enabling safe dynamic adaptation. Technical report, Department of Computer Science, Michigan State University (May 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kulkarni, S.S., Biyani, K.N. (2004). Correctness of Component-Based Adaptation. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2004. Lecture Notes in Computer Science, vol 3054. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24774-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-24774-6_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21998-9
Online ISBN: 978-3-540-24774-6
eBook Packages: Springer Book Archive