component-based approach in the development of a knowledge ... · in order to implement these...

22
1 Introduction Spatial information systems, such as geographic information systems (GIS) and spatial decision support systems (SDSS), have advanced very rapidly in recent decades and a number of new techniques and methodologies have been developed. Many urban research- ers and planning professionals are now using such techniques and tools to support their routine and nonroutine tasks and to make their planning problems and planning decisions more transparent and more easily understood by decisionmakers and the general public. Recent research and development of planning support systems (PSS) provide a range of interesting concepts and frameworks that can be adopted by system developers to design a multifunctional and planning-specific decision support system (DSS) to meet the multi- faceted needs of the planning process (Brail and Klosterman, 2001; Geertman and Stillwell, 2003). However, as pointed out by many researchers, existing DSS provide limited capabilities to incorporate various planning models into the system environment (Bennett, 1997; Harris and Batty, 1993; Klosterman, 1997; Longley et al, 1999). There is a general lack of a flexible, interactive, intelligent environment to support model construction and Component-based approach in the development of a knowledge-based planning support system (KBPSS). Part 1: the architecture of KBPSS Anthony G O Yeh, Jimmy J Qiaoô Centre of Urban Planning and Environmental Management, The University of Hong Kong, Pokfulam Road, Hong Kong; e-mail: [email protected]; [email protected] Received 14 March 2000; in revised form 26 August 2003 Environment and Planning B: Planning and Design 2004, volume 31, pages 517 ^ 537 Abstract. Urban planners need to have a flexible, interactive, and intelligent computer-based tool to support their use of analytical models and to structure their planning process. Existing spatial information systems have not developed appropriate procedures and mechanisms to enable easy construction and manipulation of models within their system environment, and to allow various information resources to be shared by different application systems and platforms. Recent research and development of planning support systems (PSS) provide a range of interesting concepts and frameworks that can be adopted by system developers to design a multifunctional and planning- specific decision support system to meet the multifaceted needs of the planning process. In this paper we aim to go beyond the current approaches of PSS and spatial decision support systems (SDSS) in designing a knowledge-based PSS (KBPSS) that uses the component-based software development (CBSD) approach. We introduce the features of CBSD and its technical advantages in the design of a multifunctional PSS. An architecture of a component-based KBPSS is subsequently proposed which incorporates four essential component systems: MapObjects GIS, Database Manager database management system, ModelObjects model-management system, and KBSAgents knowledge-based system. The first two components are based on proprietary components systems and can be easily adapted into the KBPSS environment. The ModelObjects and KBSAgents components were devel- oped by the authors. Based on these components and their associated information layers, two application subsystems are constructed: a Model and Knowledge Development System and an Intelligent Model Selection System. These application systems can be used to assist users and model developers to build new models or to select predefined models from an existing model library for their problems. In order to implement these functions, we propose and define a number of procedures and techniques for component communication and model and knowledge development. DOI:10.1068/b2721 ô Current address: Provincial Planning and Environmental Services Branch, Ministry of Municipal Affairs and Housing, 777 Bay Street, Toronto, ON M5G 2E5, Canada; e-mail: [email protected]

Upload: others

Post on 14-Apr-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

1 IntroductionSpatial information systems, such as geographic information systems (GIS) and spatialdecision support systems (SDSS), have advanced very rapidly in recent decades and anumber of new techniques and methodologies have been developed. Many urban research-ers and planning professionals are now using such techniques and tools to support theirroutine and nonroutine tasks and to make their planning problems and planning decisionsmore transparent and more easily understood by decisionmakers and the general public.Recent research and development of planning support systems (PSS) provide a range ofinteresting concepts and frameworks that can be adopted by system developers to design amultifunctional and planning-specific decision support system (DSS) to meet the multi-faceted needs of the planning process (Brail and Klosterman, 2001; Geertman andStillwell, 2003). However, as pointed out by many researchers, existing DSS provide limitedcapabilities to incorporate various planning models into the system environment (Bennett,1997; Harris and Batty, 1993; Klosterman, 1997; Longley et al, 1999). There is a generallack of a flexible, interactive, intelligent environment to support model construction and

Component-based approach in the development of aknowledge-based planning support system (KBPSS).Part 1: the architecture of KBPSS

Anthony G O Yeh, Jimmy J QiaoôCentre of Urban Planning and Environmental Management, The University of Hong Kong,Pokfulam Road, Hong Kong; e-mail: [email protected]; [email protected] 14 March 2000; in revised form 26 August 2003

Environment and Planning B: Planning and Design 2004, volume 31, pages 517 ^ 537

Abstract. Urban planners need to have a flexible, interactive, and intelligent computer-based tool tosupport their use of analytical models and to structure their planning process. Existing spatialinformation systems have not developed appropriate procedures and mechanisms to enable easyconstruction and manipulation of models within their system environment, and to allow variousinformation resources to be shared by different application systems and platforms. Recent researchand development of planning support systems (PSS) provide a range of interesting concepts andframeworks that can be adopted by system developers to design a multifunctional and planning-specific decision support system to meet the multifaceted needs of the planning process. In this paperwe aim to go beyond the current approaches of PSS and spatial decision support systems (SDSS) indesigning a knowledge-based PSS (KBPSS) that uses the component-based software development(CBSD) approach. We introduce the features of CBSD and its technical advantages in the designof a multifunctional PSS. An architecture of a component-based KBPSS is subsequently proposedwhich incorporates four essential component systems: MapObjects GIS, Database Manager databasemanagement system, ModelObjects model-management system, and KBSAgents knowledge-basedsystem. The first two components are based on proprietary components systems and can be easilyadapted into the KBPSS environment. The ModelObjects and KBSAgents components were devel-oped by the authors. Based on these components and their associated information layers, twoapplication subsystems are constructed: a Model and Knowledge Development System and anIntelligent Model Selection System. These application systems can be used to assist users and modeldevelopers to build new models or to select predefined models from an existing model library for theirproblems. In order to implement these functions, we propose and define a number of procedures andtechniques for component communication and model and knowledge development.

DOI:10.1068/b2721

ô Current address: Provincial Planning and Environmental Services Branch, Ministry of MunicipalAffairs and Housing, 777 Bay Street, Toronto, ON M5G 2E5, Canada;e-mail: [email protected]

Page 2: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

management of various modeling resources which have been established within the systemenvironment. Some systems may have no intelligent capability to assist planning to selectthe appropriate models when they have difficulty determining which model can best fittheir problem definitions and specifications. There is also a general lack of appropriateprocedures and mechanisms to support new model development through the reuse of avariety of existing model resources that have been created in many existing systems. These`new' functions are particularly important to urban planning which often requires a varietyof techniques, methods, and multiple information resources (for example, data, models,and knowledge). If these sources can be reused to construct more flexible models fordifferent planning problems and shared by different applications, modeling, and decision-support capabilities will be greatly enhanced, and planners will be more interested in usingsuch methodologies to solve their planning problems.

To improve the above functions in existing systems and introduce new techniquesinto these systems, a number of interesting approaches have recently been proposed anddemonstrated (Batty and Xie, 1994a; 1994b; Church, 1999; Jankowski, 1995; Longleyand Batty, 1996; Longley and Mesev, 1997; Yeh and Chow, 1996). Most of theseapproaches attempt to incorporate various domain-specific models into a GIS envi-ronment to enable GIS as a spatial modeling system to support the use of models inthe problem-solving process. Moreover, this GIS-based framework has been furtherextended to incorporate other functions, such as model-management and knowledge-based functions, into the environment to develop SDSS or PSS (or planning-specificSDSS) based on different domain applications. In the development of PSS, Klosterman(1999) constructed an operational What If? PSS by using a GIS software component(MapObjects) to link up with land-use projection and allocation models. This systemcan support planners in conducting land-suitability analyses and generate the requiredinformation in the process of planning. Landis and his colleagues (Landis, 1994; 1995;Landis and Zhang, 1998a; 1998b) developed a California Urban Futures (CUF) model-ing system based on proprietary GIS software. The latest version of the system hasbeen provided with a number of functions (for example, cell-based spatial modeling)and more problem-specific analytical models. With regard to system-supported modeldevelopment, Arentze et al (1996) proposed a knowledge-based approach (view-basedknowledge representation) to design a DSS which allows users to construct their ownmodels out of available model components. Although these systems are developed on asite-specific and problem-oriented basis, they do provide a number of capabilities forspatial modeling and new model developments for other cities and applications. Theyalso demonstrate how models and GIS functions can be fully communicated within anintegrated system environment.

As argued by many authors (Batty, 1995; Brail and Wiggins, 1999; Harris, 1989;Harris and Batty, 1993; Hopkins, 1999; Klosterman, 1997; 1999; Yeh, 1999), an opera-tional PSS must integrate a full range of current information technologies that areuseful to urban planning, and facilitate appropriate procedures to allow future techni-ques to be easily embedded. This conceptual configuration on how a PSS can beconstructed to enable various existing and emerging information systems, especiallymodeling systems and GIS, to be fully performed in an integrated environment is agreat challenge to PSS developers. In this paper we attempt to address these issues. Anarchitecture of KBPSS, a knowledge-based PSS, is proposed based on the component-based software development approach which enables many software components tobe integrated and communicated within a unique system environment. System devel-opers can use the built-in model objects to construct more flexible problem-specificmodels for various planning applications, and general users can use the built-intools to construct new models and implement the models developed in the system

518 A G O Yeh, J Qiao

Page 3: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

environment. Ultimately, this will produce a variety of readily available analyticalmodels for planners to solve their planning problems even if the planners have littleknowledge about the use of these models.

In this two-part paper we will examine the approaches and developments of theoverall KBPSS architecture and its individual components. In the first paper we willdiscuss the approach of component-based software development that provides the tech-nology for developing a multifaceted and operational PSS. This is followed by the designof a component-based KBPSS architecture which incorporates four essential compo-nents: MapObjects GIS, Database Manager database management system (DBMS),ModelObjects model-management system (MMS), and KBSAgents knowledge-basedsystem (KBS). MapObjects and Database Manager are based on proprietary softwareproducts which can be easily adapted into the proposed KBPSS. The other two compo-nents, ModelObjects and KBSAgents, were developed by the authors. The detailedprocedural and technical developments of these components will be discussed in thesecond part of this paper (Yeh and Qiao, 2004a).

2 Existing approaches in DSS and PSS developmentsGIS has been often criticized for its limited capability to support spatial analysis andmodeling (Batty and Xie, 1994a; 1994b; Bennett, 1997; Brail and Wiggins, 1999; Church,1999; Harris and Batty, 1993; Longley and Batty, 1996; Longley et al, 1999; Webster,1993; 1994). In order to improve its analytical capability in spatial problem-solving andspatial planning, substantial effort has been made in recent years to incorporate variousmodels and techniques into it to meet the needs of urban planning and other applica-tions. Several researchers have proposed and demonstrated the `modeling inside GIS'approach (for example, Batty and Xie, 1994a; 1994b; Jankowski, 1995; Yeh and Chow,1996). Others have used a number of integration strategies to develop domain-specificapplication systems, such as loose-coupling strategy (Jankowski, 1995; Klosterman andXie, 1997), close coupling (Batty and Xie, 1994a; 1994b; Ding and Fotheringham, 1992,and full integration as contributed by ESRI Inc. in the development of ArcView-basedanalytical tools. These approaches are increasingly combined with the techniques ofDSS to construct GIS-based SDSS to automate the decisionmaking process in spatialmodeling.

The development of an SDSS can be broadly categorized into two approaches: GIS-based SDSS and intelligent SDSS. The GIS-based SDSS approach uses proprietaryGIS software as a basic platform for spatial data management and spatial display. Itis a very efficient approach to create a domain-specific DSS by using an existing system.A prototype GIS-based SDSS, CEMPS (Configurable Emergency Management andPlanning System), was developed by Pidd et al (1997). In this system, Unix Arc/Info wasused as the development environment and model-oriented simulation routines wereadded as a separate module for carrying out dynamic modeling and evaluation of plansfor potential emergency services. Similar researches have also been carried out in retailplanning and location analysis (Birkin et al, 1996) and collaborative spatial decision-making (Jankowski et al, 1997). This approach thus enables GIS to provide additionalmodeling functions based on the construction of a number of modeling subroutinescoded either by software-specific macrolanguages, such as Arc/Info AML and ARCAvenue, or by standard computer languages, such as C++ and Visual Basic.

The intelligent SDSS approach is built upon or supported by an expert system shell.It embeds knowledge-based management functions into a system to represent thedeclarative and procedural forms of knowledge for spatial problems. A general archi-tecture of such an SDSS was proposed by Leung (1997) and Zhu (1997). According tothem, an expert system shell is applied as the core of the overall system structure which

A knowledge-based planning support system, part 1 519

Page 4: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

directs the control and information flows of an SDSS. It also provides appropriateutilities to represent and store domain knowledge created by using knowledge-repre-sentation schemes supported by the expert system shell. It may contain meta knowledge(knowledge about knowledge) for knowledge development, inference control and solu-tion reasoning, online help, and external communications with other modules andutilities. Zhu (1997) built a loose-coupling KBSDSS by incorporating Arc/Info GIS,the CLIPS expert system tool, and a hypertext diagramming tool (HARDY). Analyticalmodels and associated utility programs in his framework were developed and executedby using Arc/Info AML language. It has been demonstrated that such an approachcan provide a more effective problem-solving method, and an intelligent interface canstimulate planners to employ mathematical models more easily and effectively (Hanet al, 1991). Another advantage is that expert system techniques are particularly usefulfor developing conceptual methods and making it possible to incorporate expert knowl-edge to complement existing algebraic and algorithmic models in SDSS (Arentze et al,1996). This is especially important when some planning problems are very difficult toquantify and to represent as a set of mathematical models. However, there are somedifficulties in incorporating some useful mathematical models into an intelligent SDSSbecause many intelligent application systems are developed on the basis of decisionrules and fuzzy logic procedures. Although recent applications (such as Leung, 1997),have built some models into the application systems, this approach does involve anumber of problems, such as time-consuming programming and building proceduresto communicate model-based data structure with logic rules. Another shortcoming isthat existing SDSS application systems do not have a flexible model-managementmodule that enables models developed in the system to be reused and easily adaptedfor different planning problems.

Densham (1991) considers that an MMS is an important module in an SDSSenvironment. The GIS-based SDSS actually uses GIS as an SDSS development plat-form, and decision models are constructed in a problem-oriented and system-dependentmanner. The intelligent SDSS approach uses either an expert system shell or GIS as adevelopment environment to design a system with certain intelligent functions tosupport decisionmaking processes. All the subroutines related to the use of modelsare created and programmed as separate executable files that are either embedded in thesystem or communicate externally with the system. All these approaches have a limitedcapability to manage models in a system and to reuse and share models in differentapplications.When domain problems and modeling conditions are changed, the modelspreviously established need to be reprocessed and recoded into the system.

Recent efforts to develop a geographical/spatial modeling system based on object-oriented philosophy and model-management approaches in operations research andmanagement science provide an important step towards the use of model managementin SDSS (Bennett, 1997; Raper and Livingstone, 1995). However, these systems do notprovide appropriate mechanisms for reusing the established models. They do not haveintelligent functions to assist users to retrieve and select appropriate models from thesystem and construct new models according to the built-in modeling resources ofthe system. The system also does not provide appropriate tools to communicate withGIS, and thus substantial effort is required to incorporate spatial data-managementand display functions into the system.

Planning-specific SDSS has been widely defined as a form of PSS. A number ofstudies have been carried out in recent years from different perspectives (Batty, 1995;Batty and Densham, 1996; Harris, 1989; Harris and Batty, 1993; Hopkins, 1998; 1999;Klosterman, 1997; 1999; Shi and Yeh, 1999; Yeh, 1999). In these studies, PSS isconsidered to be like all planning-related computer-based techniques that are used as

520 A G O Yeh, J Qiao

Page 5: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

an aid to decisionmaking at different stages of urban planning. Despite the functionalcomplexity and difficulties in developing an operational PSS, because of the ill-structurednature of planning problems and diverse requirements for techniques and tools, someefforts have been made to design operational and integrated PSS (Klosterman, 1997;1999). Based on this research and these experiments, the following are some majorfunctions and capabilities that an operational PSS should provide:(1) The system should incorporate spatial analysis and modeling tools which areimportant at different stages of the planning process. These models can assist plannersto conduct various planning-related analyses, forecasting, decision generation, andscenario evaluation. It should not only enable existing models to be easily employedin the planning process, but should also provide mechanisms for model improvementand development to make models ` economically and behaviourally more realistic, andto make them susceptible of assimilation into the desired type of planning system''(Harris, 1989, page 91). The procedures for developing new models and sharing modelsamong different problem-specific applications should also be supported.(2) It must integrate a full range of current information technologies that are useful tourban planning, and facilitate appropriate procedures to allow future techniques to beeasily embedded. GIS can function as the core of the whole system which has thecapability ``to rearrange data in systematic ways'' and ` make use of data in a relatedadministrative system'' (Harris, 1989).(3) The system should be user friendly, with many options available to urban plannersin model selection, data selection, and the selection of different types of planning (forexample, strategic planning, land-use zoning, and facility planning).(4) It should facilitate interactive displays of inputs and outputs as required by plan-ners and decisionmakers. These functions are currently well developed in GIS. Otherpresentation techniques, such as multimedia, visual effects, and emerging virtual reality(VR) and Internet technologies could be supported.(5) The system should accommodate research and development and provide self-teachingtools.(6) It should facilitate collective planning and design which go beyond an organizationto emphasize interorganizational issues of information sharing and mutual learning.(7) The system should be designed for various types of urban planning and management,such as comprehensive planning, zoning, and functional planning.(8) It should support new plan generation and the modification of old plans.(9) It should not only have the capability to generate plans, but also to empower, withfunctions to define and measure planning goals and objectives, and to interpret thestyle and behaviour of models used.

The above is surely a very idealized system. However, it is possible to distinguishessential functions from support functions. The essential functions are those which needto be incorporated into a unique system environment to provide analytical capabilities,intelligent decision support, and efficient communications between and among systemmodules and applications. These may include GIS, DBMS, model-management, andknowledge-supportive functions. The support functions are three-dimensional displayand VR techniques, multimedia presentation, Internet communication, and otheremerging techniques that are useful to urban planning. These functions can be incor-porated into the system at the late stage of software development to make the systemmore powerful and versatile.

There are different ways of developing an operational PSS. The CUF model by Landisand his colleagues (Landis, 1994; 1995; Landis and Zhang, 1998a; 1998b) is a methodo-logical and functional extension of the traditional `modeling inside GIS' approach withinwhich analytical models are created and manipulated by GIS macrolanguages and

A knowledge-based planning support system, part 1 521

Page 6: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

standard computer languages, such as C++. With regard to the integration of GIS withmodels, three strategiesöloose coupling, close coupling, and full integrationöhave beenwidely demonstrated based on different domain applications, as described previously.These have been major research areas in the GIS community in recent decades.

One major problem of the loose-coupled approach is that data shuffling andconversion between different software packages are often tedious and error prone(Geertman and van Eck, 1995; Nyerges, 1992; Sui, 1998). The outputs produced bysome systems are impossible to transfer as input to other systems. For example,SPSS Inc. statistical software can easily read dbf data format from database systems,but its outputs are difficult to code and save as a dbf data file and retrieve by othersystems. Thus, this type of PSS development approach can only be applied to thesoftware products that have a common data-exchange format. This requires the formula-tion of common data standards and file formats that are agreed by software vendors sothat all systems can support these standards. Another drawback is that data conversionis often software dependent and platform dependent. Data and file conversions arethus often restricted to the right versions of software and systems platforms, althoughsome of this limitation has been overcome with the development of cross-platformtechnology. One important future development in this approach is, therefore, to estab-lish a common data standard that can function as a linkage channel for all softwareproducts and can be accepted by many software vendors. This is often difficult becauseexisting systems have been based on different data structures and vendors may not beinterested in changing their data structures.

The close-coupled strategy aims to incorporate a set of software systems into aunique system environment by using either system-specific macrolanguage (such asESRI Inc.'s AML and Arc Avenue) or standard computer languages (for example,C++ and Visual Basic). Planning models are coded by these languages as a set of com-putational routines embedded into the system and subsequently called in the applicationprocess. This approach has been widely used to improve the modeling capabilities ofcurrent GIS (Batty and Xie, 1994a; 1994b; Ding and Fotheringham, 1992). A similareffort has been demonstrated to design a problem-specific DSS or SDSS in location ^allocation planning (Arentze et al, 1996; Pidd et al, 1997) and to develop urban PSS forurban land uses (Klosterman, 1999), development control (Shi and Yeh, 1999), and urbanenvironmental improvement (Edamura and Tsuchida, 1999). Although these applicationsystems generally solve a specific planning problem, they provide good experiences andeffective methods which can be further improved with the incorporation of moreadvanced techniques and methodologies, such as ActiveX, Dynamic Data Exchange(DDE), and Open Database Connecting (ODBC) techniques in the Windows environ-ment. These techniques may lead to further advancement of the coupling strategy,allowing various software products to be easily linked and communicated.

The close-coupled strategy enables users direct access to the functions of differentsystems within a common user interface. As addressed by Goodchild et al (1992), thisapproach requires the establishment of appropriate procedures and commands to linkvarious functional routines with associated software systems. The users also need to befamiliar with the software employed and associated macrolanguages when they want tocustomize the system and develop new functions in the system.

The What If? model of Klosterman (1999) uses an alternative approach tolink GIS with analytical models. It integrates analytical models, such as land-useallocation and assessment models, programmed by Visual Basic with existing GIScomponents (MapObjects). This approach can be considered an extension of theclose-coupled approach which uses a standard computer language to build a numberof communication and procedural development interfaces to call and process all

522 A G O Yeh, J Qiao

Page 7: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

required functions of database management and GIS-based analysis and presentation. Onemajor shortcoming of What-If? is that models are developed on a problem-specific basis.When modeling conditions change or users want to develop new models, the system doesnot provide appropriate procedures to facilitate such new developments.

As discussed above, current DSS and PSS development approaches have a numberof limitations and technical difficulties if users or system developers want to design andbuild a multifunctional DSS such as PSS. Each approach has its inherited problems,such as time-consuming programming, communication difficulties in building a system-integrated system, and the technical difficulties of defining appropriate procedures toenhance information exchange between different functional modules. In particular,existing systems do not possess the capability of model management and new modeldevelopment by reusing existing model resources that have been created in a system. Tosolve some of these problems and to build a functional PSS to meet the needs ofplanners in their planning process, there is a need to explore a more adaptablealternative approach, such as KBPSS, to design a new system environment within whichexisting software functions can be fully performed, new functional modules can be built,and a variety of information resources (data, models, and knowledge) can be created,reused, and distributed for different applications.

3 Component-based software development approach: an enabling technologyBefore discussing the detailed design and development of KBPSS, we will first discussthe features and technical specifications of the component-based software development(CBSD) approach. CBSD refers to the technology that designs and builds applicationsystems from predeveloped software components which are defined as individualunits of composition with contractually specific interfaces and explicit dependencies(Szyperski and Pfister, 1997). Components can be deployed independently and aresubject to further development by third parties. This approach enables the building oflarge software systems by integrating predefined components, sometimes referred to asdistributed componentware (Hartman, 1997), that are supported by appropriate com-munication and linkage procedures to enable a software component to be reused fordifferent application systems. Hence, the approach provides interoperability in distrib-uted environments, maximises code reuse, and shifts the emphasis of application systemdevelopment from programming software from scratch to composing software systems.The essential features of CBSD can be summarized as follows (Brown and Wallnau,1996; Clements, 1996; Jell, 1998; Szyperski, 1998).(1) Components are independent of hardware, software, and other elements of thecomputing environment. This implies that user-required components can be easilyadopted and assembled into an application system.(2) Many components have been developed in the market which are based on ObjectLinking and Embedding (OLE) and ActiveX techniques. Users can directly apply thesecomponents to develop their problem-specific applications and software systems.(3) Some standard computer languages, such as Visual C++, Visual Basic, and Delphi,provide advanced functions for users to place component controls into a client applicationcalled a container. These controls can be easily stretched, resized, and dragged-dropped.This assembling approach with the support of computer languages allows existing infor-mation and resources created by individual software packages to be easily adapted intoand reused by newly created systems.

The concept of designing and implementing software systems based on a set ofcomponents is not new. It has been advocated and developed for at least three decades(Szyperski, 1998). However, it has received greater attention in recent years and hasbeen widely used by system developers to construct large application systems with

A knowledge-based planning support system, part 1 523

Page 8: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

sophisticated functions. Many researchers and developers in the software industry arebeginning to see CBSD as an exciting `new' approach which offers the promise ofreducing code programming and improving the quality of delivered applications in thedevelopment of a new system (Jell, 1998). There are a number of factors drivingthe adoption of this renewed methodology. First, the development of the worldwideweb and the Internet has increased understanding and awareness of distributed com-puting. These technologies encourage users to consider systems that are built onloosely coordinated subsystems. It is unimportant for users to know where the informa-tion physically resides and what underlying engines are being used to query and analyzethe data in the process of information retrieval (Jell, 1998). CBSD enables applicationsystems to be assembled and developed from a variety of sources. Individual compo-nents may be written in several different programming languages and run on severaldifferent platforms.

Second, commercial components are widely available and reliable enough fordifferent operational systems. Although significant work remains to be done on improv-ing the technology, such as frequent changes in component versions and the design ofindividual components and global standards of component development, the numberof available components continues to grow, and the quality and applicability continueto improve. The recent emergence of the Common Object Request Broker Architecture(CORBA) and Microsoft's Component Object Model (COM) as integrative standardsfor sharing components has promoted a wide adoption of the component-basedapproach and its associated techniques in system engineering and the development ofapplication systems (Pritchard, 1999; Rosen and Curtis, 1998). They enable users toinclude both commercial `off-the-shelf' (COTS) products and components acquiredfrom other domains to develop problem-specific systems. The proliferation of compo-nent software on the current market and the ability to access and integrate thesecomponents using flexible and user-friendly languages, such as Visual C++ and VisualBasic, offer great potentials for constructing new complex systems with distributed andintelligent features and with relatively less time, capital, and human resources.

Figure 1 is a simplified process of CBSD (Brown and Wallnau, 1996). When usersdecide to develop an application system, they first need to determine what functions thesystem has and what COTS components are available for adoption or adaptation. Thequalified components are then incorporated and assembled into some predefined con-tainers which can be designed and developed by standard computer programs. Somecomponents also have different versions developed in different time periods. This requiresthe development of procedures to allow the components to be automatically replaced andupdated.

The component-based approach inherits many of the characteristics of objects in theobject-oriented (OO) paradigm. But the component notion goes much further thanthe OO object concepts. OO reuse usually means reuse of class libraries in a particularOO programming language or environment. In order to reuse OO classes, such asclasses defined by SmallTalk or Java, users must be conversant with SmallTalk orJava. But, component users may not need to know which programming languageor platform the component uses internally if they want to reuse a component. Objectsin a traditional sense are operated within their built-in systems; whereas componentsare not bound by the compiling process of the systems and can be adopted by a varietyof other external systems as the controls placed on the containers. A component can bean object. This implies that there exist class ^ subclass relationships and feature inheri-tance within individual components. Hence, an important advantage of components istheir reuse and sharing capability for different applications. In system development,

524 A G O Yeh, J Qiao

Page 9: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

users only need to use programming languages to combine existing component codesthat they require, saving them the time and effort in rewriting computer codes for them.

For example, the MapObjects GIS component developed by ESRI Inc. is anextensive library with more than forty-five programmable ActiveX automation objectsthat can be plugged into many standard Windows development environments toperform GIS functions (ESRI Inc., 1999). With MapObjects, software developers whoneed to use complicated map-processing functions in their applications do not need towrite the whole program code. They can acquire the MapObjects components and theirinternal objects and add mapping functions to their domain applications (Hartman,1997). In recent years, a number of GIS software components with functions similarto MapObjects have been constructed, such as GeoMedia from Intergraph, MapXfrom MapInfo Corp., and GeoView from Blue Marble Geographics. The system devel-opers can use a programming language, such as Visual C++ and Visual Basic to insertmapping objects with their encapsulated methods and behaviours into their applica-tion-system environments to perform basic GIS functions without programming and tobuild GIS-related functions from scratch. Thus, they can focus their system-develop-ment effort on constructing new components and designing interfaces to connectdifferent software components. In the next section we will describe how a KBPSS canbe developed with this approach.

4 Architecture of component-based KBPSSKBPSS is a knowledge-based planning support system developed by using the CBSDapproach. In the KBPSS architecture we define two types of featureöessential andextendedöbecause it is impossible to incorporate so many software functions into asystem at the early stage of system development. Essential features include the mostcommonly used functions that enable planners to use the system to conduct theirroutine and nonroutine works. These functional modules include GIS, DBMS, MMS,and KBS tools. Extended features, such as VR, three-dimensional technology, andhypermedia systems, can be incorporated into the system in the later developmentstage.

Components transformation

Get software Select Compile into Construct a set Update thecomponents components the required of containers applicationfor use and remove architectural for placing components

mismatch style components

COTS Qualified Adapted Assembled Updatedcomponents components components components components

Figure 1. Activities of the component-based software development (after Brown et al, 1996).

A knowledge-based planning support system, part 1 525

Page 10: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

In the Microsoft Windows environment, a variety of advanced system developmenttechniques and communication tools have been developed, such as ODBC, ActiveXcontrols, and flexible standard visual languages (Visual C++ and Visual Basic). Thesetechniques and associated methods provide a possible way in which diverse softwarecomponents required for urban and regional planning, can be incorporated into a unifiedsystem environment by using the CBSD approach introduced above. Figure 2 shows theproposed component-based KBPSS architecture which integrates four essential elements:(a) System Components, (b) Resource Layers, (c) Intelligent Model Selection System(IMSS), (d) Model and Knowledge Development System (MKDS). The Resource Layersare the Map Layer, Data Layer, Model Layer, and Knowledge Layer which correspond tofour individual system components. These are the system resources developed by systemdevelopers or adapted from external databases and GIS application systems.

4.1 System componentsThe system components include MapObjects GIS, Database Manager DBMS, Model-Objects MMS, and KBSAgents KBS. MapObjects and Database Manager are adaptedfrom proprietary component software systems and are embedded into the KBPSSenvironment based on CBSD procedures and techniques. The ModelObjects model-management component is developed by the authors (Yeh and Qiao, 2004b). TheKBSAgents knowledge component is constructed from a proprietary KBS shell and is

Figure 2. The architecture of the component-based knowledge-based planning support system(KBPSS). (ODBC is Open Database Connectivity.)

526 A G O Yeh, J Qiao

Page 11: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

used to build model knowledge and improve the functions of model retrieval andselection.

4.1.1 MapObjects GIS component` The heart of any PSS will undoubtedly be a GIS'' (Klosterman, 1997, page 51). TheGIS component serves as a display and communication system (subsystem) to storeand manipulate locational, topological, thematic, and nonspatial data to supportcartographic display, spatial query, and analytical modeling, and to present analysisresults and planning scenarios in a number of forms. It can also generate and abstractnew information required in urban and regional planning when information is notavailable in existing systems. In the KBPSS, we use MapObjects, developed by ESRIInc., as a GIS component and tool for spatial data management and display.

MapObjects is built using Microsoft Windows' OLE standard and programmableActiveX automation technology. It consists of four major object classes (ESRI Inc., 1999):geometric class, map-control class, address-match class, and data-connection class(figure 3). The geometric class defines geographical features which can be represented

Figure 3. Object-oriented structure and communication features of MapObjects (compiled by theauthors from MapObjects function sheet, ESRI Inc., 1997).

A knowledge-based planning support system, part 1 527

Page 12: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

as various points, lines, and polygons. The map-control class manages map layers andtheir associated representational symbols. The address-match class includes all objectswhich check coordination systems and feature identities, and which process boundaryand spatial data operations in the process of map overlay. The data-connection classprovides a set of objects to link with various relational database systems. By usingthese classes and their associated objects, users can add dynamic mapping and GIScapabilities to an existing Windows application or build their own custom mapping andGIS solutions for spatial problems. This component can also fully communicate withstandard computer programming languages and other ESRI Inc. GIS software prod-ucts, such as Arc/Info, ArcView, and other functional modules. Through the linkage toolof ODBC, a variety of existing information resources developed by using differentdatabase systems can be directly reused and extended into the new system environmentwithout or with less modification. Considerable expenditure in time, capital, and humanresources can thus be saved.

4.1.2 Database Manager DBMS componentDBMS have been well developed in the information system market. Database Managerproposed in the KBPSS is based on the MS Jet database engine, data control, dataaccess objects (DAO) programming interface, and ODBC techniques. This componentprovides a user-friendly environment to enable users to call the ODBC interface toaccess various popular databases, such as Microsoft Access, dBASE, Microsoft FoxPro,and client ^ server databases (figure 4). The ability to create and access structureddatabase systems gives the user many programming advantages from which a databasecan be efficiently created and updated, and the required datasets can be easily retrieved.

The DAO model is a collection of object classes that model the structure of arelational database system. It provides properties and methods that allow the user toaccomplish all the operations that are necessary to manage such a system, includingfacilities for creating databases, defining tables, fields, and indexes, establishingrelations between tables, and navigating and querying the datasets from databases.The Jet database engine translates these operations on data access objects intophysical operations in the database files.

4.1.3 ModelObjects model management componentModelObjects is an object-oriented model-management component incorporated intothe KBPSS and linked with GIS, relational DBMS (RDBMS), and knowledge compo-nents to perform model-reuse and model-development functions. Its logic is similar toMapObjects GIS and ActiveX controls that can be embedded into a number of appli-cation systems if the users would like to do so. It is proposed that planning models,such as population-projection models and spatial interaction models, can be decom-posed into a variety of model objects that can be used as the `model building blocks' ofthe model library.When appropriate procedures are defined and developed, these modelcomposition blocks can be reused to construct more complicated domain models. Fromthis aspect, a model object can also be considered as a model component. The users canalso create their own models and associated implementation codes if the systemprovides a user-friendly interface and appropriate script language allowing them easilyto combine these model blocks into a model. This is particularly important to urbanplanning in which a number of models and model composition blocks can be con-structed and reused for different applications.When users need to modify a model, theydo not need to change the whole model structure, but only to modify the appropriatemodel building blocks. The development of the ModelObjects framework and thedetailed model-processing procedures are discussed in Yeh and Qiao (1999; 2004b).

528 A G O Yeh, J Qiao

Page 13: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

Figure 4. Using the Open Database Connectivity (ODBC) tool to communicate with the DatabaseManager components of the knowledge-based planning support system (KBPSS).

A knowledge-based planning support system, part 1 529

Page 14: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

4.1.4 KBSAgents knowledge componentKBSAgents is a KBS tool which is used to handle model knowledge to facilitateknowledge-based model selection, incremental model development, and to incorporatemodels and knowledge rules in a problem-solving process. This will enhance thefunctions and capabilities of the ModelObjects model component. KBSAgents isdesigned by extending the Flex KBS shell, developed by Logic Programming AssociatesLtd, with multiagent system (MAS) techniques and object-oriented model representa-tion techniques configured in the ModelObjects model component. The Flex shellprovides a comprehensive and versatile set of facilities for programmers to constructsophisticated KBS (LPA, 1996). It supports frame-based reasoning, rule-based program-ming, and data-driven procedures which are fully integrated into a logic programmingenvironment. To make these constructions accessible, the system shell provides anIntelligent Server module which allows the user to communicate withVisual C++ codesand develop a more powerful object-oriented knowledge representation scheme. InKBSAgents, the knowledge base is structured according to the defined knowledge-representation scheme within which a model or a model component may include aset of knowledge frames to define the features of model objects, such as rules of modelapplication, model solvers, model-required data, and model-object integration features.Model agents and their associated knowledge frames allow users to retrieve modelswhich have been established in the system model library and to select appropriate onesbased on their problem specifications and the inputs to the system interface.

By using the Flex inference engine and model knowledge bases, we have con-structed an Intelligent Model Selection System (IMSS) which helps users to selectmodels from the system model library and solve their planning problems (Yeh andQiao, 1999).(1) For skilled modelers and system developers, this application utility canhelp them to select model components which solve parts of a problem and to developnew flexible models for the whole problem by integrating some model components inthe model library. Because model-execution results are saved into a database table fileas attribute fields, they can be subsequently retrieved by KBSAgents and other systemcomponents for presentation and further analysis. In this aspect, modeling results canbe used as the inputs of domain-knowledge rules.

4.2 Resource LayersThe Resource Layers in the KBPSS are the Map Layer, Data Layer, Model Layer, andKnowledge Layer. These resources are handled by individual system componentsand connected by the ODBC tool. The Map Layer consists of a set of GIS map layersgenerated by external GIS systems such as ESRI Inc. GIS products that can be directlypresented by MapObjects. The Data Layer can be a set of imported databases or newlycreated databases based on RDBMs that provide ODBC functions. The Model Layerincludes model components or individual domain models that are developed by thesystem developer and are saved into the model library. Knowledge for individualmodels and model components is defined as the Knowledge Layer developed andmanaged by the KBSAgents knowledge component.

4.3 Model and Knowledge Development System (MKDS)The MKDS aims to help model and model-knowledge developers to construct theirdomain models and build model knowledge. It allows new models to be built byintegrating some existing model components or combining them with newly createdcomponents based on the component-building procedures and mechanisms. When amodel is developed, system developers can further construct model knowledge and

(1) It was called Intelligent Solution Support System in the earlier paper (Yeh and Qiao, 1999).

530 A G O Yeh, J Qiao

Page 15: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

update the model-knowledge library. This enables the model built and stored in themodel library to be retrieved by the IMSS subsystem. The MKDS will be examined inthe second part of the paper (Yeh and Qiao, 2004a).

4.4 Intelligent Model Selection System (IMSS)The IMSS is an advisory subsystem to help users to choose the best model for theirplanning problems. It is particularly useful for users who have less knowledge aboutwhat model they should use to solve their problems. When users select a model fromthe model-reasoning interface, the system will alert them to which model or models fittheir requests. The users can then use the ODBC tool to select data attributes froma database table for model execution. One of the key areas to facilitate this intelligentmodel-selection process is that the system should be built with a large number of modelsand associated model-knowledge resources. This is a time-consuming and long-termresource-development process and also involves the decomposition of planning modelsand the development of model knowledge according to the system-defined proceduresand rules.

4.5 KBPSS user interfaceThe KBPSS is designed to be used in the Microsoft Windows environment, becausemany databases have been developed in this environment, and most urban planners arealso familiar with the Windows environment and its application systems. The Windowsenvironment also provides many advanced information communication and processingmethods, such as ODBC, COM, DDE, and ActiveX, and it is thus easy for systemdevelopers and users to design their domain-specific systems and to adopt existingdata and information resources to solve their complex problems. By using thesetechniques and visual programming languages, such as Visual C++ and Visual Basic, aunified and user-friendly system interface can be easily generated to incorporate variousbuilt-in and user-created components; and interface dialogues can be easily designed tohandle input ^ output interactions and to generate modeling `templates' which supportvarious modeling and control requirements. The following interface-based communicationprocedures and methodologies have been configured and developed for KBPSS.(1) A MapObjects and DBMS link is already provided in the MapObjects class library.By using ODBC, a variety of commonly adopted database systems can be accessed andvarious datasets can be retrieved and queried from a number of database tables.(2) A MapObjects and ModelObjects link is developed to transfer modeling anddecision results to MapObjects for spatial display and GIS-based spatial analysis.This requires that modeling information and processes should be based on similarspatial units, such as geocoded urban districts and community blocks. The modelingresults can be saved into an existing database table as database-attribute fields orstored as a separate data table file by calling on the ODBC tool. The MapObjectsGIS component can thus directly retrieve these data tables to display modeling resultsor perform GIS-based information processing.(3) A MapObjects and KBSAgents link is designed to support information communica-tions between these two components. The data sources handled by MapObjects can beused to build knowledge rules, and the results of rule-based analysis need to be deliveredto the MapObjects component for display in map form or textual explanation. Theconnection of these components is also performed by the ODBC tool.(4) A ModelObjects and Database Manager link allows ModelObjects to read data-sets from existing database tables to execute the required models. The modelingresults can also be coded into an existing database table as attribute fields or savedas a new database file through the ODBC linkage so that RDBMS-supported mathe-matical operations and MapObjects-based analysis can be conducted subsequently.

A knowledge-based planning support system, part 1 531

Page 16: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

1. Access the Database Manager component to buildnew data tables and conduct data retrieval and query.

2. Access the MapObjects component to display data informationand the modelling results which can be retrieved through ODBC(Open Data Base Connectivity) tools.

3. Use ModelObjects command menus to construct models and modelobjects, edit model object features, build a number of object-relatedsupport information such as model graph, construct model-knowledgerules. When users know what models to use and they are familiar withparticular models, they can directly select the Execute Model menu toselect a model from the model-list box in the interface to implement theselected model. Users can also use the Report Results As menu to savethe model-calculation results as new data table fields or as the fields ofan existing data table.

4. Use the KBSAgents knowledge component tobuild model-knowledge and domain-knowledgerules. The model-knowledge base is an essentialinformation source to the Solution SelectionSystem which uses model knowledge to retrieveand infer appropriate models to solve users'problems. The Build Rule Knowledge menuallows users to construct domain-knowledgerules and to develop domain rules based on theresults generated by models.

5. In addition to building new models and modelcomponents (objects), users can directly accessthese menus to execute these commonly usedplanning models. These models have been codedinto the system to enable users to execute thesemodels directly and to solve their problemswithout conducting any model and solverdevelopments. It is assumed that the users arefamiliar with these models and can interpretthe modeling results.

Figure 5. Main command menus and their functions in knowledge-based planning supportsystem (KBPSS).

532 A G O Yeh, J Qiao

Page 17: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

This connection procedure requires that model solvers (mole-execution programs)have the ability to read data from relational database tables.(5) A ModelObjects and KBSAgents link is intended to enhance the interactive selec-tion and retrieval of models and associated model knowledge. Through this link,the model-knowledge base can be established and modified in response to changes ofmodels in the model library. When users infer a model from the inference engine inKBSAgents, the link provides a communication channel which allows users to promptthe model library to select and execute the chosen model. This link is also important toincorporate model-based analysis with rule-based analysis in the process of complexspatial problem-solving. In this aspect, the modeling results can be used as the inputsof knowledge rules.(6) A KBSAgents and Database Manager link attempts to extract knowledge fromdatabases and use datasets in the Database Manager to construct knowledge rules.This has been demonstrated by Leung (1997) in which he used the values produced bymathematical models as the input of knowledge rules in a flood-impact simulation.

These links and the interface of the overall system environment are programmed inVisual C++ and Visual Basic. The availability of a variety of built-in software utilitiesand controls makes it possible to construct these communication mechanisms and tocode various procedures into the KBPSS. Substantial programming-control resourcescan be reused and shared by different components as `building blocks'. For example,ODBC can be called at any time when datasets in the database files are needed. Thisrequires system components to be facilitated with appropriate procedures to connectwith ODBC and define various information-processing mechanisms based on theODBC architecture. Figure 5 shows some command menus and their individual func-tions. The Data, Maps, ModelObjects, and KBSAgents correspond to four essentialsystem components, and their individual functions can be performed through their ownsubmenus.

The Application menu uses the system-defined procedures and algorithms to buildmodel-based analytical methods which can be directly applied by users to solve theirplanning problems. When users have defined their problems and determined whichanalyses and models should be used, they can directly select these analyses from themenu for problem solutions, if the required analyses are available in the menu. In thiscase, the users do not need to perform new model development and integration. Theexecution programs for the built-in analyses were written as a type of `batch file' thatcalls and executes individual model components required from the model libraryaccording to the structures and model-processing features of individual models.

5 ConclusionsCurrent approaches in SDSS and PSS development focus mainly on incorporatingvarious analytical models or expert systems into proprietary GIS software to enableit to perform modeling functions. In this paper we argue that these approaches fall shortof providing a flexible and interactive environment to meet the multifaceted needs ofurban planning. Most of the application systems do not support model-management,model-construction, and intelligent model-retrieval functions. Models developed in onesystem for one application area are often difficult to transfer to another system andapplication area. This often involves the modification of the whole model. The CBSDapproach and its associated component communication techniques, such as ODBC andCORBA, introduced in this paper, enable a multifunctional PSS to be developed to takefull advantage of individual components in the systems and to use various informationresources efficiently, especially models created by other systems. On the basis of thesemethods, we proposed an architecture of KBPSS which incorporates four essential

A knowledge-based planning support system, part 1 533

Page 18: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

component systems: MapObjects GIS, Database Manager DBMS,ModelObjects MMS, andKBSAgents KBS. These components can be used to manage four corresponding infor-mation layers: Map Layer, Data Layer, Model Layer, and Knowledge Layer. To enhancetheir communications in the process of problem-solving, we also identified a number oflinkage procedures that need to be defined and constructed in the system environment.

ModelObjects is a model-management component developed by authors. It can beused to assist users to construct and manage planning models and develop a multi-functional model library. Models created in the model library can be reused to buildmore flexible problem-specific models and can help users to select appropriate modelsfor their problems. The functions of the ModelObjects can be further enhanced bydesigning a KBSAgents knowledge component which directly communicates withModelObjects to provide users with full support for intelligent model retrieval andselection based on the development of a model-knowledge library and model-reasoningprocedures built in KBSAgents. These issues will be discussed in the second part of thispaper.

The KBPSS framework also provides flexible mechanisms for communicationbetween data, models, and knowledge rules. The ODBC system tool enables variousrelational database file formats to be easily adapted into the system, and models caneasily read their required data from database tables to generate problem solutions. Theresults of model calculation can be saved into an existing or a new database file which canbe subsequently accessed by other system components and software products for spatialdisplay and further analysis. Such a structure will greatly promote the development of`system infrastructure' in which a number of systems can be easily communicated andtheir functions can be mutually enhanced and extended.

The main objective of the proposed system is to increase the flexibility of PSS by acomponent model-management approach with a knowledge-based model-managementsystem that will help planners and system developers find suitable models for solvingtheir problems. If the models are not available, users can build their own modelcomponents using the system and add them to the model library and the KBS system.However, constructing models out of components requires analytic expertise thatplanners may not have. The development of new model components in the modellibrary may need the assistance of experienced computer programmers.

The development of KBPSS adopts the component-based approach and uses GISboth as a modelling and as an information-processing and presentation component. This`integrated modeling with GIS' can be considered an alternative to the conventional`modeling within GIS' approach. Models in KBPSS are not programmed within theGIS component, but a function-specific model-management component (ModelObjects).This enables system developers and users to construct a variety of models and modelobjects based on the data structure and model representation and programming proce-dures in ModelObjects. One of the important implications is that a multifunctionalmodel library can be created which may store a number of model `building blocks'.These modeling blocks can thus be reused to construct new flexible models for differentproblems, and one model component can be shared by different domain models.We hopesuch a model library can be better structured and the model-management approach canbe adopted by other systems, such as GIS and SDSS to improve their modeling anddecision-support capabilities.

Acknowledgements.We would like to thank the anonymous referees for their very helpful commentsand suggestions for improving the earlier version of the paper.

534 A G O Yeh, J Qiao

Page 19: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

ReferencesArentze TA, Borgers AW J, Timmermans H J P, 1996, ` Design of a view-based DSS for location

planning'' International Journal of Geographical Information Systems 10 219 ^ 236Batty M,1995, ` Planning support systems and the new logic of computation''Regional Development

Dialogue 16(1) 1 ^ 17Batty M, Densham P, 1996, ` Decision support, GIS and urban planning'' SistemaTerra 5(1) 72 ^ 76Batty M, Xie Y, 1994a, ` Modeling inside GIS: part 1. Model structures, exploratory spatial data

analysis and aggregation'' International Journal of Geographical Information Systems 8 291 ^ 307Batty M, Xie Y, 1994b, ` Modeling inside GIS: part 2. Selecting and calibrating urban models

using ARC/INFO'' International Journal of Geographical Information Systems 8 451 ^ 470Bennett D A, 1997, `A framework for the integration of geographical information systems and

modelbase management'' International Journal of Geographical Information Science 11337 ^ 357Birkin M, Clarke G, Clarke M,Wilson AG, 1996 Intelligent GIS: Location Decisions and Strategic

Planning (GeoInformation International, Cambridge)Brail R K, Klosterman R E (Eds), 2001Planning Support Systems: Integrating Geographic

Information Systems, Models, and Visualization Tools (ESRI Press, Redlands, CA)Brail R K,Wiggins L L, 1999, ` Using GIS in urban planning analysis'', in Proceedings of the 6th

InternationalConferenceofComputers inUrbanPlanningandUrbanManagement (CUPUM'99)(CD-ROM) Ed. P Rizzi, StratemaöLaboratory on Simulation, IUAV/DAEST,Venice

Brown AW,Wallnau K C, 1996, ` Engineering of component-based systems'', in Component-based Software Engineering: Selected Papers from the Software Engineering Institute (IEEEComputer Society Press, Los Alamitos, CA) pp 7 ^ 15

Church R L, 1999, ` Location modelling and GIS'', in Geographical Information Systems: Principles,Techniques, Applications andManagementEds P Longley,M Goodchild, D Maguire, D Rhind(JohnWiley, NewYork) pp 293 ^ 303

Clements P C, 1996, ``From subroutines to subsystems: component-based software development'',in Component-based Software Engineering: Selected Papers from the Software EngineeringInstitute (IEEE Computer Society Press, Los Alamitos, CA) pp 3 ^ 6

Densham P J, 1991, ` Spatial decision support systems'', in Geographical Information Systems:Principles and Applications,Volume 1 Eds D J Maguire, M F Goodchild, D W Rhind(Longman, Harlow, Essex) pp 403 ^ 412

Ding Y, Fotheringham A S, 1992, ` The integration of spatial analysis and GIS'' Computers,Environment and Urban Systems 16 3 ^ 19

Edamura T, Tsuchida T, 1999, ` Planning support system for an urban environment improvementproject'' Environment and Planning B: Planning and Design 26 381 ^ 391

ESRI Inc., 1999, ` MapObjects'', http://www.esri.com/software/mapobjects/index.htmlGeertman S, Stillwell J (Eds), 2003 Planning Support Systems in Practice (Springer, Berlin)Geertman S C M, van Eck J R, 1995, ` GIS and models of accessibility potential: an application

in planning'' International Journal of Geographical Information Systems 9 67 ^ 80Goodchild M F, Haining R,Wise S et al, 1992, ` Integrating GIS and spatial data analysis: problems

and possibilities'' International Journal of Geographical Information Systems 6 407 ^ 423Han S-Y, Kim T J, Adiguzel I, 1991, ` XPLanner: A knowledge-based decision support system

for facility management and planning'' Environment and Planning B: Planning and Design18 205 ^ 224

Harris B,1989, ` Beyond geographic information systems: computers and the planning professional''Journal of the American Planning Association 55 85 ^ 92

Harris B, Batty M, 1993, ` Locational models, geographical information and planning supportsystems'' Journal of Planning Education and Research 12 184 ^ 198

Hartman R, 1997 Focus on GIS Component Software: Featuring ESRI's MapObjects (OnwordPress, Santa Fe, NM)

Hopkins L D, 1998, ` From sketch planning through commitment: progress toward a planningsupport system for urban development'', in Computers in Urban Planning and UrbanManagement,Volume 2 Eds P K Sikdar, S L Dhingra, K V Krishna Rao (Narosa PublishingHouse, Mumbai) pp 584 ^ 595

Hopkins L D, 1999, ` Structure of a planning support system for urban development'' Environmentand Planning B: Planning and Design 26 333 ^ 343

Jankowski P, 1995, ``Integrating geographical information systems and multiple criteriadecision-making methods'' International Journal of Geographical Information Systems 9251 ^ 273

A knowledge-based planning support system, part 1 535

Page 20: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

Jankowski P, Nyerges T, Smith A, Moore T J, Horvath E, 1997, ` Spatial group choice: a SDSStool for collaborative spatial decision making'' International Journal of GeographicalInformation Sciences 11 577 ^ 602

Jell T,1998ComponentUser's Conference1996:Component-based SoftwareEngineering (CambridgeUniversity Press, NewYork)

Klosterman R E, 1997, ` Planning support systems: a new perspective on computer-aided planning''Journal of Planning Education and Research 17 45 ^ 54

Klosterman R E, 1999, ` TheWhat if ? collaborative planning support system'' Environment andPlanning B: Planning and Design 26 393 ^ 408

Klosterman R E, XieY, 1997, ` Retail impact analysis with loosely coupled GIS and a spreadsheet''International Planning Studies 2 175 ^ 192

Landis J D, 1994, ` The California Urban Futures Model: a new generation of metropolitansimulation models'' Environment and Planning B: Planning and Design 21 399 ^ 420

Landis J D, 1995, ` Imagining land use futures: applying the California urban futures model''Journal of the American Planning Association 61 438 ^ 457

Landis J, Zhang M, 1998a, ``The second generation of the California urban futures model. Part 1:Model logic and theory'' Environment and Planning B: Planning and Design 25 657 ^ 666

Landis J, Zhang M, 1998b, ` The second generation of the California urban futures model.Part 2: Specification and calibration results of the land-use change submodel'' Environmentand Planning B: Planning and Design 25 795 ^ 824

Leung Y, 1997 Intelligent Spatial Decision Support System (Springer, Berlin)Longley P, Batty M, 1996, `Analysis, modelling, forecasting, and GIS technology'', in Spatial

Analysis: Modelling in a GIS Environment Eds P Longley, M Batty (GeoInformationInternational, Cambridge) pp 1 ^ 15

Longley P, Mesev V, 1997, ` Beyond analogue models: space filling and density measurement ofan urban settlement'' Papers in Regional Science 76 409 ^ 427

Longley P A, Goodchild M F, Maguire D J, Rhind DW, 1999, ` Introduction'', in GeographicalInformation Systems,Volume 1 Eds P A Longley, M F Goodchild, D J Maguire, D W Rhind(JohnWiley, NewYork) pp 1 ^ 20

LPA, 1996 Flex Expert System Toolkit (Technical Reference) Logic Programming Associates,London, http://www.lpa.co.uk

Nyerges T L, 1992, `Coupling GIS and spatial analytical models'', in Proceedings of the FifthInternational Symposium on Spatial Data Handling (University of South Carolina, Charleston,SC) pp 534 ^ 543

Pidd M, Eglese R, Silva F N D, 1997, ` CEMPS: a prototype spatial decision support system toaid in planning emergency evacuations'' Transactions in GIS 1 321 ^ 336

Pritchard J, 1999 COMand CORBA Side by Side: Architectures, Strategies, and Implementations(Addison-Wesley, Reading, MA)

Raper J, Livingstone D, 1995, ``Development of a geomorphological spatial model using object-oriented design'' International Journal of Geographical Information Systems 9 359 ^ 383

Rosen M, Curtis R, 1998 Integrating CORBA and COMApplications (JohnWiley, New York)Shi X,Yeh A G O, 1999, ``The integration of case-based systems and GIS in development control''

Environment and Planning B: Planning and Design 26 345 ^ 364Sui D Z, 1998, ` GIS-based urban modelling: practices, problems and prospects'' International

Journal of Geographical Information Science 12 651 ^ 671Szyperski C, 1998 Component Software: Beyond Object-oriented Programming (AddisonWesley,

Harlow, Essex)Szyperski C, Pfister C, 1997, ` Workshop on component-oriented programming: summary'', in

Special Issues in Object-oriented programming-EC00P96Workshop ReaderEds M Muhlhauser(dpunkt Verlag, Heidelberg)

Webster C J, 1993, ` GIS and the scientific inputs to urban planning. Part 1: description''Environment and Planning B: Planning and Design 20 709 ^ 728

Webster C J, 1994, ` GIS and the scientific inputs to planning. Part 2: prediction and prescription''Environment and Planning B: Planning and Design 21 145 ^ 157

Yeh A G O, 1999, ` Urban planning and GIS'', in Geographical Information Systems,Volume 2Eds P A Longley, M F Goodchild, D J Maguire, D W Rhind (JohnWiley, NewYork)pp 877 ^ 888

Yeh A G O, Chow M H, 1996, `An integrated GIS and location-allocation approach to openspace planning'' Computers, Environment and Urban Systems 20 339 ^ 350

536 A G O Yeh, J Qiao

Page 21: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

Yeh A G O, Qiao J, 1999, `An intelligent solution support system for spatial modelling anddecision support'', in Proceedings of the 32nd Hawaii International Conference on SystemScience (HICSS-32), January 5 ^ 8, 1999, Maui, Hawaii (CD-ROM) Institute of Electricaland Electronics Engineers (IEEE), Los Alamitos, CA

Yeh A G O, Qiao J, 2004a, ` Component-based approach in the development of a knowledge-based planning support system. Part 2: the model and knowledge management systems ofKBPSS'' Environment and Planning B: Planning and Design 31 forthcoming

Yeh AG O, Qiao J, 2004b, ` ModelObjectsöa model management component for the developmentof planning support systems'' Computers, Environment and Urban Systems

Zhu X, 1997, `An integrated environment for developing knowledge-based spatial decision supportsystems'' Transactions in GIS 1 285 ^ 300

A knowledge-based planning support system, part 1 537

Page 22: Component-based approach in the development of a knowledge ... · In order to implement these functions, we propose and define a number of procedures and techniques for component

ß 2004 a Pion publication printed in Great Britain