Skip to main content
Log in

Constructing formal rules to verify message communication in distributed systems

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

Abstract

This study presents a method to construct formal rules used to run-time verify message passing between clients in distributed systems. Rules construction is achieved in four steps: (1) Visual specification of expected behavior of the sender, receiver, and network in sending and receiving a message, (2) Extraction of properties of sender, receiver, and network from the visual specification, (3) specification of constraints that should govern message passing in distributed systems, and (4) construction of verifier rules from the properties and the constraints. The rules are used to verify actual sender, receiver, and network behavior. Expected behavior of the client (process) is one that to be and the actual one is the behavior should be verified. The rules were applied to verify the behavior of client and servers that communicated with each other in order to compute Fibonacci numbers in parallel and some violations were discovered.

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.

Similar content being viewed by others

References

  1. Tanenbaum AS, Steen MV (2006) Distributed systems: principles and paradigms, 2nd edn. Prentice Hall, New York

    Google Scholar 

  2. Grosso W (2002) Java RMI: designing and building distributed applications. O’Reilly and Associates, Sebastopol

    Google Scholar 

  3. Redmond FE (1997) Dcom: microsoft distributed component object model. Wiley, New York

    Google Scholar 

  4. Brose G, Vogel A, Duddy K (2001) JavaTM programming with CORBATM: advanced techniques for building distributed applications. Wiley, New York

    Google Scholar 

  5. Josuttis NM (2007) SOA in practice: the art of distributed system design (theory in practice). O’Reilly Media, Sebastopol

    Google Scholar 

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

    Chapter  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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 

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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  11. 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 

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

    Google Scholar 

  13. Jensen K, Kristensen LM (2009) Coloured Petri Nets: modelling and validation of concurrent systems. Springer, Berlin

    Book  MATH  Google Scholar 

  14. Diaz M (2009) Petri Nets: fundamental models, verification and applications. Wiley, New York

    MATH  Google Scholar 

  15. Laddad R (2009) Aspectj in action: enterprise AOP with spring applications, 2nd edn. Manning Publication, Greenwich

    Google Scholar 

  16. Bonet P, Llado CM, Puijaner R, Knottenbelt WJ (2007) PIPE v2.5: a Petri net tool for performance modeling. In: Proc. of 23rd Latin American conference on informatics (CLEI 2007)

    Google Scholar 

  17. 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

    Google Scholar 

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

    Google Scholar 

  19. Aleksy M, Korthaus A, Schader M (2005) Implementing distributed systems with Java and CORBA. Springer, Berlin

    MATH  Google Scholar 

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

    Article  Google Scholar 

  21. Babamir SM (2011) A Framework for Specifying Safe Behavior of the CIIP Medical System. In: Software tools and algorithms for biological systems. Advances in experimental medicine and biology, vol 696. Springer, Berlin, ISBN:978-1-4419-7045-9

    Chapter  Google Scholar 

  22. Babamir SM, Babamir FS (2008) Behavioral specification of real-time requirements. In: Proceedings of 15th Asia-Pacific software engineering conference. IEEE Computer Society, Los Alamitos, pp 209–306. doi:10.1109/APSEC.2008.22

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Seyed Morteza Babamir.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Babamir, S.M. Constructing formal rules to verify message communication in distributed systems. J Supercomput 59, 1396–1418 (2012). https://doi.org/10.1007/s11227-011-0553-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-011-0553-0

Keywords

Navigation