Hybrid Session Verification Through Endpoint API Generation
This paper proposes a new hybrid session verification methodology for applying session types directly to mainstream languages, based on generating protocol-specific endpoint APIs from multiparty session types. The API generation promotes static type checking of the behavioural aspect of the source p...
Saved in:
Published in | Fundamental Approaches to Software Engineering pp. 401 - 418 |
---|---|
Main Authors | , |
Format | Book Chapter |
Language | English |
Published |
Berlin, Heidelberg
Springer Berlin Heidelberg
2016
|
Series | Lecture Notes in Computer Science |
Subjects | |
Online Access | Get full text |
ISBN | 9783662496640 366249664X |
ISSN | 0302-9743 1611-3349 |
DOI | 10.1007/978-3-662-49665-7_24 |
Cover
Summary: | This paper proposes a new hybrid session verification methodology for applying session types directly to mainstream languages, based on generating protocol-specific endpoint APIs from multiparty session types. The API generation promotes static type checking of the behavioural aspect of the source protocol by mapping the state space of an endpoint in the protocol to a family of channel types in the target language. This is supplemented by very light run-time checks in the generated API that enforce a linear usage discipline on instances of the channel types. The resulting hybrid verification guarantees the absence of protocol violation errors during the execution of the session. We implement our methodology for Java as an extension to the Scribble framework, and use it to specify and implement compliant clients and servers for real-world protocols such as HTTP and SMTP. |
---|---|
ISBN: | 9783662496640 366249664X |
ISSN: | 0302-9743 1611-3349 |
DOI: | 10.1007/978-3-662-49665-7_24 |