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

被引:0
作者
Simonsen, Kent Inge Fagerland [1 ]
Kristensen, Lars Michael [1 ]
机构
[1] Bergen Univ Coll, Dept Comp, Bergen, Norway
来源
DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS (DAIS 2014) | 2014年 / 8460卷
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
收藏
页码:104 / 118
页数:15
相关论文
共 15 条
  • [1] A coloured Petri net approach to protocol verification
    Billington, J
    Gallasch, GE
    Han, B
    [J]. LECTURES ON CONCURRENCY AND PETRI NETS: ADVANCES IN PETRI NETS, 2004, 3098 : 210 - 290
  • [2] Brumbulli M., 2011, LNCS, V6598, P144
  • [3] Fette I., 2011, RFC
  • [4] FISCHER J, 2009, P MATHMOD
  • [5] Gupta A., CHAT SEVER USING WEB
  • [6] Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems
    Jensen K.
    Kristensen L.M.
    Wells L.
    [J]. International Journal on Software Tools for Technology Transfer, 2007, 9 (3-4) : 213 - 254
  • [7] Mace: Language support for building distributed systems
    Killian, Charles
    Anderson, James W.
    Braud, Ryan
    Jhala, Ranjit
    Vahdat, Amin
    [J]. ACM SIGPLAN NOTICES, 2007, 42 (06) : 179 - 188
  • [8] KRAEMER FA, 2009, TELEKTRONIKK, V105
  • [9] Kristensen Lars M., 2013, Transactions on Petri Nets and Other Models of Concurrency VII, P56, DOI 10.1007/978-3-642-38143-0_3
  • [10] Kristensen LM, 2010, LECT NOTES COMPUT SC, V6371, P215, DOI 10.1007/978-3-642-15898-8_14