Skip to main content
Log in

Formal verification of cP systems using PAT3 and ProB

  • Regular Paper
  • Published:
Journal of Membrane Computing Aims and scope Submit manuscript

Abstract

As a recently proposed membrane computing model, cP systems are capable of solving computational hard and distributed problems. Although several membrane system variants were formally verified in previous research, none of their approaches was applicable to cP systems. To formally verify the safety and liveness properties of cP systems, we solve a famous NP-Complete problem—the subset sum problem—in cP systems and use the PAT3 and ProB model checkers to verify the cP solution. Our cP solution outperforms previous work in time complexity and uses fewer rules. To perform model checking in cP systems, we define several mapping rules from cP notation to formal verification languages CSP# and B. We show that we can use model checkers to effectively detect design errors in cP systems. This work is the first study on formal verification of cP systems, and it showed that cP models can be effectively transformed into model checking problems and verified automatically.

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.

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

Similar content being viewed by others

References

  1. Aguado, J., Balanescu, T., Cowling, T., Gheorghe, M., Holcombe, M., & Ipate, F. (2002). P systems with replicated rewriting and stream X-machines (Eilenberg machines). Fundamenta Informaticae, 49(1–3), 17–33.

    MathSciNet  MATH  Google Scholar 

  2. Aman, B., & Ciobanu, G. (2015). Verification of membrane systems with delays via Petri nets with delays. Theoretical Computer Science, 598, 87–101.

    Article  MathSciNet  Google Scholar 

  3. Aman, B., & Ciobanu, G. (2016). Modelling and verification of weighted spiking neural systems. Theoretical Computer Science, 623, 92–102.

    Article  MathSciNet  Google Scholar 

  4. Cooper, J., & Nicolescu, R. (2019). The Hamiltonian cycle and travelling salesman problems in cP systems. Fundamenta Informaticae, 164(2–3), 157–180.

    Article  MathSciNet  Google Scholar 

  5. Dang, Z., Ibarra, O. H., Li, C., & Xie, G. (2006). On the decidability of model-checking for P systems. Journal of Automata, Languages and Combinatorics, 11(3), 279–298.

    MathSciNet  MATH  Google Scholar 

  6. Díaz-Pernil, D., Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2007). A logarithmic bound for solving subset sum with P systems. In International workshop on membrane computing, June 2007 (pp. 257–270). Berlin, Heidelberg: Springer.

    Chapter  Google Scholar 

  7. Díaz-Pernil, D., Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2007). Solving subset sum in linear time by using tissue P systems with cell division. In International work-conference on the interplay between natural and artificial computation, June 2007 (pp. 170–179). Berlin, Heidelberg: Springer.

  8. García-Quismondo, M., Gutiérrez-Escudero, R., Martínez-del-Amor, M. A., Orejuela-Pinedo, E., & Pérez-Hurtado, I. (2009). P—lingua 2.0: A software framework for cell-like p systems. International Journal of Computers Communications & Control, 4(3), 234–243.

    Article  Google Scholar 

  9. Gheorghe, M., Ceterchi, R., Ipate, F., Konur, S., & Lefticaru, R. (2018). Kernel P systems: From modelling to verification and testing. Theoretical Computer Science, 724, 45–60.

    Article  MathSciNet  Google Scholar 

  10. Gheorghe, M., Ipate, F., Lefticaru, R., Pérez-Jiménez, M. J., Ţurcanu, A., Valencia-Cabrera, L., et al. (2013). 3-col problem modelling using simple kernel P systems. International Journal of Computer Mathematics, 90(4), 816–830.

    Article  MathSciNet  Google Scholar 

  11. Gheorghe, M., Konur, S., & Ipate, F. (2017). Kernel P systems and stochastic P systems for modelling and formal verification of genetic logic gates. In Advances in unconventional computing (pp. 661–675). Cham: Springer.

    Chapter  Google Scholar 

  12. Gheorgue, M., Ipate, F., Dragomir, C., Mierla, L., Valencia-Cabrera, L., García-Quismondo, M., & Pérez-Jiménez, M. D. J. (2013) Kernel P systems-version 1. In Proceedings of the eleventh brainstorming week on membrane computing (pp. 97-124). Sevilla, ETS de Ingeniería Informática, 4–8 de Febrero.

  13. Graciani-Díaz, C., & Riscos-Núñez, A. (2005). Looking for simple common schemes to design recognizer p systems with active membranes that solve numerical decision problems. In International conference on unconventional computation, October 2017 (pp. 94–104). Berlin, Heidelberg: Springer.

  14. Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., Riscos-Núñez, A., & Romero-Campero, F. J. (2005). On the power of dissolution in P systems with active membranes. In International workshop on membrane computing, June 2005 (pp. 224–240). Berlin, Heidelberg: Springer.

  15. Gutiérrez-Naranjo, M. A., Pérez-Jiménez, M. J., & Romero-Campero, F. J. (2005). A linear solution of subset sum problem by using membrane creation. In International work-conference on the interplay between natural and artificial computation, June 2005 (pp. 258–267). Berlin, Heidelberg: Springer.

  16. Henderson, A., & Nicolescu, R. (2018). Actor-like cP systems. In International conference on membrane computing, September 2018 (pp. 160–187). Cham: Springer.

  17. Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta informaticae, 71(2, 3), 279–308.

    MathSciNet  MATH  Google Scholar 

  18. Ipate, F., Gheorghe, M., & Lefticaru, R. (2010). Test generation from P systems using model checking. The Journal of Logic and Algebraic Programming, 79(6), 350–362.

    Article  MathSciNet  Google Scholar 

  19. Ipate, F., Lefticaru, R., & Tudose, C. (2011). Formal verification of P systems using spin. International Journal of Foundations of Computer Science, 22(01), 133–142.

    Article  MathSciNet  Google Scholar 

  20. Ipate, F., & Turcanu, A. (2011). Modeling, verification and testing of P systems using Rodin and ProB. Proceedings of the ninth brainstorming week on membrane computing (pp. 209–219). Sevilla, ETS de Ingeniería Informática, 31 de enero–4 de febrero.

  21. Lefticaru, R., Tudose, C., & Ipate, F. (2011). Towards automated verification of P systems using spin. International Journal of Natural Computing Research (IJNCR), 2(3), 1–12.

    Article  Google Scholar 

  22. Leporati, A., Zandron, C., Ferretti, C., & Mauri, G. (2007). On the computational power of spiking neural P systems. Proceedings of the fifth brainstorming week on membrane computing (pp. 227–245). Sevilla, ETS de Ingeniería Informática, 29 de Enero-2 de Febrero.

  23. Leporati, A., Zandron, C., Ferretti, C., & Mauri, G. (2007). Solving numerical NP-complete problems with spiking neural P systems. In International workshop on membrane computing, June 2007 (pp. 336–352). Berlin, Heidelberg: Springer.

  24. Leuschel, M., & Butler, M. (2003). ProB: A model checker for B. In International symposium of formal methods europe, September 2003 (pp. 855–874). Berlin, Heidelberg: Springer.

  25. Leuschel, M., & Butler, M. (2008). ProB: An automated analysis toolset for the B method. International Journal on Software Tools for Technology Transfer, 10(2), 185–203.

    Article  Google Scholar 

  26. Liu, Y., Sun, J., & Dong, J. S. (2011). Pat 3: An extensible architecture for building multi-domain model checkers. In 2011 IEEE 22nd international symposium on software reliability engineering, November 2011 (pp. 190–199). IEEE.

  27. Martín-Vide, C., Păun, G., Pazos, J., & Rodríguez-Patón, A. (2003). Tissue P systems. Theoretical Computer Science, 296(2), 295–326.

    Article  MathSciNet  Google Scholar 

  28. Martínez-del Amor, M. A., Pérez-Hurtado, I., Pérez-Jiménez, M. J., Riscos-Núñez, A., & Sancho-Caparrini, F. (2011). A simulation algorithm for multienvironment probabilistic P systems: A formal verification. International Journal of Foundations of Computer Science, 22(01), 107–118.

    Article  MathSciNet  Google Scholar 

  29. Nicolescu, R. (2017). Most common words–A cP systems solution. In International conference on membrane computing, July 2017 (pp. 214–229). Cham: Springer.

    Google Scholar 

  30. Nicolescu, R., & Henderson, A. (2018). An introduction to cP systems. In Enjoying natural computing (pp. 204–227). Cham: Springer.

    Chapter  Google Scholar 

  31. Nicolescu, R., Ipate, F., & Wu, H. (2013). Programming P systems with complex objects. In International conference on membrane computing, August 2013 (pp. 280–300). Berlin, Heidelberg: Springer.

  32. Păun, A. (2001). On P systems with active membranes. In Unconventional models of computation, UMC’2K (pp. 187–201). London: Springer.

    Chapter  Google Scholar 

  33. Păun, G. (2000). Computing with membranes. Journal of Computer and System Sciences, 61(1), 108–143.

    Article  MathSciNet  Google Scholar 

  34. Păun, G. (2006). Introduction to membrane computing. In Applications of membrane computing. (pp. 1–42). Springer.

  35. Pérez-Hurtado, I., Orellana-Martín, D., Zhang, G., & Pérez-Jiménez, M. J. (2019). P-lingua in two steps: Flexibility and efficiency. Journal of Membrane Computing, 1(2), 93–102.

    Article  MathSciNet  Google Scholar 

  36. Pérez-Jiménez, M. J., & Riscos-Núnez, A. (2003). A linear-time solution to the knapsack problem using P systems with active membranes. In International workshop on membrane computing, July 2003 (pp. 250–268). Berlin, Heidelberg: Springer.

  37. Pérez-Jiménez, M. J., & Riscos-Núnez, A. (2005). Solving the subset-sum problem by P systems with active membranes. New Generation Computing, 23(4), 339–356.

    Article  Google Scholar 

  38. Sun, J., Liu, Y., & Dong, J. S. (2008). Model checking CSP revisited: Introducing a process analysis toolkit. In International symposium on leveraging applications of formal methods, verification and validation (pp. 307–322). Springer.

  39. Sun, J., Liu, Y., Dong, J. S., & Pang, J. (2009). PAT: Towards flexible verification under fairness. In International conference on computer aided verification, June 2009 (pp. 709–714). Berlin, Heidelberg: Springer.

  40. Sun, J., Liu, Y., Roychoudhury, A., Liu, S., & Dong, J. S. (2009). Fair model checking with process counter abstraction. In International symposium on formal methods, November 2009 (pp. 123–139). Berlin, Heidelberg: Springer.

  41. Yuan, W., Zhang, G., Pérez-Jiménez, M. J., Wang, T., & Huang, Z. (2016). P systems based computing polynomials: Design and formal verification. Natural Computing, 15(4), 591–596.

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yezhou Liu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Liu, Y., Nicolescu, R. & Sun, J. Formal verification of cP systems using PAT3 and ProB. J Membr Comput 2, 80–94 (2020). https://doi.org/10.1007/s41965-020-00036-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s41965-020-00036-0

Keywords

Navigation