A modular framework for verifying versatile distributed systems

Putting independent components together is a common design practice of distributed systems. Besides, there exists a wide range of interaction protocols that dictate how these components interact, which impacts their compatibility. However, the communication model itself always consists in a monolith...

Full description

Saved in:
Bibliographic Details
Published inJournal of logical and algebraic methods in programming Vol. 108; pp. 24 - 46
Main Authors Chevrou, Florent, Hurault, Aurélie, Quéinnec, Philippe
Format Journal Article
LanguageEnglish
Published Elsevier 01.11.2019
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Putting independent components together is a common design practice of distributed systems. Besides, there exists a wide range of interaction protocols that dictate how these components interact, which impacts their compatibility. However, the communication model itself always consists in a monolithic description of the rules and properties of the communication. In this paper, we propose a mechanized framework for the compatibility checking of compositions of peers where the interaction protocol can be fine tuned through assembly of basic properties on the communication. These include whether the communication is point-to-point, multicast or convergecast, which ordering-policies are to be applied, applicative priorities, bounds on the number of messages in transit, and so on. Among these properties, we focus on a generic description of multicast communication that encompasses point-to-point and one-to-all communication as special cases. The components that form the communication model are specified in TLA+, and a system, composed of a communication model and a specification of the behavior of the peers (also in TLA+ ), is checked with the TLA+ model checker. Eventually we provide theoretical views on the relations between ordering-policies through the lenses of multicast and convergecast communication.
AbstractList Putting independent components together is a common design practice of distributed systems. Besides, there exists a wide range of interaction protocols that dictate how these components interact, which impacts their compatibility. However, the communication model itself always consists in a monolithic description of the rules and properties of the communication. In this paper, we propose a mechanized framework for the compatibility checking of compositions of peers where the interaction protocol can be fine tuned through assembly of basic properties on the communication. These include whether the communication is point-to-point, multicast or convergecast, which ordering-policies are to be applied, applicative priorities, bounds on the number of messages in transit, and so on. Among these properties, we focus on a generic description of multicast communication that encompasses point-to-point and one-to-all communication as special cases. The components that form the communication model are specified in TLA+, and a system, composed of a communication model and a specification of the behavior of the peers (also in TLA+ ), is checked with the TLA+ model checker. Eventually we provide theoretical views on the relations between ordering-policies through the lenses of multicast and convergecast communication.
Author Chevrou, Florent
Hurault, Aurélie
Quéinnec, Philippe
Author_xml – sequence: 1
  givenname: Florent
  surname: Chevrou
  fullname: Chevrou, Florent
– sequence: 2
  givenname: Aurélie
  surname: Hurault
  fullname: Hurault, Aurélie
– sequence: 3
  givenname: Philippe
  surname: Quéinnec
  fullname: Quéinnec, Philippe
BackLink https://hal.science/hal-02451058$$DView record in HAL
BookMark eNp9kD1PwzAQhj0UiVL6C1iyMiSc7Xw4E6oqvqRKLDBb19gGhySu7LSo_x6HwsLAdF_ve6d7LshscIMm5IpCRoGWN23WdtjvMga0zqDIAMSMzBkvWMoYiHOyDKEFiFJRCU7n5HaV9E7tO_SJ8djrT-c_EuN8ctDemqMd3qYs4Gg7nSgbRm-3-1GrJBzDqPtwSc4MdkEvf-KCvN7fvawf083zw9N6tUkbzsSYMswrDVCoRvGKldVWIdO8NijiQOVK1QJRqIYbBlUuGqVLLgzLaYk8VjVfkOvT3nfs5M7bHv1ROrTycbWRUw9YXlAoxIFGbX3SNt6F4LWRjR3jB24YPdpOUpATLNnKb1hygiWhkBFW9PI_3t9j_7m-AE8UdHQ
CitedBy_id crossref_primary_10_1016_j_is_2021_101765
crossref_primary_10_1016_j_jlamp_2020_100580
Cites_doi 10.1016/S0167-6423(02)00022-9
10.1145/359545.359563
10.1093/comjnl/37.4.269
10.1007/s00165-016-0379-x
10.1016/j.entcs.2004.05.007
10.1016/0096-0551(87)90010-5
10.1016/0890-5401(90)90059-Q
10.3233/FI-1986-9202
10.1002/sec.1220
10.1145/322374.322380
10.1007/s004460050018
10.1007/s00446-009-0084-6
10.1109/32.508313
10.1002/(SICI)1097-024X(19980725)28:9<963::AID-SPE179>3.0.CO;2-9
10.1145/227210.227229
10.1016/j.scico.2011.03.009
10.1006/inco.1995.1003
10.1109/TIT.1983.1056620
ContentType Journal Article
Copyright Distributed under a Creative Commons Attribution 4.0 International License
Copyright_xml – notice: Distributed under a Creative Commons Attribution 4.0 International License
DBID AAYXX
CITATION
1XC
VOOES
DOI 10.1016/j.jlamp.2019.05.008
DatabaseName CrossRef
Hyper Article en Ligne (HAL)
Hyper Article en Ligne (HAL) (Open Access)
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EndPage 46
ExternalDocumentID oai_HAL_hal_02451058v1
10_1016_j_jlamp_2019_05_008
GroupedDBID --M
0R~
4.4
457
4G.
7-5
8P~
AAEDT
AAEDW
AAIKJ
AAKOC
AALRI
AAOAW
AATTM
AAXKI
AAXUO
AAYFN
AAYWO
AAYXX
ABBOA
ABJNI
ABMAC
ABXDB
ACDAQ
ACGFS
ACRLP
ACVFH
ADBBV
ADCNI
ADEZE
ADVLN
AEBSH
AEIPS
AEKER
AENEX
AEUPX
AFJKZ
AFPUW
AFTJW
AFXIZ
AGCQF
AGHFR
AGRNS
AGUBO
AIALX
AIEXJ
AIGII
AIIUN
AIKHN
AITUG
AKBMS
AKRWK
AKYEP
ALMA_UNASSIGNED_HOLDINGS
AMRAJ
ANKPU
AOUOD
AXJTR
BKOJK
BLXMC
BNPGV
CITATION
EBS
EFJIC
EJD
FDB
FIRID
FYGXN
GBLVA
GBOLZ
HZ~
KOM
M41
O9-
OAUVE
RIG
ROL
SPC
SPCBC
SSH
SSV
SSZ
T5K
~G-
1XC
AACTN
VOOES
ID FETCH-LOGICAL-c328t-2a47e005dcd37267bda2e39fa8a47d4dd98aa8dc3f20748cde638f2416a38cd93
ISSN 2352-2208
IngestDate Fri May 09 12:21:40 EDT 2025
Thu Apr 24 23:08:49 EDT 2025
Tue Jul 01 00:37:50 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Multicast
Asynchronous communication
Compatibility checking
Distributed systems
TLA+
Language English
License Distributed under a Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c328t-2a47e005dcd37267bda2e39fa8a47d4dd98aa8dc3f20748cde638f2416a38cd93
OpenAccessLink https://hal.science/hal-02451058
PageCount 23
ParticipantIDs hal_primary_oai_HAL_hal_02451058v1
crossref_citationtrail_10_1016_j_jlamp_2019_05_008
crossref_primary_10_1016_j_jlamp_2019_05_008
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 2019-11-00
2019-11
PublicationDateYYYYMMDD 2019-11-01
PublicationDate_xml – month: 11
  year: 2019
  text: 2019-11-00
PublicationDecade 2010
PublicationTitle Journal of logical and algebraic methods in programming
PublicationYear 2019
Publisher Elsevier
Publisher_xml – name: Elsevier
References Durán (10.1016/j.jlamp.2019.05.008_br0150) 2012; 77
Garlan (10.1016/j.jlamp.2019.05.008_br0170) 1997
Chevrou (10.1016/j.jlamp.2019.05.008_br0110) 2016; 28
Lamport (10.1016/j.jlamp.2019.05.008_br0230) 2002
Mauw (10.1016/j.jlamp.2019.05.008_br0280) 1994; 37
Holzmann (10.1016/j.jlamp.2019.05.008_br0190) 2004
Lamport (10.1016/j.jlamp.2019.05.008_br0220) 1978; 21
Hull (10.1016/j.jlamp.2019.05.008_br0200) 1987; 12
Brand (10.1016/j.jlamp.2019.05.008_br0070) 1983; 30
Lynch (10.1016/j.jlamp.2019.05.008_br0270) 1996
van Renesse (10.1016/j.jlamp.2019.05.008_br0300) 1996; 39
Engels (10.1016/j.jlamp.2019.05.008_br0160) 2002; 44
Baeten (10.1016/j.jlamp.2019.05.008_br0040) 1986; IX
Wilcox (10.1016/j.jlamp.2019.05.008_br0340) 2015
Li (10.1016/j.jlamp.2019.05.008_br0260) 2004; vol. 3274
Lamport (10.1016/j.jlamp.2019.05.008_br0240) 2009; vol. 5684
Brogi (10.1016/j.jlamp.2019.05.008_br0060) 2004; 105
Liu (10.1016/j.jlamp.2019.05.008_br0250) 1999; vol. 33(5)
Basu (10.1016/j.jlamp.2019.05.008_br0050) 2012
Charron-Bost (10.1016/j.jlamp.2019.05.008_br0080) 1996; 9
Hickey (10.1016/j.jlamp.2019.05.008_br0180) 1999; vol. 1579
Taylor (10.1016/j.jlamp.2019.05.008_br0330) 1996; 22
Aldini (10.1016/j.jlamp.2019.05.008_br0030) 2015; 8
Allen (10.1016/j.jlamp.2019.05.008_br0010) 1994
Kshemkalyani (10.1016/j.jlamp.2019.05.008_br0210) 2011
Chevrou (10.1016/j.jlamp.2019.05.008_br0120)
Alur (10.1016/j.jlamp.2019.05.008_br0020) 1996; vol. 1055
Camilleri (10.1016/j.jlamp.2019.05.008_br0130) 1995; 116
Segall (10.1016/j.jlamp.2019.05.008_br0310) 1983; 29
Tel (10.1016/j.jlamp.2019.05.008_br0320) 2000
Drăgoi (10.1016/j.jlamp.2019.05.008_br0140) 2016
Cleaveland (10.1016/j.jlamp.2019.05.008_br0100) 1990; 87
Charron-Bost (10.1016/j.jlamp.2019.05.008_br0090) 2009; 22
van Renesse (10.1016/j.jlamp.2019.05.008_br0290) 1998; 28
References_xml – volume: 44
  start-page: 253
  issue: 3
  year: 2002
  ident: 10.1016/j.jlamp.2019.05.008_br0160
  article-title: A hierarchy of communication models for message sequence charts
  publication-title: Sci. Comput. Program.
  doi: 10.1016/S0167-6423(02)00022-9
– volume: 21
  start-page: 558
  issue: 7
  year: 1978
  ident: 10.1016/j.jlamp.2019.05.008_br0220
  article-title: Time, clocks and the ordering of events in a distributed system
  publication-title: Commun. ACM
  doi: 10.1145/359545.359563
– volume: 37
  start-page: 269
  issue: 4
  year: 1994
  ident: 10.1016/j.jlamp.2019.05.008_br0280
  article-title: An algebraic semantics of basic message sequence charts
  publication-title: Comput. J.
  doi: 10.1093/comjnl/37.4.269
– volume: 28
  start-page: 847
  issue: 5
  year: 2016
  ident: 10.1016/j.jlamp.2019.05.008_br0110
  article-title: On the diversity of asynchronous communication
  publication-title: Form. Asp. Comput.
  doi: 10.1007/s00165-016-0379-x
– start-page: 357
  year: 2015
  ident: 10.1016/j.jlamp.2019.05.008_br0340
  article-title: A framework for implementing and formally verifying distributed system
– year: 2002
  ident: 10.1016/j.jlamp.2019.05.008_br0230
– volume: 105
  start-page: 73
  year: 2004
  ident: 10.1016/j.jlamp.2019.05.008_br0060
  article-title: Formalizing web service choreographies
  publication-title: Electron. Notes Theor. Comput. Sci.
  doi: 10.1016/j.entcs.2004.05.007
– volume: 12
  start-page: 27
  issue: 1
  year: 1987
  ident: 10.1016/j.jlamp.2019.05.008_br0200
  article-title: Occam - a programming language for multiprocessor systems
  publication-title: Comput. Lang.
  doi: 10.1016/0096-0551(87)90010-5
– volume: 87
  start-page: 58
  issue: 1/2
  year: 1990
  ident: 10.1016/j.jlamp.2019.05.008_br0100
  article-title: Priorities in process algebras
  publication-title: Inf. Comput.
  doi: 10.1016/0890-5401(90)90059-Q
– ident: 10.1016/j.jlamp.2019.05.008_br0120
– volume: vol. 5684
  start-page: 36
  year: 2009
  ident: 10.1016/j.jlamp.2019.05.008_br0240
  article-title: The PlusCal algorithm language
– volume: IX
  start-page: 127
  year: 1986
  ident: 10.1016/j.jlamp.2019.05.008_br0040
  article-title: Syntax and defining equations for an interrupt mechanism in process algebra
  publication-title: Fundam. Inform.
  doi: 10.3233/FI-1986-9202
– year: 2011
  ident: 10.1016/j.jlamp.2019.05.008_br0210
– volume: 8
  start-page: 2933
  issue: 16
  year: 2015
  ident: 10.1016/j.jlamp.2019.05.008_br0030
  article-title: Modeling and verification of trust and reputation systems
  publication-title: Secur. Commun. Netw.
  doi: 10.1002/sec.1220
– year: 2004
  ident: 10.1016/j.jlamp.2019.05.008_br0190
– volume: vol. 3274
  start-page: 320
  year: 2004
  ident: 10.1016/j.jlamp.2019.05.008_br0260
  article-title: Active and concurrent topology maintenance
– start-page: 71
  year: 1994
  ident: 10.1016/j.jlamp.2019.05.008_br0010
  article-title: Formalizing architectural connection
– volume: vol. 33(5)
  start-page: 80
  year: 1999
  ident: 10.1016/j.jlamp.2019.05.008_br0250
  article-title: Building reliable, high-performance communication systems from components
– year: 2000
  ident: 10.1016/j.jlamp.2019.05.008_br0320
– start-page: 191
  year: 2012
  ident: 10.1016/j.jlamp.2019.05.008_br0050
  article-title: Deciding choreography realizability
– volume: 30
  start-page: 323
  issue: 2
  year: 1983
  ident: 10.1016/j.jlamp.2019.05.008_br0070
  article-title: On communicating finite-state machines
  publication-title: J. ACM
  doi: 10.1145/322374.322380
– volume: 9
  start-page: 173
  issue: 4
  year: 1996
  ident: 10.1016/j.jlamp.2019.05.008_br0080
  article-title: Synchronous, asynchronous, and causally ordered communication
  publication-title: Distrib. Comput.
  doi: 10.1007/s004460050018
– volume: 22
  start-page: 49
  issue: 1
  year: 2009
  ident: 10.1016/j.jlamp.2019.05.008_br0090
  article-title: The heard-of model: computing in distributed systems with benign faults
  publication-title: Distrib. Comput.
  doi: 10.1007/s00446-009-0084-6
– start-page: 169
  year: 1997
  ident: 10.1016/j.jlamp.2019.05.008_br0170
  article-title: An architecture description interchange language
– volume: 22
  start-page: 390
  issue: 6
  year: 1996
  ident: 10.1016/j.jlamp.2019.05.008_br0330
  article-title: A component- and message-based architectural style for GUI software
  publication-title: IEEE Trans. Softw. Eng.
  doi: 10.1109/32.508313
– volume: 28
  start-page: 963
  issue: 9
  year: 1998
  ident: 10.1016/j.jlamp.2019.05.008_br0290
  article-title: Building adaptive systems using Ensemble
  publication-title: Softw. Pract. Exp.
  doi: 10.1002/(SICI)1097-024X(19980725)28:9<963::AID-SPE179>3.0.CO;2-9
– volume: 39
  start-page: 76
  issue: 4
  year: 1996
  ident: 10.1016/j.jlamp.2019.05.008_br0300
  article-title: A flexible group communications system
  publication-title: Commun. ACM
  doi: 10.1145/227210.227229
– volume: 77
  start-page: 870
  issue: 7–8
  year: 2012
  ident: 10.1016/j.jlamp.2019.05.008_br0150
  article-title: A generic framework for n-protocol compatibility checking
  publication-title: Sci. Comput. Program.
  doi: 10.1016/j.scico.2011.03.009
– volume: vol. 1579
  start-page: 119
  year: 1999
  ident: 10.1016/j.jlamp.2019.05.008_br0180
  article-title: Specifications and proofs for Ensemble layers
– volume: 116
  start-page: 26
  issue: 1
  year: 1995
  ident: 10.1016/j.jlamp.2019.05.008_br0130
  article-title: CCS with priority choice
  publication-title: Inf. Comput.
  doi: 10.1006/inco.1995.1003
– volume: vol. 1055
  start-page: 35
  year: 1996
  ident: 10.1016/j.jlamp.2019.05.008_br0020
  article-title: An analyzer for message sequence charts
– volume: 29
  start-page: 23
  issue: 1
  year: 1983
  ident: 10.1016/j.jlamp.2019.05.008_br0310
  article-title: Distributed network protocols
  publication-title: IEEE Trans. Inf. Theory
  doi: 10.1109/TIT.1983.1056620
– start-page: 400
  year: 2016
  ident: 10.1016/j.jlamp.2019.05.008_br0140
  article-title: A partially synchronous language for fault-tolerant distributed algorithms
– year: 1996
  ident: 10.1016/j.jlamp.2019.05.008_br0270
SSID ssj0001687831
Score 2.123976
Snippet Putting independent components together is a common design practice of distributed systems. Besides, there exists a wide range of interaction protocols that...
SourceID hal
crossref
SourceType Open Access Repository
Enrichment Source
Index Database
StartPage 24
SubjectTerms Computer Science
Embedded Systems
Software Engineering
Title A modular framework for verifying versatile distributed systems
URI https://hal.science/hal-02451058
Volume 108
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1Lb9NAEF6F9MKFN6IU0ApxxFW8fq1PyAIil1YRiBb1trL3QRuZpIriHnrjnzP7jKNUqHCx4vXGTnY-z87OznyD0LtMz4IyVpEqFI9SmomoFZmMFC3TlugKRsJE-c7y-iz9cp6dj0a_h9kl6_aQ39yaV_I_UoU2kKvOkv0HyYabQgN8BvnCESQMxzvJuNKlzEwc6dTHWJmwwR_wcJu_pN1h0LmTmmbTFrfSFuaApnzXMPXa0NC4dj_1zvIld6WmbdS5jen65Wc9Ex0gr1fL3pjC3XI1iKap-1XTd5bcoHf78t1lgNO33jbpEmB84-G5kkN3RFy6vLzgI3MT-kaNETDxIkImdEvnulOnNdPB_Gs9kjua3ToZ5odzeFE0z2hcGsZVd58tHu26-s6-fpqyk6PZ8fbVQKhdVyfsAuStN57BwqTXsIDeI7DSIGO0Vx0d17ONoy6nBTV1LcM_8exVJk5w5wdtWTj3LryD3hgsp4_QAydQXFnYPEYjuXiCHvoqHtgp9afoQ4UdinBAEQYU4YAiHFCEByjCDkXP0Nn08-nHOnJlNSKeELqOSJMWEpSv4CIpSF60oiEyKVVD4YJIhShp01DBE0XAvqRcSHifFVh6eZPAWZk8R-PFciFfIDwpSd62cdbkqc6YzGmct4pyCm2wEFdqHxE_FIw7znld-qRjPrhwzsz4MT1-bJIxGL999D586cpSrvy9-1stSd_zdum-vEunA3R_g-hXaLxe9fI1mJzr9o0DxR-6VoPS
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+Modular+Framework+for+Verifying+Versatile+Distributed+Systems&rft.jtitle=Journal+of+logical+and+algebraic+methods+in+programming&rft.au=Chevrou%2C+Florent&rft.au=Hurault%2C+Aur%C3%A9lie&rft.au=Qu%C3%A9innec%2C+Philippe&rft.date=2019-11-01&rft.pub=Elsevier&rft.issn=2352-2208&rft.volume=108&rft.spage=24&rft.epage=46&rft_id=info:doi/10.1016%2Fj.jlamp.2019.05.008&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=oai_HAL_hal_02451058v1
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2352-2208&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2352-2208&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2352-2208&client=summon