• Non ci sono risultati.

Analysis of the Molecules of Knowledge Model with the BioPepa Eclipse Plugin

N/A
N/A
Protected

Academic year: 2021

Condividi "Analysis of the Molecules of Knowledge Model with the BioPepa Eclipse Plugin"

Copied!
8
0
0

Testo completo

(1)

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

olecules

o

f

K

nowledge model (

MoK

, for short) capabilities of exhibiting biochemical-like self-organising behaviours. To this end, Sub-section I-A provides some background of the

MoK

model, whereas Subsection I-B clears the goals of my investigation. A. Background

The

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 reactants

floating 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, the

MoK

functionshould be defined, taking two molecules and returning a value m ∈ [0, 1]:

(2)

F

MoK: Molecule × Molecule 7−→ [0, 1]

MoK

Reactions.: The behaviour of a

MoK

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 influence

MoK

reactions effect on system dynamics according to different functional dependencies. Accordingly, Section II describes in details some of the “desiderata” the

MoK

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 a

MoK

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 a

MoK

system can lose information. Nevertheless, if the persistent nature of

MoK

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 concentration

despite 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

(3)

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., in

MoK

-News [6] option (3) is better, since in the news management scenario information loses relevance as time passes.

(4)

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

(5)

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 within

MoK

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.

(6)

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 other

MoK

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 )];

(7)

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

(8)

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 different

MoK

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 and

MoK

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 the

MoK

model. But, as soon as the first experiments were done, suddenly it became clear that the way in which

MoK

sources adds atoms to the system can deeply influence subsequent behaviour of all other

MoK

reactions. Therefore, a first result concerning the

MoK

model has been achieved, that is, precisely to recognize relevance and centrality of the injection behaviour. Thanks to this result, probably a

MoK

injection reaction will be formalized and become part of the

MoK

model set of core reactions.

Another important result achieved is related to

MoK

reinforcement reaction. Prior to run experiments, I expected

MoK

reinforcement reaction to require a long and painful tuning process, mostly due to its central role within the

MoK

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:

Riferimenti

Documenti correlati

As mentioned above, an important source used in the process of diffusion of technical knowledge in the field of biotechnology is the technical documentation of inventions,

Several studies ( Bergamin et al., 2003; Romano et al., 2009; Albanese et al., 2010 ) have been carried out to evaluate the type, degree and extent of pollution by heavy

Optical coherence tomography angiography and vessel density map showed a reduction in the superficial capillary plexus (B,D); (G,I), coupled to an increase in the deep capillary

As a matter of fact, here, we considered both the direct response to the stimuli and signal acquired in a successive time window, highlighting that the driving style and

What can be said, however, is that this information is not easy to use in the development or validation of damage func- tions: in the first place because the information is provided

Work execution level, Factor C, is measured as for windows. Aspects to be considered as for windows. Outdoor environment, Factor E, Aspects to be considered are the same as of

We propose an iterative co- clustering algorithm which exploits user-defined constraints while minimizing the sum-squared residues, i.e., an objec- tive function introduced for

In its decision the Court of Justice rejected this challenge stating that “that provision [Article 8 of Council Directive 2003/86/EC] does not therefore have the effect of