Skip to main content
Log in

Variants of spiking neural P systems and their operational semantics in Haskell

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

Abstract

This article presents the Haskell implementations of spiking neural P systems and of two variants subsequently introduced in the literature, namely the spiking neural P systems with inhibitory rules and spiking neural P systems with structural plasticity. These implementations are obtained using their operational semantics in which the involved configurations use continuations. For each variant, the formal syntax is presented, together with the semantics given accurately by the Haskell implementation.

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

Notes

  1. \([a]\) is the multiset containing only (one occurrence of) the spike a.

  2. The neuron name \(N_0\) is reserved (as name of the first neuron in any valid \(D\in NDs\)).

  3. In [8], both an operational semantics and a denotational semantics for \(\textsf{SNP}\) calculus are presented; it is used the term resumption as an operational counterpart of the term continuation; in this article we use (only) the term continuation.

  4. vartheta decreases by 1 with each clock tick, and becomes 0 when the neuron moves to the open status.

  5. The constructs (Snd xi1 a) and (Init xi1) implement elementary statements of the form \(\,{\textsf{snd}}\,\xi _1\,a\,\) and \(\,{\textsf{init}}\,\xi _1\,\) given in Definition 2.

  6. A spiking neural P system with inhibitory rules can be represented as a graph with inhibitory arcs [22]. For each \(j=1,\ldots ,m\), there is an arc between neurons \(N_j\) and N corresponding to an inhibitory synapse.

  7. \(\lnot \) is the logical negation operator; the notations were presented in Remark 1.

  8. \(\xi {\setminus }pres(N)\) is the set theoretic difference between sets \(\xi \) and \(pres(N)\); we use the same symbol \(\setminus \) to represent the multiset difference operator, because it is always clear from the context whether the arguments of this operator \(\setminus \) are sets or multisets.

References

  1. Alexandru, A., & Ciobanu, G. (2015). Mathematics of multisets in the Fraenkel–Mostowski framework. Bulletin Mathematique de la Societe des Sciences Mathematiques de Roumanie, 58(106), 3–18.

    MathSciNet  MATH  Google Scholar 

  2. Arroyo, F., Luengo, C., Baranda, A. V., & de Mingo, L. (2002). A software simulation of transition P systems in Haskell. Lecture Notes in Computer Science, 2597, 19–32.

    Article  MathSciNet  MATH  Google Scholar 

  3. Bonchiş, C., Ciobanu, G., Izbaşa, C., & Petcu, D. (2005). A web-based P systems simulator and its parallelization. Lecture Notes in Computer Science, 3699, 58–69.

    Article  MathSciNet  MATH  Google Scholar 

  4. Cabarle, F. G., Adorna, H. N., Perez-Jimenez, M. J., & Song, T. (2015). Spiking neural P systems with structural plasticity. Neural Computing and Applications, 26(8), 1905–1917.

    Article  MATH  Google Scholar 

  5. Ciobanu, G., & Paraschiv, D. (2002). A P system software simulator. Fundamenta Informaticae, 49, 61–66.

    MATH  Google Scholar 

  6. Ciobanu, G., & Todoran, E. N. (2014). Continuation semantics for asynchronous concurrency. Fundamenta Informaticae, 131(3–4), 373–388.

    Article  MathSciNet  MATH  Google Scholar 

  7. Ciobanu, G., & Todoran, E. N. (2019). A semantic investigation of spiking neural P systems. Lecture Notes in Computer Science, 11399, 108–130.

    Article  MathSciNet  MATH  Google Scholar 

  8. Ciobanu, G., & Todoran, E. N. (2022). A process calculus for spiking neural P systems. Information Sciences, 604, 298–319.

    Article  Google Scholar 

  9. Ciobanu, G., & Todoran, E. N. (2023). Spiking neural P systems and their semantics in Haskell. Natural Computing, 22(1), 41–54

    Article  MathSciNet  Google Scholar 

  10. Ciobanu, G., & Todoran, E. N. (2022). Variants of spiking neural P systems and their operational semantics in Haskell. In 23rd Int’l Conference on Membrane Computing, CMC

  11. de Bakker, J. W., & de Vink, E. P. (1996). Control flow semantics. MIT Press.

    MATH  Google Scholar 

  12. Dupaya, A. G., Galano, A. C., Cabarle, F. G., de la Cruz, R. T., Ballesteros, K. J., & Lazo, P. P. (2022). A web-based visual simulator for spiking neural P systems. Journal of Membrane Computing, 4(1), 21–40.

    Article  MathSciNet  Google Scholar 

  13. Fan, S., Paul, P., Wu, T., Rong, H., & Zhang, G. (2020). On applications of spiking neural P systems. Applied Sciences, 10, 7011.

    Article  Google Scholar 

  14. 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 Communication & Control, 4, 234–243.

    Article  Google Scholar 

  15. Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta Informaticae, 71, 279–308.

    MathSciNet  MATH  Google Scholar 

  16. Ionescu, M., Păun, G., Pérez-Jiménez, M. J., & Rodriguez-Patón, A. (2011). Spiking neural P systems with several types of spikes. International Journal of Computers & Control, 6, 647–655.

    Article  Google Scholar 

  17. Macías-Ramos, L. F., Pérez-Hurtado, I., García-Quismondo, M., Valencia-Cabrera, L., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2012). A P-Lingua based simulator for spiking neural P systems. Lecture Notes in Computer Science, 7184, 257–281.

    Article  MathSciNet  Google Scholar 

  18. Martínez-del-Amor, M. A., Pérez-Hurtado, I., Pérez-Jiménez, M. J., & Riscos-Núñez, A. (2010). A P-Lingua based simulator for tissue P systems. Journal of Logic and Algebraic Programming, 79, 374–382.

    Article  MathSciNet  MATH  Google Scholar 

  19. Pan, L., Păun, Gh., Zhang, G., & Neri, F. (2017). Spiking neural P systems with communication on request. International Journal of Neural Systems, 27(8), 1750042.

    Article  Google Scholar 

  20. Păun, Gh. (2002). Membrane computing. An introduction. Springer.

    Book  MATH  Google Scholar 

  21. Păun, G., Rozenberg, G., & Salomaa, A. (Eds.). (2010). Handbook of membrane computing. Oxford University Press.

    MATH  Google Scholar 

  22. Peng, H., Li, B., Wang, J., Song, X., Wang, T., Valencia-Cabrera, L., Perez-Hurtado, I., Riscos-Nunez, A., & Perez-Jimenez, M. J. (2020). Spiking neural P systems with inhibitory rules. Knowledge-Based Systems, 188, 105064.

    Article  Google Scholar 

  23. Pérez-Hurtado, I., Orellana-Martín, D., Martínez-del-Amor, M. A., Valencia-Cabrera, L., & Riscos-Núñez, A. (2022). A new P-Lingua toolkit for agile development in membrane computing. Information Sciences, 587, 1–22.

    Article  Google Scholar 

  24. Plotkin, G. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming, 60–61, 17–139.

    MathSciNet  MATH  Google Scholar 

  25. Rozenberg, G., & Salomaa, A. (Eds.). (1998). Handbook of formal languages (Vol. 3). Springer.

    Google Scholar 

  26. Schmidt, D. A. (1986). Denotational semantics: A methodology for language development. Allyn & Bacon.

    Google Scholar 

  27. Song, T., Pan, L., & Păun, Gh. (2014). Spiking neural P systems with rules on synapses. Theoretical Computer Science, 529, 82–95.

    Article  MathSciNet  MATH  Google Scholar 

  28. Song, T., Pan, L., Wu, T., Zheng, P., Wong, M. L. D., & Rodríguez-Patón, A. (2019). Spiking neural P systems with learning functions. IEEE Transactions on Nanobioscience, 18(2), 176–190.

    Article  Google Scholar 

  29. Song, X., Valencia-Cabrera, L., Peng, H., Wang, J., & Pérez-Jiménez, M. J. (2021). Spiking neural P systems with delay on synapses. International Journal of Neural Systems, 31(1), 2050042.

    Article  Google Scholar 

  30. Todoran, E. N. (2000). Metric semantics for synchronous and asynchronous communication: A continuation-based approach. Electronic Notes in Theoretical Computer Science, 28, 101–127.

    Article  Google Scholar 

  31. Verlan, S., Freund, R., Alhazov, A., Ivanov, S., & Pan, L. (2020). A formal framework for spiking neural P systems. Journal of Membrane Computing, 2(4), 355–368.

    Article  MathSciNet  MATH  Google Scholar 

  32. Zhang, G., Pérez-Jiménez, M. J., Riscos-Núñez, A., Verlan, S., Konur, S., Hinze, T., & Gheorghe, M. (2021). Membrane computing models: Implementations. Springer.

    Book  Google Scholar 

  33. Zhou, N., Peng, H., Wang, J., Yang, Q., & Luo, X. (2022). Computational completeness of spiking neural P systems with inhibitory rules for generating string languages. Theoretical Computer Science, 920, 64–75.

    Article  MathSciNet  MATH  Google Scholar 

  34. (2023). Haskell implementation of the operational semantics presented in this paper http://ftp.utcluj.ro/pub/users/gc/eneia/jmc2023

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eneia Nicolae Todoran.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ciobanu, G., Todoran, E.N. Variants of spiking neural P systems and their operational semantics in Haskell. J Membr Comput 5, 81–99 (2023). https://doi.org/10.1007/s41965-023-00122-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s41965-023-00122-z

Keywords

Navigation