pdf: 600KB - Potsdam Institute for Climate Impact Research
pdf: 600KB - Potsdam Institute for Climate Impact Research
pdf: 600KB - Potsdam Institute for Climate Impact Research
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
37<br />
Figure 7.1 is a partial view of the ontology underlying Simile's model-representation language.<br />
This is presented in the <strong>for</strong>m of a screen dump from Protegé, one of a number of software<br />
packages specifically developed <strong>for</strong> ontology design. It shows, on the left, the taxonomy of<br />
model-building elements: <strong>for</strong> example, it shows that compartment is a type of node. On the<br />
right, we see more in<strong>for</strong>mation <strong>for</strong> the selected class, including its 'slots' (attributes) and some<br />
free-<strong>for</strong>m text. We see that compartment has the attributes label, complete, ID, position and<br />
size. label and ID are string (character) attributes. complete (denoting whether the element has<br />
the required mathematical in<strong>for</strong>mation associated with it) is a Boolean (true/false) attribute.<br />
position and size are defined by another class, which in turn represent the fact that each has two<br />
numeric values. Each slot is required to have a single value.<br />
We can evaluate Simile against the design criteria. Its model-representation language is very<br />
expressive: a wide range of ecological and environmental simulation models can be represented in<br />
it (Muetzelfeldt 2003). It is parsimonious, having a language based on only some 12 symbols.<br />
And it is pretty intuitive, using the widely-used System Dynamics notation plus a clear symbolism<br />
<strong>for</strong> representing objects.<br />
7.4 Designing the model-representation language: syntax<br />
The ontology defines what we might consider to be the abstract language: the set of concepts that<br />
our language is capable of representing. In order <strong>for</strong> models to be actually represented on a<br />
computer, we require a syntax <strong>for</strong> statements in the language. This might be in binary <strong>for</strong>m -<br />
written and read only by a computer program - or it could be in text <strong>for</strong>m, so that it can be<br />
processed both by computers and also by humans (entered using a word processor, and printed<br />
out).<br />
A few years ago, a group of people designing a new language might very well have come up with<br />
a new syntax, without regard to the syntax of languages designed <strong>for</strong> other purposes. For<br />
example, the statement<br />
compartment: name=biomass, initial=100<br />
might represent the fact that the model contains a compartment 'biomass' with an initial value of<br />
100.<br />
Over the last few years, however, there has been a huge increase in the use of XML (the<br />
eXtensible Markup Language) as a metalanguage within which other languages can be<br />
expressed. Section 6.7 introduces XML notation <strong>for</strong> representing model structure, and Appendix<br />
A2 provides some more detail. I simply reiterate here that XML is the obvious metalanguage to<br />
use <strong>for</strong> representing simulation models. Not only does it give access to the technologies<br />
developed around it, but it also means that some parts of the notation exist already, such as the use<br />
of MathML [see URLs] <strong>for</strong> representing equations.<br />
There is not, however, a one-to-one correspondence between the ontology <strong>for</strong> a language and its<br />
syntax, even given a commitment to the XML metalanguage. There are still many choices to be<br />
made about representation, which will affect the readability of model description files (if that is<br />
desired), the size of the files, and the ease of processing by software tools.<br />
XML supports the concept of namespaces. In this context, this enables all the language elements<br />
that relate to a particular modelling paradigm - such as System Dynamics - to be grouped together.<br />
This means that groups developing software tools do not have to commit themselves to dealing<br />
with all concepts that the full language supports: rather, one tool might restrict itself to (<strong>for</strong><br />
example) the System Dynamics namespace.