Analysis of the
M
olecules
o
f
K
nowledge Model
with the BioPepa Eclipse Plugin
Stefano Mariani
DISI, ALMAMATERSTUDIORUM–Universit`a di Bologna via Sacchi 3, 47521 Cesena, Italy
Email: s.mariani@unibo.it
Abstract—In this brief technical report, we investigate the opportunity of exploiting biochemical processes simulation tools – in particular, BioPepa – to experiment about parameter tuning in chemical-like coordination models—in particular, MoK.
I. INTRODUCTION
Natural systems gained increasing attention from the Com-puter Scientists community, mainly due to their ability to exhibit self-organising features appearing by emergence from a huge number of local, stochastic interactions. Such features are particularly attractive for the Coordination Models and Languages community, being its foremost goal to conceive models and build systems able to meaningfully coordinate a number of autonomous, independent, (possibly) distributed (software) entities so as to reach a shared goal [1]. Soon it became clear that some kind of support was needed to design such systems, in particular to effectively tune their parameters in order to achieve the desired self-* behaviours. Thus, many simulation and analysis tools have been proposed with the aim to ease the process of checking and predicting the behaviour of a nature-inspired software system prior to actual deployment [2].
In this brief technical report, I share my experience in using the BioPepa Eclipse plugin to investigate the
M
oleculeso
fK
nowledge model (MoK
, for short) capabilities of exhibiting biochemical-like self-organising behaviours. To this end, Sub-section I-A provides some background of theMoK
model, whereas Subsection I-B clears the goals of my investigation. A. BackgroundThe
MoK
model is first of all a coordination model [3]. In particular, it is both a knowledge -driven and -oriented coordination model, which means that, on the one hand, coordination of interacting, autonomous agents happens not directly between their actions, but as a side effect of a proper management of the knowledge produced and consumed by such agents (-driven part), on the other hand, that the coor-dination process is focussed on coordinating the information to influence the agents, rather than coordinating the agents to influence the way in which information is stored (-oriented part).The
MoK
model is also a biochemically-inspired, tuple-based coordination model which exploits logic tuples to lever-age user lever-agents reasoning capabilities. As such, it has been deeply influenced by the biochemical tuple space coordination model proposed in [4]. Basically, tuples are seen as reactantsfloating in a chemical substance, user agents as chemists injecting, observing and withdrawing reactants, and the tuple space is no more merely a passive repository of information but an active environment acting as a chemical dynamics simulator, evolving tuples concentrations exactly as reactants evolve in a chemical substance due to chemical reactions [5]. As in chemistry then, other than the specific chemical reactions “installed” into the tuple space, what do matter for a successful model deployment is the tuning of the two most crucial parameters available, that is the concentration of reactants within the space and the rate of chemical reactions execution.
The main goals of the
MoK
model are:• to autonomously aggregate information chunks into heaps of knowledge
• to let information and knowledge autonomously flow toward the interested users, rather than be searched The
MoK
model has been formalized in [3], an early case study has been presented in [6] and further evaluated in [7]. Here follows a brief recap of such formalization, meant to ease understanding of the experimental plan presented in Section II.MoK
Atoms.: Produced by a source and conveying an atomic piece of information, atoms should also store ontolog-ical metadata to ease automatic processing:atom(src,val,attr)c
MoK
Molecules.:MoK
heaps for information aggrega-tion, molecules cluster together semantically related atoms:molecule(Atoms)c
MoK
Enzymes.: Enzymes represent the reification of (epistemic) knowledge-oriented (inter-)actions, and are meant to participate biochemical reactions to properly increase molecules’ concentration1:enzyme(Molecule)c
MoK F
MoK Function.: As a knowledge-oriented model,MoK
must have a way to determine the semantic correlation between information. Therefore, theMoK
functionshould be defined, taking two molecules and returning a value m ∈ [0, 1]:F
MoK: Molecule × Molecule 7−→ [0, 1]MoK
Reactions.: The behaviour of aMoK
system is determined by biochemical reactions, which stochastically drive molecules aggregation, as well as reinforcement, decay, and diffusion:• Aggregation — Bounds together semantically related molecules
molecule(Atoms1) + molecule(Atoms2) 7−→ragg
molecule(Atoms1U Atoms2) + Residual(Atoms1S Atoms2)
• Reinforcement — Consumes an enzyme to reinforce the related molecule
enzyme(Molecule1) + Molecule1c 7−→rreinf
Molecule1c+1
• Decay — Enforcing time situatedness, molecules should fade away as time passes
Moleculec 7−→rdecay Moleculec−1
• Diffusion — Analogously, space situatedness is in-spired by biology and therefore based upon diffusion
{Molecule1S Molecules1 }σi+ {Molecules2}σii7−→ rdiffusion {Molecules1} σi+ {Molecules 2S Molecule1} σii
MoK
Not-Yet-Formalised Abstractions.: Other aspects like topology, information production and consumption are ad-dressed by:• Compartments — the conceptual loci for all other
MoK
abstractions, providing the notions of locality and neighbourhood• Sources — each one associated to a compartment,
MoK
sources are the origins of atoms, which are continuously injected at a given rate• Catalysts — the abstraction for knowledge prosumers, who emit enzymes whenever they interact with their compartment
B. Goals
Being
MoK
a biochemically-inspired model, the main goal here is to deeply investigate the two key parameters involved in biochemical reactions highlighted in Subsection I-A, that is, concentrationand rate. In particular, how they “collaborate” to influenceMoK
reactions effect on system dynamics according to different functional dependencies. Accordingly, Section II describes in details some of the “desiderata” theMoK
model should fulfill and which kind of experiments are planned to understand how such requirements can be met.II. EXPERIMENTSPLAN A. Single-Compartment
Sources injection.: Although
MoK
sources are not among the already-formalised abstractions, they clearly play a crucial role in aMoK
system, being the ultimate “origin” of infor-mation. As such, they should:• on the one hand, perpetually inject
MoK
atoms within the system, since there is no way to know a-priori whensome information will be useful• on the other hand, not flood the system without any control, both in order to save memory and to avoid exponential proliferation of information
Injection rate tuning toward these two contrasting needs is experimentally investigate in Subsection III-A.
Atoms decay.: It may appear unclear why
MoK
atoms should fade away as time passes, most of all because this way aMoK
system can lose information. Nevertheless, if the persistent nature ofMoK
sources – which are not consumed by injection reaction and are not subject to decay – is taken into account, it is easy to see that information is never really lost, because there is always some way to “restore” it—e.g., by simply temporarily increase injection rate of the correspondent source.Therefore, atoms decay becomes an effective way to resem-ble the relationship between information relevance and time flow. In many application scenarios in fact, information tends (on average) to lose potential relevance as time passes by: journalistic news do so, academic papers do so, even health records do so to some extent. Furthermore, decay enforce some kind of negative feedback which, together with a positive one, enables the feedback loop peculiar in natural systems.
How
MoK
decay reaction should depend on time is investigated in Subsection III-A.Enzymes reinforcement.: To properly engineer
MoK
rein-forcement reaction rate, we must keep in mind what enzymes are and what their main purpose is: representing a situated interest manifested by a user (catalyst) w.r.t. an information chunk (atom/molecule) which, therefore, should become more relevant—e.g., by increasing its concentration. With the word “situated” we mean that reinforcement gained by atoms should take into account situatedness of users (inter-)actions along a number of dimensions: time, space, who interacts, how and so on.For these reasons,
MoK
reinforcement reaction should: • be prompt, that is rapidly increase atoms concentrationdespite decay
• limited both in time and space, since relevance should be a time & space related feature of information, as already said
• be related to the nature of the interaction performed by the user, e.g. a “pick” action could inject more enzymes and/or reinforce atoms with greater stoi-chiometry w.r.t. a “search” action.
Experimental results in tuning
MoK
reinforcement reaction functional rate going along this line are shown in Subsec-tion III-A.B. Multi-Compartment
First of all, a little “disclaimer” has to be made. My original plans for multi-compartment investigation was to use the BioPepa tool to experiment with a very high number of
Fig. 1. Simple “topology” used for my multi-compartment experiments.
compartments, let’s say a hundred and more, interconnected in the most random ways, to check if the “smart migration” pattern introduced in [7] could work and, if so, how diffusion rates could be tuned to drive such pattern behaviour. But, as soon as I read the paper on modeling biological compartments ([8]) and planned the first experiments, I understood that writ-ing down a BioPepa specification for just ten compartments would be though, a hundred or so even infeasible.
So, in order to study the behaviour of
MoK
diffusion reaction, all the experiments shown in Subsection II-A have been repeated in the simple multi-compartment setting shown in Fig. 1, in which any compartment can “communicate” with any other. The BioPepa specification used is the following:1 // topology definition
2 location sports : size = 1, type = compartment; 3 location economics : size = 1, type = compartment; 4 location crime : size = 1, type = compartment; 5 location politics : size = 1, type = compartment;
Fig. 2. Functional rates alternatives forMoKsources. 30 Gillespie stochastic simulations have been performed.
Diffusion & injection.: The first set of experiments is devoted to study how
MoK
diffusion reaction can affect sources’ atoms injection behaviour. In particular, if some spatial distributionpattern can be reached and how functional rates should be designed to do so.Diffusion & decay.: When adding diffusion to compart-ments in which injection and decay are already active, our main concern is that of keeping the same behaviours as those experimented in the single compartment scenario, that is, simply have a time-dependent decay, logarithmic in time and starting at a concentration value (for involved atoms) close as possible to sources own concentration.
Diffusion & reinforcement.: Since reinforcement is local by design, being
MoK
enzymes unable to diffuse, our main concern regarding reinforcement reaction addition to diffu-sion and injection is to avoid interference. This means to design reinforcement’s functional rate so as to preserve other chemical-like laws statistical behavior—that seen in the single compartment scenario.III. EXPERIMENTSRESULTS
Stressing once again the incremental approach undertaken, in each of the following subsections is described one novel
MoK
“behaviour” at a time, together with those previously defined, so as to end up with the (almost) full spectrum of cooperating behaviours.A. Single-Compartment Analysis
Sources injection.: In the attempt to meet the requirements described in Subsection II-A, it seems three alternatives are possible:
1) making injection rates decreasing as time passes 2) enforce some “saturation” behaviour to stop injection 3) a combination of the two
Fig. 2 shows option (1) in blue, option (2) in yellow and option (3) in red. The green dashed line is for comparison purpose and plots the built-in fMA kinetic law. Horizontal lines are the sources, which participate injection reactions as activators.
Once discarded option (1), whose trend is too slow in reaching saturation compared to others, options (2) and (3) seem almost identical, but they aren’t:
• option (2) in fact is saturation-driven only, which means that if at some point in time atom_sports will suddenly decrease in concentration – e.g. due to users interactions – they will go back to saturation-level as fast as possible, no matter how long their sources are within the system
• option (3) instead, by taking into account also the flow of time, makes the saturation process smoother, in particular, the longer source_sports are within the system the slower such process will be
Choosing among the two depends on the application-specific context in which the
MoK
model is used, e.g., inMoK
-News [6] option (3) is better, since in the news management scenario information loses relevance as time passes.The BioPepa specification used to plot Fig. 2 is listed below.
1 // injection functional rates (sources => atoms)
2 injE = [source_economics/atom_economics * (1 / (1 + time))]; 3 injS = [source_sports - atom_sports];
4 injC = [(1 / (1 + time)) * (source_crime - atom_crime)]; 5 injP = [fMA(0.05)];
6
7 // sources inject atoms
8 source_economics = (injE, 1) (+); 9 source_sports = (injS, 1) (+); 10 source_crime = (injC, 1) (+); 11 source_politics = (injP, 1) (+); 12
13 // atoms are produced from sources (inj)
14 atom_economics = (injE, 1) >>; 15 atom_sports = (injS, 1) >>; 16 atom_crime = (injC, 1) >>; 17 atom_politics = (injP, 1) >>; 18
19 // System initial conditions
20 source_sports[1000] <*> source_economics[750] <*> 21 source_crime[500] <*> source_politics[250] <*>
22 atom_sports[0] <*> atom_economics[0] <*> atom_crime[0] <*> 23 atom_politics[0]
Atoms decay.: Time dependency alone is obviously not enough to have a meaningful decay behaviour: e.g., by using a fixed rate we end-up simply slowing down the saturation process enforced by sources injection reaction. Furthermore, as we already said, it is more interesting to study the interde-pendency between rates and concentration. Hence Fig. 3 shows basically three different combinations of time dependency and concentration dependency for
MoK
decay reaction—a fourth one (yellow line), non time-dependent, is given for comparison purpose:i linear time dependency + relative concentration depen-dency (blue dashed line)
ii logarithmic time dependency + relative concentration de-pendency (red line)
iii linear time dependency + fixed rate, built-in fMA func-tional rate (green dashed line)
Fig. 3. Functional rates alternatives forMoK decay reaction. 30 Gillespie stochastic simulations have been performed.
Option (3) for sources injection reaction is assumed—see Subsection III-A.
Suddenly discarding option (i) and the fourth one due to their weird trend, options (ii) and (iii) seem viable solutions but also identical. Fig. 4 shows they’re not identical at all, by plotting a longer time horizon. As we expected from
Fig. 4. Functional rates alternatives forMoK decay reaction. 30 Gillespie stochastic simulations have been performed.
the above description, option (ii) follows a logarithmic trend whereas option (iii) follows a linear one instead. Furthermore, as highlighted by the BioPepa specification listed below, also their dependency on concentrations is quite different.
1 // sources specification
2 ... 3
4 // decay dynamic rates (atoms => _)
5 decayS = [H(atom_sports) * source_sports / atom_sports]; 6 decayE = [H(atom_economics) *
7 source_economics / atom_economics * 8 time];
9 decayC = [H(atom_crime) * source_crime / atom_crime * 10 log(1+time)];
11 decayP = [H(atom_politics) * fMA(der) * time]; 12
13 // atoms are produced from sources (inj)
14 // and subject to decay (decay)
15 atom_sports = (injS, 1) >> + (decayS, 1) <<; 16 atom_economics = (injE, 1) >> + (decayE, 1) <<; 17 atom_crime = (injC, 1) >> + (decayC, 1) <<; 18 atom_politics = (injP, 1) >> + (decayP, 1) <<; 19
20 // System initial conditions
21 source_sports[1000] <*> source_economics[750] <*> 22 source_crime[500] <*> source_politics[250] <*>
23 atom_sports[0] <*> atom_economics[0] <*> atom_crime[0] <*> 24 atom_politics[0]
Notice usage of the Heaviside function, to prevent applica-tion of the reacapplica-tion when there are no more atoms. Said that, both options are surely viable and, as for the case of injection, a decision should be made according to the application at hand. Enzymes reinforcement.: Despite the three different re-quirements we highlighted in Subsection II-A,
MoK
reinforce-ment reaction functional rate was quite simple to design, as it can bee seen in the BioPepa specification listed below.1 // sources specification
3
4 // decay specification
5 ... 6
7 // reinforcement dynamic rates (enzymes => atoms)
8 feedS = [H(enzyme_sports) * (source_sports / atom_sports)]; 9 feedE = [H(enzyme_economics) *
10 (source_economics / atom_economics)]; 11 feedC = [H(enzyme_crime) * (source_crime / atom_crime)]; 12
13 // atoms are produced from sources (inj),
14 // subject to decay (decay)
15 // and reinforcement (feed)
16 atom_sports = (injS, 1) >> + (decayS, 1) << + 17 (feedS, 10) >>;
18 atom_economics = (injE, 1) >> + (decayE, 1) << + 19 (feedE, 10) >>;
20 atom_crime = (injC, 1) >> + (decayC, 1) << + 21 (feedC, 10) >>;
22 atom_politics = (injP, 1) >> + (decayP, 1) <<; 23
24 // enzymes "feed" atoms
25 enzyme_sports = (feedS, 1) <<; 26 enzyme_economics = (feedE, 1) <<; 27 enzyme_crime = (feedC, 1) <<; 28
29 // System initial conditions
30 source_sports[1000] <*> source_economics[750] <*> 31 source_crime[500] <*> source_politics[250] <*>
32 atom_sports[0] <*> atom_economics[0] <*> atom_crime[0] <*> 33 atom_politics[0] <*>
34 enzyme_sports[300] <*> enzyme_economics[300] <*> 35 enzyme_crime[300]
The reason is that we should take into account the other
MoK
reactions cooperating with reinforcement, so as to ef-fectively achieve our desired behaviour. In particular, Fig. 5 shows:• promptness of reinforcement, due to triggering of reinforcement reaction with a high rate as soon as enzymes are available
• time-boundedness, due to depletion of enzymes which stops the reinforcement reaction to trigger
Notice that, to simulate users interaction happening at a given point in time, we added the term e.g. H(time-300) as a
Fig. 5. MoK reinforcement reaction behaviour. 30 Gillespie stochastic simulations have been performed.
multiplicative factor in reinforcement functional rate.
As regards the last desiderata for
MoK
reinforcement reaction, that is dependency from the nature of the interaction which caused enzymes release, Fig. 6 and Fig. 7 clearly highlight how an increment to enzymes concentration and atoms stoichiometry, respectively, affect reinforcement trend. In particular, Fig. 6 shows how an increment in enzymes concentration by a factor 2 directly causes a increment in reinforcement reaction duration by the same factor, whereas the atoms concentration “peak” reached is not affected at all. On the contrary, Fig. 7 shows that an increment in atoms stoichiometry withinMoK
reinforcement reaction by a factor 2 causes a much higher peak in atoms concentration, whereas reinforcement duration is not affected.Fig. 6. Enzymes concentration increment effect on MoK reinforcement reaction behaviour. 30 Gillespie stochastic simulations have been performed.
Fig. 7. Atoms stoichiometry increment effect onMoKreinforcement reaction behaviour. 30 Gillespie stochastic simulations have been performed.
B. Multi-Compartment Analysis
Diffusion & injection.: As an early specification of
MoK
diffusion functional rate, a simple consideration can be done: analogously to what we have done with injection, we would like to have some degree of control upon how much a given compartment diffuse toward another. In particular, it is reasonable to assume “destination” compartment to contain at most a fraction of “source” compartment atoms, at least if no otherMoK
reactions are working. Therefore, a saturation behaviour can be enforced on diffusion reaction as follows:1 // sources specification 2 ... 3 4 // diffusion weight 5 DW = 0.75; 6
7 // diffusion functional rates (a@x => a@y)
8 diffSE = [DW * as@sports - as@economics]; 9 diffSC = [DW/2 * as@sports - as@crime]; 10 diffSP = [DW/3 * as@sports - as@politics]; 11 diffES = [DW * ae@economics - ae@sports]; 12 diffEC = [DW * ae@economics - ae@crime]; 13 diffEP = [DW * ae@economics - ae@politics]; 14 diffCS = [DW * ac@crime - ac@sports]; 15 diffCE = [DW * ac@crime - ac@economics]; 16 diffCP = [DW * ac@crime - ac@politics]; 17 diffPS = [DW * ap@politics - ap@sports]; 18 diffPE = [DW * ap@politics - ap@economics]; 19 diffPC = [DW * ap@politics - ap@crime]; 20
21 // atoms are produced from sources (inj)
22 // and can diffuse (diff)
23 as = (injS, 1) >> as@sports
24 + (diffSE[sports->economics], 1) (.) as 25 + (diffSC[sports->crime], 1) (.) as 26 + (diffSP[sports->politics], 1)(.) as; 27 ae = (injE, 1) >> ae@economics
28 + (diffES[economics->sports], 1) (.) ae 29 + (diffEC[economics->crime], 1) (.) ae 30 + (diffEP[economics->politics], 1) (.) ae; 31 ac = (injC, 1) >> ac@crime
32 + (diffCS[crime->sports], 1) (.) ac 33 + (diffCE[crime->economics], 1) (.) ac 34 + (diffCP[crime->politics], 1) (.) ac; 35 ap = (injP, 1) >> ap@politics
36 + (diffPS[politics->sports], 1) (.) ap 37 + (diffPE[politics->economics], 1) (.) ap 38 + (diffPC[politics->crime], 1) (.) ap; 39
40 // System initial conditions
41 ss@sports[1000] <*> se@economics[750] <*> sc@crime[500] <*> 42 sp@politics[250] <*>
43 as@sports[0] <*> as@economics[0] <*> as@crime[0] <*> 44 as@politics[0] <*>
45 ae@economics[0] <*> ae@sports[0] <*> ae@crime[0] <*> 46 ae@politics[0] <*>
47 ac@crime[0] <*> ac@sports[0] <*> ac@economics[0] <*> 48 ac@politics[0] <*>
49 ap@politics[0] <*> ap@sports[0] <*> ap@economics[0] <*> 50 ap@crime[0]
The result of such BioPepa specification is shown in Fig. 8.
As can be seen, a higher DW value leads to an higher satura-tion value in destinasatura-tion compartment, conveniently expressed as a fraction of source compartment atoms concentration.
Diffusion & decay.: Adding
MoK
diffusion reaction to our usual network of compartments in which both injection and de-cay behaviours are active, leads to a strange “malfunctioning” we didn’t expect—Fig. 9. In particular, atoms strive to survive and succeed only in their origin compartment. Nevertheless, their concentration is anyway far from the desired saturation level achieved in the single compartment case.Fig. 8. DW parameter influence onMoKdiffusion reaction. Only otherMoK
behaviour active is injection. Usual 30 Gillespie stochastic simulations have been performed.
Fig. 9. Usual setting augmented with diffusion.
Such issue can be resolved quite easily by slightly modi-fying
MoK
decay functional rates, as shown by the BioPepa specification listed below.1 // saturation & time weights
2 ...
3 SATd = 0.75; 4 TIMEd = 1 - SATd;
5 // time exponential weight
6 EXP = 1.5; 7
8 // decay dynamic rates (atoms => _)
9 decaySS = [H(as@sports) * (
10 (1 - SATd) * ss@sports / as@sports + 11 TIMEd * log(1+time)ˆEXP
12 )];
13 decaySE = [H(as@economics) * (
14 (1 - SATd) * ss@sports / as@economics + 15 TIMEd * log(1+time)ˆEXP
16 )];
Fig. 10. MoKdiffusion together with injection and decay, correct parameters tuning.
Fig. 11. Too high saturation weight (on the left) vs. correct saturation weight (no the right).
18 (1 - SATd) * ss@sports / as@crime + 19 TIMEd * log(1+time)ˆEXP
20 )];
21 decaySP = [H(as@politics) * (
22 (1 - SATd) * ss@sports / as@politics + 23 TIMEd * log(1+time)ˆEXP
24 )]; 25 ...
We can see that such new decay functional rate sim-ply introduces two weights to tune saturation vs. time-dependancy. In particular, if SATd increases then atoms decay will depend more on relative concentration of decaying atoms w.r.t. sources. On the contrary, increasing TIMEd leads to a smoother curve and later saturation. After a bit of parameters tuning, the trend plotted in Fig. 10 can be achieved. Notice that, further increasing saturation parameter SATd leads to a worse behaviour, as shown by Fig. 11.In particular, although injection saturation is reached sooner, then decay abruptly comes in rapidly depleting atoms concentration, without following the “logarithmic-time” trend desired.
As a last note, although only sports atoms are shown in this subsection, others follow the same trend, so have been left out to ease plots understanding.
Fig. 12. Not only enzymes are not depleted, but also some interference with other reactions is clearly highlighted.
Diffusion & reinforcement.: Again, simply adopting the same functional rate used in the single compartment scenario leads to an unexpected, undesirable behaviour, depicted in Fig. 12. Not only enzymes are not completely depleted as we expect, but also some interference with other reactions is clearly highlighted: in particular, the concentrations of sports and crime atoms in crime compartment experiments some undesirable fluctuation. After some experiments changing rein-forcement reaction functional rate dependencies, we found that only by adding another parameter to our model – actually, the fourth – the above issue could be successfully faced. Therefore, the BioPepa specification has been adjusted as follows:
1 // feed factor > 1
2 FF = 2; 3
4 // reinforcement functional rates (enzymes => atoms)
5 feedEC = [H(time-300) * H(ee@crime) *
6 (se@economics / (ae@crime * FF))]; 7
8 // atoms are [...] and to reinforcement (feed)
9 ae = (injE, 1) >> ae@economics
10 + (diffES[economics->sports], 1) (.) ae 11 ...
12 + (feedEC, 10) >> ae@crime; 13
14 // enzymes "feed" atoms
15 ee = (feedEC, 1) << ee@crime; 16
17 // System initial conditions
18 ss@sports[1000] <*> ... <*> ee@crime[300]
In practice, a scaling factor is used to weight the influence of the atoms to be reinforced w.r.t. the concentration of the corresponding source in the compartment the latter belongs to.
Doing so leads to the behaviour depicted in Fig. 13, in which both no interference with other reactions happens as well as the correct reinforcement is given to involved atoms— e.g., they can go beyond sources’ own threshold.
IV. CONCLUSION
Whereas Section III commented on single experiments results, describing expected outcomes, issues arose and how
Fig. 13. With the adjusted reinforcement functional rate, we get no interference and the desired reinforcement trend.
I dealt with them in the attempt to get as close as possible to
MoK
desired behaviour, in this section I will briefly comment the overall experience of using the BioPepa tool to experiment with the differentMoK
model behaviours.First of all, another disclaimer about experiments planning. As the reader may notice,
MoK
aggregation reaction has been completely left out from the experiments plan. This is due to some kind of incompatibility between the modeling expressive power of BioPepa andMoK
aggregation reaction. In particu-lar, aggregation demands for the capability to link a possibly unbounded number of atoms into a single molecule, which is something BioPepa cannot model effectively—because it wasn’t meant to do so, obviously.Furthermore,
MoK
injection behaviour was not part of the initial experimental plan, as well as it is not part of the current formalisation of theMoK
model. But, as soon as the first experiments were done, suddenly it became clear that the way in whichMoK
sources adds atoms to the system can deeply influence subsequent behaviour of all otherMoK
reactions. Therefore, a first result concerning theMoK
model has been achieved, that is, precisely to recognize relevance and centrality of the injection behaviour. Thanks to this result, probably aMoK
injection reaction will be formalized and become part of theMoK
model set of core reactions.Another important result achieved is related to
MoK
reinforcement reaction. Prior to run experiments, I expectedMoK
reinforcement reaction to require a long and painful tuning process, mostly due to its central role within theMoK
model. So it was surprising to see that despite the simple func-tional rate used, much of the tuning simply involves changing reinforcement stoichiometry and enzymes concentration, not the functional rate mathematical expression at all.These considerations mainly arose during single-compartment experiments. As regards the multi-single-compartment plan of experiments, as I said the original goal was to experiment with a plethora of compartments, but it turned out
to be a bad idea. Nevertheless, from the experiments carried out in the simpler setting of a 4-compartments network, it can be argued that even a much more complicated setting will not change the
MoK
model behaviour—solely the “pain” of coding it.REFERENCES
[1] A. Omicini and M. Viroli, “Coordination models and languages:
From parallel computing to self-organisation,” The Knowledge
Engineering Review, vol. 26, no. 1, pp. 53–59, Mar. 2011,
special Issue 01 (25th Anniversary Issue). [Online]. Available: http://journals.cambridge.org/abstract S026988891000041X
[2] D. Pianini, S. Montagna, and M. Viroli, “Chemical-oriented
simulation of computational systems with Alchemist,” Journal
of Simulation, 2013. [Online]. Available: http://www.palgrave-journals.com/jos/journal/vaop/full/jos201227a.html
[3] S. Mariani and A. Omicini, “Molecules of Knowledge: Self-organisation in knowledge-intensive environments,” in Intelligent Distributed Computing VI, ser. Studies in Computational Intelligence, G. Fortino, C. B˘adic˘a, M. Malgeri, and R. Unland, Eds., vol. 446. Springer, 2013, pp. 17–22, 6th International Symposium on Intelligent Distributed Computing (IDC 2012), Calabria, Italy, 24-26 Sep. 2012. Proceedings. [Online]. Available: http://link.springer.com/chapter/10.1007/978-3-642-32524-3 4
[4] M. Viroli and M. Casadei, “Biochemical tuple spaces for
self-organising coordination,” in Coordination Languages and
Models, ser. LNCS, J. Field and V. T. Vasconcelos, Eds.
Lisbon, Portugal: Springer, Jun. 2009, vol. 5521, pp. 143–
162, 11th International Conference (COORDINATION 2009),
Lisbon, Portugal, Jun. 2009. Proceedings. [Online]. Available: http://www.springerlink.com/content/jx783250031742uu/
[5] D. T. Gillespie, “Exact stochastic simulation of coupled
chemical reactions,” The Journal of Physical Chemistry, vol. 81,
no. 25, pp. 2340–2361, Dec. 1977. [Online]. Available:
http://pubs.acs.org/doi/abs/10.1021/j100540a008
[6] S. Mariani and A. Omicini, “Self-organising news management: The Molecules of Knowledge approach,” in 1st International Workshop on Adaptive Service Ecosystems: Natural and Socially Inspired Solutions (ASENSIS 2012), J. L. Fernandez-Marquez, S. Montagna, A. Omicini, and F. Zambonelli, Eds., SASO 2012, Lyon, France, 10 Sep. 2012, pp. 11–16, pre-proceedings.
[7] ——, “MoK: Stigmergy meets chemistry to exploit social actions for coordination purposes,” in Social Coordination: Principles, Artefacts and Theories (SOCIAL.PATH), H. Verhagen, P. Noriega, T. Balke, and M. de Vos, Eds. AISB Convention 2013, University of Exeter, UK: The Society for the Study of Artificial Intelligence and the Simulation of Behaviour, 3–5 Apr. 2013, pp. 50–57.
[8] F. Ciocchetta and M. L. Guerriero, “Modelling biological
compartments in bio-pepa,” Electron. Notes Theor. Comput.
Sci., vol. 227, pp. 77–95, Jan. 2009. [Online]. Available: