Abstract
In the implementation of abstract synchronous communication in asynchronous unstructured low-level languages, e.g. using shared variables, the preservation of safety and especially liveness properties is a hitherto open problem due to inherently different abstraction levels. Our approach to overcome this problem is threefold: First, we present our notion of handshake refinement with which we formally prove the correctness of the implementation relation of a handshake protocol. Second, we verify the soundness of our handshake refinement, i.e., all safety and liveness properties are preserved to the lower level. Third, we apply our handshake refinement to show the correctness of all implementations that realize the abstract synchronous communication with the handshake protocol. To this end, we employ an exemplary language with asynchronous shared variable communication. Our approach is scalable and closes the verification gap between different abstraction levels of communication.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Basu, S., Bultan, T., Ouederni, M.: Synchronizability for verification of asynchronously communicating systems. In: Kuncak, V., Rybalchenko, A. (eds.) VMCAI 2012. LNCS, vol. 7148, pp. 56–71. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-27940-9_5
Berg, N., Göthel, T., Glesner, S., Danziger, A.: Technical report accompanying: preserving liveness guarantees from synchronous communication to asynchronous unstructured low-level languages. DepositOnce (2018). https://doi.org/10.14279/depositonce-7192
Brookes, S.D.: On the relationship of CCS and CSP. In: Diaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 83–96. Springer, Heidelberg (1983). https://doi.org/10.1007/BFb0036899
Broy, M., Olderog, R.: Trace-oriented models of concurrency. In: Handbook of Process Algebra, chap. 2. Elsevier (2001)
de Frutos-Escrig, D., Gregorio-Rodríguez, C.: Process equivalences as global bisimulations. JUCS 12(11), 1521–1550 (2006)
Gardner, W.B.: Bridging CSP and C++ with selective formalism and executable specifications. In: Proceedings of the MEMOCODE 2003, p. 237. IEEE (2003)
Jähnig, N., Göthel, T., Glesner, S.: A denotational semantics for communicating unstructured code. In: Proceedings of the FESCA 2015. EPTCS, vol. 178, pp. 9–21 (2015)
Jähnig, N., Göthel, T., Glesner, S.: Refinement-based verification of communicating unstructured code. In: De Nicola, R., Kühn, E. (eds.) SEFM 2016. LNCS, vol. 9763, pp. 61–75. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41591-8_5
Peeters, A.: Implementation of handshake components. In: Abdallah, A.E., Jones, C.B., Sanders, J.W. (eds.) Communicating Sequential Processes. The First 25 Years. LNCS, vol. 3525, pp. 98–132. Springer, Heidelberg (2005). https://doi.org/10.1007/11423348_7
Rensink, A., Gorrieri, R.: Action refinement as an implementation relation. In: Bidoit, M., Dauchet, M. (eds.) CAAP 1997. LNCS, vol. 1214, pp. 772–786. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0030640
Roscoe, A.W.: Understanding Concurrent Systems. TCS. Springer, London (2010). https://doi.org/10.1007/978-1-84882-258-0
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Berg, N., Göthel, T., Danziger, A., Glesner, S. (2018). Preserving Liveness Guarantees from Synchronous Communication to Asynchronous Unstructured Low-Level Languages. In: Sun, J., Sun, M. (eds) Formal Methods and Software Engineering. ICFEM 2018. Lecture Notes in Computer Science(), vol 11232. Springer, Cham. https://doi.org/10.1007/978-3-030-02450-5_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-02450-5_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-02449-9
Online ISBN: 978-3-030-02450-5
eBook Packages: Computer ScienceComputer Science (R0)