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.
Similar content being viewed by others
References
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.
Aman, B., & Ciobanu, G. (2015). Verification of membrane systems with delays via Petri nets with delays. Theoretical Computer Science, 598, 87–101.
Aman, B., & Ciobanu, G. (2016). Modelling and verification of weighted spiking neural systems. Theoretical Computer Science, 623, 92–102.
Cooper, J., & Nicolescu, R. (2019). The Hamiltonian cycle and travelling salesman problems in cP systems. Fundamenta Informaticae, 164(2–3), 157–180.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Henderson, A., & Nicolescu, R. (2018). Actor-like cP systems. In International conference on membrane computing, September 2018 (pp. 160–187). Cham: Springer.
Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta informaticae, 71(2, 3), 279–308.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Nicolescu, R. (2017). Most common words–A cP systems solution. In International conference on membrane computing, July 2017 (pp. 214–229). Cham: Springer.
Nicolescu, R., & Henderson, A. (2018). An introduction to cP systems. In Enjoying natural computing (pp. 204–227). Cham: Springer.
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.
Păun, A. (2001). On P systems with active membranes. In Unconventional models of computation, UMC’2K (pp. 187–201). London: Springer.
Păun, G. (2000). Computing with membranes. Journal of Computer and System Sciences, 61(1), 108–143.
Păun, G. (2006). Introduction to membrane computing. In Applications of membrane computing. (pp. 1–42). Springer.
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.
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.
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.
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.
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.
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.
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41965-020-00036-0