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.

63<br />

11. Critical evaluation of the declarative modelling approach<br />

Declarative modelling represents a considerable shift from conventional modelling practice. Also,<br />

there exists a considerable resource base of models implemented using traditional methods, and<br />

there are now numerous initiatives developing modelling frameworks that are not based on<br />

declarative modelling principles. In this Section, I address some of the arguments that have<br />

been raised against a declarative modelling approach, and suggest possible ways in which it can<br />

be integrated with existing methods.<br />

11.1 Critique of declarative modelling<br />

Limited expressiveness<br />

The 'expressiveness' of a language refers to the range of concepts that it can handle. For example,<br />

a modelling language that does not allow the user to specify conditional expressions<br />

(if...then...else...) is less expressive than one that does. Similarly, one that does not allow object<br />

instances to be created and destroyed is less expressive than one that does.<br />

It is generally accepted that a declarative language (whether <strong>for</strong> modelling, architectural design, or<br />

whatever) is less expressive than a conventional programming language. To a large extent, this<br />

reflects a deliberate design decision by the developers of the language and associated software. If<br />

you are designing a continuous-systems simulation language, then you would limit yourself to this<br />

domain.<br />

The problem we face in ecosystem modelling is that there are multiple modelling paradigms in<br />

use, suggesting that we need several separate modelling languages. However, one model might<br />

require several different paradigms to be combined (e.g. spatial, size-class and individual-based<br />

modelling), and it might seem impossible to design one language that can cater <strong>for</strong> such diversity.<br />

Simile demonstrates that, contrary to intuition, it is possible to have a single language that is<br />

capable of handling, and indeed integrating, a wide range of modelling paradigms: differentialequation,<br />

spatial, individual-based, etc. Many ecosystem models can probably be faithfully recast<br />

in this language.<br />

However, it is also true that there are some modelling paradigms that were not taken into account<br />

in designing Simile's model-representation language: <strong>for</strong> example, discrete-event model, agentbased<br />

models, economic optimisation models, Petri nets, and bond graph models. Does this<br />

prove the futility of adopting a declarative modelling approach? No: <strong>for</strong> 4 reasons:<br />

First, it is possible that, on analysis, models expressed in other paradigms can be re-expressed in<br />

terms of Simile's model-representation language.<br />

Second, if this is not possible, it is possible that the model-representation language can be<br />

extended to enable additional modelling paradigms to be handled, perhaps through the<br />

introduction of new symbols.<br />

Third, if the language cannot be extended, an alternative model-representation language, based on<br />

a different ontology, could be developed.<br />

Finally, there are many examples of useful languages which are certainly not comprehensive: <strong>for</strong><br />

example, spreadsheets, database languages, and architectural design languages. A standard<br />

model-representation language which is not comprehensive, but which is capable of handling<br />

most common modelling requirements, could still be considered to be of great utility.

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

Saved successfully!

Ooh no, something went wrong!