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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

7<br />

another <strong>for</strong> comparing the structure of two versions of the same original model. This allows us to<br />

develop tools <strong>for</strong> supporting many aspects of the modelling process, not just the running of simulations.<br />

The distinction between declarative knowledge (knowing that) and procedural<br />

knowledge (knowing how) has long been recognised in human cognition. I know that a<br />

bicycle has two wheels; I know how to ride a bicycle. This difference is even ascribed<br />

to different parts of the brain, with the bilateral temporal lobes being used <strong>for</strong><br />

semantic/conceptual knowledge, and the left frontal/basal-ganglia part being used <strong>for</strong><br />

cognitive and motor skills (Ullman: http://slate.lang.uiuc.edu/lectures01.html).<br />

Consider an IKEA wardrobe. We can describe it as a design - on paper, or in a<br />

computer-aided design package such as AutoCAD. The design says what bits we have,<br />

their properties, and how they are connected together. Or we can have instructions on<br />

how to construct it. The <strong>for</strong>mer is declarative, the latter procedural. The design is<br />

what was produced originally, to meet some specifications (size, cost, appearance, etc).<br />

And knowing the design, we can infer many things about the wardrobe: how big it is,<br />

how much it weighs, even possible procedures <strong>for</strong> constructing it. The instructions, on<br />

the other hand, serve a particular purpose - to get the flatpack into a functioning<br />

wardrobe - and are not an effective method <strong>for</strong> indicating what the wardrobe is actually<br />

like. If you simply gave the text instructions to someone, they would have a hard job<br />

making a drawing of what the finished wardrobe would look like.<br />

Box 1.1 The procedural vs declarative distinction<br />

This is a particularly opportune time <strong>for</strong> the research community to move towards a declarative<br />

modelling approach. First, there are a number of visual modelling environments, which prove the<br />

feasibility of having visual design tools, and simulation languages, which show that the mathematical<br />

structure of models can be represented in non-programming terms. Second, a number of groups are<br />

engaged in the process of designing a framework <strong>for</strong> their modelling activities in the field of<br />

environmental research, indicating a growing awareness within the community of the need to consider<br />

the way in which modelling is done. Third, there are similar initiatives in other domains, such as<br />

Modelica [see URLs 1 and Appendix 1] <strong>for</strong> physical systems modelling. Finally, the recent emergence of<br />

XML (the eXtensible Markup Language: see Appendix A2.1), a standard <strong>for</strong> the transfer of documents<br />

and data over the web, has spawned a large number of subject-specific markup languages. This makes it<br />

much easier to advocate the concept of a language <strong>for</strong> representing models, since there is now greater<br />

awareness of similar languages in other fields.<br />

We distinguish between modelling and simulation. Declarative modelling is specifically concerned<br />

with the modelling process itself: how we design models, how we present them to other people, how we<br />

analyse their (mathematical) structure, how we can trans<strong>for</strong>m one model into another. It is not directly<br />

concerned with simulating the behaviour of models, including such activities as bench-marking,<br />

validation, sensitivity analysis, backcasting and parameter estimation. Such activities are, of course,<br />

vitally important, and declarative modelling can help, by ensuring that all models are fully compatible<br />

with tools developed <strong>for</strong> undertaking simulations. But this applies equally to models developed within,<br />

<strong>for</strong> example, the sort of component-based frameworks discussed in Section 3, so it is not central to the<br />

argument <strong>for</strong> a declarative modelling approach.<br />

The aim of this paper is to consider the what, why and how of declarative modelling. What is meant by<br />

the term, and how does it differ from conventional approaches? Why should we consider adopting it?<br />

And how do we go about it - designing an appropriate language <strong>for</strong> representing models, building tools<br />

<strong>for</strong> handling these models, and putting in place the institutional structures required to make this work?<br />

1 [see URLs] refers to the list of URLs (web links) given after the References at the end of the paper.

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

Saved successfully!

Ooh no, something went wrong!