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.
23<br />
5.5 What are the benefits of greater declarativeness?<br />
The declarative approach is generally closer to the way we think about the world. We usually<br />
separate knowledge about the world (as facts and rules) from things we can do with that<br />
knowledge (reasoning).<br />
A declarative approach generally gives more flexibility. A procedural program (recipe) can<br />
usually be used <strong>for</strong> only one purpose. A declarative body of knowledge can be used in many<br />
different ways, to answer a wide range of different problems.<br />
A declarative body of knowledge generally consists of independent fragments, each of which can<br />
be treated separately (e.g. in checking whether it is true or not). A procedural document needs to<br />
be treated as a whole, making it more error-prone and difficult to debug.<br />
Declarative<br />
Use knowledge in multiple ways<br />
Low efficiency (though not necessarily<br />
true)<br />
High modifiability<br />
High cognitive adequacy (close to the way<br />
we think)<br />
Higher level of abstraction<br />
Independent collection of facts<br />
Easy to validate<br />
Transparent<br />
Procedural<br />
Use knowledge one way<br />
High efficiency<br />
Low modifiability<br />
Low cognitive adequacy (less intuitive<br />
way of thinking)<br />
Lower level of abstraction<br />
A composite whole, difficult to decompose.<br />
Hard to debug<br />
Black-box<br />
Table 5.3 Relative merits of declarative and procedural approaches<br />
5.6 Conclusion<br />
In many areas, a declarative approach represents a real and increasingly-used alternative to<br />
approaches based on conventional programming. It offers significant benefits, in terms of<br />
increased flexibility, transparency and intuitiveness.<br />
In the following section, we will begin to explore its relevance to modelling, by comparing the<br />
procedural and declarative representation of a simple ecological model.<br />
Sources<br />
Some points relating to the declarative:procedural divide have been taken from the following sources:<br />
http://www.uiowa.edu/~c07p200/handouts/declarative_procedural.html<br />
http://computing.unn.ac.uk/staff/cgpb4/prologbook/node11.html<br />
http://ai.eecs.umich.edu/cogarch2/prop/declarative-procedural.html<br />
http://www.cs.rochester.edu/u/kyros/Courses/CS242/Lectures/Lecture-14/tsld003.htm<br />
http://www.cs.cornell.edu/Info/Projects/NuPrl/cs611/fall94notes/cn2/subsection3_1_2.html<br />
http://www.psy.vanderbilt.edu/faculty/blake/STIC/memory.html<br />
http://www.adass.org/adass/proceedings/adass00/reprints/O6-03.<strong>pdf</strong>