Skip to main content
Log in

Using schedulers to test probabilistic distributed systems

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Formal methods are one of the most important approaches to increasing the confidence in the correctness of software systems. A formal specification can be used as an oracle in testing since one can determine whether an observed behaviour is allowed by the specification. This is an important feature of formal testing: behaviours of the system observed in testing are compared with the specification and ideally this comparison is automated. In this paper we study a formal testing framework to deal with systems that interact with their environment at physically distributed interfaces, called ports, and where choices between different possibilities are probabilistically quantified. Building on previous work, we introduce two families of schedulers to resolve nondeterministic choices among different actions of the system. The first type of schedulers, which we call global schedulers, resolves nondeterministic choices by representing the environment as a single global scheduler. The second type, which we call localised schedulers, models the environment as a set of schedulers with there being one scheduler for each port. We formally define the application of schedulers to systems and provide and study different implementation relations in this setting.

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. Aldini A, Bravetti M (2000) An asynchronous calculus for generative-reactive probalistic systems. In: 8th process algebras and performance modelling workshop, PAPM’00. Carleton Scientific, pp 591–606

  2. Ammann P, Offutt J (2008) Introduction to software testing. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  3. Bravetti M, Aldini A (2003) Discrete time generative-reactive probabilistic processes with different advancing speeds. Theor Comput Sci 290(1): 355–406

    Article  MathSciNet  MATH  Google Scholar 

  4. Ben-Abdallah H, Leue S (1997) Syntactic detection of process divergence and non-local choice in Message Sequence Charts. In: 3rd international workshop on tools and algorithms for construction and analysis of systems, TACAS’97, LNCS, vol 1217. Springer, Berlin, pp 259–274

  5. Brinksma E, Heerink L, Tretmans J (1998) Factorized test generation for multi-input/output transition systems. In: 11th IFIP workshop on testing of communicating systems, IWTCS’98. Kluwer, Dordrecht, pp 67–82

  6. Boyd SC, Ural H (1991) The synchronization problem in protocol testing and its complexity. Inf Process Lett 40(3): 131–136

    Article  MathSciNet  MATH  Google Scholar 

  7. Cleaveland R, Dayar Z, Smolka SA, Yuen S (1999) Testing preorders for probabilistic processes. Inf Comput 154(2): 93–148

    Article  MathSciNet  MATH  Google Scholar 

  8. Christoff I (1990) Testing equivalences and fully abstract models for probabilistic processes. In: 1st international conference on concurrency theory, CONCUR’90, LNCS, vol 458. Springer, Berlin, pp 126–140

  9. Cheung L, Lynch N, Segala R, Vaandrager F (2006) Switched PIOA: parallel composition via distributed scheduling. Theor Comput Sci 365(1–2): 83–108

    Article  MathSciNet  MATH  Google Scholar 

  10. Cacciari L, Rafiq O (1999) Controllability and observability in distributed testing. Inf Softw Technol 41(11–12): 767–780

    Article  Google Scholar 

  11. Cheung L, Stoelinga M, Vaandrager F (2007) A testing scenario for probabilistic processes. J ACM 54(6):Article 29

  12. Dssouli R, von Bochmann G (1985) Error detection with multiple observers. In: 5th WG6.1 international conference on protocol specification, testing and Verification, PSTV’85. North-Holland, Amsterdam, pp 483–494

  13. Dssouli R, von Bochmann G (1986) Conformance testing with multiple observers. In: 6th WG6.1 international conference on protocol specification, testing and verification, PSTV’86. North-Holland, Amsterdam, pp 217–229

  14. Deng Y, van Glabbeek R, Hennessy M, Morgan C, Zhang C (2007) Characterising testing preorders for finite probabilistic processes. In: 22nd Annual IEEE symposium on logic in computer science, LICS’07. IEEE Computer Society, pp 313–325

  15. Deng Y, van Glabbeek R, Hennessy M, Morgan C (2008) Characterising testing preorders for finite probabilistic processes. Logical Methods Comput Sci 4(4)

  16. Deng Y, van Glabbeek R, Hennessy M, Morgan C (2009) Testing finitary probabilistic processes. In: 20th international conference on concurrency theory, CONCUR’09, LNCS 5710. Springer, Berlin, pp 274–288

  17. Deng Y, van Glabbeek R, Hennessy M, Morgan C (2011) Real-reward testing for probabilistic processes (extended abstract). In: 9th workshop on quantitative aspects of programming languages, QAPL’11, EPTCS 57, pp 61–73

  18. Gaudel M-C (1995) Testing can be formal, too! In: 6th International joint conference CAAP/FASE, Theory and Practice of Software Development, TAPSOFT’95, LNCS, vol 915. Springer, Berlin, pp 82–96

  19. Giro S, D’Argenio PR (2009) On the expressive power of schedulers in distributed probabilistic systems. In: 7th Workshop on quantitative aspects of programming languages, QAPL’09. Electron Notes Theor Comput Sci 253(3):45–71

  20. Grieskamp W, Gurevich Y, Schulte W, Veanes M (2002) Generating finite state machines from abstract state machines. In: ACM SIGSOFT symposium on software testing and analysis, ISSTA’02. ACM Press, New York, pp 112–122

  21. Grieskamp W, Kicillof N, Stobie K, Braberman V (2011) Model-based quality assurance of protocol documentation: tools and methodology. Softw Test Verif Reliab 21(1): 55–71

    Article  Google Scholar 

  22. van Glabbeek R, Smolka SA, Steffen B (1995) Reactive, generative and stratified models of probabilistic processes. Inf Comput 121(1): 59–80

    Article  MATH  Google Scholar 

  23. Hierons RM, Bogdanov K, Bowen JP, Cleaveland R, Derrick J, Dick J, Gheorghe M, Harman M, Kapoor K, Krause P, Luettgen G, Simons AJH, Vilkomir S, Woodward MR, Zedan H (2009) Using formal methods to support testing. ACM Comput Surv 41(2)

  24. Hierons RM, Bowen JP, Harman M (eds) (2008) Formal methods and testing. In: LNCS, vol 4949. Springer, Berlin

  25. Hierons RM (2012) Overcoming controllability problems in distributed testing from an input output transition system. Distrib Comput 25(1): 63–81

    Article  Google Scholar 

  26. Hierons RM, Merayo MG (2009) Mutation testing from probabilistic and stochastic finite state machines. J Syst Softw 82(11): 1804–1818

    Article  Google Scholar 

  27. Hierons RM, Merayo MG, Núñez M (2008) Controllable test cases for the distributed test architecture. In: 6th International symposium on automated technology for verification and analysis, ATVA’08. LNCS, vol 5311. Springer, Berlin, pp 201–215

  28. Hierons RM, Merayo MG, Núñez M (2008) Implementation relations for the distributed test architecture. In: Joint 20th IFIP TC6/WG6.1 international conference on testing of software and communicating systems, TestCom’08, and 8th international workshop on formal approaches to software testing, FATES’08. LNCS, vol 5047. Springer, Berlin, pp 200–215

  29. Hierons RM, Merayo MG, Núñez M (2012) Implementation relations and test generation for systems with distributed interfaces. Distrib Comput 25(1): 35–62

    Article  Google Scholar 

  30. Hierons RM, Núñez M (2010) Testing probabilistic distributed systems. In: IFIP 30th international conference on formal techniques for distributed systems, FMOODS/FORTE’10. LNCS, vol 6117. Springer, Berlin, pp 63–77

  31. Hierons RM, Ural H (2008) The effect of the distributed test architecture on the power of testing. Comput J 51(4): 497–510

    Article  Google Scholar 

  32. Jard C, Jéron T, Kahlouche H, Viho C (1998) Towards automatic distribution of testers for distributed conformance testing. In: TC6 WG6.1 joint international conference on formal description techniques and protocol specification, testing and verification, FORTE’98. Kluwer, Dordrecht, pp 353–368

  33. Luo G, Dssouli R, von Bochmann G (1993) Generating synchronizable test sequences based on finite state machine with distributed ports. In: 6th IFIP workshop on protocol test systems, IWPTS’93. North-Holland, Amsterdam, pp 139–153

  34. López N, Núñez M, Rodríguez I (2006) Specification, testing and implementation relations for symbolic-probabilistic systems. Theor Comput Sci 353(1–3): 228–248

    Article  MATH  Google Scholar 

  35. Larsen K, Skou A (1991) Bisimulation through probabilistic testing. Inf Comput 94(1): 1–28

    Article  MathSciNet  MATH  Google Scholar 

  36. Lynch NA, Vaandrager FW (1995) Forward and backward simulations I: untimed systems. Inf Comput 121(2): 214–233

    Article  MathSciNet  MATH  Google Scholar 

  37. Morgan C, McIver A, Seidel K (1996) Probabilistic predicate transformers. ACM Trans Program Lang Syst 18(3): 325–353

    Article  Google Scholar 

  38. Morgan C, McIver A, Seidel K, Sanders JW (1996) Refinement-oriented probability for CSP. Formal Aspects Comput 8(6): 617–647

    Article  MATH  Google Scholar 

  39. Morgan C (1988) The specification statement. ACM Trans Program Lang Syst 10(3): 403–419

    Article  MATH  Google Scholar 

  40. Morgan C (1990) Programming from specifications. Prentice Hall, Englewood Cliffs

    MATH  Google Scholar 

  41. Myers GJ (2004) The art of software testing. Wiley, New York

    Google Scholar 

  42. Núñez M (2003) Algebraic theory of probabilistic processes. J Logic Algebraic Program 56(1–2): 117–177

    Article  MATH  Google Scholar 

  43. Rafiq O, Cacciari L (2003) Coordination algorithm for distributed testing. J Supercomput 24(2): 203–211

    Article  MATH  Google Scholar 

  44. Sarikaya B, von Bochmann G (1984) Synchronization and specification issues in protocol testing. IEEE Trans Commun 32: 389–395

    Article  Google Scholar 

  45. Segala R (1995) A compositional trace-based semantics for probabilistic automata. In: 6th international conference on concurrency theory, CONCUR’95, LNCS, vol 962. Springer, Berlin, pp 234–248.

  46. Segala R (1996) Testing probabilistic automata. In: 7th international conference on concurrency theory, CONCUR’96. LNCS, vol 1119. Springer, Berlin, pp 299–314

  47. Segala R (1997) Quiescence, fairness, testing, and the notion of implementation. Inf Comput 138(2): 194–210

    Article  MathSciNet  MATH  Google Scholar 

  48. Segala R, Lynch N (1995) Probabilistic simulations for probabilistic processes. Nordic J Comput 2(2): 250–273

    MathSciNet  MATH  Google Scholar 

  49. Tretmans J (2008) Model based testing with labelled transition systems. In: Formal methods and testing. LNCS, vol 4949. Springer, Berlin, pp 1–38

  50. Ural H, Whittier D (2003) Distributed testing without encountering controllability and observability problems. Inf Process Lett 88(3): 133–141

    Article  MathSciNet  MATH  Google Scholar 

  51. Wu S-H, Smolka SA, Stark EW (1997) Composition and behaviors of probabilistic I/O automata. Theor Comput Sci 176(1–2): 1–37

    Article  MathSciNet  MATH  Google Scholar 

  52. Yi W, Larsen KG (1992) Testing probabilistic and nondeterministic processes. In: 12th IFIP/WG6.1 international symposium on protocol specification, testing and verification, PSTV’92. North Holland, Amsterdam, pp 47–61

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manuel Núñez.

Additional information

Peter Höfner, Robert van Glabbeek and Ian Hayes

This research was partially supported by the Spanish MEC project TESIS (TIN2009-14312-C02-01) and the UK EPSRC project Testing of Probabilistic and Stochastic Systems (EP/G032572/1). Part of this research was carried out while the first author was visiting Universidad Complutense de Madrid supported by the Programa de visitantes distinguidos UCM - 2011.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hierons, R.M., Núñez, M. Using schedulers to test probabilistic distributed systems. Form Asp Comp 24, 679–699 (2012). https://doi.org/10.1007/s00165-012-0244-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-012-0244-5

Keywords

Navigation