Information Technology Reference
In-Depth Information
After the first infection, a set of memory B cells is created with longer life time and
able to react similarly to the second pathogenic intrusion. Like in IMMSIM, any cell
is coded by means of a binary string. Affinity is based on Hamming distance and the
simulation is done over a set of sites in a way similar to a cellular automata, except
that the presence of neighborhood sites just allow the three immune actors to diffuse
through this neighborhood. Instead of describing in more details the immunological
aspects which just boil down to a subset of the IMMSIM simulation, it is more advis-
able here to limit the discussion to the OO aspects. The whole class diagram is hard to
read but we will concentrate on some parts of it. Among the most biologically rele-
vant implemented Design Patterns in this simulation, there is for instance the “State”
DP, where four subclasses: “Naïve”, “Plasma”, “Memory”, “Excited” inherit from the
State class, this latter being connected by a composition link to the class B cell. These
subclasses are responsible for 1) implementing the only possible transitions repre-
sented in the state-transition diagram below (for instance from “Naïve” to “Excited”)
2) coding the specific behaviour of the B cell while being in this specific state (for
instance a “Plasma” B cell can produce antibodies and a “Excited” B cell can dupli-
cate). The “Factory” DP is present and responsible for the creation of instances of the
three immune actors treated here. For instance, in the case of a binary string coding of
the cell, the factory classes care for the generation of this string. Additionally, there is
a key connection between the “B cell” factory and the “Ab factory” since B cell of
one specific type can only produce antibodies of this same specific type.
When programming in an OO way, programmers aim at encapsulating as much as
possible the parts of the simulation which might be subject to a larger variability so as
to keep the coding process more stable and linear. The “Template” DP keeps isolate a
functionality which is central for the whole simulation to run, but which is susceptible
of different implementations. This pattern was used here for implementing the affinity
between antigens and antibodies. One possibility for this affinity function, like done
in IMMSIM and in many idiotypic networks simulations [3, 7, 26, 27, 15] lies in the
use of binary string and the Hamming distance between them. Another possibility is
the use of n-dimension shape space [27]. Still other possibilities could be less abstract
and take into account more biological details. Nevertheless, whatever affinity version
adopted, all the rest of the simulation remains unaffected i.e. the proliferation of B
cell and antibodies just depend on the presence of affinity between them and a given
antigen. We easily understand how immune simulation could give rise to many in-
stances of this same “template” DP in different places of the code, since many
mechanisms composing this simulation are subject to alternatives. This has not been
considered here, but this same DP could leave free and well separate from the rest of
the code the way any cell grows in concentration, the way it dies, the way it diffuses
in space, etc…
4 Conclusions
OO languages, UML and Design Patterns all together allow to tackle the simulation
of the immune system in a much more comprehensible, adaptable and effective way.
Through the use of UML diagrams, the necessary communication between program-
mers but also between programmers and biologists is facilitated. Through the use of
Search WWH ::




Custom Search