* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download A Review on Expert System and its Applications in Civil Engineering
Collaborative information seeking wikipedia , lookup
Philosophy of artificial intelligence wikipedia , lookup
Embodied cognitive science wikipedia , lookup
Ethics of artificial intelligence wikipedia , lookup
Wizard of Oz experiment wikipedia , lookup
Existential risk from artificial general intelligence wikipedia , lookup
Incomplete Nature wikipedia , lookup
Ecological interface design wikipedia , lookup
Computer Go wikipedia , lookup
Human–computer interaction wikipedia , lookup
Personal knowledge base wikipedia , lookup
International Journal of Civil Engineering and Built Environment Vol.1, No.1, 2014; ISSN 2289-6317 Published by YSI Publisher A Review on Expert System and its Applications in Civil Engineering Muhammad Akram1*, Ismail Abdul Rahman1, Irfana Memon2 Faculty of Civil and Environmental Engineering, University Tun Hussein Onn Malaysia, Malaysia Quaid-e-Awam University of Engineering, Sciences and Technology, Nawabshah, Sindh, Pakistan *Corresponding Author:[email protected] knowledge and inference techniques at the level of a human expert [1]. Expert systems are developed from the study of artificial intelligence (AI), which is a field of computer science and aims of to transfer human brain power into the machines [2]. An expert system is used to extract the information of a human expert within a specific domain and makes this knowledge available to less experienced users through a computer coded program [3]. Abstract Aim of Study This study provides in depth review of expert system and potential benefits achieved with its application in the field of the Civil Engineering. Need of Study Currently, construction projects are facing various chronic problems. One of the reason contributing to these problems is delay in decision making. This leads to need of mechanisms which can enable practitioners in making prompt decision. Hence, expert systems are investigated for seeking opportunities and studying applicability in construction projects to use as a tool for aiding in decision making process. Expert system also known as knowledge based expert system is a computer program that information and experience in a specific area for decision making. The computer program system contains a database which stores a collection of information and rules which describes all the data about the problem domain. Expert system provides high quality experience, domain specific information; apply heuristics, forward or backward reasoning, uncertainty and explanation capability. For information representation techniques, forward and backward chaining rules are used. Expert system is developed to imitate the human experts decision making ability in a particular domain such as construction management or any other field of knowledge where there is a shortage of comprehension engineer or experts and can also give advices and explanations [4]. The knowledge base elicited from the expert by a qualified information engineer using various methods can include systematic interviews. Normally, the expert data field is "fuzzy" in nature and contains a great deal of procedural facts; so the knowledge engineer must be an expert in the process of information elicitation. Expert system represents a way of capturing, coding and reusing of information. Fundamentally, an expert system comprises of some representation of expertise, or a problem to be solved, and some mechanisms to apply the expertise to a problem in the form of rules[5]. Research Approach This study is carried out through reviewing previous studies conducting in addressing the importance and issues of the expert system. It also includes various research works demonstrating the applications of an expert system in different research areas of civil engineering. Research Findings This study highlighted that expert system is very useful approach for benefiting the practitioner in making quick decision. It will be helpful in avoiding waiting times. It can be successfully applied in the areas of civil engineering specifically construction management. Limitations This paper presents a review on expert system with its application. It has focused on four established methods which are Rule based system (RBS), Case based system (CBS), Fuzzy expert system (FS), Neural network (NN). Importance and Contribution This review paper contributes in the field of Civil Engineering in highlighting the usage and advantages of an expert system. II. CHARACTERISTICS OF EXPERT SYSTEM The most significant element in an expert system is the knowledge. The power of an expert system exists in the particular, high-quality knowledge about the task in a specific domain. In expert system knowledge is estranged from its processing for example. The knowledge base and the inference engine are split up. An established program is a combination of knowledge and the control structure to process this knowledge [5]. Expert system consists of a database to apply the data to any particular situation Keywords: Expert system, Expert system applications, Type of Expert system, Expert Systems in Civil Engineering I. INTRODUCTION Expert System is an efficient computer program which provides the solution of problems based on task specific 24 www.zwgm.org International Journal of Civil Engineering and Built Environment which is described to the program based on accumulated experience and set of rules. Expert system can be built by using part of development software known as a ‘tool’ or a ‘shell’. A shell is a complete development environment for building and maintaining knowledge-based applications [6]. Complicated expert systems can be enhanced or upgraded with additions to the database or set of rules. Vol. 1 No. 1, 2014 discussed because it is less rigorous, more experiential and judgmental [6]. B. Inference Engine An inference engine implements the reasoning process of artificial intelligence; which is an analogy to human reasoning [7]. Its role is to work with the available data from the system and the user to derive a solution to the problem. The purpose of an inference engine is to extract information and from the data base for the provision of answers, predictions and suggestions just like a human expert. Backward chaining and forward chaining are the two types of inference engines [8]. In backward chaining, the system first establishes a desired solution and works backwards to find facts that support the solution. Backward chaining is goal-driven; thus it is used when the solution is known. In forward chaining, the system first collects data which is used when the solution is known. Forward chaining is data-driven; therefore it is used when the absolute solution is not known [9]. Following are some of the characteristics of an expert system a. Expert System has vast quantities of domain specific knowledge to the minute details and reduces the search area for a solution by applying heuristics rules. b. Expert system provides the high-quality performance which solves difficult programs in a domain is almost equivalent or better than human experts. c. Explanation capability is a unique feature of an expert system which enables the expert system to review and explain its decisions. d. Problem solving has been carried out by the expert system using symbolic reasoning. Different types of knowledge including facts, concepts and rules, are represented by symbols. e. Expert system can advice, modified, update, expand and deals with doubtful and unrelated data. C. Knowledge Acquisition The knowledge acquisition facility is responsible for providing the knowledge to the database in an expert system [10]. This facility operates an editor for entering the knowledge directly to the expert system. Editing of knowledge can be carried out in two ways: either by the knowledge engineer or expert system itself to generate and modify the file of rules [11]. III. ARCHITECTURE OF EXPERT SYSTEM Expert system consists of following components which are: knowledge base, an inference engine, knowledge acquisition, explanation facility and a graphical user interface. The structure of an expert system is shown below in figure 1. D. Explanation Facility The explanation facility provides a particular solution by showing a path to the user in order to reach a certain conclusion [12]. E. User Interface The user interface manages the dialog between the user and the system. It provides facilities such as menus, graphical interface etc. Thus; it is an intermediary that allows communication between the user and the system. The function of the user interface is to ease the usage of an expert system by developers, users and administrators [13]. F. Knowledge Engineering Figure 1. Knowledge Engineering is the process that builds an expert system. Human resources such as the domain expert, user and knowledge engineer and system maintenance personnel, are involved in developing an expert system. Domain expert has special knowledge, judgment, experience and methods to give advice and solve problems. It provides knowledge about task performance. Knowledge engineer is involved in the development of the Knowledge base, Inference Engine and User Interface. The expert and knowledge engineer should expect user’s need while designing an expert system. Architecture of Expert System A. Knowledge Base A knowledge base is considered as the heart of an expert system; it consists of facts and rules which provides all the knowledge and information about the problem domain. Knowledge base is warehouse of the domain specific knowledge captured from the human expert through knowledge acquisition. The knowledge base of an expert system contains both factual and heuristic knowledge and represents that knowledge in the form of production rules, frames logic etc. Factual knowledge is a widely shared knowledge obtained from text books and journals. Heuristic knowledge is rarely 25 www.zwgm.org International Journal of Civil Engineering and Built Environment Vol. 1 No. 1, 2014 are not able to understand the underline causes and effects in the system. Moreover; the typical expert system is not capable of generalizing their knowledge to reason the new situation. Therefore, lack of fundamental knowledge is a practical limitation of various expert systems. The gathering of human expert knowledge can be time consuming and the output depends mostly on the knowledge engineering. IV. ADVANTAGES OF EXPERT SYSTEM According [14]. Many other traditional forms of software, an expert system offers advantages over human experts such as: Accessibility: The knowledge of numerous human experts can be combined to give a more knowledgeable system as compared to a single person’s knowledge. Expert systems are always available for use when human experts are not readily available. VII. TYPES OF EXPERT SYSTEM Consistency: Expert systems are less likely to contain inaccuracies provided the expert system has good knowledge representation. Inaccuracies or errors can be easily prevented. The different types of expert system are described bellow as: Time constraints: The number of copies of an expert system can be made whereas, the training process of new human expert is time consuming and expensive. The rule-based expert system has domain information encoded in the form of rules from an expert [17] and presents that information in the form of rules, such as IF– THEN. In a rule-based expert system, a knowledge base is usually stored in terms of if-then rules which can be used to reach conclusions. Applications of rule-based systems on expert system are included: state transition analysis, psychiatric treatment, production planning, advisory system, teaching, electronic power planning, automobile process planning, etc [16]. A. Rule Based Expert System (RBES): Stability: It can assist a human expert in problem solving and is more likely to consider all possibilities. Efficiency: An expert system is capable of reviewing all the transactions as compared to a human expert who can only capable reviewing a sample. V. LIMITATIONS OF HUMAN SYSTEM B. Case Based Reasoning (CBR): • Human experts have more limitations over expert systems. Case-Based Reasoning (CBR) is not new to the engineering community. It is Artificial Intelligence (AI) technique to support the capability of reasoning and to learn in advanced decision support systems [18]. The basic idea of CBR is to solve the new problem by adapting the solutions used to solve previous problems. The following four steps summarize the process as given bellow. Figure.2 illustrates the process of how case base reasoning deals with uncertainties [19]. • Human responses react slowly in recalling information stored in memory. • Human gets tired from physical or mental workload. • Humans are not capable of understanding huge amounts of data rapidly. • Human experts are unable to maintain large amounts of data in memory. Retrieve the most similar case(s), with respect to the current input situation, contained in the case repository, which is known as the case base; Despite; the abovementioned limitations, human expert also have an advantage over expert systems. Human experts have common sense but expert systems do not have common sense up till now. Human experts can respond creatively and efficiently to unusual situations as compared to an expert system. Human experts can automatically adapt the changing the environments whereas as, expert systems are required to be unambiguously updated. Expert systems fail to recognize the problems outside the area of their expertise and when no answer exists. For this reason, any output or advice from an expert system must be concluded and tested by a human expert [15]. Reuse them, or more precisely their solutions, in order to solve the new problem; Revise the proposed new solution (if it is considered necessary); Retain the current case for possible future problem solving. VI. LIMITATIONS OF EXPERT SYSTEMS Although; the abovementioned advantages, expert systems have certain limitations that make worse their effectiveness in applying human like decision making methods. Expert systems are knowledge dependent, therefore; they are only as good as the knowledge stored into them. For that reason, the expertise of an expert system is limited to a specific knowledge domain that the system contains [16]. Unlike humans, the expert systems Figure 2. 26 Case Based Reasoning Cycle Process www.zwgm.org International Journal of Civil Engineering and Built Environment Some of the CBR implemented applications are manufacturing process design, knowledge management, power system restoration training, ultrasonic inspection, etc. Vol. 1 No. 1, 2014 VIII. APPLICATION OF EXPERT SYSTEM IN CONSTRUCTION INDUSTRY There exist numerous expert systems applications in the construction industry. Following are some applications of an expert system in the construction industry. C. Fuzzy Expert System A. COMIX The world of information is surrounded by uncertainty and imprecision. The human reasoning process can handle inexact, uncertain, and unclear concepts in an appropriate manner. Usually, the human thinking, reasoning, and perception process cannot be expressed precisely. These types of experiences can rarely be expressed or measured using statistical or probability theory. Fuzzy logic provides a framework to model uncertainty, the human way of thinking, reasoning, and the perception process. Fuzzy systems were first introduced by Zedah (1965) [20]. COMIX is a rule and frame based expert system which provides suggestions on the design of normal weight concrete mixes. The designed system was used by concrete engineers, design engineers, and consultants. COMIX was developed at Central Laboratories in New Zealand. The mix design uses the New Zealand concrete code “Specification for Concrete Construction'. The system refers the type of structure to the consistency and the placement method. The system calculates the amount of cement by suggesting water/cement ratio from a specified strength. Finally the volume of coarse aggregate and sand is calculated. The masses of the components of concrete mix is being displayed by the system [28]. A fuzzy expert system is simply an expert system that uses a collection of fuzzy membership functions and rules, instead of boolean logic, to reason about data [21]. The rules in a fuzzy expert system are usually of a form similar to the following: B. BETVAL If A is low and B is high then X=medium The recommendation on the selection of ready-mix concrete at the job site is provided by rule based expert system known as BETVAL. The main function of the system is to help the construction site staff for selecting the type of fresh concrete ordered from the ready mix concrete plant. Technical Research Center of Finland (VTT) developed the BETVAL expert systems using Insight2+ and an IBM PC/XT or AT computer. BETVAL demonstration system is primarily used as a learning tool, and it enhances the database for BETVAL [29]. Where A and B are input variables, X is an output variable. Here low, high, and medium are fuzzy sets defined on A, B, and X respectively. The antecedent (the rule’s premise) describes to what degree the rule applies, while the rule’s consequent assigns a membership function to each of one or more output variables. Fuzzy expert systems implement some applications such as waste water treatment, online scheduling, performance indexing, computer security, gesture recognition, and medical diagnosis [11, 16, 22]. BETVAL system is based on following areas of knowledge: The appropriate concreting techniques (e.g., curing, heating and heat treatment) and compressive strength class. Concrete consistency value based on the type of structure and the production equipment. Suggestions for selecting the maximum size aggregate. D. Nueral Network Artificial neural network is a form of artificial intelligence, which attempts to simulate the biological structure of human brain and nervous system by means of their architecture [23]. Artificial neural network learn “by example” in which an actual measured data set of input variables and the corresponding outputs are presented to determine the rules that govern the relationship between the variables. This model is used to implement software simulations for the massively parallel processes that involve processing elements interconnected in network architecture. The artificial neuron receives inputs that are analogous to the electrochemical impulses that the dendrites of biological neurons receive from other neurons. The output of the artificial neuron corresponds to signals sent out from a biological neuron over its axon. These artificial signals can be changed similarly to the physical changes occurring at neural synapses [24]. C. BIDEX BIDEX (Bidding Expert) is a rule based expert system which gives suggestions on the design of bid decision. Construction contractors use this expert system for making bid decision [30-31]. It is developed using EXSYS (an expert system shell). The decision making of BIDEX undergoes two stages. First stage is based on the decision whether or not to bid, and the second stage is based on the selection of markup factors. Such as owner, type of job, size of the job, location of job and strength of the firm are important for the bid / no bid decision, although the degree of difficulty, degree of hazard, risk in investment, , uncertainty in the estimate and reliability of sub-contractors are important for the present mark up decision. Some applications applied by neural network are speech synthesis, diagnostic problems, medicine, business and finance, robotic control, signal processing, computer vision, mitigation process control and biomedical application [25-27]. 27 www.zwgm.org International Journal of Civil Engineering and Built Environment Vol. 1 No. 1, 2014 Initially, the system was developed for the Federal Highway Administration and the Illinois Department of Transportation provides continued support for the development of the system. The knowledgeable and experienced pavement engineers provide information to the system for the identification of the type and general causes of deterioration exist in the pavement. Three pavement types are considered by the EXPEAR system: Jointed reinforced concrete pavement (JRCP), Jointed plain concrete pavement (JPCP), and Continuously reinforced concrete pavement (CRCP). EXPEAR is an operational system [33]. D. AMADEUS (Diagnostic and Repair) AMADEUS is a rule-based expert system that is designed for assisting building inspectors during emergency post earthquake damage assessment. AMADEUS is a prototype system; It was tested following an earthquake that occurred in Barrea, Italy. Expert system is expected to be developed further as additional knowledge becomes available. The system records field inspection data and makes recommendations concerning the safety of buildings that have been subjected to earthquake damage. It provides a detailed survey and evaluation of the seismic damage to masonry structures. The system gives recommendations regarding usability, severity of damage and habitability of structures based on qualitative measures of safety of a building under inspection. The expert system attempts to achieve its goal and sub-goals involving the following categories: Geotechnical situation of and around the building, State of the structural system, Hazards due to non-structural elements and Danger inducted on the building by its nonstructural components. The system recommendations are classified as high, uncertain, or low risks. The system is inter-active and uses information provided by the end user to give recommendations. The system improves the questionnaire-type form method and guides the user in reasoning about the situation by focusing on main factors under given conditions, and ignores irrelevant details. End user may inquire why and how questions and input values may be changed during the course of an interactive session. Also, the inspector’s confidence in this response is obtained by using uncertainty factors. AMADEUS is primarily a rule-based system. Knowledge is represented in parameters (input Information), rules, and frames. The system was developed using ‘PcPIus’, a Lisp-based expert system development tool, which runs on a personal computer [32]. G. Pavement Expert Inspectors and Engineers make field observations by assessing the conditions on concrete pavements by using a rule based Pavement Expert system. The proposed system support the decision making to automate the process of observation and pavement rating. This system was developed at United Kingdom (UK). The system is established on the manual Pavement Condition Rating (PCR) index for pavement which considers the incidence, severity, and the extent of the range of distress for each road section. The knowledgebased contained in this system was extracted from the documents for the PCR, as well as some experts in this field. It was developed using expert system shell SAVOIR and written in PASCAL. The highway staff of United Kingdom used this system as an operational prototype system [33]. H. Advisory System for Managers (Planning and Management) The construction site managers and foreman utilize this rule based advisory expert system in daily routine tasks and prior planning. The system is a developmental prototype system that has been implemented for small jobs. The goal this system is to systematize the process of decision making. The system advises on such tasks as supervising incoming and outgoing information, costs, technical problems of the site and future problems. The system uses programs to perform calculations for data intensive tasks, and expert systems to obtain an expert’s experience. The topics covered thus far by the advisory system which includes that; crane disposition, construction crew schedules and concrete plant dimensioning. The system will include a cost model, a resource model and an administrator model and this system runs on a minicomputer [29]. E. Concrete Mix Designer Concrete Mix Designer is a rule-based expert system that is developed to provide knowledge on the testing mix proportion of concrete. Concrete Mix Designer represents information in the form of IF-THEN rules, which are combined together as ‘frames’. Every frame represents a component of the concrete, such as the amount of coarse aggregate, and includes an expert system goal. This system was developed at the University of Miami (Department of Civil, and Architectural Engineering) to serve a tool for engineering student and practicing engineers. The questions and answering capability was provided by Computer programs are written in Visual. The conclusions expert system can be expanded inclement and are easy to understand. The knowledge based expert system provide modularity by interfacing with the computer program [28]. IX. CONCLUSION Expert System is an intelligent computer program which solves the complex problems equivalent to the level of a human expert by using task specific information and inference techniques. This paper summarizes a thoroughly literature review on the methodologies and application of expert systems based on various previously published research articles. It has been concluded that expert system methodologies are tending to build up expertise orientation and applications development is a problem- F. EXPEAR Expert System for Pavement Evaluation and Rehabilitation is a knowledge based system, which is designed as a tool to assist the highway engineers. 28 www.zwgm.org International Journal of Civil Engineering and Built Environment [14] K. Brenkel and K. Makhubele, "A Knowledge-Based System for Medical Advice Provision," 2012. oriented domain. It is recommended that different methodologies such as production planning, advisory system, mitigation process control, biomedical application and human behavior can implement as expert systems. Finally, it has been observed that the capability to change, modify and to attain a new understanding is the backbone of an expert system which can be implemented in a number of applications in future work. [15] Y. Huang, et al., "Development of an expert system for tackling the public's perception to climate-change impacts on petroleum industry," Expert Systems with Applications, vol. 29, pp. 817-829, 2005. [16] S.-H. Liao, "Expert system methodologies and applications—a decade review from 1995 to 2004," Expert Systems with Applications, vol. 28, pp. 93-103, 2005. [17] D.-L. Xu, et al., "Inference and learning methodology of belief-rulebased expert system for pipeline leak detection," Expert Systems with Applications, vol. 32, pp. 103-113, 2007. ACKNOWLEDGMENT This project is funded by Ministry of Higher Education under Fundamental Research Grant Scheme (FRGS). The authors are thankful to Universiti Tun Hussein Onn Malaysia and Ministry of Higher for financial support and providing the necessary infrastructure to carry out research work. [18] R. Lopez De Mantaras, et al., "Retrieval, reuse, revision and retention in case-based reasoning," The Knowledge Engineering Review, vol. 20, pp. 215-240, 2005. [19] A. Aamodt and M. Nygård, "Different roles and mutual dependencies of data, information, and knowledge—an AI perspective on their integration," Data & Knowledge Engineering, vol. 16, pp. 191-222, 1995. REFERENCES [1] N. Bolloju, et [20] L. A. Zadeh, "Fuzzy sets," Information and control, vol. 8, pp. 338353, 1965. al., "A knowledge-based system for improving the consistency between object models and use case narratives," Expert Systems with Applications, vol. 39, pp. 9398-9410, 2012. [2] K. Tripathi, "A Review on Knowledge-based Expert System: Concept and Architecture," Artificial Intelligence Technique 2011. [3] E. Dogantekin, et al., "An intelligent diagnosis system for diabetes on linear discriminant analysis and adaptive network based fuzzy inference system: LDA-ANFIS," Digital Signal Processing, vol. 20, pp. 1248-1255, 2010. [4] W. Shiue, et al., "A frame knowledge system for managing financial decision knowledge," Expert Systems with Applications, vol. 35, pp. 1068-1079, 2008. [5] M. G. Omran, et al., "Self-adaptive differential evolution," in Computational intelligence and security, ed: Springer, 2005, pp. 192-199. [6] [21] Z. Xu, et al., "System regression test planning with a fuzzy expert system," Information Sciences, 2010. [22] E. Carrasco, et al., "Diagnosis of acidification states in an anaerobic wastewater treatment plant using a fuzzy-based expert system," Control Engineering Practice, vol. 12, pp. 59-64, 2004. [23] R. Gupta, et al., "Prediction of concrete strength using neural-expert system," Journal of materials in civil engineering, vol. 18, pp. 462466, 2006. [24] B. Pradhan, et al., "A GIS-based back-propagation neural network model and its cross-application and validation for landslide susceptibility analyses," Computers, Environment and Urban Systems, vol. 34, pp. 216-235, 2010. [25] H. Takagi, "Introduction to fuzzy systems, neural networks, and genetic algorithms," in Intelligent Hybrid Systems, ed: Springer, 1997, pp. 3-33. W. Shen, et al., "Systems integration and collaboration in architecture, engineering, construction, and facilities management: A review," Advanced Engineering Informatics, vol. 24, pp. 196207, 2010. [7] B. N. Prasad, et al., "An expert system for diagnosis and therapy in lung transplantation," Computers in biology and medicine, vol. 26, pp. 477-488, 1996. [8] S. L. Kendal and M. Creen, An introduction to knowledge engineering: Springer, 2007. [9] A. R. Khan, et al., "Knowledge-Based system‟ s modeling for software process model selection," International Journal, 2011. Vol. 1 No. 1, 2014 [26] L. O. Chua and L. Yang, "Cellular neural networks: Applications," Circuits and Systems, IEEE Transactions on, vol. 35, pp. 12731290, 1988. [27] L. Fu, "A neural-network model for learning domain rules based on its activation function characteristics," Neural Networks, IEEE Transactions on, vol. 9, pp. 787-795, 1998. [28] M. Abdullahi, et al., "A review on expert systems for concrete mix design," ICCBT. A (21), pp. 231-238, 2008. [29] L. J. Kaetzel and J. R. Clifton, "Expert/knowledge based systems for materials in the construction industry: State-of-the-art report," Materials and Structures, vol. 28, pp. 160-174, 1995. [10] L. Ooshaksaraie, et al., "RP< sup> 3</sup> CA: An expert system applied in stormwater management plan for construction sites in Malaysia," Expert Systems with Applications, vol. 39, pp. 36923701, 2012. [30] I. Minkarah and I. Ahmad, "Expert systems as construction management tools," Journal of Management in Engineering, vol. 5, pp. 155-163, 1989. [11] F. N. Raza, "Artificial intelligence techniques in software engineering (AITSE)," in International MultiConference of Engineers and Computer Scientists (IMECS 2009), 2009. [31] E. A. Saoud, "Expert Systems for Management Training in the Construction Industry," 1996. [32] A. Berrais and A. Watson, "Expert systems for seismic engineering: the state-of-the-art," Engineering Structures, vol. 15, pp. 146-154, 1993. [12] R. M. Reffat and E. L. Harkness, "Expert system for environmental quality evaluation," Journal of performance of constructed facilities, vol. 15, pp. 109-114, 2001. [33] N. Ismail, et al., "An overview of expert systems in pavement management," European Journal of Scientific Research, vol. 30, pp. 99-111, 2009. [13] M. Daniel, et al., "CADIAG-2 and MYCIN-like systems," Artificial Intelligence in Medicine, vol. 9, pp. 241-259, 1997. 29