[Next] [Previous] [Top] [Contents]

No Title

3 Modelling paradigms


Two words which crop up in different contexts of relevance to the present discussion are procedural and declarative. Procedural knowledge is knowledge about how to do something and this knowledge is held by individuals in a way which does not allow it to be communicated directly to other individuals. Declarative knowledge is knowledge of what is true and can be communicated directly to other individuals. For example, an Englishman may have both procedural and declarative knowledge about the game of cricket. He can explain the rules of the game and describe or show a novice how to stand at the wicket or where to stand if he is to play off-stump or what to do if he is the wicket-keeper or the necessity of keeping the bowling arm straight at the elbow. All of this knowledge is declarative. To hit the ball successfully and place it where the batsman wants the ball to land or to spin-bowl so that the ball hits the ground and bounces so as to hit the wicket without coming into the range of the bat require abilities that can only be attained by practice. However well a person might know the rules and be able to describe the practices of cricket, that person will not be able actually to play cricket without acquiring substantial procedural knowledge. Interestingly, this distinction was also made by Edith Penrose
[19] in her seminal (1959) analysis of the direction of the growth of the firm although she called the two types of knowledge objective and subjective. But her distinction between the two was couched in the same terms as Anderson's [1] discussion of the distinction between procedural and declarative knowledge. Discussions of core competencies and capabilities in the business strategy literature are based on the belief that organizations have procedural knowledge which cannot simply be imitated by other organizations.

A similar, though by no means identical, distinction is made by computer scientists between declarative and procedural programming and programming languages. Procedural programming languages include C, Pascal, Fortran and Basic. All of these languages require the programmer to write out the sequence of steps required to fulfil the objectives of the program in the order in which they are required to be completed. Declarative programming languages include Prolog (which also has procedural features) and SDML (which is more strictly declarative). Programming in these languages entails the writing of statements and relationships among statements which are "true" (in the sense of being tautologies). A statement can be represented by clauses on databases and the relationships can be represented as rules. Typically, there are rules in such languages which state that one set of statements is true if some other set of statements is true. A virtue of forward chaining is that statements demonstrated by rules to be true are stored on a database for future retrieval.

These two uses of the declarative-procedural distinction are seen to be mutually reinforcing in relation to computational models and the interpretation of the behavioural elements of these models by social scientists. That is, the distinctions between procedural and declarative programming and between procedural and declarative knowledge, respectively, are closely related in computational modelling.

3.1 - Procedural modelling
3.2 - Declarative modelling
3.3 - Modelling paradigms, validation and application

No Title - 18 JUL 97
[Next] [Previous] [Top] [Contents]

Generated with CERN WebMaker