Abstract
Global Session Types are typically used to express communication protocols between a number of participating entities. Analyses on these types can be used to prove that message passing programs have a variety of desirable properties such as communications safety and deadlock freedom. In this paper we provide a Global Session Type analysis for queued channel message passing programs whose code may be updated during runtime (Dynamic Software Update). In particular, we prove safety and liveness properties for well-typed programs by identifying suitable restrictions on the runtime points at which dynamic updates may occur. This includes the possibility of updating several threads without requiring global thread synchronisation.
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
Ajmani, S.: Automatic Software Upgrades for Distributed Systems. Artificial Intelligence (Cm), 1–23 (2004)
Anderson, G.: Behavioural Properties and Dynamic Software Update for Concurrent Programs. Ph.D. Thesis, University of Southampton (2012)
Appel, A.: Hot-sliding in ML. Technical report. Princeton University, Princeton, New Jersey, USA
Bettini, L., Coppo, M., D’Antoni, L., De Luca, M., Dezani-Ciancaglini, M., Yoshida, N.: Global Progress in Dynamically Interleaved Multiparty Sessions. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 418–433. Springer, Heidelberg (2008)
Bierman, G., Hicks, M., Sewell, P., Stoyle, G.: Formalizing Dynamic Software Updating. In: Proceedings of the 2nd Workshop on Unanticipated Software Evolution
Boyapati, C., Liskov, B., Shrira, L., Moh, C.-H., Richman, S.: Lazy Modular Upgrades In Persistent Object Stores. In: Proceedings of the 18th on Object-oriented Programing, Systems, Languages, and Applications, pp. 403–417
Deniélou, P.-M., Yoshida, N.: Buffered Communication Analysis in Distributed Multiparty Sessions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 343–357. Springer, Heidelberg (2010)
Dezani-Ciancaglini, M., de’Liguoro, U.: Sessions and Session Types: An Overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1–28. Springer, Heidelberg (2010)
Hayden, C.M., Smith, E.K., Denchev, M., Hicks, M., Foster, J.S.: Kitsune: Efficient, General-purpose Dynamic Software Updating for C
Hayden, C.M., Smith, E.K., Hicks, M., Foster, J.S.: State Transfer for Clear and Efficient Runtime Upgrades. In: Proceedings of the 3rd Workshop on Hot Topics in Software Upgrades
Hayden, C.M., Saur, K., Hicks, M., Foster, J.S.: A Study of Dynamic Software Update Quiescence for Multithreaded Programs. In: Proceedings of the 4th Workshop on Hot Topics in Software Upgrades
Hicks, M., Nettles, S.: Dynamic Software Updating. ACM Trans. Program. Lang. Syst. 27(6), 1049–1096 (2005) ISSN 0164-0925
Honda, K., Yoshida, N., Carbone, M.: Multiparty Asynchronous Session Types (January 2008) ISSN 0362-1340
Lea, D.: Concurrent Programming in Java: Design Principles and Patterns, 2nd edn. Addison-Wesley Longman Publishing Co., Inc. (1999)
Neamtiu, I., Hicks, M.: Safe and Timely Dynamic Updates to Multi-threaded Programs. In: Proceedings of the Conference on Programming Language Design and Implementation, pp. 13–24
Stoyle, G., Hicks, M., Bierman, G., Sewell, P., Neamtiu, I.: Mutatis Mutandis: Safe and predictable dynamic software updating. ACM Trans. Program. Lang. Syst. 29(4), 183–194
Subramanian, S.: Dynamic Software Updates: A VM-Centric Approach. PhD thesis, University of Texas at Austin
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Anderson, G., Rathke, J. (2012). Dynamic Software Update for Message Passing Programs. In: Jhala, R., Igarashi, A. (eds) Programming Languages and Systems. APLAS 2012. Lecture Notes in Computer Science, vol 7705. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35182-2_15
Download citation
DOI: https://doi.org/10.1007/978-3-642-35182-2_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35181-5
Online ISBN: 978-3-642-35182-2
eBook Packages: Computer ScienceComputer Science (R0)