24.05.2014 Views

pdf: 600KB - Potsdam Institute for Climate Impact Research

pdf: 600KB - Potsdam Institute for Climate Impact Research

pdf: 600KB - Potsdam Institute for Climate Impact Research

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!