Kouzapas, D., Dardha, O. , Perera, R. and Gay, S. J. (2016) Typechecking Protocols with Mungo and StMungo. In: 18th International Symposium on Principles and Practice of Declarative Programming (PPDP 2016), Edinburgh, UK, 5-7 Sept 2016, pp. 146-159. ISBN 9781450341486 (doi: 10.1145/2967973.2968595)
|
Text
120274.pdf - Accepted Version 249kB |
Abstract
We report on two tools which extend Java with support for static typechecking of communication protocols. Our Mungo tool extends Java with typestate definitions, which allow classes to be associated with state machines defining permitted sequences of method calls. A complementary tool, StMungo, takes a communication protocol specified in the Scribble protocol description language, and generates a typestate specification for each endpoint, capturing the permitted sequences of messages along that channel. Endpoint implementations can be validated by Mungo against their typestate definitions and then compiled as usual with javac. We formalise Mungo’s typestate inference system and demonstrate the Scribble, Mungo and StMungo toolchain via a typechecked SMTP client that can communicate with a real-world SMTP server.
Item Type: | Conference Proceedings |
---|---|
Status: | Published |
Refereed: | Yes |
Glasgow Author(s) Enlighten ID: | Gay, Professor Simon and Dardha, Dr Ornela and Kouzapas, Mr Dimitrios and Perera, Dr Roland |
Authors: | Kouzapas, D., Dardha, O., Perera, R., and Gay, S. J. |
College/School: | College of Science and Engineering > School of Computing Science |
ISBN: | 9781450341486 |
Copyright Holders: | Copyright © 2016 The Authors |
First Published: | First published in Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming: 146-159 |
Publisher Policy: | Reproduced in accordance with the copyright policy of the publisher |
Related URLs: |
University Staff: Request a correction | Enlighten Editors: Update this record