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.
Similar content being viewed by others
References
Tanenbaum AS, Steen MV (2006) Distributed systems: principles and paradigms, 2nd edn. Prentice Hall, New York
Grosso W (2002) Java RMI: designing and building distributed applications. O’Reilly and Associates, Sebastopol
Redmond FE (1997) Dcom: microsoft distributed component object model. Wiley, New York
Brose G, Vogel A, Duddy K (2001) JavaTM programming with CORBATM: advanced techniques for building distributed applications. Wiley, New York
Josuttis NM (2007) SOA in practice: the art of distributed system design (theory in practice). O’Reilly Media, Sebastopol
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
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
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
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
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
Kruger IH, Meisinger M, Menarini M (2010) Interaction-based runtime verification for systems of systems integration. J Log Comput 20(3):725–742
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
Jensen K, Kristensen LM (2009) Coloured Petri Nets: modelling and validation of concurrent systems. Springer, Berlin
Diaz M (2009) Petri Nets: fundamental models, verification and applications. Wiley, New York
Laddad R (2009) Aspectj in action: enterprise AOP with spring applications, 2nd edn. Manning Publication, Greenwich
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)
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
Kostin A, Ilushechkina L (2010) Modeling and simulation of distributed systems. World Scientific, Singapore
Aleksy M, Korthaus A, Schader M (2005) Implementing distributed systems with Java and CORBA. Springer, Berlin
Drusinsky D, Shing M, Demir KA (2007) Creating validating embedded assertion statecharts. IEEE Distrib Syst Online 8(5):1–12
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0553-0