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 条
  • [1] Distributed Protocol Combinators
    Andersen, Kristoffer Just Arndal
    Sergey, Ilya
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES (PADL 2019), 2019, 11372 : 169 - 186
  • [2] DISTRIBUTED EXECUTION OF FUNCTIONAL PROGRAMS USING SERIAL COMBINATORS
    HUDAK, P
    GOLDBERG, B
    IEEE TRANSACTIONS ON COMPUTERS, 1985, 34 (10) : 881 - 891
  • [3] DISTRIBUTED EXECUTION OF FUNCTIONAL PROGRAMS USING SERIAL COMBINATORS.
    Hudak, Paul
    Goldberg, Benjamin
    IEEE Transactions on Computers, 1985, C-34 (10) : 881 - 890
  • [4] Integration Testing of Protocol Implementations using Symbolic Distributed Execution
    Sasnauskas, Raimondas
    Kaiser, Philipp
    Jukic, Russ Lucas
    Wehrle, Klaus
    2012 20TH IEEE INTERNATIONAL CONFERENCE ON NETWORK PROTOCOLS (ICNP), 2012,
  • [5] Modeling and testing of protocol systems
    Lee, D
    Su, D
    TESTING OF COMMUNICATING SYSTEMS, VOL 10, 1997, : 339 - 364
  • [6] Test execution control with timing constraints for testing distributed systems
    Laboratory of Research in Computer Science and Telecommunication, Faculty of Science Ibn Tofail University, Kenitra, Morocco
    J. Theor. Appl. Inf. Technol., 1 (486-498):
  • [7] A NEW FORMULA FOR THE EXECUTION OF CATEGORICAL COMBINATORS
    LINS, RD
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 230 : 89 - 98
  • [8] A Protocol for Execution of Distributed Logic Programs
    Laszlo Aszalos
    Herzig, Andreas
    INTELLIGENT DISTRIBUTED COMPUTING III, 2009, 237 : 21 - +
  • [9] Modeling Fault Tolerant and Secure Mobile Agent Execution in Distributed Systems
    Hamidi, H.
    Mohammadi, K.
    INTERNATIONAL JOURNAL OF INTELLIGENT INFORMATION TECHNOLOGIES, 2006, 2 (01) : 21 - 36
  • [10] Modeling of fault-tolerant mobile agents execution in distributed systems
    Mohammadi, K
    Hamidi, H
    2005 SYSTEMS COMMUNICATIONS, PROCEEDINGS: ICW 2005, WIRELESS TECHNOLOGIES; ICHSN 2005, HIGH SPEED NETWORKS; ICMCS 2005, MULTIMEDIA COMMUNICATIONS SYSTEMS; SENET 2005, SENSOR NETWORKS, 2005, : 56 - 60