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.
Similar content being viewed by others
Notes
\([a]\) is the multiset containing only (one occurrence of) the spike a.
The neuron name \(N_0\) is reserved (as name of the first neuron in any valid \(D\in NDs\)).
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.
vartheta decreases by 1 with each clock tick, and becomes 0 when the neuron moves to the open status.
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.
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.
\(\lnot \) is the logical negation operator; the notations were presented in Remark 1.
\(\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
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.
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.
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.
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.
Ciobanu, G., & Paraschiv, D. (2002). A P system software simulator. Fundamenta Informaticae, 49, 61–66.
Ciobanu, G., & Todoran, E. N. (2014). Continuation semantics for asynchronous concurrency. Fundamenta Informaticae, 131(3–4), 373–388.
Ciobanu, G., & Todoran, E. N. (2019). A semantic investigation of spiking neural P systems. Lecture Notes in Computer Science, 11399, 108–130.
Ciobanu, G., & Todoran, E. N. (2022). A process calculus for spiking neural P systems. Information Sciences, 604, 298–319.
Ciobanu, G., & Todoran, E. N. (2023). Spiking neural P systems and their semantics in Haskell. Natural Computing, 22(1), 41–54
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
de Bakker, J. W., & de Vink, E. P. (1996). Control flow semantics. MIT Press.
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.
Fan, S., Paul, P., Wu, T., Rong, H., & Zhang, G. (2020). On applications of spiking neural P systems. Applied Sciences, 10, 7011.
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.
Ionescu, M., Păun, G., & Yokomori, T. (2006). Spiking neural P systems. Fundamenta Informaticae, 71, 279–308.
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.
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.
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.
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.
Păun, Gh. (2002). Membrane computing. An introduction. Springer.
Păun, G., Rozenberg, G., & Salomaa, A. (Eds.). (2010). Handbook of membrane computing. Oxford University Press.
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.
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.
Plotkin, G. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming, 60–61, 17–139.
Rozenberg, G., & Salomaa, A. (Eds.). (1998). Handbook of formal languages (Vol. 3). Springer.
Schmidt, D. A. (1986). Denotational semantics: A methodology for language development. Allyn & Bacon.
Song, T., Pan, L., & Păun, Gh. (2014). Spiking neural P systems with rules on synapses. Theoretical Computer Science, 529, 82–95.
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.
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.
Todoran, E. N. (2000). Metric semantics for synchronous and asynchronous communication: A continuation-based approach. Electronic Notes in Theoretical Computer Science, 28, 101–127.
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.
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.
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.
(2023). Haskell implementation of the operational semantics presented in this paper http://ftp.utcluj.ro/pub/users/gc/eneia/jmc2023
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
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.
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41965-023-00122-z