09.09.2014 Views

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

13th International Conference on Membrane Computing - MTA Sztaki

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

F. Ipate, C. Dragomir, R. Lefticaru, L. Mierla, M.J. Pérez-Jiménez<br />

this case the rules [A i ] 2 → [B i A i+1 ] 2 [G i A i+1 ] 2 [R i A i+1 ] 2 {= S}, 1 ≤ i ≤ n−1 and<br />

[A n ] 2 → [B n X] 2 [G n X] 2 [R n X] 2 {= S} must be replaced with divisi<strong>on</strong> rules that<br />

do not use object rewriting. Hence we need some additi<strong>on</strong>al cells, three more<br />

types, namely 21, 22, 23 and new rules to replace the membrane above divisi<strong>on</strong><br />

rules. The new rules used in the membrane divisi<strong>on</strong> process are the following:<br />

– membrane divisi<strong>on</strong> in R 2 : [] 2 → [] 21 [] 22 [] 23 {= A 1 = S| . . . | = A n = S};<br />

whenever an A i and a S are present in cell 2, this is divided into three cells<br />

of types 21, 22 and 23;<br />

– rewriting rules: A i → B i A i+1 ∈ R 21 , 1 ≤ i ≤ n − 1, A n → B n X ∈ R 21 ,<br />

A i → G i A i+1 ∈ R 22 , 1 ≤ i ≤ n − 1, A n → G n X ∈ R 22 and A i → R i A i+1 ∈<br />

R 23 , 1 ≤ i ≤ n − 1, A n → R n X ∈ R 23 ;<br />

– membrane divisi<strong>on</strong> (in fact a label change): [] 21 → [] 2 {= B 1 = A 2 | . . . | =<br />

B n−1 = A n | = B n = X} ∈ R 21 ; [] 22 → [] 2 {= G 1 = A 2 | . . . | = G n−1 =<br />

A n | = G n = X} ∈ R 22 ; [] 23 → [] 2 {= R 1 = A 2 | . . . | = R n−1 = A n | = R n =<br />

X} ∈ R 23 ; cell 21, 22 and 23 will be relabelled 2 when the guards are true;<br />

In this case, 1 + 3n + 3 rules will replace the n divisi<strong>on</strong> rules; the maximum<br />

number of cells will remain the same, i.e., 3 n + 1 and the number of steps will<br />

become 2n + 3 (provided that the rewriting and divisi<strong>on</strong> rules in cells 21, 22 and<br />

23 are executed in the same step. These values are presented in the table below.<br />

Type/Specificati<strong>on</strong><br />

kP systems<br />

Alphabet n(n + 1)/2 + 4n + 8<br />

Rules 4 & 4n + 7<br />

Max number of cells 3 n + 1<br />

Max number of steps 2n + 3<br />

4 Promela Implementati<strong>on</strong> of the kP System<br />

To further dem<strong>on</strong>strate our soluti<strong>on</strong> to the 3-Col problem using kP systems,<br />

we will implement, execute and formally verify the proposed model in the Spin<br />

verificati<strong>on</strong> tool [1]. Originally designed for verifying communicati<strong>on</strong>s protocols,<br />

Spin is particularly suited for modelling c<strong>on</strong>current and distributed systems that<br />

are based up<strong>on</strong> interleaving of atomic instructi<strong>on</strong>s. Systems are described in a<br />

high level language called Promela (a process meta language). Promela allows<br />

the use of embedded C code as part of the model specificati<strong>on</strong>s, facilitating the<br />

verificati<strong>on</strong> of high level, implementati<strong>on</strong> dependent properties. It also allows<br />

for a c<strong>on</strong>cise specificati<strong>on</strong> of logical correctness requirements, including, but not<br />

restricted to requirements expressed in LTL (linear temporal logic). Our goal is<br />

twofold: firstly, we aim to simulate the kP system for several instances of the<br />

problem and sec<strong>on</strong>dly, we attempt to verify the correctness of our model by<br />

250

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!