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.
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.