Several attemps have been made to build hardware devices to support these bio-
inspired models. Some research groups are currently implementing in silico the basic
components of P-systems [4]. [9] describes other examples of hardware implementa-
tions of cellular automata, CAM-6 and its derivatives, that have been used for the simu-
lation of complex systems (see [8]). But, unfortunately there are no real computers for
almost all bio-inspired models. So, step 2 usually implies the simulation of the model
in a “conventional” (von Neumann) computer.
Informally, and assuming that NP (nondeterministic polynomial time) 6= P, NP is a
complexity class that includes those problems whose solution by means of algorithms
run on conventional computers requires more than polynomial time. We can informally
understand more than polynomial as exponential. One of the most interesting features
of these bio-inspired computers is their intrinsic parallelism. We can design algorithms
for them that could improve the exponential performance of their classic versions. Nev-
ertheless, when the models have to be simulated on conventional computers, the total
amount of space needed to simulate the model and to actually run the algorithm usually
becomes exponential. This may be one of the main reasons why natural computers are
not widely used to solve real problems. Most of the simulators are not able to handle
the size of non trivial problems. Grid, cloud computation and clusters offer an inter-
esting and promising option to overcome the drawbacks of both solutions: “specific”
hardware, and simulators run on von Neumann’s machines.
There are several research groups interested in programming tools for natural com-
puters. These tools include textual and visual programming languages, compilers, se-
quential and parallel simulators.
P-Lingua ([5] and http://www.p-lingua.org) is a programming language for
membrane computing which aims to be a standard to define P systems. One of its main
characteristics is to remain as close as possible to the formal notation used in the liter-
ature to define P systems. Once he has formalized his P systems, the programmer does
not need any additional effort to describe them with P-Lingua. P-Lingua is also the
name of a software package that includes several built-in simulators for each supported
model, as well as the compilers needed to simulate P-Lingua programs.
One of the current topics of interest of the authors of this paper is the development of
programming tools for NEPs, which will be briefly described in the following sections.
The current paper introduces NEPs-Lingua, the first textual programming language for
NEPs. It is a first step to extend the P-Lingua approach to other bio-inspired models
of computation. Our goal is to provide the researchers with a homogeneous family of
languages for programming natural computers. The programmer familiar with a model
will not have to learn a very different syntax if he tries to use other models. This is the
reason why NEPs-Lingua is designed to be similar to P-Lingua. NEps-Lingua has two
main goals that will also be described in detail later: 1) Like P-Lingua, it aims to provide
the researchers with a syntax as close as possible to the one used to describe NEPs in
the literature. 2) It tries to ease some usually boring, mechanical and time-consuming
tasks needed to describe NEPs with the input formalisms of the available tools.
38