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.

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>

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

Saved successfully!

Ooh no, something went wrong!