Abstract
The Erlang Verification Tool is an interactive theorem prover tailored to verify properties of distributed systems implemented in Erlang. It is being developed by the Swedish Institute of Computer Science in collaboration with Ericsson.
In this paper we present an extension of this tool which allows to reason about the Erlang code on an architectural level. We present a verification methodfor client-server systems designed using the generic server implementation of the Open Telecom Platform. For this purpose, we specify a set of transition rules which characterize the abstract behaviour of the generic server functions. By this means we can reason in a partitioned w ay about any client-server application without having to consider the concrete implementation details of the generic part, which simplifies proofs dramatically.
The generic server architecture is just an example, and the technique extends to many other generic components. Moreover, the idea of considering standard components to reason on the architectural level of a concrete implementation can also be explored when using other verifications tools for Erlang or in the context of another language.
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
T. Arts, M. Dam, L.-å. Fredlund, and D. Gurov. System description: Verification of distributed Erlang programs. In Proc. CADE’98, volume 1421, pages 38–41. Springer-Verlag, 1998.
T. Arts and T. Noll. Verifying generic Erlang client-server implementations. Technical Report 00-08, Aachen University of Technology, Aachen, Germany, 2000. ftp://ftp.informatik.rwth-aachen.de/pub/reports/2000/00-08.ps.gz.
J.L. Armstrong, S.R. Virding, M.C. Williams, and C. Wikström. Concurrent Programming in Erlang. Prentice Hall International, 2nd edition, 1996.
E.M. Clarke, O. Grumberg, and D.E. Long. Model checking andabstraction. ACM Transactions on Programming Languages and Systems, 16(5):1512–1542, 1994.
E.M. Clarke and J.M. Wing. Formal methods: State of the art and future directions. Technical Report CMU-CS-96-178, Carnegie Mellon University, Pittsburg, USA, 1996.
M. Dam, L.-å. Fredlund, and D. Gurov. Toward parametric verification of open distributed systems. In Compositionality: the Significant Difference, volume 1536 of Lecture Notes in Computer Science, pages 150–185. Springer-Verlag, 1998.
L.-å. Fredlund. Towards a semantics for Erlang. Unpublished manuscript. Swedish Institute of Computer Science.
F. Huch. Verification of Erlang programs using abstract interpretation andmo del checking.ACM SIGPLAN Notices, 34(9):261–272, 1999. Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP’ 99).
M. Lange, M. Leucker, T. Noll, and S. Tobies. Truth-a verification platform for concurrent systems. In Tool Support for System Specification, Development, and Verification, Advances in Computing Science. Springer-Verlag Wien New York, 1999.
CCITT Specification andDescription Language (SDL). Technical Report 03/93, International Telecommunication Union, 1993. http://www.itu.int/.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arts, T., Noll, T. (2001). Verifying Generic Erlang Client—Server Implementations. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_3
Download citation
DOI: https://doi.org/10.1007/3-540-45361-X_3
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41919-8
Online ISBN: 978-3-540-45361-1
eBook Packages: Springer Book Archive