Implementing the WebSocket Protocol Based on Formal Modelling and Automated Code Generation - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2014

Implementing the WebSocket Protocol Based on Formal Modelling and Automated Code Generation

Résumé

Model-based software engineering offers several attractive benefits for the implementation of protocols, including automated code generation for different platforms from design-level models. In earlier work, we have proposed a template-based approach using Coloured Petri Net formal models with pragmatic annotations for automated code generation of protocol software. The contribution of this paper is an application of the approach as implemented in the PetriCode tool to obtain protocol software implementing the IETF WebSocket protocol. This demonstrates the scalability of our approach to real protocols. Furthermore, we perform formal verification of the CPN model prior to code generation, and test the implementation for interoperability against the Autobahn WebSocket test-suite resulting in 97% and 99% success rate for the client and server implementation, respectively. The tests show that the cause of test failures were mostly due to local and trivial errors in newly written code-generation templates, and not related to the overall logical operation of the protocol as specified by the CPN model.
Fichier principal
Vignette du fichier
326177_1_En_9_Chapter.pdf (282.27 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01287735 , version 1 (14-03-2016)

Licence

Identifiants

Citer

Kent Fagerland Simonsen, Lars Michael Kristensen. Implementing the WebSocket Protocol Based on Formal Modelling and Automated Code Generation. 4th International Conference on Distributed Applications and Interoperable Systems (DAIS), Jun 2014, Berlin, Germany. pp.104-118, ⟨10.1007/978-3-662-43352-2_9⟩. ⟨hal-01287735⟩
123 Consultations
174 Téléchargements

Altmetric

Partager

More