Constraints in models and implementations of (VR) geo-info systems

Constraints are important elements of every modelling process but until now they have not received much attention in GIS. In GIS, constraints are conditions, which always have to be valid (true) within the model populated with real geographic object instances. In this paper we argue that constraints should be part of the object class definition, similar to other aspects of the object class definition: attributes, methods, and relationships (generalization/specialization, part/whole, and associations). This paper presents our view on modelling constraints, in which we distinguish three different stages: clarifying constraints applicable for the objects of interest, formally describing them using the unified modelling language/ object constraint language (UML/OCL) and implementing them in application tool or in the DBMS. In order to better understand the constraints and their use in GIS we propose a classification of the different types of constraints. The paper demonstrates the way UML (OCL) is used for modelling constraints in SALIX-2, a VR landscape modelling system. Depending on the type of constraints (and the application), some of them can be best implemented at (edit/simulation) front-end, others at DBMS (or perhaps throughout all subsystems), but this should all be derived from the same specification: the model including the formal constraints. This paper focuses on the implementation of the constraints using triggers (as assertions are not yet available) within the DBMS and the problems that have to be solved.