fuzzy objects for geographical information systems

18
Fuzzy Sets and Systems 113 (2000) 19–36 www.elsevier.com/locate/fss Fuzzy objects for geographical information systems Valerie Cross a ; * , Aykut Firat b a William States Lee College of Engineering, The University of North Carolina at Charlotte, Charlotte, NC 28023, USA b Sloan School of Management, Massachussetts Institute of Technology, Boston, MA, USA Received November 1998 Abstract Modeling, storing and retrieving geographical information has become an important part of our information society. Geo- graphical information is typically specied in terms of collections of entities and phenomena that are structured aggregations of spatial entities. GIS features tend to form natural class hierarchies. Another characteristic of geographical information is that often it may be inexact or vague. With respect to these characteristics, the conuence of the two technologies fuzzy set theory and object-oriented databases could provide a powerful tool for knowledge representation underlying geograph- ical information systems. The fuzzy object data model is currently being developed and prototype implementations have been undertaken using an integrative approach with existing software including an expert system shell and a commercial object-oriented database system. In this paper, the benets of a fuzzy object data model for geographical information systems are examined, an overview of the model is presented, and the current prototype implementations are described. c 2000 Elsevier Science B.V. All rights reserved. Keywords: Information storage and retrieval; Expert systems; Articial intelligence; Geographical information systems; Fuzzy object data model 1. Introduction Geographical information is used in many dier- ent domains besides traditional cartography, for ex- ample, environmental science, urban planning, soil science, agriculture, forestry, climatology, meteorol- ogy, oceanography, and hydrology [41]. All these disciplines are motivating the development of new ways in which geographical information systems (GIS) can be used for managing, monitoring, and modeling spatio-temporal data. Although complex- * Corresponding author. ity, uncertainty and dynamic processes are important components of the problem, conventional GIS have not typically incorporated methods to handle these aspects. Another requirement becoming more and more relevant is the sharing of geographical infor- mation between the various disciplines. The need to eciently share geodata is driven by the costs of ac- quiring or developing information independently. In order to satisfy these needs, future GIS software must be both “intelligent” [6] and “interoperable” [12]. This paper focuses on the fuzzy object data model and how it can contribute to uncertainty management, modeling, and sharing of geodata in future GIS. 0165-0114/00/$ - see front matter c 2000 Elsevier Science B.V. All rights reserved. PII:S0165-0114(99)00010-X

Upload: valerie-cross

Post on 02-Jul-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Fuzzy Sets and Systems 113 (2000) 19–36www.elsevier.com/locate/fss

Fuzzy objects for geographical information systemsValerie Crossa ; ∗, Aykut Firatb

aWilliam States Lee College of Engineering, The University of North Carolina at Charlotte, Charlotte, NC 28023, USAb Sloan School of Management, Massachussetts Institute of Technology, Boston, MA, USA

Received November 1998

Abstract

Modeling, storing and retrieving geographical information has become an important part of our information society. Geo-graphical information is typically speci�ed in terms of collections of entities and phenomena that are structured aggregationsof spatial entities. GIS features tend to form natural class hierarchies. Another characteristic of geographical information isthat often it may be inexact or vague. With respect to these characteristics, the con uence of the two technologies fuzzyset theory and object-oriented databases could provide a powerful tool for knowledge representation underlying geograph-ical information systems. The fuzzy object data model is currently being developed and prototype implementations havebeen undertaken using an integrative approach with existing software including an expert system shell and a commercialobject-oriented database system. In this paper, the bene�ts of a fuzzy object data model for geographical information systemsare examined, an overview of the model is presented, and the current prototype implementations are described. c© 2000Elsevier Science B.V. All rights reserved.

Keywords: Information storage and retrieval; Expert systems; Arti�cial intelligence; Geographical information systems;Fuzzy object data model

1. Introduction

Geographical information is used in many di�er-ent domains besides traditional cartography, for ex-ample, environmental science, urban planning, soilscience, agriculture, forestry, climatology, meteorol-ogy, oceanography, and hydrology [41]. All thesedisciplines are motivating the development of newways in which geographical information systems(GIS) can be used for managing, monitoring, andmodeling spatio-temporal data. Although complex-

∗ Corresponding author.

ity, uncertainty and dynamic processes are importantcomponents of the problem, conventional GIS havenot typically incorporated methods to handle theseaspects. Another requirement becoming more andmore relevant is the sharing of geographical infor-mation between the various disciplines. The need toe�ciently share geodata is driven by the costs of ac-quiring or developing information independently. Inorder to satisfy these needs, future GIS software mustbe both “intelligent” [6] and “interoperable” [12].This paper focuses on the fuzzy object data modeland how it can contribute to uncertainty management,modeling, and sharing of geodata in future GIS.

0165-0114/00/$ - see front matter c© 2000 Elsevier Science B.V. All rights reserved.PII: S 0165 -0114(99)00010 -X

20 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

Underlying almost all GIS are database manage-ment systems, some of which may be propri-etary. Many others fall into the relational databasecategory. However, GIS typically claim to handleobjects. The term “object” has many di�erent mean-ings. Part of the confusion associated with the termis the wide variety of contexts in which the term“object-oriented” has been applied, for example,object-oriented programming, object-oriented graph-ical interfaces, object-oriented analysis and design,and object-oriented database management systems.Even within the context of our focus, object-orienteddatabase management systems, there has been a lackof agreement until recently. The lack of standards hadlimited the widespread use of object database man-agement systems (ODBMS) since most customerswere looking for portability and an endorsement ofthe methodology. To overcome this limitation, �veobject database management vendors established theObject Database Management Group (ODMG) in1991 with the purpose of creating such standards.This group has published its standard, ODMG-93[8,9], and is pursuing its acceptance as an ANSI=ISO standard. Several vendors have released or aresoon to release commercial products in compli-ance with ODMG-93, and ODMG-95 is underdevelopment.Much research in the separate application of object-

oriented concepts and fuzzy set theory to GIS is occur-ring. For example, a recent conference in theoreticaland quantitative geography had a session devoted tospecial problems in which the majority of the papersdescribed uses of fuzzy set theory ranging from cou-pling fuzzy control shells with GIS for classi�cationand assessment of real-world phenomena to a fuzzyset universal translator for linguistic hedges for geo-graphical queries [41]. Numerous articles have beenwritten advocating the use of object-oriented databasesfor GIS [10,39,42,54,60]. Currently a primary motiva-tion for object technology in GIS is the commitmentof the OpenGIS Consortium, Inc., (OGC) Wayland,MA, to making the world of geodata interoperabilitya reality [12]. New geodata types are being developedand standardized as part of the Open Geodata Inter-operability Speci�cation (OGIS). Although each tech-nology is being pursued separately in GIS, little GISresearch has examined their coupling into a fuzzyGIS object data model [43,48] that could be used for

knowledge representation and reasoning in the devel-opment of intelligent interoperable GIS.The purpose of this paper is to promote the use of

the fuzzy object data model and to encourage its eval-uation in GIS. Another objective is to increase aware-ness of the research e�orts to develop practical anduseful prototypes in order to demonstrate the feasibil-ity of the fuzzy object data model. Section 2 examinesthe use of fuzzy set theory and object models withinGIS. Section 3 presents a description of the fuzzyobject data model and the issues being investigated tofurther develop a fuzzy object data model standard.Examples are adapted from several GIS problemswith references provided. Section 4 overviews the twoprototypes and future plans to integrate the two exist-ing implementations. Finally, conclusions and futuredirections for continued research and development ofthe fuzzy object data model are outlined. Researchersin geographical information systems where this workcould be of bene�t are encouraged to experiment withthe prototypes and to provide suggestions and feed-back for further development of the fuzzy object datamodel based on GIS problem domain requirements.

2. Objects and uncertainty in GIS

Although geographic information is commonlythought of as coming from maps, it encompasses inreality a much wider scope of information, i.e., anytype of information tied to a position on the earth. AGIS requires a framework for organizing and under-standing the “where” and the “what” of geographicalinformation. Object modeling provides the ability toencapsulate a geographical object as a unit of spatialand attribute information along with methods thatspecify meaningful operations on that object [31].Information that previously might not have been con-sidered purely geographic, for example, a videoclipof a mudslide, can be associated with a geographicobject. Many of the data modeling requirements ofGIS are thought to be satis�ed by an object-orienteddata model [42,60].The application of object technology in GIS pri-

marily began as extensions to feature-based model-ing approaches. Feature-based models are the resultof the merging of other capabilities such as sym-bology and encoding feature descriptions with the

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 21

engineering models for geodata representation. Theother capabilities of object modeling such as mod-ularity and reusability and its broader applicabilityto geodata modeling have begun to be realized. Themajor advantages that object-oriented technology cancontribute to GIS are complex modeling capabilitiesfor GIS domain knowledge and distributed computingfor interoperability between multiple GIS.The emphasis on object-orientation provides the

capability for extensibility, distribution, and porta-bility. The Object Management Group (OMG) wasformed to develop an architecture and speci�cation sothat software designers and developers can produceinteroperable applications based on distributed, inter-operating objects. OMG produced the �rst commonobject request broker architecture (CORBA) version1.0 in 1991, but the �rst widely published version ofthe CORBA speci�cation was version 1.1 in early1992. The current version 2.3 was released in early1998 [28]. The GIS community is beginning to buildon standardization e�orts by forming the OpenGISConsortium (OGC) with the purpose of developinga consensus and voluntary standard [12]. OGC hasestablished liaison relationship with the AmericanNational Standards Institute (ANSI) and with the In-ternational Standards Organization (ISO) so that theOGIS standard is acceptable to ANSI’s X3L1 com-mittee and to ISO’s Technical Committee 211, bothof which are promoting the development and deliveryof GIS standards.Although object data models are used to model

knowledge of the real world, this knowledge is of-ten uncertain. The term uncertain in the English lan-guage has numerous de�nitions including not clearlyor precisely determined, inde�nite, unknown, vague,ambiguous, and dependent on chance. Uncertainty,therefore, may be used as a general term that encom-passes many di�erent kinds of uncertainty [44] suchas imprecision, incompleteness, vagueness, ambigu-ity, and randomness. As early as the mid-70s con-cerns began to surface about the level of uncertaintythat was being introduced into geographical informa-tion, for example, through locational approximationand the propagation of uncertainty in this informationwith map overlay techniques [38]. Others [4] pointedout that even at the basic map form level, informationwas partially arranged, incompletely structured andnot exactly accurate. An example of uncertainty at a

slightly higher level could also be found in the land-related attribute information for associated maps. Theaccuracy of attribute information is still a concern ofcurrent GIS research [25].Research [47,50] began to investigate the use of

fuzzy set theory as an approach for representing andprocessing uncertain geographical information. Oth-ers were also interested in using methods for approx-imating or inexactly representing concepts for spatialanalysis [36,37]. This research made clear a distinc-tion between uncertainty as a result of inexact mea-surement or summarization occurring in the attributeinformation and uncertainty as vagueness or ambiguityoccurring in the de�nition of geographical concepts[47]. GIS researchers became more concerned with as-sessing and communicating the amount of uncertaintyin their spatial databases [26,32]. There are many morecurrent examples of the need for uncertainty represen-tation, management, and processing within GIS. In thefollowing, a brief summary of di�erent areas and ex-amples of the bene�ts and uses of fuzzy set theory inGIS is provided.Fuzzy set theory provides a set of tools for handling

a variety of semantics for uncertainty and for other se-mantics such as similarity and preference [20]. One ofthe early GIS interests in fuzzy set theory [51] whichis still important is the development of natural lan-guage interfaces for querying [5,59]. More and more,users of GIS are becoming normal people needing toacquire spatial information and to learn about geogra-phy, for example, in applications such as car naviga-tion systems and electronic atlases. Fuzzy set theorycan be used to represent the spatial relationships de-�ned by natural languages. Spatial relationships areboth fuzzy and context dependent. As an example, themeaning of the term near is imprecise but also is de-pendent on the size of the object, which serves as thepoint of reference [34]. Researchers are currently pur-suing the de�nition of fuzzy spatial relationships andthe algorithms for processing them [11].Fuzzy rule-based classi�cation and identi�cation in

GIS have seen widespread use for many di�erent prob-lem areas [40,45,52,53,57]. One of the reasons forthe initial investigation of fuzzy classi�cation is theclassi�cation error that human analysts encounteredwhen they manipulated GIS linguistic concepts suchas forest or residential [47]. For example, human in-terpreters subjectively examined aerial photography to

22 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

perform landcover classi�cation. Current GIS researchusing fuzzy classi�cation continues this theme [53].The task is to determine a map of thermal zones basedon digital aerial radiation-temperature images of an ur-ban area. Combining fuzzy logic software that handlesfuzzy rule-based processing with a traditional raster-based GIS extends the functionality of a GIS. Proce-dural knowledge provided by experts is constructedinto a rule base that de�nes nine di�erent types of ther-mal zones. An object pixel can then be classi�ed asbelonging to more than one thermal zone. This fuzzyclassi�cation allows amore realistic description of nat-ural phenomena such as that involving climatology.Another example of fuzzy classi�cation is the devel-opment of a method for identifying and classifyinglandform objects such as watersheds and ridges [40].Higher order geographic objects are de�ned in termsof the processes of formation and the morphology oflandform features as determined by using geomorpho-metric descriptions of landforms and computationalanalysis of digital terrain information.Geographical information systems are being used

in many new ways, one of which is the managementof environmental data. Problems of land degradation,environmental quality, and resource assessment [57]are challenging and require geographic analysis tools.A part of this problem is the speci�cation of theconstraints and goals to be used in the decision mak-ing process. Incorporating a natural language interfacepermits the decision-maker to more easily developthe criteria and softens the constraints and goals inorder to �nd suitable sites. An example of complexdecision-making is the selection of a site for a wastedisposal incinerator. The ideal site would be one thatis away from settlements yet close to major highways,away from water bodies, not on a steep slope and noton expensive land. Within this description of an idealsite are vague terms such as away from, close, steep,and expensive. Part of the fuzzy analysis tools wouldpermit the fuzzy matching of the ideal site to theavailable sites based on this set of fuzzy criteria andprovide an overall ranking of the sites.A similar example is a land evaluation system [56]

that provides a recommendation for use of heteroge-neous land areas. This land evaluation system wasdeveloped by integrating fuzzy analysis software witha commercially available GIS in order to model theintrinsic fuzziness in both the ecological systems and

the heterogeneity of the landscape. Within this onesystem, fuzzy set theory is used for three di�erentpurposes: representing the uncertainty in the data,modeling the vagueness of ecological functionality,and de�ning the rules for the spatial relations betweenthe elements of the landscape.This brief review illustrates that both fuzzy set the-

ory and the object data model have been successfullyused in the modeling, storage and processing of geo-graphical information. The two technologies should bethoughtfully integrated and developed to create a pow-erful knowledge representation with reasoning meth-ods that harmonize with the inherent properties of GIS.The challenge is to overcome the reluctance of com-mercial object-oriented database system to incorporateuncertainty management by providing standardizationand guidelines, along with performance and compati-bility, and an application problem domain such as GISthat can successfully demonstrate the sum and sub-stance of the fuzzy object data model.

3. Overview of the fuzzy object data model

The Object Data Management Group (ODMG)was established in 1991 as a working group withinthe OMG organization. Its purpose was to createstandards for object-oriented database managementsystems (OODBMS). The small group consisted ofrepresentatives from �ve vendors who shared over80% of the total market place. These vendors are com-mitted to supporting the standard and are pursuing itsadoption as an ANSI=ISO standard [55]. ODMG-93[9] is the second version of this standard and is com-posed of two parts: the framework and the binding.The framework consists of the object model, the ob-ject de�nition language (ODL), and the object querylanguage (OQL). The object model provides a com-mon data model to be supported by OODBMSs suchthat a subset of it would permit the same database to beshared across di�erent object-oriented programminglanguages. The binding de�nes the database program-ming language architecture in terms of extensions tothe semantics and syntax of speci�c programminglanguages. Bindings have been de�ned for C++ andSmalltalk. Java bindings are being developed.Researchers in the fuzzy set community have

recognized that arti�cial intelligence applications

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 23

using object-oriented data model often require amethod to handle imprecision and uncertainty. Pro-posals for introducing fuzzy set theory into object-oriented databases or models have proliferated[1,2,14,21,24,27,30,46,61]. The variety of proposalswith di�ering models and focus is typical of inde-pendent researchers. In some respects, however, thisvariety has contributed to the confusion in terminol-ogy and semantics and detracts from the viability,understanding, and acceptance of fuzzy set theory inobject-oriented database management systems. Thestate of a fuzzy object model is at the point wherethe object data model was several years ago exceptthat no commercial fuzzy object-oriented databasesystems currently exist, only proposals or initial pro-totypes [19].The Fuzzy Object Data Management Group

(FODMG) [15] was formed as a joint collaborativeresearch e�ort in order to establish common ter-minology and concepts, to formalize and integratethe current body of fuzzy object model research, toprovide a basis for future research and extensions, andto contribute to the commercial success of a fuzzyobject data model. A unifying framework for fuzzyset theory within a standard object model must becarefully constructed and reviewed in order to ensurethe viability, understanding, and acceptance of fuzzyset theory in object-oriented data management sys-tems. The standard for the Object Data ManagementGroup (ODMG) object data model [8] has been de-veloped with great e�ort and has gained widespreadacceptance. Because this model is rapidly becomingthe de facto standard, it was proposed as the basisfor the fuzzy object model framework [14]. In thefollowing overview, the basic concepts of the objectdata model and those underlying the proposed fuzzyset extensions to the object data model of the ODMGframework are described through examples relatedto GIS. The natural extensions outlined here are de-scribed consistently using the ODMG object datamodel. The speci�c syntactic modi�cations to theODL in order to incorporate these extensions, how-ever, are for illustration only since the exact syntaxhas not been completely speci�ed.The basis of the object-oriented paradigm is that

crisp sets of objects can be used to model real-worldproblems. Like objects are categorized into an ob-ject type, which is generally called a class in object-

oriented programming languages. The term type wasselected for the object data model since the term classhas been used to de�ne both object intent (structureand behavior) and object extent (set of like objects).Objects have two primary features: object identity andobject grouping. A real-world entity has a unique iden-ti�er associated with it. This identi�er can be valuebased where the identi�er is determined by the valuesof a set of its properties, or it can be independent ofany of these values by using a system-generated iden-ti�er. With the value-based approach as in relationalmodels, the identity of an entity changes when theprimary key value is modi�ed, even though the samereal-world object is being represented. With object-oriented models, no matter what changes are made tothe values of an object’s properties, it still maintainsits unique system-generated object identi�er. Objectgrouping refers to the collection of properties that arerelevant to one real-world entity. These properties canbe either attributes that describe the object itself or bi-nary relationships between the object and one or moreother objects. These attributes and relationships arespeci�ed in the de�nition of the type for the object.The following GIS example is embellished from

those in [48,49] in order to provide a more detailed ex-ample using the ODMGODL which is an extension ofthe OMG Interface De�nition Language (IDL). ODLpermits creating a new object type and de�ning its at-tributes, relationships, and operations independent ofthe programming language and the particular ODMG-compliant DBMS. The ODL considers only theobject type de�nitions and is not concerned with theactual implementation of the operations. Here is anexample of the interface for a new object type namedtopographic object. This new object type has �veattributes de�ned for it, one relationship, and twooperations.

interface topographic object {extent topographic objects;// Name of extent

attribute string map geography name;// like Mt. Rushmore

attribute location relative position;attribute meters elevation;attribute degrees aspect;attribute degrees gradient;relationship Set<region unit> is part of

24 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

inverse region unit::has topology;add to region (in region unit);remove from region(in region unit);

}

An attribute is speci�ed by the keyword attributefollowed by the type of the attribute and then the nameof the attribute. The attribute map geography namehas a standard ODMS data type of string. Objects,however, may have attribute values of arbitrary com-plexity. For example, the attribute relative positiontakes values that are of location type, which rep-resents a user-de�ned type with its own attributes,relationships, and operations. A relationship maybe de�ned between two types of objects. In theabove example, the relationship is part of relates atopographic object to one or more region unit(s). TheSet keyword in the relationship de�nition indicatesthat one topographic object can be part of one or moreregion unit(s). The inverse relationship has topologyidenti�es the relationship in the related objecttype region unit that maps back to the object typetopographic object. The :: operator serves to linkthe inverse object type region unit with the inverserelationship has topology. Operations or methods arefunctions that can be applied to objects of a particulartype and de�ne the behavior of the objects. Oper-ations are speci�ed by name and then followed bytheir argument list with input and output explicitlystated. For example, the method, add to region takesas input an object of type region unit. Its purpose isto maintain the association between the topographicobjects and the region units.The topographic object type represents a gener-

alization of many di�erent kinds of terrain objects.The attributes, relationships, and operations de�nedfor it are common to all terrain objects. Real-worldterrain objects, however, include such things as hill-sides, catchments, or streams. Subtypes can be con-structed from an existing type by adding or modifyingthe existing type de�nition. This construction repre-sents a specialization of the more general supertype.Here is a subtype de�nition for a catchment that in-herits the existing attributes, relationships, and opera-tions of the topographic object type and adds on onemore attribute area of type hectares and two morerelationships has part stream and is part of. The in-heritance of the subtype catchment from its supertype

topographic object is indicated by the post�xing ofthe supertype name to the subtype name with the :operator.

interface catchment:topographic object {extent catchments; // Name of extentattribute hectares area;relationship Set<stream> has part streaminverse stream::is part of;

relationship watershed is part ofinverse watershed::has part catchment;

}

In the previous two interface de�nitions, the keywordextent is speci�ed and followed by the name of the ex-tent, for example, topographic objects. The extent ofan object type is de�ned as a set collection for all theobjects of the object type. Collection types are prede-�ned data organization techniques such as sets, bags,lists, and arrays. Objects may be grouped into namedinstances of one of these collection types. For theextent to be system-maintained, the extent declarationmust be made in the object type de�nition.

3.1. Fuzzy sets of objects and fuzzy objects

Extending crisp sets of objects to fuzzy sets of ob-jects is the �rst natural extension. The term objectrefers both to literals such as integers and charac-ter strings and to user-de�ned representatives of real-world or abstract entities such as a topographic object.Literals di�er from user-de�ned objects in that they donot possess object identi�ers. A fuzzy set of objectsimplies that each object has a membership degree ina set. Since the ODMG object model has prede�nedcollection types which include sets, bags, lists, andarrays, the most natural extension is to augment thestandard model with a fuzzy set collection type. Ob-jects in a collection are accessed through the use ofan iterator which produces elements of the collectiononly as requested. For a fuzzy set collection type, theextension would require the iterator to produce notonly the element but also its membership degree. Thisextension must also include operators to manipulatefuzzy sets of objects.The extent set of an object type is simply a set col-

lection containing all the objects of that object type.

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 25

The maintenance of the extent is optionally performedby the system if an extent declaration is made inthe object type de�nition as illustrated by the extenttopographic objects speci�ed in the previous exam-ple. The extent set also includes all the objects of allsubtypes for this type. For example, the object typetopographic object has the subtype catchment. Sincean object that represents a catchment is also a topo-graphic object, the extent topographic objects wouldinclude any instances of the catchment subtype. Thefuzzy object data model should support a fuzzy set ex-tent as the natural extension to the object data modelset extent.The ODMG object data model in the future is to

support named sub-extents of a type by permittingde�nitions of a predicate to determine instance mem-bership in a particular sub-extent. The type declarationmust contain the predicate in order for the ODBMSto automatically maintain the sub-extent as well asor instead of the full extent. For example, a namedsub-extent for topographic object might be southerntopographic objects with a predicate de�ned overthe attribute relative position. This capability mustbe extended to permit creating named sub-extentsthat may be fuzzy set collections. The de�nitionof this predicate would most likely translate into amethod or operation that takes as input the relativeposition of the object and calculates a member-ship degree with respect to the fuzzy de�nition ofsouthern.In order to make use of fuzzy sets of objects, a nec-

essary extension would be to permit the domain ofan attribute type in an object type de�nition to spec-ify a fuzzy set collection of literals, user-de�ned ob-ject types, or even other collection types. Integrationof fuzzy sets into the current ODMG-93 standard re-quires at least that the fuzzy set becomes a standardcollection type within the ODMG built-in type hier-archy. In the standard ODMG object data model, theuse of a set collection type in specifying the attributetype of an object implies that the attribute is multi-valued. A natural semantic interpretation for specify-ing a fuzzy set collection type for a property, i.e., anattribute or relationship, of an object is that the prop-erty is still multivalued but that a membership degreeis necessary for each value. This membership degree ina sense represents each value’s strength or belongingin this set. That strength could have various interpre-

tations within the context of a multivalued property,for example, the level of uncertainty or a level ofpreference.Specifying a fuzzy set collection type for the do-

main of an attribute or relationship should have aconsistent interpretation with that of the set collec-tion type; therefore, the attribute or relationship is stillinterpreted as multivalued when its type is a fuzzyset collection speci�ed by Fuzzy set. The meaningof the membership strength, however, is application-dependent. In this current proposal, no implied inter-pretation to the membership degree is to be assumedby the fuzzy object model. Standard operations for thefuzzy set collection type should be provided by thefuzzy set object model, but the meaning of member-ship degree, for example, uncertainty or preference,must be interpreted outside the fuzzy object model.For example, the relationship is part of could be spec-i�ed as a fuzzy set value where the membership de-gree determines to what degree the topographic objectlies within the indeterminate boundaries of the region.The de�nition becomes Fuzzy set¡region unit¿ ispart of.The use of a fuzzy set collection type for multi-

valued properties of objects still presents some con-fusion since a fuzzy set has typically been used torepresent uncertainty in a single value whether due tovagueness, imprecision or truth uncertainty. For ex-ample, the attribute elevation for a topographic objectmight not be exactly known, but an inexact value suchas high is known. In the fuzzy extensions to the ODMGobject model, an uncertain value for single-valuedproperty is to be allowed. A fuzzy set collection type,however, cannot be used to specify both uncertaintyin the value of a single-valued property of an objectand uncertainty in the value of a multivalued propertyof an object. A clear distinction must be made syn-tactically and semantically between the two. For thefuzzy extension to the ODMG object data model, it isproposed that another collection type, Fuzzy value, beadded to specify that the value of a single-valued prop-erty of an object contains uncertainty. For example, ifuncertainty may be present in values for the attributeelevation, then the attribute type could be speci�ed tohold a fuzzy value such as Fuzzy value¡meters¿.By having the two di�erent collection types, the twodi�erent semantics, conjunctive AND for multival-ued properties and disjunctive OR for single valued

26 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

properties [24], can be distinguished in both theirde�nition and processing.The capability of de�ning the type for a property

as a fuzzy linguistic variable is also proposed for thefuzzy extension of the ODMG object data model. Thisextension is only possible if revisions to the ODMGobject model permit properties of objects to becomeobjects themselves. In this situation, an object repre-senting a fuzzy linguistic variable could be created.This object would have its own properties such as itsuniverse of discourse and its standard linguistic termset. Permitting the type of an object property to be afuzzy linguistic variable would then specify that theonly values for this property would be from the termset or standard modi�cations of linguistic terms fromthe term set.

3.2. Uncertain objects

In the previous discussion, the assumption is thatthe type of an object is known at creation time but onlythe values for some of its attributes are fuzzy. Anothersituation can occur if some information about an ob-ject is known but not enough complete informationis known to assign it to a more speci�c subtype. Forexample, information is gathered about a topographicobject, but it is not yet known if it is a watershed ora catchment. An approach suggested in [46] permitscreation of an unsettled object, an object that is ofa more generalized type whose attributes values areall not completely known, yet it is interpreted as be-longing partially to a more speci�c type. As more in-formation is collected, the object’s subtype is re�nedeventually to a 1.0 certainty in one of the subtypes.To provide this capability, the extent for a crisp objecttype must permit an uncertainty degree that indicatesthe degree of truth that this object is a member of theextent. This uncertainty degree for an object in a crispextent is di�erent from the membership degree of anobject in a fuzzy set extent.

3.3. Fuzzy object types

When uncertainty is permitted to exist in the at-tribute values for an object instance, the object be-comes a fuzzy object. A fuzzy object, however, doesnot imply any uncertainty in the de�nition of the ob-ject type. An uncertain object may exist if an object

is created for a supertype but the object does not fullybelong to a more speci�c object subtype. The mainquestion addressed in this section is how and why topermit uncertainty in the de�nition of an object typeitself. This situation is much more complicated thana fuzzy object or an uncertain object. Natural exten-sions are not as obvious since there are many factorsto consider in de�ning a fuzzy object type. The termfuzzy object type refers to an object type that containsfuzzy information in the descriptions of the propertiesof attributes and=or relationships of the object type.Fuzzy information exists in the speci�cation of theobject type itself.The capability of a fuzzy object type is similar

to permitting a named fuzzy set sub-extent exceptthat a complete type is being de�ned based on thesatisfaction of a predicate, not just a sub-extentfor a type. For example, a new subtype southerntopographic object might be required because addi-tional attributes and operations are necessary for thissubtype that are not required by the topographicobject supertype. The classi�cation of an object asa southern topographic object could be done auto-matically based on the satisfaction of the predicateusing the relative location attribute of topographicobject supertype. Another possibility is that an appli-cation explicitly creates an instance of a southerntopographic object. From this example, the two ma-jor concerns are what determines the de�nition ofa fuzzy object type and how is this de�nition to beused in type speci�cation, i.e., implicitly or explicitly.The position taken in this paper is that both uses areneeded but that careful syntax and semantics must beworked out so that the users know which one is be-ing made and what that entails. One approach is thatfor implicit type speci�cation, the application mustcreate an object as an instance of a speci�c super-type and then select automatic speci�cation over thesupertype’s subtypes. The values provided for theattributes are to be used in implicitly determiningthe object’s membership degree in the various fuzzysubtypes. For explicit type speci�cation, the fuzzyattribute values provided for the fuzzy object type areused in the creation of the object.Although the current version of the ODMG object

model does not permit specifying properties of at-tributes, i.e., metadata, future revisions may providethis capability. Most object-oriented models describe

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 27

two properties for an attribute, the range and the de-fault value, which may be speci�ed in the type de�ni-tion. These two properties of attributes are importantto the instantiation of an object. The range for an at-tribute is the allowed values that an object of that typemay take for that attribute. Since the current ODMGobject data model requires that the type of an object beexplicitly assigned at the time the object is created, theusage of the range of an attribute is solely for integrityconstraint checking on the object’s value for this at-tribute. If the range were permitted to have a fuzzy setvalue, then fuzzy integrity constraint checking wouldresult in a degree of attribute constraint satisfaction.If objects are permitted to dynamically acquire andchange types in future revisions through implicit clas-si�cation, then the range of one or more attributes ofa type might also be used in a predicate applied atrun-time. If the range value of one or more attributesfor an object type is a fuzzy set and those attributesare used in a predicate, then a fuzzy object type ex-ists. Once the type of an object is known, whether ex-plicitly or implicitly, then the inheritance mechanismuses the default property of an attribute to specify thevalue for any attribute of the instantiated object thatdoes not have a value. The natural extension is topermit the default value for an attribute to be a fuzzyset.

3.4. Fuzzy type hierarchy

When de�ning a subtype from a supertype, uncer-tainty in properties of attributes and relationships mayalso exist. There are several possible reasons for afuzzy type hierarchy: to allow incomplete and=or un-certain information in the de�nition of the type, topermit exibility in determining if a subtype is of thesupertype, and to permit more exibility in the in-heritance strategy. The previous section addressed theneed for a fuzzy type with respect to creating objectinstances from a fuzzy type. In this section, the mean-ing and uses of a fuzzy supertype=subtype hierarchyare examined.The supertype=subtype hierarchy is typically used

for generalization. Generalization may be consideredas one of the following: specialization, speci�cation,and classi�cation [7]. In specialization, the supertypeis the more general type, and the subtype is the morespecialized. The subtype inherits the properties and

operations of the supertype and may choose to over-ride certain properties of the supertype and=or extendits properties when additional properties are requiredby the subtype. Overriding the de�nition of a super-type is done by de�ning for the subtype propertiesand=or operations with same name. Since the currentODMG object model does not permit properties of at-tributes, properties such as range and default value arenot re�nable in the subtype of the supertype. The onlypossible re�nement for a subtype from a supertype iswith respect to behavior by overriding operations orextending the supertype with new attributes or rela-tionships. However, with future revisions, the subtypede�nition may be permitted to override the de�nitionof a property of an attribute of a supertype. For exam-ple, subtypes automatically inherit the value for thedefault property of an attribute from their supertypeif no default value is provided for that attribute in thesubtype.The following example illustrates the use of a

supertype=subtype hierarchy for GIS. This examplehas been extended from that in [49] and may notbe completely accurate with respect to topographicprinciples. It is simply meant to illustrate the con-cepts of a fuzzy supertype=subtype hierarchy in thefollowing discussion. Here the supertype waterBodyrepresents a generalization of several di�erent typesof water bodies. But the supertype waterBody is it-self a subtype of the previously de�ned supertypetopographic object.

interface waterBody:topographic object {extent water bodies; // Name of extent

attribute Fuzzy value<hectares>

surface area;

attribute meters maximum depth;

attribute meters minimum depth;

relationship Set<stream> drains into

inverse stream::drains from;

relationship Set<stream> drains from

inverse stream::drains into;

}interface wetland:waterBody {extent wetlands; // Name of extent

}

28 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

interface lake:waterBody {extent lakes; // Name of extent

}

In classi�cation, subtypes are simply used as setsto categorize objects and correspond to ODMG’s useof sub-extents. In the above example, the wetland andlake subtypes are de�ned as crisp subtypes of thesupertype waterBody. However, the supertype=sub-type relationship between the wetland subtype and thewaterBody supertype might be de�ned as fuzzy. Forexample, a GIS specialist could indicate to what de-gree a wetland is considered a waterBody by explic-itly specifying a degree of membership.

interface wetland:waterBody with 0.6

membership {extent wetlands; // Name of extent

}

The introduction of this degree of membershipcould a�ect the inheritance of default attribute values,constraint attribute values, and methods from the su-pertype to the subtype. The introduction of uncertaintyin the de�nition of a subtype from a supertype hashad a wide variety of proposals [24,27,29,35,46]. Thetwo main approaches depend on whether the fuzzysupertype=subtype relationship is explicitly speci�edby a membership degree as seen above or whether animplicit de�nition is used. Proposals for the implicitde�nition of a fuzzy supertype=subtype relationshiphave been based on the use of either predicates orconstraints on the values for a set of attributes of thesubtype taken from the supertype. The semantics offuzzy object type hierarchies for purposes of general-ization and classi�cation with associated overridingand inheritance features require more investigationand integration of various proposals. More work needsto be undertaken in order to establish a complete,consistent, and meaningful de�nition for these fuzzyextensions to a revised ODMG object data model.A �nal note for this example is provided to di�er-

entiate fuzzy classi�cation of object instances. Foreach subtype of waterBody, a fuzzy predicate overthe attributes ofmaximum depth andminimum depthcould be de�ned in order to determine to what degreean actual object instance is considered a particular

subtype of waterBody. This membership degree isdi�erent from the membership degree of the subtypewetland with respect to its supertype waterBody.However, membership of an object instance in thesupertype waterBody should be a�ected both by thesupertype=subtype membership degree between wet-land and waterBody and by the object’s membershipin wetland. The various approaches for de�ning afuzzy supertype=subtype are being studied for com-pleteness and consistency in computing the member-ship degree of an object instance involved in a fuzzysupertype=subtype hierarchy.

4. Prototyping the fuzzy object data model

In order to gain practical experience with the fuzzyobject data model, the integration of fuzzy set theoryinto existing object-oriented software such as an ex-pert system shell and a commercially available object-oriented database system has been undertaken. Theseprototype implementations are proceeding in phaseswith the initial phase focused on the natural fuzzy setextensions to the ODMG object data model at the ob-ject level. This phase includes permitting the creationof fuzzy objects and fuzzy sets of objects. The useof fuzzy set theory for handling uncertainty througha fuzzy type and a fuzzy supertype=subtype hierarchyis much more di�cult. The requirements and needs ofapplications with respect to this part of the fuzzy ob-ject data model are also not as clear. These aspects ofthe model are to be addressed in the next phase. Thepurpose of the work described in this section is to pro-mote the use of the fuzzy object data model throughits integration into both commercially available arti�-cial intelligence software and object-oriented databasesystems. The overview provided in the following twosections can be found also in [16,22], but most ofthe examples here have been modi�ed to relate togeographical information systems.

4.1. FuzzyCOOL

The �rst project undertaken began with Fuzzy-CLIPS and COOL as the foundation for investigatingthe fuzzy object data model. CLIPS (C LanguageIntegrated Production Systems) is an expert systemtool developed by the Arti�cial Intelligence Section

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 29

of NASA’s Johnson Space Center now known asthe Software Technology Branch (STB). Initiallythe primary knowledge representation and process-ing methodology in CLIPS was a forward chainingrule language based on the Rete algorithm. The Na-tional Research Council of Canada (NRC) developedFuzzyCLIPS [23] by enhancing the CLIPS rule-basedshell with fuzzy set theory as the uncertainty han-dling method. In 1991, Version 5.0 of Clips wasreleased with an object-oriented knowledge repre-sentation methodology, the CLIPS Object-OrientedLanguage (COOL). In the CLIPS 6.0 version, theobject-oriented paradigm was integrated with the rule-based paradigm to permit rules to not only match onfacts but also objects. The fuzzy set extensions addedto the rule-based paradigm, however, were not addedinto COOL. It was not at all possible to store fuzzyvalues for the attributes of objects or to perform fuzzyinferencing with objects referenced on the left-handside of rules. The completion of the �rst phase ofFuzzyCOOL [16] resulted in both these capabilitiesbeing added.FuzzyCOOL provides the features considered

essential to the object-oriented paradigm: classes,message-handlers, abstraction, encapsulation, inheri-tance, and polymorphism but adds the capability ofmanaging uncertainty at the object level. COOL, thefoundation of FuzzyCOOL, was created as a hybridof new ideas and features from many already exist-ing OOP systems. For example, object encapsulationconcepts are similar to those in Smalltalk and multi-ple inheritance rules are based on the Common LispObject System. COOL has two kinds of user-de�nedclasses: abstract and concrete, which are speci�ed byrole in the object de�nition. The term class maps tothe term type in the ODMG object data model. Ab-stract classes are intended for inheritance only sinceno direct instances of an abstract class can be cre-ated. When a class is de�ned, a list of superclassesfrom which it is to inherit must be speci�ed. At thetime a concrete class is de�ned, one must indicatewhether instances of the class can be matched toobject patterns on the left-hand side of rules.When de�ning a class, the slots (slots are the same

as attributes in ODMG terminology) describing theclass must be speci�ed. Although the current versionof ODMG standard does not support properties of at-tributes, COOL slots themselves have facets (facets

are the same as properties of attributes in ODMG ter-minology). Future revisions of the ODMG model areto support this capability. Some examples of facets ofslots include default value, inheritance propagation,and constraint values for attributes. The default facetcan be used to specify an initial value for a slot whenan instance of the class is created. Inheritance propa-gation is used to indicate whether this attribute can beinherited to subclasses of this class. Constraint valuesare used to error check the value of an attribute whenan instance is created. ODMG terminology for a con-straint facet is the range of the attribute. Many otherkinds of facets for slots may be speci�ed.In FuzzyCOOL, a slot for an object class may now

hold a fuzzy value. Although the data type for a slotmay be speci�ed at de�nition time, it does not needto be since FuzzyCOOL has dynamic type checking.When an instance is created for the class, a fuzzy valuemay be provided. A fuzzy linguistic variable, how-ever, must have been previously de�ned so that theappropriate underlying universe of discourse is knownand if a linguistic term is used, it can be mapped tothe correct de�nition. The existing FuzzyCLIPS func-tion create-fuzzy-value is used to store a fuzzy valuefor a slot in an object when the object is created ormodi�ed. For example, the fuzzy linguistic variableelevation may be de�ned and used as follows:

(deftemplate elevation0 20000 meters((low (Z 6000 10000))(medium (PI 5000 12000))(high (S 14000 18000))))

(defclass topographic object (is-a USER)(role abstract)(slot map geography name)//like Mt. Rushmore

(slot relative position)(slot elevation)(slot aspect)(slot gradient)(slot is part of)

)

(defclass catchment (is-a USERtopographic-object)(role concrete)(slot area)

30 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

(slot has part stream)(slot is part of)

)

(make-instance Red-River-catchment ofcatchment(map geography name‘‘Red River Valley’’)(relative position (30 50))(elevation (create-fuzzy-value elevation

very low)))

The fuzzy linguistic variable elevation has three lin-guistic terms low, medium, and high de�ned. Each ofwhich is de�ned with a standard fuzzy membershipfunction supplied by FuzzyCOOL. Standard aggrega-tion operators such as and and or may be combinedwith linguistic modi�ers such as very and somewhat.The make-instance statement sets the elevation slot ofobject to the fuzzy value low de�ned for the fuzzy lin-guistic variable elevation. Note that the slot name foran object does not need to match the name used forthe fuzzy linguistic variable although it does in thisexample.In COOL, objects can be used in the rule-processing

component, but the software did not permit fuzzy rea-soning with fuzzy values. FuzzyCOOL follows thepattern matching for an object as found in COOL butadds the ability to perform fuzzy reasoning. The fol-lowing provides a simple example base on the previ-ous de�nitions.

(defrule elevation-test?ins <- (object (is-a catchment)

(elevation low))⇒(modify-instance ?ins (gradient gentle))

)

The syntax used above is su�cient to permit fuzzypattern matching of objects. Functions that deal withthe internal details of creating, accessing and deletinginstances were modi�ed so that a degree of matchingis calculated between an object’s slot value and thevalue speci�ed on the left-hand side of the rule. Thisdegree of matching is also used to modify the fuzzyvalue on the right-hand side of the rule before it isstored as the slot value. In the above example, the de-gree of matching between the very low elevation of

the Red River catchment object and the low eleva-tion in the rule premise is determined. This degree ofmatching is used to modify the consequent’s value forgradient, i.e., gentle, before storing it as the value ofthe gradient slot in the Red River catchment object.The standard fuzzy reasoning method used in Zadeh’sinterpolation method, but other approaches based onfuzzy geometric reasoning are being investigated andimplemented [17,18].Although in the �rst phase the focus is on uncer-

tainty in object instantiation, permitting fuzzy valuesfor the value of a slot’s default facet in a class de�ni-tion followed naturally. This feature was implementedas part of the implementation of fuzzy values for ob-ject slots. For example,

(defclass catchment (is-a USER topographic-object)

(role concrete)(slot area)(slot elevation (default (create-fuzzy-value elevation low)))

(slot has part stream)(slot is part of)

)

In this example, whenever a catchment is createdand no value is speci�ed for its elevation slot, theobject will by default have a fuzzy value of low eleva-tion. This capability is the �rst step toward permittinguncertainty in the class de�nition. This additionalfeature, however, does not entail the creation of afuzzy type.Another capability being added to FuzzyCOOL per-

mits the creation of an uncertain object. As an exam-ple, the parent class meadowland may have the crispsubclasses of catchment and watershed, but at the timethe information is being collected it is uncertain for aparticular topographic object to which of these crispclasses it belongs. COOL did not permit an objectto have a degree of belief associated with a class. InCOOL, an object is created by the following languageconstruct:

(make-instance Objname of Classname)

The object created fully belongs to this class.Currently, the capability to permit an uncertain ob-ject instance is being implemented. An uncertain

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 31

object exists because of ambiguity as to which classthe object belongs, not because of vagueness in theclass itself. The uncertainty due to ambiguity is betterrepresented by a fuzzy measure; whereas, fuzzy setsare used to represent uncertainty due to vaguenessin the class. For a speci�c object o, a fuzzy measureprovides for each crisp subclass Ci of some parentclass an evaluation of the statement “o belongs toCi”. This evaluation is based on a subjective opinionof whether o belongs to Ci. It may be considered asrepresenting the degree of evidence of certainty thatthe speci�c element o belongs to the crisp class Ci.Nothing in the class description must be vague, onlythe object’s belonging to the class is uncertain.In order to provide the capability of indicating a

degree of belief that an object is in one or more classes,the following construct has been added to FuzzyCOOLto create an uncertain object:

(make-instance ObjectName of(fuzzymeasure (classname1 beliefDegree1)

(classname2 beliefDegree2).....(classname3 beliefDegree3)))

The above statement results in a fuzzy measure ob-ject being created which contains a list of pointers tothe appropriate classes and a list of corresponding de-grees of belief for each class. In addition to the fuzzymeasure object, an uncertain object must be created.The fuzzy measure object and the uncertain object arelinked together.Each class in COOL has an instance-set which

somewhat corresponds to the extent for a type inthe object data model. For FuzzyCOOL, the uncer-tain object is added to the instance set for each classspeci�ed in the fuzzy measure. When a rule speci-�es a class to which an uncertain object belongs, theobject is considered, but its degree of belief in thatclass a�ects the processing of the rule. The standardapproach used in FuzzyCLIPS is applied to uncertainobjects since the degree of belief in “o belongs to Ci”naturally corresponds to the certainty factor for a factexpressing that same information.The second phase in the development of Fuzzy-

COOL is to allow vagueness in class de�nitions. Fuzzyset extents, i.e., fuzzy instance-sets in COOL, are tobe de�nable by the user if uncertainty exists with re-spect to the predicate used to categorize the object in

a class. The fuzzy class is to be provided by meansof a fuzzy predicate to de�ne the extent or sub-extent.An initial implementation might leverage the instance-set de�nition capability of COOL in order to de�ne afuzzy class that represents only a fuzzy set of objects.This approach would just permit the de�nition of apredicate over a set of slots existing in the class andbe used for classi�cation only. No additional slots ormethods would be associated with a fuzzy class. Thenext more di�cult step is to use the fuzzy class forspeci�cation where additional slots and methods canbe de�ned for the fuzzy class.The �nal phase is to address the introduction of

uncertainty in the de�nition of a subclass from a su-perclass, i.e., the fuzzy supertype=subtype hierarchy.Providing this capability within the fuzzy object datamodel requires much more research and integrationof existing proposals. An investigation of real appli-cations’ needs should be performed in order to have aclear understanding of both the purpose and meaningof a fuzzy supertype=subtype hierarchy.

4.2. FuzzyVersant

More recent research in fuzzy databases has focusedon developing front-end fuzzy querying capabilities[3,33] on top of conventional database systems. Fuzzyobject database research has been primarily along the-oretical lines [18,19] and varies widely with respectto the underlying object data model and fuzzy exten-sions. The object data model has as one of its primaryobjectives the support of complex data types. Addingfuzzy sets as another complex data type outwardly ap-pears to be more amenable to object database systemsthan to relational database systems, yet until recentlyfew implementations have been attempted. These im-plementations, however, have been developed usingarti�cial intelligence programming environments suchas POPLOG [62], Prolog [1] and Kyoto CommonLisp [58] and are not integrated with a commercialobject-oriented database system pursuing compliancewith the ODMG object data model. By implementinga front-end software prototype for storing and process-ing fuzzy data through user-de�ned abstract data typesfor a commercial object-oriented database system,it is hoped that commercial object database vendorswill begin to take interest and pursue the implementa-tion of fuzzy sets as another standard collection type

32 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

in their object database systems. In this section theprototype implementation is described. The VisualC++ programming language was used to create asoftware front-end to interface with the commercialODBMS by Versant [13].The ultimate successful integration of fuzzy sets

into an object-oriented database system should be as abuilt-in fuzzy set type and a fuzzy value type. Fuzzy-Set〈T〉 should become a subtype of Collection〈T〉 anda supertype of Set〈T〉 since all crisp sets are fuzzysets. The 〈T〉 indicates the type of the elements in thefuzzy set. This research, however, is currently unableto advance this implementation goal since ODBMSsource code must be acquired and modi�ed. Agree-ment with the software vendors for direct modi�ca-tion and enhancements to their software is not easilyobtained. Instead, this prototype is written as a fuzzyfront-end for Versant’s object database software. Thisfront-end has the capability to both store and queryon fuzzy objects in the object database. The user cancreate fuzzy linguistic terms and use them for objectattribute values. The database may be queried usingfuzzy=crisp predicates over fuzzy=crisp attributes andthe capability to reason with fuzzy objects is providedthrough integration with FuzzyCLIPS expert system[23].An initial design approach was to create a user-

de�ned abstract data type for a fuzzy set with all ofits operators as methods. This design had to be mod-i�ed since a friendly user interface for querying andvisually displaying the fuzzy set values was desired.The basis of this interface is the Microsoft Founda-tion Classes (MFC), but the Versant ODBMS does notsupport an object being both derived from a databaseobject class and a MFC object class. This technicaldi�culty led to the design decision to represent fuzzysets by two fundamental classes, one for storage inthe database and one for visual display and manipu-lation. The �rst class named PFuzzySet, is a persis-tent class, and its objects are used to store fuzzy setsin the database. The second class named CFuzzySetis derived from an MFC and contains the fuzzy setoperators and helper visual functions. In addition tothe fundamental PFuzzySet and CFuzzySet classes, aconversion class is de�ned that acts in between themto convert an object of one class to an object of theother. These classes are used to create fuzzy set ob-jects that represent fuzzy linguistic terms such as low,

medium, high and so on. Fuzzy linguistic terms maythen be used for object attribute values that are notprecisely known.When creating a new instance of an object through

a user interface screen, the potential fuzzy attributesare linked to a fuzzy term de�nition screen. Fig. 1provides an example for entering data about an em-ployee. In this example, the employee age and salarymay hold fuzzy values since fuzzy attribute buttonsare provided.If a user knows the value of an attribute precisely

or does not want to input a fuzzy value, the user maydirectly provide the precise value in the appropriatevalue box. Although the salary attribute is potentiallyfuzzy, a precise value of 75 000 is provided in thesalary box. The age of the employee, however, is notknown precisely; therefore, a fuzzy value is speci-�ed to represent the age imprecisely, and the fuzzyattribute button is then selected. This selection leadsto the fuzzy term de�nition screen that is shown inFig. 2. All fuzzy terms are de�ned and selected fromthis screen. Users may either create a new fuzzy valueby specifying the membership function and para-meters, or may prefer to use previously de�ned fuzzyterms. Di�erent membership functions can be selectedin the fuzzy term de�nition screen. The parameterinformation for the membership function is shownvisually. In the example, the type of membershipfunction selected by the user is the trapezoidal func-tion. On the right of the screen, the user has de�nedits four parameters.The fuzzy linguistic term de�nition screen can also

be used to combine di�erent terms with logical op-erators such as “And” and “Or”, or negate the termusing the “Not” operator. Hedges such as “Very” and“Somewhat” may also be used to modify the fuzzyterms. Since extensibility is an important consider-ation in fuzzy set class design, additional hedgesmay be easily de�ned and included on the de�nitionscreen.Queries in our prototype are constructed using a

query dialog. Construction of compound queries usingand=or logical operators are also allowed. The pred-icate terms used in the queries may be user-de�nedfuzzy linguistic terms speci�ed on the fuzzy term def-inition screen or may be a precise value. Examplesof the types of queries that can be executed by theFuzzyVersant system are listed below:

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 33

Fig. 1. Fuzzy attribute value.

Fig. 2. Fuzzy term de�nition.

Query Type 1: Fuzzy Predicate-Fuzzy AttributeSelect * from catchment where elevation is very

HIGHQuery Type 2: Crisp Predicate-Fuzzy AttributeSelect * from catchment where elevation¿ 10 000

Query Type 3: Fuzzy Predicate-Crisp AttributeSelect * from catchment where gradient is STEEP

Query Type 4: Compound Queries

Select * from catchment where elevation is HIGHand gradient is STEEPQuery Type 5: Queries with Links to Other ObjectsSelect * from catchment where stream.length ¿

LONG

In order to execute the queries involving fuzziness, thequeries �rst must be converted into the terms that are

34 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

understandable to the database. Di�erent algorithmsare used for the various combinations of fuzzy=crisppredicate values and fuzzy=crisp attribute values. Formore detailed information about FuzzyVersant see[22], which provides a more complete example withmore screen displays and reports.Another feature provided is the ability to perform

fuzzy reasoning on the information contained in thefuzzy object database. This capability is providedby integrating the Versant front-end prototype withFuzzyCLIPS through the use of Dynamic Link Li-braries (DLL). DDLs provide an interface to Fuzzy-CLIPS C source functions that permit the translationof Versant fuzzy database objects into FuzzyCLIPSdeftemplate facts. Once these fuzzy objects are loadedas facts, the expert systems shell FuzzyCLIPS canuse them in its standard fuzzy inferencing process.Any changes made through the inferencing processto the slot values of these facts can be saved backto the Versant object database. This capability isaccomplished through a reverse process that trans-forms FuzzyCLIPS facts into Versant fuzzy databaseobjects.The next feature to be provided is the ability to

translate Versant database objects into FuzzyCOOLobjects. The same kind of translation process used forFuzzyCLIPS deftemplate facts can be used betweenVersant fuzzy database objects and FuzzyCOOL ob-jects. The main reasons this capability has not yetbeen implemented are limited time resources and thetedious task of creating the DDLs for all the neededFuzzyCOOL C source functions for developing thetranslation process. In addition to interfacing theprototype with FuzzyCOOL, future enhancementsto FuzzyVersant include the capability to performarithmetic operations on fuzzy linguistic terms, im-plementation of an e�cient ranking procedure forfuzzy numbers, representation of discrete fuzzy setsover nonnumeric domains, and improvement of thequery language.

5. Conclusions

In this paper, we have presented the fuzzy objectdata model as an integration of two technologies, fuzzyset theory and object data modeling. The bene�ts andexamples of the separate application of these two

technologies within GIS have been described alongwith e�orts to develop standards both for the objectdata model by ODMG and for the GIS use of the ob-ject data model by OpenGIS. The e�ort to establish astandard fuzzy object data model was examined at twodi�erent levels, that of uncertainty in the informationdescribing objects, i.e., fuzzy objects, and that ofvagueness or ambiguity in the de�nition of types,i.e., fuzzy types. In addition, the di�culties withspecifying the semantics of uncertainty within thesupertype=subtype hierarchy were discussed.The feasibility of integrating fuzzy set theory into

existing object-oriented software has been demon-strated through the prototypes FuzzyCOOL andFuzzyVersant. FuzzyCOOL was developed usingan expert system shell as its foundation, andFuzzyVersant was built as a front-end to a com-mercially available object-oriented database system.These implementations focused on the natural fuzzyset extensions to the ODMG object data model at thefuzzy object level. Future research is to continue de-veloping the more challenging features of the fuzzyobject data model and to further investigate require-ments of GIS in a fuzzy object data model. It is hopedthat this paper encourages GIS researchers who areinterested in these two technologies to consider theuse of the fuzzy object data model, to experimentwith the described prototype software, and to providefeedback to improve both the model and the software.

Acknowledgements

The authors would like to acknowledge the supportof this research through a National Science Founda-tion grant IRI-9612171. We would also like to thankTimothy C. Lee whose software for an object class forfuzzy sets aided the development of the FuzzyVersantprototype.

References

[1] J.F. Baldwin, T.P. Martin, Fuzzy classes in object-orientedlogic programming, in Proc. 5th IEEE Internat. Conf. onFuzzy Systems, New Orleans, LA, September 8–11 1996,pp. 1358–1365.

[2] G. Bordogna, D. Lucarella, G. Pasi, A fuzzy object orienteddata model, in Proc. 3rd IEEE Internat. Conf. on FuzzySystems, 1994, pp. 313–318.

V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36 35

[3] P. Bosc, O. Pivert, Some approaches for relational databases exible querying, Internat. J. Intell. Systems 1 (1992) 323–354.

[4] F. Bouille, Actual tools for cartography today, Cartographica19 (2) (1982) 27–32.

[5] A. Brimicombe, A fuzzy set universal translator for linguistichedges used in geographical enquiry, in 10th EuropeanColloquium on Theoretical and Quantitative Geography,University of Auckland, Rostock, Germany, September 1997.

[6] P.A. Burrough, Development of intelligent geographicalinformation systems, Internat. J. Geographical Inform.Systems 6 (1) (1992) 1–11.

[7] R.G.G. Cattell, Object Data Management: Object-Orientedand Extended Relational Database Systems, Addison-Wesley,Reading, MA, 1994.

[8] R.G.G. Cattell (Ed.), The Object Database Standard: ODMG-93, Morgan Kaufmann, San Mateo, CA, 1993.

[9] R.G.G. Cattell (Ed.), The Object Database Standard:ODMG-93 – Release 1.2, Morgan Kaufmann, San Mateo,CA, 1996.

[10] A. Chance, R. Newell, D. Theriault, An object-oriented gis –issues and solutions, technical paper 7, in Smallworld,Smallworld Systems Ltd, England, 1992.

[11] M. Cobb, F. Petry, Modeling spatial relationships within afuzzy framework, JASIS 49 (3) (1998) 253–266.

[12] OpenGIS Consortium, The OpenGIS Guide – A Guideto Interoperable Geoprocessing, OpenGIS Consortium,http:==opengis.org=guide=guide1.html, 1996.

[13] Versant Corporation, Versant Object Database ReferenceManual, Versant Object Technology, Fremont, CA, 1997.

[14] V. Cross, A unifying framework for the fuzzy objectmodel, in Proc. 5th IEEE Internat. Conf. on Fuzzy Systems,New Orleans, LA, 8–11 September 1996, pp. 85–92.

[15] V. Cross, R. de Caluwe, N. Vangyseghem, A perspectivefrom the fuzzy object data management group (fodmg), inProc. 6th IEEE Internat. Conf. on Fuzzy Systems, Barcelona,Spain, July 1–5 1997.

[16] V. Cross, A. Firat, Fuzzycool: fuzzy set theory in clipsobject-oriented language, in Proc. 1997 Conf. of the NorthAmerican Fuzzy Information Processing Society, Syracuse,NY, September 1997, pp. 73–78.

[17] V. Cross, A. Rajagopal, Applying geometric compatibilitymodi�cation in fuzzyclips, in Proc. NAFIPS ’96, Berkeley,CA, June 1996.

[18] V. Cross, T. Sudkamp, Geometric compatibility modi�cation,Fuzzy Sets and Systems 84 (3) (1996) 283–300.

[19] R. de Caluwe (Ed.), Fuzzy and Uncertain Object-OrientedModels – Concepts and Models, World Scienti�c, Singapore,1997.

[20] D. Dubois, H. Prade, Similarity-based approximate reasoning,in: R.R. Yager, L.A. Zadeh (Eds.), Computational IntelligenceImitating Life, Kluwer Academic Publishers, Dordrecht, 1994,pp. 69–80.

[21] D. Dubois, H. Prade, J.P. Rossazza, Vagueness, typicality, anduncertainty in class hierarchies, J. Intell. Systems 6 (1991)167–183.

[22] A. Firat, V. Cross, Fuzzy set processing for a commercialoodbms, in Proc. 1998 Conf. of the North American Fuzzy

Information Processing Society, Pensacola, FL, August 1998,pp. 146–150.

[23] FuzzyCLIPS, FuzzyCLIPS Version 6.02A User’s Guide,Knowledge Systems Laboratory, National Research Councilof Canada, 1994.

[24] R. George, R. Srikanth, F.E. Petry, B.P. Buckles, Uncertaintymanagement issues in the object oriented data model, FuzzySets and Systems 4 (2) (1996) 179–192.

[25] M. Goodchild, Attribute accuracy, in: S.C. Guptill, J.L.Morrison (Eds.), Elements of Spatial Data Quality, Elsevier,New York, 1995, pp. 59–80.

[26] M. Goodchild, Issues of quality and uncertainty, in:J.C. Muller (Ed.), Advances in Cartography, Elsevier,New York, 1991, pp. 113–139.

[27] I. Graham, Object-Oriented Methods, Addison-Wesley,Reading, MA, 1994.

[28] Object Management Group, Common Object Request Broker:Architecture and Speci�cation, OMG Speci�cation Revision2.3, February 1998.

[29] N. Van Gyseghem, R. De. Caluwe, Fuzzy inheritance in theUFO database model, in Proc. 5th IEEE Internat. Conf. onFuzzy Systems, New Orleans, LA, September 8–11 1996,pp. 1365–1370.

[30] N. Van Gyseghem, R. De Caluwe, Overview ofthe UFO database model, in Proc. 4th EuropeanCongress on Intelligent Techniques and Soft Computing,EUFIT’96, Aachen, Germany, September 2–5 1996,pp. 858–862.

[31] T. Helokunnas, Implementation of data management serviceof gis’s, in Proc. AM=FM-GIS Nordic Conf., Lillehammer,Norway, 1993.

[32] G.J. Hunter, M. Robey, M.F. Goodchild, A toolbox forassessing uncertainty in spatial databases, in Proc. 22ndAnnual Conf., Australasian Urban and Regional InformationSystems Association, Sydney, Australia, 1994, pp. 367–380.

[33] J. Kacprzyk, S. Zadrozny, Fuzzy queries in microsoftaccess, in: FUZZ-IEEE=IFES’95 editor, Workshop onFuzzy Database Systems and Information Retrieval, vol. 2,Yokohama, Japan, March 1995, pp. 61–66.

[34] B. Kuipers, Quotmodeling spatial knowledge, Cognitive Sci.2 (1978) 129–153.

[35] S. Lee, J. Lee, Y. Kuo, A framework for object-orientedfuzzy expert systems, in Proc. 1994 1st Joint Conf. ofNAFIPS=IFIS=NASA Joint Technology Workshop on NeuralNetworks and Fuzzy Logic, San Antonio, TX, 1994,pp. 214–222.

[36] Y. Leung, Approximate characterization of some fundamentalconcepts of spatial analysis, Geogr. Anal. 14(1) (1982) 29–40.

[37] G. Lundberg, Modeling constraints and anticipation: linguisticvariables, foresight-hindsight, and relative alternativeattractiveness, Geogr. Anal. 14(4) (1982) 347–355.

[38] E.B. MacDougall, The accuracy of map overlays, LandscapePlanning 2 (1975) 23–30.

[39] D.S. Mackay, L.E. Band, V.B. Robinson, An object-orientedsystem for the organization and representation of terrainknowledge for forested ecosystems, in Proc. GIS=LIS’91,1991, pp. 617–626.

36 V. Cross, A. Firat / Fuzzy Sets and Systems 113 (2000) 19–36

[40] D.S. Mackay, V.B. Robinson, L.E. Band, Classi�cation ofhigher order topographic objects on digital terrain data,Comput. Environ. Urban Systems 16 (1992) 473–496.

[41] O. Margraf, 10th European Colloquium on Theoretical andQuantitative Geography, University of Auckland, Rostock,Germany, September 1997.

[42] P. Milne, S. Milton, J. Smith, Geographical object-orienteddatabases – a case study, Internat. J. Geogr. Inform. Systems7(1) (1993) 39–56.

[43] A. Morris, F. Petry, Design of fuzzy querying in object-oriented spatial data and geographical information systems,in Proc. 1998 Conf. of the North American Fuzzy Process-ing Society, Pensacola Beach, Florida, August 1998, pp.211–215.

[44] A. Motro, Management of uncertainty in database systems,in Modern Database Systems, ACM Press, New York, 1995,pp. 457–476.

[45] B. Powell, A.B. Mc Bratney, D.A. MacLeod, Fuzzy classi-�cation of soil pro�les and horizons from the lockyervalley, Queensland, Australia, Geoderma 52 (1992)173–197.

[46] Q. Nguyen, T. Van Le, A fuzzy dynamic multiple inheritancemodel in object-oriented simulation, in European SimulationMulticonference 1996, Budapest, Hungary, 2–6 June 1996,pp. 624–628.

[47] V. Robinson, A. Frank, About di�erent kinds of uncertaintyin collections of spatial data, in Auto-Carto 7 Proc., DigitalRepresentations of Spatial Knowledge, Washington, DC,1985, pp. 440–449.

[48] V. Robinson, A. Frank, A perspective on managinguncertainty in geographic information systems with fuzzysets, in Proc. 7th IEEE Internat. Conf. on Fuzzy Systems,Anchorage, Alaska, 1998, pp. 211–215.

[49] V. Robinson, D.S. Mackay, Semantic modeling forthe integration of geographic information and regionalhydroecologoical simulation management, Comput. Environ.Urban Systems 19(5=6) (1996) 321–339.

[50] V. Robinson, A.H. Strahler, Issues in designing geographicinformation systems under conditions of inexactness, in 10thInternat. Symp. Machine Processing of Remotely SensedData, West Lafayette, IN, 1984, pp. 198–204.

[51] V. Robinson, R. Wong, Acquiring approximate repre-sentations of some spatial relations, in Auto-Carto 8 Proc.,Computer-Assisted Cartography, Baltimore, MD, 1986, pp.604–622.

[52] D. Rosenholm, K. Johnson, Rule-based identi�cation ofrevision objects in satellite images, in 10th EuropeanColloquium on Theoretical and Quantitative Geography,University of Auckland, Rostock, Germany, September 1997.

[53] D. Schmidt, Coupling fuzzy-logic and geographicalinformation for spatial classi�cation, in European FuzzyInformation Technology, EUFIT’96, 1996.

[54] M. Scholl, A. Voisard, Geographic applications: anexperience with o2, in: F. Bancilhon, C. Deloble,P. Kanellakis (Eds.), Building an Object-Oriented DatabaseSystem, the Story of O2, Morgan Kaufmann Publishers,San Mateo, CA, 1992.

[55] R.M. Stein, Object databases, Byte (1994) 74–84.[56] R.-U. Syrbe, Landscape evaluation of heterogeneous areas

using fuzzy sets, in 10th European Colloquium on Theoreticaland Quantitative Geography, University of Auckland,Rostock, Germany, September 1997.

[57] H. Tang, J. Debaveye, D. Ruan, E. Van Ranst, Land suitabilityclassi�cation based on fuzzy set theory, Pedologie, 41(3)(1991) 277–290.

[58] M. Umano, T. Imada, I. Hatono, H. Tamura, Implementationof a fuzzy object-oriented databases, in Proc. 6th FuzzySystems Association World Congress, 1995, pp. 401–404.

[59] F. Wang, Towards a natural language interface: and approachof fuzzy query, Internat. J. Geogr. Inform. Systems 8(2)(1994) 143–162.

[60] M. Worboys, H. Hearnshaw, D. McGuire, Object datamodelling for spatial databases, Internat. J. Geogr. Inform.Systems 4(4) (1990) 369–383.

[61] A. Yazici, R. George, B.P. Buckles, F.E. Petry, A surveyof conceptual and logical data models for uncertaintymanagement, in: L.A. Zadeh, J. Kacprzyk (Eds.), Fuzzy Logicfor the Management of Uncertainty, Wiley, New York, 1992,pp. 607–643.

[62] A. Yazici, M. Koyuncu, Fuzzy object-oriented databasemodeling coupled with fuzzy logic, Fuzzy Sets and Systems89(1) (1997) 1–26.