Software for Membrane Computing

Software for Membrane Computing

Andrei George Florea, Cătălin Buiu
Copyright: © 2020 |Pages: 20
DOI: 10.4018/978-1-7998-1754-3.ch035
(Individual Chapters)
No Current Special Offers


In order to use membrane computing models for real life applications there is a real need for software that can read a model from some form of input media and afterwards execute it according to the execution rules that are specified in the definition of the model. Another requirement of this software application is for it to be capable of interfacing the computing model with the real world. This chapter discusses how this problem was solved along the years by various researchers around the world. After presenting notable examples from the literature, the discussion continues with a detailed presentation of three membrane computing simulators that have been developed by the authors at the Laboratory of Natural Computing and Robotics at the Politehnica University of Bucharest, Romania.
Chapter Preview

Membrane Computing Simulators

In general, the existing software for simulating membrane computing models can be divided into three categories taking into account the paradigm they use: (1) sequential (C, Java, C++, etc.), (2) software-based parallelization (of which some of the best known are Open MPI and OpenMP), and (3) hardware-based parallelization (FPGAs, etc.). Graphics Processing Units (GPUs) follow a hybrid paradigm and offer a many-core platform with high parallelism at low cost (Martínez-del-Amor, Macías-Ramos, Valencia-Cabrera, Riscos-Núñez, & Pérez-Jiménez, 2014). Our discussion and presentation will follow this categorization.

One of the earliest works in the area of simulating P systems is reported in (Ciobanu & Paraschiv, 2002) and describes the Membrane Simulator which provides a graphical simulation for two basic P systems (the hierarchical cell system and the active membrane system).

An ANSI C library with simple data structures that facilitated the in silico study of P systems was proposed in (Nicolau Jr, Solana, Fulga, & Nicolau, 2002). There can be implemented both active and non-active membranes, and actions for dissolving, dividing and creating new membranes.

(Borrego et al., 2007) continued the work dedicated to the graphical simulation of P systems and presented a tool called Tissue Simulator which supports the understanding of the basic structure and functioning of tissue P systems with cell division. This tool was developed in Java (to analyze the input data) and C# (used for the graphical user interface and for the kernel of the application). This software is no longer available to the community. A software tool for assisting the formal verification of spiking neural P systems (SNPS) has been proposed in (Gutiérrez-Naranjo, Pérez-Jiménez, & Ramírez-Martínez, 2008).

The membrane computing paradigm lies at the basis of Cyto-Sim (Sedwards & Mazza, 2007) which included a formal language and also a Java stochastic simulator of membrane systems. Cyto-Sim allowed the use of Petri nets based models and was able to import and export SBML files and to export MATLAB files. In (Spicher, Michel, Cieslak, Giavitto, & Prusinkiewicz, 2008) there is a report on an implementation of stochastic P systems using MGS, a spatially explicit programming language.

Psim, a simulation tool based on metabolic algorithms, was presented and discussed in (Bianco & Castellini, 2007), allowing the simulation of metabolic P systems. MetaPlab is an interesting development and presents itself in the form of a virtual laboratory implemented in Java, available at and allowing the understanding and simulation of the internal mechanisms of biological systems (Castellini & Manca, 2008).

Complete Chapter List

Search this Book: