We introduce Contiguity Types, a formalism for network message formats, aimed especially at self-describing formats. Contiguity types provide an intermediate layer between programming language data structures and messages, offering a helpful setting from which to automatically generate decoders, filters, and message generators. The syntax and semantics of contiguity types are defined and used to prove the correctness of a matching algorithm which has the flavour of a parser generator. The matcher has been used to enforce semantic well-formedness conditions on complex message formats for an autonomous unmanned avionics system.
@InProceedings{slind:LIPIcs.ITP.2021.30, author = {Slind, Konrad}, title = {{Specifying Message Formats with Contiguity Types}}, booktitle = {12th International Conference on Interactive Theorem Proving (ITP 2021)}, pages = {30:1--30:17}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-188-7}, ISSN = {1868-8969}, year = {2021}, volume = {193}, editor = {Cohen, Liron and Kaliszyk, Cezary}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ITP.2021.30}, URN = {urn:nbn:de:0030-drops-139252}, doi = {10.4230/LIPIcs.ITP.2021.30}, annote = {Keywords: Logic, verification, formal language theory, message format languages} }
Feedback for Dagstuhl Publishing