P-Lingua

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract P-Lingua is a programming language for membrane computing which aims to be a standard to define P systems.

The manufacturer provides P-Lingua and its associated tools as a free and reusable package for the development of software/hardware applications capable of simulating ‘P system’ computations.

In order to implement this idea, a Java library called pLinguaCore (see below...) has been developed as a software framework for cell-like P systems.

It is able to handle input files (either in XML or in P-Lingua format) defining P systems from a number of different cell-like P system models.

Moreover, the library includes several ‘built-in simulators’ for each supported model.

For the sake of software portability, pLinguaCore can export a P system definition to any convenient output format (currently XML and binary formats are available).

This software is Not a closed product, it can be extended to accept new input or output formats and also new models or simulators.

The term P-Lingua 2.0 refers to the software package consisting of the above mentioned Java library together with a user interface called pLinguaPlugin (see below...).

pLinguaCore --

The pLinguaCore is a Java library which performs model definition(s), simulators and formats.

This library reports the rules and membrane structure read from a file where a P system is defined, detects errors in the file, and reports them.

And, if the P system is defined in the P-Lingua format, it locates the error in the file.

This library performs simulations by using the simulators implemented, as well as taking into account all defined options.

It reports the simulation process, by displaying the current configuration as text and reporting the elapsed time.

Subsequently, this library translates the files, which define a P system, between formats, for instance, from the P-Lingua format to the binary format.

pLinguaPlugin --

The pLinguaPlugin is an Eclipse plug-in which provides an end-user interface for using pLinguaCore.

Hence, all services performed by pLinguaCore, such as the compilation of P system files, error detection, file translation and P system simulation can be accessed in an intuitive and user-friendly way by means of the pLinguaPlugin.

It also provides ways to display configurations and modify specifications of P systems in real-time.

P-Linqua Associated tools --

The tools related to P-Lingua are:

1) pLinguaCore: A Java library for cell-like P system simulators (see above...).

2) A command-line compiler: To translate between input formats and output formats.

3) A command-line simulator: To simulate P system computations.

4) pLinguaPlugin: A P-Lingua plug-in for the Eclipse platform, developed as a user interface for pLinguaCore 2.0 (see above…).

How P-Linqua works --

P-Lingua programs define active membrane P systems with division rules in a parametric and modular way. In this sense, it is possible to define a family of P systems with the use of parameters.

After assigning values to the initial parameters, the compilation tool generates an XML document associated with the corresponding ‘P system’ from the family, and also checks possible programming errors (both lexical/syntactical and semantical).

Such documents can be integrated into other applications, thus guaranteeing interoperability by using the same P system definition in different software environments.

P-Lingua 2.0 currently defines P systems within the following different models:

1) Active membrane P systems with membrane division rules or membrane creation rules;

2) Transition P systems;

3) Symport/antiport P systems;

4) Stochastic P systems; and

5) Probabilistic P systems.

Each model follows semantic restrictions, which define several constraints, to which rules in the model’s P system should follow (such as, number of objects on each side, if ‘membrane creation’ and/or ‘membrane division’ are allowed, and so on) and the way rules are applied to configurations to evolve to other configurations.

Additional models can be added to the P-Lingua framework, but it is important to state that P-Lingua 2.0 supports only P systems whose configurations have a cell-like structure.

P-Lingua 2.0 Simulators --

P-Lingua 2.0 defines several algorithms (simulators) to simulate P system configuration computations for each supported model, so that every computation on a configuration, whose P system belongs to a model, can be performed by any simulator defined for that model.

P-Lingua 2.0 provides translation and error detection services for the supported models.

All simulators in P-Lingua 2.0 can step backwards (as well as the simulator in P-Lingua 1.0), but this option should be set before the simulation starts.

P-Lingua 2.0 also takes into account the existence of different simulation algorithms for the same model and provides a means for selecting a simulator among the ones which are suitable to simulate the P system, by checking its model.

Currently, only the ‘stochastic P system’ model provides several simulation algorithms to choose from, but P-Lingua 2.0 provides a mechanism to include new simulators for defined models.

System Requirements

Contact manufacturer.

Manufacturer

Manufacturer Web Site P-Lingua

Price Contact manufacturer.

G6G Abstract Number 20594

G6G Manufacturer Number 104197