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.

S. Verlan, J. Quiros<br />

Now let us c<strong>on</strong>centrate <strong>on</strong> the last case. Without loss of generality we can<br />

suppose that N ai = 1, 0 ≤ i ≤ n. We remark that the language of binary strings<br />

of length n corresp<strong>on</strong>ding to the joint applicability vector of rules r 1 , . . . , r n coincides<br />

with the language L I from Example 1. Hence the number of possibilities of<br />

applicati<strong>on</strong> of such a chain of rules of length n is equal to NBV (r 1 , . . . , r n , C) =<br />

[x n ]q 0 , i.e., q 0 (0) = 1, q 0 (1) − 1, q 0 (2) = 2 and q 0 (n) = q 0 (n − 2) + q 0 (n − 3),<br />

n > 3.<br />

Hence in order to compute NBV ariants(Π, C, smax) we first split the chain<br />

into k > 0 parts of length n j according to the multiplicities of objects and<br />

compute the NBV functi<strong>on</strong> for each part using the decompositi<strong>on</strong> above.<br />

The functi<strong>on</strong> V ariant for each part can be computed using Algorithm 1.<br />

The next secti<strong>on</strong> gives more details <strong>on</strong> the implementati<strong>on</strong> of the above<br />

algorithms <strong>on</strong> FPGA.<br />

4.2 Implementati<strong>on</strong> Details<br />

FPGAs c<strong>on</strong>tain lots of programmable logic blocks and rec<strong>on</strong>figurable interc<strong>on</strong>nects.<br />

When a system is implemented using this kind of devices, finding a path<br />

which communicates two logic blocks is usually the task where speed, i.e. performance,<br />

is compromised. Thus, modular designs which minimize l<strong>on</strong>g paths<br />

between logic comp<strong>on</strong>ents are which best fit in this kind of technology. Our design<br />

is based <strong>on</strong> layers with interfaces clearly defined. Each layer is a block which<br />

performs a main task of the algorithm, and it <strong>on</strong>ly communicates with previous<br />

layer, whose outputs are its inputs, and next layer, which receives its outputs.<br />

Overall Design In order to design the simulator, the graph of dependencies<br />

between rules has been chosen as started point to model P systems. This approach<br />

reduces complexity, due to deleting some elements, like membranes and,<br />

in c<strong>on</strong>sequence, the hierarchical structure of them. Objects and rules are the<br />

<strong>on</strong>ly elements which have been having in mind to model the system. Moreover,<br />

the implementati<strong>on</strong> is based <strong>on</strong> mathematical foundati<strong>on</strong>s described in the previous<br />

secti<strong>on</strong>, following a divisi<strong>on</strong> of tasks, which assures enough encapsulati<strong>on</strong><br />

to achieve a design with a right flexibility. The objects are explicitly represented<br />

using registers which is not the case for the rules. Their logic is distributed al<strong>on</strong>g<br />

most of the comp<strong>on</strong>ents, thus there is no corresp<strong>on</strong>dence between a rule and a<br />

hardware core.<br />

An executi<strong>on</strong> of a P system c<strong>on</strong>sists in running iterati<strong>on</strong>s until it reaches a<br />

stop c<strong>on</strong>diti<strong>on</strong>. At each iterati<strong>on</strong> there is a set of operati<strong>on</strong>s to be carried out<br />

in order to obtain next c<strong>on</strong>figurati<strong>on</strong>. To implement the simulator, these tasks<br />

have been divided in the following stages:<br />

– Initial stage: Calculate the maximum number of applicati<strong>on</strong>s of each rule.<br />

– Assignment stage: Choose which rules will be applied (and how many times).<br />

– Applicati<strong>on</strong> stage: Apply the rules, computing new values for multiplicity of<br />

objects.<br />

– Updating stage: Update current c<strong>on</strong>figurati<strong>on</strong>.<br />

442

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

Saved successfully!

Ooh no, something went wrong!