p-lingua 5: a tutorial - natural computing · input: p-lingua les output: p system de nition in...

50
P-Lingua 5: A tutorial Ignacio P´ erez-Hurtado, David Orellana-Mart´ ın 17th Brainstorming Week on Membrane Computing 5-8 February 2019, Sevilla, Spain 1 / 23

Upload: others

Post on 19-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: A tutorial

Ignacio Perez-Hurtado, David Orellana-Martın

17th Brainstorming Week on Membrane Computing

5-8 February 2019, Sevilla, Spain

1 / 23

Page 2: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionP-Lingua: A programming language for membrane computing (https://p-lingua.org/)

Presented for the first time in the 6th BWMC (2008)

2 / 23

Page 3: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

3 / 23

Page 4: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

pLinguaCore 1.0

Initial version

pLinguaCore 2.0

Cell-like P systems with membrane divisionTransition P systems

pLinguaCore 2.1Tissue-like P systems with cell-division

pLinguaCore 3.0

PDP systems (several simulation algorithms, DCBA, Binomial...)Tissue-like P systems with cell-separation

pLinguaCore 4.0

Kernel P systemsSpiking Neural P systemsTissue-like P systems with cell-separation

4 / 23

Page 5: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

5 / 23

Page 6: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

Extending pLinguaCore for a new P system variant:

Decide a new name to identify the variant.Extend the syntactic/semantic parser.Implement code to generate output formats.Implement one or more simulation algorithms.

All is hard-coded in the library!

6 / 23

Page 7: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

Diagram of the general software methodology to add a new variant inpLinguaCore:

7 / 23

Page 8: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

IntroductionpLinguaCore: A Java library to parse and simulate P-Lingua files

Diagram of the general software methodology to add a new variant inpLinguaCore:

7 / 23

Page 9: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: An extension with semantic featureshttps://github.com/RGNC/plingua

A new tool written from scratch in C/C++

A generic compiler for the command-line:

Input: P-Lingua filesOutput: P system definition in XML, JSON or binary format

P system variants are defined as sets of rule patterns

Rule patterns can be written in P-Lingua files

Two derivation modes for rules:

Maximal parallel modeBounded parallel mode

A C++ generic simulator for the command-line

8 / 23

Page 10: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: An extension with semantic featuresExample: Cell-Like P systems with membrane division rules

!dam_evolution {

?[a -> v]’h;

?[a -> ]’h;

}

!dam_send_in {

a ?[ ]’h -> ?[b]’h;

}

!dam_send_out {

?[a]’h -> b ?[ ]’h;

}

!dam_dissolution {

?[a]’h -> b;

?[a]’h -> ;

}

9 / 23

Page 11: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: An extension with semantic featuresExample: Cell-Like P systems with membrane division rules

!dam_division {

?[a]’h -> ?[ ]’h ?[ ]’h;

?[a]’h -> ?[b]’h ?[ ]’h;

?[a]’h -> ?[ ]’h ?[b]’h;

?[a]’h -> ?[b]’h ?[c]’h;

}

@model(membrane_division) =

dam_evolution,

// evolution rules are maximally parallel

@1{dam_send_in, dam_send_out, dam_dissolution, dam_division};

// upper-bound for send_in, send_out, dissolution, division is 1

10 / 23

Page 12: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: An extension with semantic featuresExample: Cell-Like P systems with membrane division rules

@model<membrane_division>

@include "membrane_division_model.pli"

def Sat(m,n)

{

/* Initial configuration */

@mu = [[]’2]’1;

/* Initial multisets */

@ms(2) = d{1};

/* Set of rules */

[d{k}]’2 --> +[d{k}]-[d{k}] : 1 <= k <= n;

11 / 23

Page 13: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresExample: Transition P systems

!transition_evolution /* Limited to rules with 3 inner membranes */

{

[a -> v]’h;

[a -> v, @d]’h;

(?) [a -> v]’h;

(?) [a -> v, @d]’h;

[a [ ]’h1 --> v [w]’h1]’h;

[a [ ]’h1 --> v [w]’h1]’h;

(?) [a [ ]’h1 --> v [w]’h1]’h;

(?) [a [ ]’h1 --> v [w]’h1]’h;

[a [ ]’h1 [ ]’h2 --> v [w1]’h1 [w2]’h2]’h;

[a [ ]’h1 [ ]’h2 --> v [w1]’h1 [w2]’h2]’h;

(?) [a [ ]’h1 [ ]’h2 --> v [w1]’h1 [w2]’h2]’h;

(?) [a [ ]’h1 [ ]’h2 --> v [w1]’h1 [w2]’h2]’h;

[a [ ]’h1 [ ]’h2 [ ]’h3 --> v [w1]’h1 [w2]’h2 [w3]’h3]’h;

[a [ ]’h1 [ ]’h2 [ ]’h3 --> v [w1]’h1 [w2]’h2 [w3]’h3]’h;

(?) [a [ ]’h1 [ ]’h2 [ ]’h3 --> v [w1]’h1 [w2]’h2 [w3]’h3]’h;

(?) [a [ ]’h1 [ ]’h2 [ ]’h3 --> v [w1]’h1 [w2]’h2 [w3]’h3]’h;

} @model(transition) = transition_evolution;

12 / 23

Page 14: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresLet’s see more examples from Github

13 / 23

Page 15: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresRule patterns

The P-Lingua parser is able to recognize rules with a very flexible syntax:

p

u[v1[v1,1]α1,1

h1,1. . . [v1,m1 ]

α1,m1h1,m1

]α1h1. . . [vn[vn,1]

αn,1

hn,1. . . [vn,mn ]

αn,mnhn,mn

]αnhn

q−→ orq←→

w0[w1[w1,1]β1,1g1,1 . . . [w1,r1 ]

β1,r1g1,r1

]β1g1 . . . [ws [ws,1]βs,1gs,1 . . . [ws,rs ]

βs,rsgs,rs ]βsgs

14 / 23

Page 16: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresRule patterns

where:

p is a priority related to the rule given by a natural number, where alower number means a higher rule priority.

q is a probability related to the rule given by a real number in [0, 1].

αi , αi ,j , 1 ≤ i ≤ n, 1 ≤ j ≤ mi and βi , βi ,j , 1 ≤ i ≤ s, 1 ≤ j ≤ ri areelectrical charges.

hi , hi ,j , 1 ≤ i ≤ n, 1 ≤ j ≤ mi and gi , gi ,j , 1 ≤ i ≤ s, 1 ≤ j ≤ ri aremembrane labels.

u, vi , vi ,j , 1 ≤ i ≤ n, 1 ≤ j ≤ mi and wi ,wi ,j , 1 ≤ i ≤ s, 1 ≤ j ≤ ri aremultisets of objects.

15 / 23

Page 17: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresRule patterns

Next, there is a list of P-Lingua rule examples matching the general rulesyntax:

a,b [ d,e*2 ]’h --> [f,g]’h :: q; where q is the probabilityof the rule.

(p) [a]’h --> [b]’h; where p is the priority of the rule.

[a --> b]’h;, the left-hand side and right-hand side of evolutionrules can be collapsed.

+[a]’h --> +[b]’h -[c]’h; a division rule using electrical charges.

[a]’h --> ; a dissolution rule.

a[ ]’h --> [b]’h; a send-in rule.

[a]’h --> b[ ]’h; a send-out rule.

[a --> #]’h; the symbol # can be optionally used as emptymultiset.

[a]’1 <--> [b]’0; a symport/antiport rule in the tissue-likeframework.

16 / 23

Page 18: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresRule patterns

The general rule syntax is very permissive

We introduce a rule pattern matching language to define the subsetof allowed rules

!rule-type-id

{

pattern1

pattern2

...

patternN

}

17 / 23

Page 19: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

An extension of P-Lingua for semantic featuresDerivation modes

From an informal point of view, we can see a derivation mode as theway a step of a P system is performed.

In this extension of P-Lingua, we provide two derivation modes

Maximally parallel derivation mode (max). In this mode, we only takemultisets of rules that are not extensible.Bounded-by-rule parallel derivation mode. In this mode, anupper-bound is defined for multisets of rules that can be selected.

A P system model can be defined in this new extension of P-Linguaby aggregating the allowed rule patterns and its correspondingderivation modes.

18 / 23

Page 20: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 21: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }

Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 22: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 23: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).

boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 24: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 25: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.

boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 26: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 27: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

19 / 23

Page 28: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

evolution 1

19 / 23

Page 29: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

evolution 1

send − out send − in dissolution division

19 / 23

Page 30: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 1

send − out send − in dissolution division

19 / 23

Page 31: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in dissolution division

19 / 23

Page 32: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

19 / 23

Page 33: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

1

19 / 23

Page 34: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

1

1

19 / 23

Page 35: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in2

1

1

19 / 23

Page 36: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in2

2

1

19 / 23

Page 37: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in2

2

19 / 23

Page 38: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in2

19 / 23

Page 39: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in2

1

19 / 23

Page 40: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in3

1

19 / 23

Page 41: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in3

19 / 23

Page 42: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in4

19 / 23

Page 43: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

Not only syntax, but also semantics definition!

19 / 23

Page 44: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

Not only syntax, but also semantics definition!

Take into account!

19 / 23

Page 45: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

Not only syntax, but also semantics definition!

Take into account!

2 ≤ 4

19 / 23

Page 46: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Derivation modes

boundB1,...,Br

Bi = j , j ∈ {a, b, . . . }Bi = βn(B1, . . . ,Bri )

Maximally parallel derivation mode (max).boundevolution,β1(send−out,send−in,dissolution,division)

Bounded-by-rule parallel derivation mode.boundβ4(evolution,β2(send−out,send−in))

4

evolution 2

send − out send − in

Not only syntax, but also semantics definition!

Take into account!

2 ≤ 4

Only one appearanceof each one!

19 / 23

Page 47: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

P-Lingua 5: The command-line simulator

A command-line simulator has been written in C++

It reads the output generated by the P-Lingua compiler(XML/Json/binary file defining the P system)

It optionally reads a file with the initial configuration

It simulates the P system following the defined semantics in the file

It outputs one computation until a halting state or a number ofsimulation steps

It can be run in a non-randomized mode, where it outputs always thesame computation for a given P system

The final configuration is written to a file, the simulation can bere-started

20 / 23

Page 48: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Conclusions

A new version of P-Lingua has been designed including rule patternsand semantic definitions

a command-line compiler has been written from scratch in C/C++

a command-line simulator tool is also provided

hard-coding the definition of the P system variants is not longernecessary

this tool allow the designers to ”play”with experimental variants of Psystems

21 / 23

Page 49: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Future work

To refine the syntax for semantic ingredients in P-Lingua.

To cover variants such as Spiking Neural P systems and FuzzyReasoning Spiking Neural P systems

To write simulators for parallel architectures, such as multi-coreprocessors, pthreads, GPUs, FPGAs...

To design optimized simulation tools for interesting case studies

22 / 23

Page 50: P-Lingua 5: A tutorial - Natural Computing · Input: P-Lingua les Output: P system de nition in XML, JSON or binary format P system variants are de ned as sets ofrule patterns Rule

Thanks for your attention!

23 / 23