Ronald: A Domain-Specific Language to study the
interactions between malaria infections and drug
Abstract Malaria kills more than 1 million peo-
domain, they are more expressive and easier to
ple a year, mostly children in sub-Saharan Africa.
use than general purpose programming languages
Antimalarial drug resistance is one of the great-
when applied to problems to which they were
est challenges facing malaria control today. We
constructed[4]. Code written in a DSL is normally
present Ronald, a Domain-Specific Language to
more compact, thus increasing productivity and can
model the fundamental forces driving antimalarial
easily be shown to and discussed with domain spe-
drug resistance including drug pharmacokinetics
cialists (in our case, MDs, epidemiologists and pop-
and pharmacodynamics, drug regimens and par-
asite genotypes. Example of applications of thislanguage include the study of the consequences of
Here we present Ronald, a DSL to model the in-
counterfeit or lower quality drugs, the implica-
teractions between malarial parasite infections and
tions of different dosage regimens, the impact of
drug treatments. Our approach concentrates on cre-
drug half life on the emerging and spread of resis-
ating a clear, expressive and declarative specification
tance and the benefits and drawbacks of combina-
that can be understood by domain specialists and
in separating language specification from behaviour. This means that a single specification can be used
Keywords: malaria, domain specific languages, bioin-
for many tasks from scenario analysis to documenta-
formatics, infectious diseases, pharmacology
tion and graphic production to generation of code ina general purpose language for simulation. Ronaldalready has some practical applications which will
P. falciparum malaria is the most important para-sitic disease of humans, causing more than 1 million
deaths, mostly in sub-Saharan Africa. This heavydeath toll is held in check by the availability of cheap
The DSL allows us to model the fundamental con-
and effective antimalarial drugs. The malaria para-
cepts involved in the interaction between drugs and
site, however, has evolved mechanisms of resistance
parasites. Those concepts are presented in this sec-
to many of the available antimalarials, and morbid-
ity and mortality rise as efficacy falls. In this con-text understanding the mechanisms of resistance and
their consequences is fundamental in shaping effec-tive public health policies against malaria. Many of
Parasite resistance is achieved by mutations in key
currently existing studies about resistance are the-
oretical in nature (e.g. [1, 2, 3]) and would benefit
ample the drug SP (Sulfadoxyne-Pyrimethamine),
from computational models for their comparison and
available under the commercial name Fansidar R ,
inhibits the folate production pathway of the
Domain-Specific languages (DSLs) are program-
parasite[5]. SP, inhibits both the usage of external
ming languages tailored to a certain application
folate (through inhibition of the enzyme dihydrofo-
late reductase – DHFR – mainly by Pyrimethamine)
and de novo folate production (inhibition of dihy-
dropteroate synthase – DHPS – by Sulfadoxine).
Parasite resistance to SP is atained by mutationson both genes that code the enzyme. Drug resis-
An SP pill has two compounds, Sulfadoxine with
tance with SP is not a “black and white” process:
500mg with a bioavailability coefficient (explained
an increasing number of successful mutations in the
below) of 408 and Pyrimethamine. Each compound
parasite make it less and less sensitive to the drug.
has a default half life. Time, mass and concentration
Furthermore as the parasite usage of external folate
units have their own mini-languages, as these are
is more important than “de novo” creation, muta-
used frequently (e.g. to specific compound concen-
tions on DHPS are only relevant if DHFR is already
trations in the blood or compound dosages) allow-
ing the user to specify quantities in anyunit deemed
In this context a DSL needs the ability to express
appropriate instead of a pre-defined unit (e.g. sulfa-
the notions of mutation, especially at the protein
doxine half life is 116.h instead of 6960 if the canoni-
level. To code for the necessary mutations for DHFR
cal unit was minutes), not only can the specification
be done in the most natural unit (e.g. hours or daysfor sulfadoxine half life but minutes for artesunates)
but also conversion between units is completely au-
DHFR.mutatingAmino 59, Cys, ArgDHFR.mutatingAmino 108, Asp, Asn
There are three mutations, the first being at po-
Most malarial drugs are taken orally, so a complete
sition 51, where the wild type is an Aspargine and
pharmacokinetical (PK) model is necessary (i.e. in-
cluding absorption in addition to its subsequent dis-
the relative importance of these mutations as that
tribution around, and elimination from the body).
is coded on the pharmacodynamic description of a
The language allows for the user to choose among
existing PK models which can be extended. For in-stance, the calculation of the fundamental Area Un-
der the Curve (AUC - the curve being the concen-tration of the compound over time) parameter will
The word “Drug” is used in the literature with two
be strongly impacted by absorption rates in short
different meanings: as referring to a unit of prescrip-
lived compounds like artesunates whereas for long
tion taken and also referring to an active compound.
lived compounds an absorption model with bioavail-
For clarity and precision we will use the word “Drug”
ability alone normally suffices. Currently linear ab-
in the former sense and the word “Compound” for
sorption rates can be modeled and the user can ex-
the latter. As such, the drug SP has two compounds,
tend the system to support more absorption models.
Sulfadoxine and Pyrimethamine. In cases where a
For elimination, single and multiple compartmental
drug has only a single compound, then the name
may overlap (as in the case of Chloroquine). An
Regarding the example above, elimination is mod-
eled by a single compartmental model with a certainhalf-life and both absorption and distribution are
modeled via a bioavailability coefficient which con-
verts drug dosage in mg/kg to plasma drug concen-
trations. This simple model covers all the modeling
efforts in malaria drug resistance known to us, but
we expect that, when studying artesunates or SPefficacy in children[6] more refined absorption and
A compound is able to kill a certain proportion ofparasites over time, that effect is normally called the
A change in parasitemia can be described by
dP/dt = aP − f (Cc1, ., Ccn)P − g(I)P
Where a is the growth rate of the parasite, f is a
parameters : [sConst : 0.14, pLim : 2000]
function representing compound killing effects and g
Here we are concerned with f only, which is the
The threshold formula is obtained from interpret-
PD function. As an example, for mefloquine[3] the
ing the isobolograms in [7]. Here an if construct of
the host language is used and a resistance element,dependent on a mutation on codon 108 of DHFR,
is introduced. Different levels of resistance have dif-
ferent parameters for the equation threshold, in this
Where k1 is the first order parasite killing
case, the pLim parameter related to Pyrimethamine
rate corresponding to 3.45/day, MQ the current
concentration increases by three orders of magni-
mefloquine concentration, IC50 the drug concen-
tration that kills 50% of parasites estimated to be
Ronald also allows preferences between effects, for
665.4µg/ml and γ is the slope of the concentration-
instance to specify that “de novo” folate creation ef-
fect should only be used if the parasite is resistant
Modeling this in Ronald is done in the following
with regards to exogenous folate usage.
The DSL supports specifying drug regimens, for ex-
IC50 and γ in this example are parameters for the
In this case a new regimen is created, where 3 SP
pills are given at the beginning and again one day
We now present a more complex example: the
after. Being able to specify regimens is important to
effect of SP (a drug with two compounds) on both
study resistance spread as it is expected that non-
drug sensitive and drug resistant DHFR parasites.
compliance, especially with Artemesinin Combina-
DHFR resistance meaning parasites can still use ex-
tion Therapies which requires adherence to a drug
ogenous folate even in the presence of a drug that
regimen for up to three days, might drive the spread
inhibit its use. We will use an “all or nothing” model
where when the compound concentrations drops be-low a certain threshold there is no effect, and whenabove the whole infection is cleared.
Ronald is embedded in an host language, meaning
that the full power of a general purpose language
is still available in case of need. The host language
is Groovy (with an initial prototype made in Scala)
which has many facilities to support DSLs, being a
Java Virtual Machine (JVM) based language means
that all JVM/Java based libraries are available for
use. An initial implementation, which is able to han-
dle most of the applications presented below, is avail-
The architecture is depicted in figure 1. A DSL
Pharmacokinetical profiles of drug regimens
processor is able to handle programs irrespective of
the possible uses. What is done with a specification
Coartem R regimen of 6 doses over 3 days is pre-
depends on the backend, we currently support three
sented in figure 2 (The figure is a direct output from
the graphic generator with no post-processing or edi-tion).
1. A Fortran generator that takes the program
specification and generates code to change thesimulator described in [9].
A fundamental variable for the spread of drug re-
is able to change existing simulator code by
sistance is the window of time following treatment
adding new drugs to be used in an environ-
where a drug is present at concentrations sufficiently
ment where many other factors are included
high to be effective against a sensitive strain but not
(vaccination, within-host dynamics, mosquito
against a more resistant one. The system is able
transmission, .). This expands the scope of
to estimate, given a PK/PD profile, the estimated
usage for Ronald by several orders of magni-
time for which a drug is effective against a certain
tude as this simulator incorporates many other
malaria strain. An example that can perform this
factors besides the relationship between drugs
calculation is made available on the web site.
Another problem occurring in places where
malaria is prevalent is the usage of low quality or
2. A documentation and graphics generator that
counterfeit drugs. Low quality drugs normally have
translates the specification to readable English
less bioavailability than better ones, which has an
in LATEX format. The generator is also able
impact on cure rates, either because the dosage avail-
to create graphics like pharmacokinetical pro-
able is not able to cure more resistant strains or be-
files for drug regimens or isobolograms for the
cause the time during which the drug has efficacy is
reduced. This increases the spread of more resistant
forms of the parasite. The system is able to simulatethis scenario in a succinct and elegant way: A sim-
3. Internal analysis tools are provided, for in-
ple bioavailability study requires only creating a new
stance given a simple “all or nothing” PK
drug with a different bioavailability coefficient, nor-
model presented above, the system is able
mally an exercise taking literally half a dozen lines
to calculate how many days after treatment
drugs remain effective against a certain para-
We are currently studying the impact of longer
site strain before they decay to ineffective con-
chloroquine regimens, as used in Guinea-Bissau[10]
on the spread of chloroquine resistance. There is in-teresting empirical[11] and theoretical[12] evidencethat changing Chloroquine regimens might have a
positive impact on cure rates and resistance spread. This study is made by generating Fortran code that
Ronald can help answer many questions. Here we
is integrated on the simulator introduced above, al-
present a few examples of problems that can be ad-
lowing for a population simulation where spread can
in modeling complex and partially unknown natu-ral processes while maintaining conciseness in cases
The initial version of Ronald is already able to an-
where simpler models of reality are acceptable. We
swer interesting research questions while allowing
argue that the approach outlined above has the po-
productivity gains on the production of code. Most
importantly, it is possible to write code in a for-mat that is declarative enough to be discussed withdomain experts. There are still many issues to be
resolved and expanded, the most important are pre-
This work was partially supported by the Bill &
Melinda Gates Foundation (grant #39777).
Although most drug resistance mechanisms are
related to enzyme mutations, at least some (e.g.
SFRH/BD/30834/2006 from Fundacao para a Cien-
Mefloquine) seem to be related with copy number
variation[13]; the same mechanism might also applyto Artesunates. We plan to support modeling copynumber variation in the future.
We would like to support as many PK and PD
models as possible. The quality of information ex-
isting in the literature varies substantially from drug
malaria. Acta Trop, 94(3):207–217, Jun 2005.
to drug, making some models more applicable thanothers depending on the drug.
[2] M L Gatton and Q Cheng. Plasmodium fal-
A DSL makes cooperation between programmers
ciparum infection dynamics and transmission
and domain specialists much easier, but it is not re-
potential following treatment with sulfadoxine-
alistic to assume that most domain specialists will
start writing DSL code. The creation of user inter-
faces on top of Ronald might be done in the future.
A possible strategy might be the partial automated
L Aarons, D E Kyle, and N J White. Meflo-
creation of UIs from the language specification.
Currently there is no support to model different
models: implications for dosing and resistance.
human properties as we rely on the external Fortran
Antimicrob Agents Chemother, 44(12):3414–
simulator to deal with humans. A more expressive
and realistic DSL will require modeling at least ofage and weight, factors which clearly influence drug
[4] A van Deursen, P Klint, and J Visser. Domain-
effectiveness. To a lesser extent supporting the mod-
specific languages: An annotated bibliography.
eling of infection growth might also be necessary in
SIGPLAN Notices, 35(6):26–36, 2000.
[5] A Nzila. Inhibitors of de novo folate enzymes
The fundamental issue is dealing with the inher-
in Plasmodium falciparum. Drug Discov Today,
ent fuzziness and uncertainty of the dependencies of
certain system properties. As an example, in Ronaldbioavailability is dependent only on the drug. In re-
[6] F K Dzinjalamala, A Macheso, J G Kublin, T E
ality compound bioavailability is dependent on many
Taylor, K I Barnes, Malcolm E Molyneux, C V
factors like age[14] or diet[15], as well as on drug
Plowe, and P J Smith. Association between the
quality. Most factors might be unknown and vary
pharmacokinetics and in vivo therapeutic effi-
from drug to drug. A similar reasoning can be ap-
cacy of sulfadoxine-pyrimethamine in malaw-
plied to compound half life. The most obvious so-
lution is to redesign the language in order to allow
as much flexibility as possible. But, in many cases,simple models are sufficient and DSL users shouldn’t
[7] P Wang, R K Brobey, T Horii, P F Sims, and
have to parametrize the more complex model just to
J E Hyde. Utilization of exogenous folate in
obtain results that could be obtained with a sim-
the human malaria parasite plasmodium falci-
pler model. That would cause lost productivity and
parum and its critical role in antifolate drug
expressiveness. There is a challenge in designing a
synergy. Mol Microbiol, 32(6):1254–1262, Jun
language that can accommodate all the uncertainty
[8] I M Hastings, W M Watkins, and N J White.
[12] M B Hoshen, W D Stein, and H Ginsburg.
The evolution of drug-resistant malaria: the
Modelling the chloroquine chemotherapy of fal-
role of drug elimination half-life. Philos Trans
ciparum malaria: the value of spacing a split
R Soc Lond B Biol Sci, 357(1420):505–519, Apr
dose. Parasitology, 116 ( Pt 5):407–416, May
[9] T Smith, G F Killeen, N Maire, A Ross, L Mo-
lineaux, F Tediosi, G Hutton, J Utzinger, K Di-
[13] R N Price, A-C Uhlemann, A Brockman, R Mc-
etz, and M Tanner. Mathematical modeling of
Gready, E Ashley, L Phaipun, R Patel, K Laing,
the impact of malaria vaccines on the clinical
epidemiology and natural history of Plasmod-
S Krishna. Mefloquine resistance in Plasmod-
ium falciparum malaria: Overview. Am J Trop
ium falciparum and increased pfmdr1 gene copy
Med Hyg, 75(2 Suppl):1–10, Aug 2006.
number. Lancet, 364(9432):438–447, 2004.
[10] P-E Kofoed, J Ursing, A Poulsen, A Rodrigues,
Y Bergquist, P Aaby, and L Rombo. Differ-
[14] K I Barnes, F Little, P J Smith, A Evans,
ent doses of amodiaquine and chloroquine for
treatment of uncomplicated malaria in children
pyrimethamine pharmacokinetics in malaria:
in guinea-bissau: implications for future treat-
pediatric dosing implications. Clin Pharmacol
ment recommendations. Trans R Soc Trop Med
[11] J Ursing, B A Schmidt, M Lebbad, P-E Kofoed,
[15] E A Ashley, K Stepniewska, N Lindegrdh,
F Dias, J P Gil, and L Rombo. Chloroquine
resistant P. falciparum prevalence is low and
unchanged between 1990 and 2005 in Guinea-
much fat is necessary to optimize lumefantrine
Bissau: an effect of high chloroquine dosage?
Infect Genet Evol, 7(5):555–561, Sep 2007.
BIOGRAPHY OF YITZHAK RABIN Introduction When Israelis voted the Labor Party into government in June 1992 with Yitzhak Rabin at its helm, they knew well what they were getting. Here was a man who had been in public life for more than 40 years. When he became prime minister for the first time in 1974, he had been the first native-born Israeli (sabra) to attain the post. His astonishingly
Collaborative Point of View Document Centric SOA Jeremy Deane, Technical Architect, [email protected] , October 2007 TABLE OF CONTENTS LIST OF FIGURES Remote Procedure Call vs. Document-Literal Collaborative Point of View 1. Document Centric SOA Figure 1 Remote Procedure Call vs. Document-Literal 1.1 Background HTTP Request or Response HTTP Request or