I have a concept for my Graphic, but i dont know how to rialize in CPNTools. The Arrowy are the conections between the Place and Transition.
the conections: arc: Input to InitializeInput, from InitializeInput to Chunks, from Chunks to ComputePrimeTwins, from Chunks to DistributeChunks, from ComputePrimeTwins to Results, from Results to CollectResults
colset NUM = int;
colset CHUNK = list NUM;
colset RESULT = int;
val num_start = 2;
val num_end = 1024;
val NP = 4;
fun chunk_size(num_start, num_end, NP) = (num_end - num_start + 1) div NP;
fun remainder(num_start, num_end, NP) = (num_end - num_start + 1) mod NP;
place:
Input([num_start, num_end]) : NUM;
Chunks([]) : CHUNK;
Results([]) : RESULT;
transition:
InitializeInput() =
gardient:
Input([start, end]) = num_start
==> Input([start + chunk_size(num_start, num_end, NP), end]);
DistributeChunks() =
gardient:
Input([start, end]) = num_start + chunk_size(num_start, num_end, NP)
==> Chunks(divide_range(start, end));
transition ComputePrimeTwins(chunk) =
gardient:
Chunks([chunk | _])
==> Results(compute_prime_twins(chunk));
transition CollectResults() =
Results(counts)
==> print("Total prime twins found: " + sum(counts));