Typechecking Java Protocols with [St]Mungo

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Typechecking Java Protocols with [St]Mungo
Συγγραφείς: A. Laura Voinea, Ornela Dardha, Simon J. Gay
Στοιχεία εκδότη: Zenodo
Έτος έκδοσης: 2020
Συλλογή: Zenodo
Θεματικοί όροι: multiparty session types, typestate, [St]Mungo, HTTP protocol
Περιγραφή: This is a tutorial paper on [St]Mungo, a toolchain based on multiparty session types and their connection to typestates for safe distributed programming in Java language. The StMungo (Scribble-to-Mungo) tool is a bridge between multiparty session types and typestates. StMungo translates a communication protocol, namely a sequence of sends and receives of messages, given as a multiparty session type in the Scribble language, into a typestate specification and a Java API skeleton. The generated API skeleton is then further extended with the necessary logic, and finally typechecked by Mungo. The Mungo tool extends Java with (optional) typestate specifications. A typestate is a state machine specifying a Java object protocol, namely the permitted sequence of method calls of that object. Mungo statically typechecks that method calls follow the object’s protocol, as defined by its typestate specification. Finally, if no errors are reported, the code is compiled with javac and run as standard Java code. In this tutorial paper we give an overview of the stages of the [St]Mungo toolchain, starting from Scribble communication protocols, translating to Java classes with typestates, and finally to typechecking method calls with Mungo. We illustrate the [St]Mungo toolchain via a real-world case study, the HTTP client-server request-response protocol over TCP. During the tutorial session, we will apply [St]Mungo to a range of examples having increasing complexity, with HTTP being one of them.
Τύπος εγγράφου: conference object
Γλώσσα: English
Relation: https://zenodo.org/communities/eu/; https://zenodo.org/records/3956233; oai:zenodo.org:3956233
DOI: 10.1007/978-3-030-50086-3_12
Διαθεσιμότητα: https://doi.org/10.1007/978-3-030-50086-3_12
https://zenodo.org/records/3956233
Rights: Creative Commons Attribution 4.0 International ; cc-by-4.0 ; https://creativecommons.org/licenses/by/4.0/legalcode
Αριθμός Καταχώρησης: edsbas.3A784DFB
Βάση Δεδομένων: BASE
Περιγραφή
DOI:10.1007/978-3-030-50086-3_12