Embedding Production Rules in a Geographic Information System
David Pullar
Department of Geographical Sciences and Planning, University of Queensland, Brisbane, AUSTRALIA. Q4072
Abstract
Geographic information systems (GIS) have evolved as a general solution for managing and analysing spatial data. GIS is used in numerous applications areas; built environment, natural environment, and business. Having such general applicability has meant that GIS data models have historically remained very generic. The geo-relational model (Morehouse, 1985) is still the most prevalent data modelling approach for building real world applications. The drawback is that application developers must map from domain knowledge to the geo-relational model. And then it is left to the application code to maintain domain-specific operations and integrity constraints. Users want more sophisticated models to build GIS applications. The problem is how to move from "generic and simple" data models to more expressive "semantic models" (Morehouse, 1990).
The solution is to include knowledge-based models in information systems. Two common technologies to do this are:
- Object-oriented programming (OOP) employs advanced modelling concepts such as classes. inheritance and message communication. In recent years OOP has made a significant impact on graphical user interfaces (GUI's) and the application environment for GIS. The application environment includes interface classes to the database, but this is still simply an exterior wrapping to a geo-relational database. Thus geographic features are not encoded with any inherent procedural knowledge. Morehouse (1990) discusses the implications of having true OOP semantics in a GIS.
- Rule-based programming is another way to express domain knowledge. A logic-based approach to GIS is needed for the next generation of systems [W095]. Several researchers have explored integrating expert system shells with spatial data (Wright et al., 1993), but many of these projects involve significant system integration. There are other fundamental limitations in terms of the language mismatch between the algorithms used in GIS and the underlying logic in expert system shells. For non-trivial applications a higher level of rules are needed to control interaction with spatial data (Lowes & Bellamy, 1994).
OOP and rule-based programming are both popular programming paradigms. Each being employed in GIS applications in different contexts. Our work has investigated a synthesis of these two paradigms. The paper describes a prototype that embeds an inference engine in a GIS, namely Arcview from ESRl. The aim of the research is to provide a generic approach to incorporating procedural knowledge in a GIS. We store rules in an object database, and associate the rule identifier with application documents and controls. All rules are expressed in Arcview's OOP language.
Specifically the paper discusses:
- Rule content. The production rules used in the prototype differ from traditional expert systems shells because they only fire in a particular context. The context is a message to perform a certain operation on a particular feature layer.
- Application environment. An OOP interface to the GIS application provides a convenient framework to embed production rules into operations and to control when rules are activated. We are able to activate rules based upon user actions (menu pick), triggered by another rule (action clause), and application events (database updates).
- Semantics behaviour. A set of production rules is given a unique name and stored in the database. This unique name is related to geographic features via metadata for a layer. The syntax for a production rule includes the activation context (message). the conditions (constraints), and action (behaviour) that needs to be matched for the rule to fire. This provides a generic way to capture the OOP interface for features as part of the database.
- Dynamic behaviour. As stated, we can activate rules from the action clause for another rule, or from application events. A menu pick starts the process, the forward-chaining inference mechanism continues until all rules are terminated. This provides a means to run state and transition models to simulate spatial processes. With a transaction database we are able to run a model, visualise the results. and then roll-back the changes to the start again.
References
Lowes, D. and Bellamy, J.A. 1994. "Object Orientation in a Spatial Decision Support System for Grazing Land Management", AI Applications, 8(3).
Morehouse, S.D. 1985. "ARC/INFO: A Geo-Relational Model for Spatial Information", Proceedings Auto-Carto 7, Washington, 1985
Morehouse, S.D. 1990. "The Role Of Semantics In Geographic Data Modelling", Proceedings 4th International Symposium on Spatial Data Handling, Zurich, 1990.
Wright, J.R., Wiggins, R.K., Jain, R.K. and Kim, T.J. 1993. Expert Systems in Environmental Planning. Springer-Verlag