Skip to main content
Log in

Specification and verification of reliability in dispatching multicast messages

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Multicasting some pieces of information such as messages or packets (called dispatches) from source node(s) to a group of target nodes are governed by a specific sequence in the networked systems. The sequence is called a consensus that indicates an ordering on dispatches to be viewed by the target nodes. Achievement of consensus is a concern in some networked based systems such as distributed ones because the lack of consensus leads to conflict among target nodes reaction. A consensus protocol has some properties to be checked when a source node multicasts a sequence of dispatches to target nodes. The CBCAST protocol is a consensus protocol having properties for ordering and synchronization of dispatches in network communications. This paper thinks of the properties and formulates axioms to check them. The axioms can be practiced for network applications such as group communication and web services. Our approach has two phases consisting of modeling and formulation. The first phase addresses specification of sender and recipient processes by tabular automata. The second phase addresses formulation of axioms using the automaton.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

References

  1. Babamir SM (2012) Constructing formal rules to verify message communication in distributed systems. J Supercomput 59(3):1396–1418

    Article  Google Scholar 

  2. Babamir SM (2012) Specifying and modeling multicast communication in CBCAST protocol. Proc Rom Acad, Ser A : Math Phys Tech Sci Inf Sci 13(3):261–268

    Google Scholar 

  3. Baldoni R, Raynal M (2002) Fundamentals of distributed computing: a practical tour of vector clock systems. IEEE Distrib Syst, 3

  4. Birman KP (2005) Reliable distributed systems: technologies, Web Services and applications. Springer, Berlin

    MATH  Google Scholar 

  5. Chockler GV, Keidar I, Vitenberg R (2001) Group communication specifications: a comprehensive study. ACM Comput Surv 33(4):427–469

    Article  Google Scholar 

  6. Dózsa G, Kumar S, Balaji P, Buntinas D, Goodell D, Gropp W, Ratterman J, Thakur R (2010) Enabling concurrent multithreaded MPI communication on multicore petascale systems. In: Proc of the 17th European MPI users’ group meeting conference on recent advances in the message passing interface, Heidelberg, 2011. Springer, Berlin, pp 11–20

    Chapter  Google Scholar 

  7. Drusinsky D, Shing M (2007) Verifying distributed protocols using MSC-assertions, run-time monitoring and automatic test generation. In: the 18th IEEE/IFIP international workshop on rapid system prototyping (RSP’07), pp 82–88

    Chapter  Google Scholar 

  8. Drusinsky D, Shing M, Demir KA (2007) Creating validating embedded assertion statecharts. IEEE Distrib Syst Online 8(5):1–12

    Article  Google Scholar 

  9. Fulmare N, Yadav D (2010) Rigorous analysis of byzantine causal order using event-B. In: Proc of the international conference and workshop on emerging trends in technology, pp 723–726

    Chapter  Google Scholar 

  10. Kostin A, Ilushechkina L (2010) Modeling and simulation of distributed systems. World Scientific, Singapore

    Book  Google Scholar 

  11. Khanna G, Varadharajan P, Bagchi S (2006) Automated online monitoring of distributed applications through external monitors. IEEE Trans Dependable Secure Comput 3(2):115–129

    Article  Google Scholar 

  12. Kruger IH, Meisinger M, Menarini M (2007) Runtime verification of interactions: from MSCs to aspects. In: Proc. of the 7th international workshop on runtime verification (RV 2007). Lecture notes in computer science, vol 4839. Springer, Berlin, pp 63–74

    Chapter  Google Scholar 

  13. Kruger IH, Meisinger M, Menarini M (2010) Interaction-based runtime verification for systems of systems integration. J Log Comput 20(3):725–742

    Article  MathSciNet  Google Scholar 

  14. Lane RG, Daniels S, Yuan X (2007) An empirical study of reliable multicast protocols over ethernet-connected networks. Journal of Performance Evaluation 64(3):210–228

    Article  Google Scholar 

  15. Lomazova IA (1997) On proving large distributed systems: Petri net modules verification. In: Proceedings of the 4th international conference on parallel computing technologies. Lecture notes in computer science, vol 1277. Springer, Berlin, pp 70–75

    Chapter  Google Scholar 

  16. Li G, Delisi M, Gopalakrishnan G, Kirby RM (2008) Formal specification of the MPI-2.0 standard in TLA+. In: Proc of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming, pp 283–284

    Chapter  Google Scholar 

  17. Li G, Palmer R, DeLisi M, Gopalakrishnan G, Kirby RM (2011) Formal specification of MPI 2.0: case study in specifying a practical concurrent programming API. Sci Comput Program 76(2):65–81

    Article  MATH  Google Scholar 

  18. Sen K, Vardhan A, Agha G, Rosu G (2004) Efficient decentralized monitoring of safety in distributed systems. In: Proc of 26th international conference on software engineering, pp 418–427

    Chapter  Google Scholar 

  19. Siegel SF, Gopalakrishnan G (2011) Formal analysis of message passing. In: Proc of the 12th international conference on verification, model checking, and abstract interpretation (VMCAI’11). Springer, Berlin, pp 2–18

    Chapter  Google Scholar 

  20. Tanenbaum AS, Steen MV (2007) Distributed systems: principles and paradigms. Prentice Hall, New York

    MATH  Google Scholar 

  21. Thakur R, Rabenseifner R, Gropp W (2005) Optimization of collective communication operations in MPICH. Int J High Perform Comput Appl 1(19):49–66

    Article  Google Scholar 

  22. Tsaur W, Horng S (2001) Auditing causal relationships of group multicast communications in group-oriented distributed systems. J Supercomput 18:25–45

    Article  MATH  Google Scholar 

  23. Tsuchiya T, Schiper A (2011) Verification of consensus algorithms using satisfiability solving. J Parallel Distrib Comput 23:341–358

    Article  MATH  Google Scholar 

  24. Yadav D, Butler M (2005) Application of event-B to global causal ordering for fault tolerant transactions. In: Workshop on rigorous engineering of fault tolerant systems (REFT2005), pp 93–102

    Google Scholar 

  25. Zhang F, Qi Z, Guan H, Liu X, Yang M, Zhang Z (2009) FiLM: a runtime monitoring tool for distributed systems. In: the 3rd IEEE international conference on secure software integration and reliability improvement, pp 40–46

    Google Scholar 

  26. Zulkernine M, Seviora RE (2002) A compositional approach to monitoring distributed systems. In: Proc of the international conference on dependable systems and networks, pp 763–772

    Chapter  Google Scholar 

Download references

Acknowledgement

The author is grateful to University of Kashan for supporting this work by grant No. 3055/2.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyed Morteza Babamir.

Appendix: Figure 11

Appendix: Figure 11

Fig. 11
figure 11

The implementation code of the Message class

Rights and permissions

Reprints and permissions

About this article

Cite this article

Babamir, S.M. Specification and verification of reliability in dispatching multicast messages. J Supercomput 63, 612–635 (2013). https://doi.org/10.1007/s11227-012-0834-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0834-2

Keywords

Navigation