Protocol combinators for modeling, testing, and execution of distributed systems

被引:1
|
作者
Andersen, Kristoffer Just Arndal [1 ]
Sergey, Ilya [2 ,3 ]
机构
[1] Aarhus Univ, Dept Comp Sci, Aarhus, Denmark
[2] Yale NUS Coll, NUS Sch Comp, Singapore, Singapore
[3] Natl Univ Singapore, Singapore, Singapore
关键词
D O I
10.1017/S095679682000026X
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Distributed systems are hard to get right, model, test, debug, and teach. Their textbook definitions, typically given in a form of replicated state machines, are concise, yet prone to introducing programming errors if naively translated into runnable implementations. In this work, we present Distributed Protocol Combinators (DPC), a declarative programming framework that aims to bridge the gap between specifications and runnable implementations of distributed systems, and facilitate their modeling, testing, and execution. DPC builds on the ideas from the state-of-the art logics for compositional systems verification. The contribution of DPC is a novel family of program-level primitives, which facilitates construction of larger distributed systems from smaller components, streamlining the usage of the most common asynchronous message-passing communication patterns, and providing machinery for testing and user-friendly dynamic verification of systems. This paper describes the main ideas behind the design of the framework and presents its implementation in Haskell. We introduce DPC through a series of characteristic examples and showcase it on a number of distributed protocols from the literature. This paper extends our preceeding conference publication (Andersen & Sergey, 2019a) with an exploration of randomized testing for protocols and their implementations, and an additional case study demonstrating bounded model checking of protocols.
引用
收藏
页数:29
相关论文
共 50 条
  • [31] A remote process creation and execution facility supporting parallel execution on distributed systems
    Hobbs, M
    Goscinski, A
    1996 IEEE SECOND INTERNATIONAL CONFERENCE ON ALGORITHMS & ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP'96, PROCEEDINGS OF, 1996, : 92 - 99
  • [32] DISTRIBUTED SYSTEM MODELING AND TESTING
    BELLON, C
    ROBACH, C
    KUBIAK, C
    ANNALES DES TELECOMMUNICATIONS-ANNALS OF TELECOMMUNICATIONS, 1978, 33 (11-1): : 383 - 395
  • [33] Testing Network Protocol Binary Software with Selective Symbolic Execution
    Wen, Shameng
    Feng, Chao
    Meng, Qingkun
    Zhang, Bin
    Wu, Ligeng
    Tang, Chaojing
    PROCEEDINGS OF 2016 12TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS), 2016, : 318 - 322
  • [34] Modeling and verification of a distributed transmission protocol
    Ivanov, L
    CDES '05: Proceedings of the 2005 International Conference on Computer Design, 2005, : 64 - 70
  • [35] Throughput Modeling of Distributed Reservation Protocol
    Ajorloo, Hossein
    Manzuri-Shalmani, M. T.
    IEEE TRANSACTIONS ON MOBILE COMPUTING, 2016, 15 (02) : 503 - 515
  • [36] Enforcing integrity of execution in distributed workflow management systems
    Montagut, Frederic
    Molva, Refik
    2007 IEEE INTERNATIONAL CONFERENCE ON SERVICES COMPUTING, PROCEEDINGS, 2007, : 170 - +
  • [37] A Synchronized Test Control Execution Model of Distributed Systems
    Azzouzi, Salma
    Hsaini, Sara
    Charaf, My El Hassan
    INTERNATIONAL JOURNAL OF GRID AND HIGH PERFORMANCE COMPUTING, 2020, 12 (01) : 1 - 17
  • [38] Execution time analysis of communicating tasks in distributed systems
    Kim, J
    Shin, KG
    IEEE TRANSACTIONS ON COMPUTERS, 1996, 45 (05) : 572 - 579
  • [39] Understanding distributed systems via execution trace data
    Moe, J
    Carr, DA
    9TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2001, : 60 - 67
  • [40] Using execution trace data to improve distributed systems
    Moe, J
    Carr, DA
    SOFTWARE-PRACTICE & EXPERIENCE, 2002, 32 (09) : 889 - 906