Full text: XVIIth ISPRS Congress (Part B3)

  
within this modelling framework. This allows models to be 
built which can be manipulated and analysed in an intuitive 
manner, using terms with which users are familiar. 
This concludes the description of the design of the 
framework. The remainder of the paper will describe how it 
has been implemented. 
4. FRAMEWORK IMPLEMENTATION 
The implementation of the framework was carried out using 
the object-oriented programming language, Eiffel. To write 
programmes in Eiffel, classes are defined and compiled to 
produce executable systems. At run-time, objects are 
generated from these classes, and execution occurs as 
messages are passed among the objects. 
The framework itself is not executable. Instead it consists of 
a library of classes which provide the capabilities to build, 
query and analyse models of the real world. Tools (or 
applications) which need to make use of these capabilities 
can be built on top of the framework. Tool classes can be 
written and compiled, along with the framework classes, to 
produce executable systems. When such a system is 
executed, tool objects provide a user interface. This allows 
users to access the framework objects and make use of its 
model handling capabilities. 
The framework classes can be broken down into three 
groups. The first consists of those classes which define 
entity and relationship types. Two root classes — entity 
and relationship — define the state and behaviours 
which are common to all such types. The class 
complex entity is defined as a specialised subclass of 
entity. It adds the state and behaviour for handling 
components. 
Eiffel's inheritance mechanism is used to implement the 
generalisation/specialisation modelling concept. When a 
model is to be built, the user must first of all decide what 
entities and relationships need to be represented. New 
classes must then be defined which inherit from the 
appropriate root classes. These new classes add definitions 
of the attributes (and components) of the specialised types. 
They also define any specialised behaviours, such as the one 
for finding the shortest route through a road system. 
Once these classes have been defined, an executable system 
can be compiled which will allow a model to be built. 
With hindsight, it seems that this use of the inheritance 
mechanism is not the best way to implement the object- 
oriented modelling concept of generalisation/specialisation 
— at least for entities and relationships. Future 
developments should allow the definition of specialised 
entity and relationship types to be done at run-time — 
before, during and after the building of a model. Such 
definitions should not require recompilation, as is the case at 
present. A simple to understand, application language could 
be developed to allow users to write 'scripts' defining 
functions and attributes for entities and relationships. 
The second group of framework classes implement attribute 
value types. Instances of them are attribute values, and store 
different kinds of ififformation. A class is defined for each 
available attribute value type in the modelling framework. 
Some simple, vector based spatial attribute types have been 
designed and implemented, along with some simple textual 
attribute types. The ability to plug new attribute value types 
into a hierarchy as they are developed, and without affecting 
existing models is an attractive benefit of the framework. It 
comes about because of the de-emphasis of structures for 
758 
storing information, and the increased emphasis on the 
things being represented. 
The third group of classes is concerned with the management 
of a model. It allows the creation of the model, and its 
analysis through a querying mechanism which has access to 
the analytical functions contained within it. The querying 
mechanism is, at the moment, rather rudimentary, the 
emphasis to date having been on the building of models. A 
simple selection capability is in place, however, and allows 
access to the states and behaviours of model components. 
Some very simple tools have been developed which make 
use of the capabilities supplied by the framework. The 
BUILD tool interprets a simple text files written in a simple 
language which enables models to be built. It allows entities 
to be created and associated with one another through 
relationships. Attribute values can also be set and attached to 
the entities and relationships. The INFO tool allows a model 
to be examined — textual attributes can be displayed as text, 
while positions can be displayed graphically. The 
SH_PATH tool is a special tool for displaying a road 
system, and for allowing the user to pick junctions and 
determine shortest paths between then. Both INFO and 
SH_PATH are rather specific in their applicability, and work 
needs to be done in developing more general purpose tools. 
5. SUMMARY 
A framework for storing geographic information has been 
designed and implemented at the University of New 
Brunswick. It employs object-oriented concepts both in its 
modelling capabilities and in its implementation. It allows 
users to build models which bear more resemblance to the 
real world, and is very flexible in its handling of structures 
for storing information. 
The development of this framework has provided a great 
deal of insight into the potential of object-orientation in 
modelling and programming. Continued work should result 
in an improved and extended framework, as well as more 
useful tools making use of its capabilities. 
ACKNOWLEDGEMENTS 
This reserch was partially funded by an NSERC operating 
grant and two EMR research agreements. 
SELECTED BIBLIOGRAPHY 
Feuchtwanger, M., 1989. An Object-oriented Semantic 
Association Model for GIS. In: Proceedings of the 1989 
National Conference on GIS, Ottawa, Canada, pp. 689-703. 
Kemp, Z., 1990. An Object-Oriented Model for Spatial 
Data. In: Proceedings of the 4th International Symposium 
on Spatial Data Handling, Zurich, Switzerland, pp.659-668. 
Khoshafian, S. and R. Abnous, 1990. Object Orientation : 
Concepts, Languages, Databases, User Interfaces. John 
Wiley & Sons, Inc., New York. 
Meyer, B., 1988. Object-oriented Software Construction. 
Prentice Hall International (UK) Ltd., U.K. 
Morehouse, S., 1990. The Role of Semantics in Geographic 
Data Modelling. In: Proceedings of the 4th International 
Symposium on Spatial Data Handling, Zurich, Switzerland, 
pp.689-698. 
suk 
iss 
tex 
dec 
def 
sur 
muc 
The 
Unc 
enc 
or
	        
Waiting...

Note to user

Dear user,

In response to current developments in the web technology used by the Goobi viewer, the software no longer supports your browser.

Please use one of the following browsers to display this page correctly.

Thank you.