Navid Akar

Hossein Lotfizadeh

A New Integrated FQFD Approach for Improving Quality and Reliability of Solar Drying Systems

Keywords: Solar Energy Drying System, Saffron, Analytical Hierarchy Process (AHP), Fuzzy Quality Function Deployment (FQFD)

Saffron is the most expensive spice and is significantly valuable in non-oil export. Drying process of saffron is considered as a critical control point with major effects on quality and safety parameters. A suitable drying method covering standards and market requirements while it is costlty benefitial and saves energy is desirable. Solar drying could be introduced as an appropriate procedure in rural and collecting sites of saffron since major micorobial and chemical factors of saffron can be preserved and achieved by using a renewable energy source. So, a precise system taking advantage of management, engineering and food technology sciences could be developed. Since there was no published record of integrated methods of Analytical Hierarchy Process (AHP) and Fuzzy Quality Function Deployment (FQFD) applied to solar energy drying systems, in this paper, Fuzzy Quality Function Deployment as a quality management tool by emphasizing technical and customer requirements has been implemented in order to improve quality parameters, optimizing technological expenses and market expansion strategy. Subsequently, Analytical Hierarchy Process based on survey from customers and logical pair-wise comparison are employed to decrease costs and increase the efficiency and the effectiveness of economic indicators. Using the integrated approach of AHP and FQFD in solar drying systems in saffron industry will result in cost benefit, quality improvement, the customer satisfaction enhancement, and the increase in saffron exports.

Introduction

Saffron spice is dehydrated by stigmas of Crocus sativus L. and is the most expensive spice. Inappropriate post-harvest processes such as poor drying process will result in reduced quality parameters. During the long periods of traditional drying enzymatic activity will be high and microbial pollution occurs [START_REF] Campo | Effects of mild temperature conditions during dehydration procedures on saffron quality parameters[END_REF][START_REF] Carmona | Identification of the flavonoid fraction in saffron spice by LC/DAD/MS/MS: Comparative study of samples from different geographical origins[END_REF]. Dehydration affects the content of compounds responsible for color, taste and aroma of saffron and also its microbial profile [START_REF] Campo | Effects of mild temperature conditions during dehydration procedures on saffron quality parameters[END_REF][START_REF] Gregory | Effect of drying temperature and air flow on the production and retention of secondary metabolites in saffron[END_REF]. Not suitable drying may lead to scabbing, hardening of the surface, wrinkling, decline in rehydration ability, browning, surface burning and decreases in flavor and odor [START_REF] Caballero | HPLC quantification of major active components from 11 different saffron (Crocus sativus L.) sources[END_REF].

Agricultural yields are usually more than the immediate consumption needs, resulting in wastage of food surpluses during the short harvest periods and scarcity during post-harvest period [START_REF] Ekechukwu | Experimental studies of integral type natural circulation solar energy tropical crop dryers[END_REF]. Therefore, a reduction in the post-harvest losses of food products should have a considerable effect on the economy of these countries [START_REF] Sodha | Solar Crop Drying[END_REF]. More than 80% of food is being produced by small farmers in developing countries [START_REF] Muhlbauer | Present status of solar crop drying[END_REF]. These farmers dry food products by natural sun drying, an advantage being that solar energy is available free of cost, but there are several disadvantages which are responsible for degradation and poor quality of the end product. Experiments carried out in various countries have clearly shown that solar dryers can be effectively used for drying agricultural produce. It is a question of adopting it and designing the right type of solar dryer [START_REF] Pangavhane | Review of research and development work on solar dryers for grape drying[END_REF][START_REF] Rabha | Experimental investigation of thin layer drying kinetics of ghost chilli pepper (Capsicum Chinense Jacq.) dried in a forced convection solar tunnel dryer[END_REF]. Drying of agricultural produce permits; [START_REF] Campo | Effects of mild temperature conditions during dehydration procedures on saffron quality parameters[END_REF] early harvest; (2) planning of the harvest season; (3) long-term storage without deterioration; (4) taking advantage of a higher price a few months after harvest; (5) maintenance of the availability of seeds; and (6) selling a better quality product.

Renewable energy in terms of solar [START_REF] Rabha | Experimental investigation of thin layer drying kinetics of ghost chilli pepper (Capsicum Chinense Jacq.) dried in a forced convection solar tunnel dryer[END_REF], wind [START_REF] Acuña | Measuring reliability of hybrid photovoltaic-wind energy systems: A new indicator[END_REF], and geothermal energy [START_REF] Feili | Risk analysis of geothermal power plants using Failure Modes and Effects Analysis (FMEA) technique[END_REF] have been used in this industry especially in renewable based drying systems over the few decades. It is interesting to note that a large variety of drying systems that are available in the world are based on solar systems and in general, solar drying systems could be designed in direct (DSD) or indirect (ISD) types. In the former, product chamber through a clear cover receives sunlight and temperature directly. Increasing of temperature, moisture exhaust and exit by air flow will take place. In the latter system, sunlight collecting sheet, blower pump, drying chamber, side heating system and energy saving system are implemented. Parameters in designing such systems could be defined as relative moisture, the temperature of the drier, air flow rate, environment moisture and temperature, length and width of air tunnel, space and kind of trays and initial and final moisture of the product. Sun light is stored in solar collectors and then warm air flow is pumped to product chamber [START_REF] Vlachos | Design and testing of a new solar tray dryer[END_REF][START_REF] Sama | Design and development of saffron (Crocus sativus L) processing equipment[END_REF][START_REF] Jose | Postharvest processing of spices in relation to export quality[END_REF]. Drying a product over "critical moisture content" will defect significantly, however insufficient procedure will result in microbial and chemical spoilage [START_REF] Raina | Changes in pigments and volatile of saffron (Crocus sativus L) during processing and storage[END_REF]. There are a lot of researches made on drying foods as an efficient system of utilizing solar energy. Sharma et al. [START_REF] Vk | Experimental investigation of different solar driers suitable for fruits and vegetable drying[END_REF] reported solar drying of tomatoes, chilies and mushrooms. Sethi and Arora [START_REF] Sethi | Improvement in greenhouse solar drying using inclined north wall reflection[END_REF] improved a conventional greenhouse solar dryer of 6 m2 ×4 m2 floor area (east-west orientation) for faster drying using inclined north wall reflection (INWR) under natural as well as forced convection mode. Similar temperature behavior for drying different crops in the greenhouse drying was also presented by Jain and Tiwari [START_REF] Jain | Effect of greenhouse on crop drying under natural and forced convection : evaluation of convective mass transfer coefficient[END_REF]. A fiber reinforced plastic (FRP) hybrid solar drying house was effectively used for brown rice drying by Rachmat et al. [START_REF] Rachmat | Experimental performance of an FRP solar drying house[END_REF]. Feasibility studies of a solar chimney to dry agricultural products were also performed by Ferreira et al. [START_REF] Ferreira | Technical feasibility assessment of a solar chimney for food drying[END_REF]. Sreekumar [START_REF] Sreekumar | Techno economic analysis of a roof integrated solar air heating system for drying fruit and vegetables[END_REF] investigated the performance of a roof-integrated solar air heating system for drying fruit and vegetables in detail by three methods namely annualized cost, present worth of annual savings, and present worth of cumulative savings. A solar tunnel dryer was used for drying grapes by Muhlbauer [START_REF] Muhlbauer | Drying Of Agricultural Products with Solar Energy In Towardo, practical applications of solar energy in rural areas[END_REF]. It was reported that the dryer produced high quality dried grapes up to the desired moisture content level. Sreekumar et al. [START_REF] Sreekumar | Performance of indirect solar cabinet dryer[END_REF] developed a new type of efficient forced convection indirect solar dryer, particularly meant for drying vegetables and fruit. In this dryer, the product was loaded beneath the absorber plate, which prevented the problem of discoloration due to irradiation by direct sunlight. Sopian et al. [START_REF] Sopian | Performance of a double pass photovoltaic thermal solar collector suitable for solar drying systems[END_REF] developed and tested a double pass photovoltaic thermal solar collector suitable for solar drying applications. Comparisons were made between the experimental and theoretical results and close agreement between these two values were obtained. Singh and Kumar [START_REF] Singh | Development of convective heat transfer correlations for common designs of solar dryer[END_REF] presented convective heat transfer correlations in terms of dimensionless numbers for various common designs of solar dryer operated in different modes of air circulation. El-Beltagy et al. [START_REF] El-Beltagy | Solar drying characteristics of strawberry[END_REF] studied Solar drying characteristics of different shapes of strawberry. The best fit of the thin layer drying of strawberry was obtained by exponential equation or Newton model which fitted very well the experimental data at various shapes of strawberry indicated by high value of coefficient correlation (r) in the range of 0.97-0.98. Akhondi et al. [START_REF] Akhondi | Determination of a suitable thin layer drying curve model for saffron (Crocus sativus L) stigmas in an infrared dryer[END_REF] investigated the drying of saffron stigma in a laboratory infrared dryer. The influence of temperature on the drying rate of samples at various temperatures (60, 70 . . . 110 °C) was studied. The drying time decreased with an increase in drying air temperature. According to results, the Midilli and Kucuk model adequately described the drying behavior of saffron stigmas at a controlled temperature range 60-110 °C in an infrared dryer.

Many types of solar dryers have been developed during the last two decades [START_REF] Bala | Solar drying of pineapple using solar tunnel drier[END_REF][START_REF] Schirmer | Experimental investigation of the performance of the solar tunnel dryer for drying bananas[END_REF][START_REF] Soponronnarit | Performance of a solar banana dryer[END_REF][START_REF] Sudha | Solar Crop Drying[END_REF][START_REF] Boon-Long | Solar assisted tobacco curing in Proceedings of the regional seminar on solar drying[END_REF][START_REF] Wibulsawas | Comparative performance of a solar cabinet dryer in Proceeding of a workshop on fuel and power[END_REF][START_REF] Exell | A low cost solar rice dryer[END_REF]; however the applications of these dryers are still limited, mainly due to their unreliable performance and high investment cost relative to a production capacity [START_REF] Janjai | Experimental and modeling performances of a roof-integrated solar drying system for drying herbs and spices[END_REF]. Although Mamlook has used applied fuzzy sets programing to perform evaluation of solar systems in Jordan [START_REF] Mamlook | Fuzzy sets programming to perform evaluation of solar systems in Jordan[END_REF], there was no significant attempt to use integrated approach of AHP and FQFD in solar technology, specifically in solar drying systems for saffron. Thus, the aim of this study is to employ this integrated method to an indirect solar dryer used for saffron to enhance consumer satisfaction. AHP technique which is expanded by Saaty [START_REF] Saaty | The Analytic Hierarchy Process, Priority Setting, Resources Allocation[END_REF] considers a complex system into hierarchical system of elements. It has been used in enormous researches [START_REF] Sharma | Analytic hierarchy process to assess and optimize distribution network[END_REF][START_REF] Tuzmen | A multi-criteria factor evaluation model for gas station site selection[END_REF][START_REF] Feili | Development of Solar Drying Systems in Saffron Industry Using FAHP & FQFD[END_REF][START_REF] Chan | Global supplier development considering risk factors using fuzzy extended AHP-based approach[END_REF][START_REF] Gorener | Application of Combined SWOT and AHP: A Case Study for a Manufacturing Firm[END_REF][START_REF] Chan | An AHP model for selection of suppliers in the fast changing fashion market[END_REF][START_REF] Pazek | A Multi-Criteria Decision Analysis Framework Tool for the Selection of Farm Business Models on Organic Mountain Farms[END_REF] for making decision about multi-criteria factors which considers problems in a real situation. In reality, by applying AHP, pair-wise comparisons are made of the elements of each hierarchy by means of a normal value.

Applied QFD technique in this paper which is based on House of Quality (HOQ), includues CRs and TRs in the area of solar drying systems for saffron in order to find priority of TRs. Moreover, CRs represent customer requirements and appear as ''whats'' in the HOQ, while TRs are listed as ''hows''. Due to the need of prioritizing CRs by AHP to obtain CRs' priority weight in the process of HOQ, AHP-Fuzzy-QFD as the useful developed method has been utilized to achieve the better status of design and customer satisfaction of solar drying systems for saffron. It is worth mentioning that Fuzzy logic [START_REF] Zaddeh | Fuzzy sets[END_REF] has been also employed to deal with linguistic judgments expressing the relative importance of CRs as well as the relationships and correlations required in the HOQ.

Review of the Literature 1.1. Solar Drying System

In this paper, an indirect solar dryer was used for the purpose of this study as shown in Fig. 1. Climatic conditions such as temperature, humidity and solar intensity and nature of the product were some major factors in designing. Multi shelf cabinet dryer was coupled with flat plate solar air heater for air heating. An air collector with air inlet was considered to collect and store the thermal energy of sunlight. Hot air is supplied through related pipe at the bottom of drying chamber and air moved upward through wire mesh of the shelves by a fan; therefore, the system operates as a forced convection system since well designed forced-convection distributed solar dryers are more effective and more controllable than natural-circulation types. The fan used for the system was a photovoltaic DC-fan. This led into having a warm air flow with a controllable temperature by a heat exchanger. The air flow reached to product chamber containing food drying trays and contact with the product. Finally, the air was exhausted from above the chamber. The dried sample was instantly transferred to laboratory for microbial and chemical tests. The solar dryer was also settled just near to laboratory towards sunlight and wind in summer season with acceptable sunlight during the day.

AHP Method

The Analytic hierarchy process (AHP) developed by Thomas Saaty in the early 1970s is a multi-criteria decision making technique that can facilitate the decision operation by analyzing an intricate problem into a multi-level hierarchical structure of objective, criteria and alternatives [START_REF] Sharma | Analytic hierarchy process to assess and optimize distribution network[END_REF][START_REF] Feili | Development of Solar Drying Systems in Saffron Industry Using FAHP & FQFD[END_REF]. AHP performs pairwise evaluations to infer relative importance of the variable in each level of the hierarchy and analyzes the alternatives in the lowest level of the hierarchy in order to make the best decision among alternatives. This technique is an effective decision making method especially when subjectivity exists and it is very suitable to solve problems where the decision criteria can be organized [START_REF] Tuzmen | A multi-criteria factor evaluation model for gas station site selection[END_REF][START_REF] Gorener | Application of Combined SWOT and AHP: A Case Study for a Manufacturing Firm[END_REF]. It is also used to distinguish relative priorities on absolute scales in multi-level hierarchic structures [START_REF] Saaty | Decision Making with the Analytic Network Process[END_REF] (Table 1). AHP is employed in many researches, specifically in energy alternatives [START_REF] Erol | An energy source policy assessment using analytical hierarchy process[END_REF][START_REF] Nixon | Which is the best solar thermal collection technology for electricity generation in north-west India? Evaluation of options using the analytical hierarchy process[END_REF][START_REF] Aras | Multi-criteria selection for a wind observation station location using analytic hierarchy process[END_REF]. Furthermore, the proposed AHP-Fuzzy-QFD is a developed technique for determining the best criterion with respect to goal and has been used in some findings [START_REF] Kahraman | A fuzzy optimization model for QFD planning process using analytic network approach[END_REF][START_REF] Bevilacqua | A fuzzy-QFD approach to supplier selection[END_REF]. Thus, in this paper, AHP as a convenient technique is employed to prioritize CRs by their priority weights in order to find important TRs in the process of fuzzy HOQ. Consequently, all of the CRs that existed in solar drying system for saffron have been considered for a hierarchical framework as a criterion to be comprised of a pairwise evaluation.

Table 1

Judgement scores in AHP [START_REF] Bhushan | Strategic Decision Making: Applying the Analytic Hierarchy Process[END_REF] Option Numerical value(s) Equal 1

Marginally strong 3

Strong 5

Very strong 7

Extremely strong 9

Intermediate values to reflect inputs 2,4,6,8

Reflecting dominance of second alternatives compared with the first Reciprocals

FQFD Method

Quality function deployment (QFD) is a method to translate the customer requirements into design quality, to deploy the functions forming quality, and to employ methods for achieving the design quality aimed at satisfying the customer into subsystems and component parts, and ultimately to specific elements of the manufacturing process [START_REF] Akao | An Introduction to Quality Function Deployment; Quality Function Deployment (QFD): Integrating Customer Requirements Into Product Design[END_REF][START_REF] Luu | Quality improvement of apartment projects using fuzzy-QFD approach: A case study in Vietnam[END_REF]. This method was applied in 1972 in Japan for the first time as an appropriate approach to improve products quality in Japanese firms, such as Mitsubishi, Toyota, and their suppliers [START_REF] Hauser | The house of quality[END_REF]. QFD is broadly used as an expanded quality method to satisfy customer requirements in products design of many industries recently [START_REF] Lee | Automated stochastic quality function deployment system for measuring the quality performance of design/build contractors[END_REF][START_REF] Akar | Using Fuzzy Quality Function Deployment in Improving Reliabality of Wind Power Systems[END_REF][START_REF] Dikmen | Strategic use of quality function deployment (QFD) in the construction industry[END_REF]. In QFD most of the input variables are supposed to be precise and are considered as numerical data. However, QFD as a concept and mechanism for translating the voice of the customer into products attributes through various of product planning, engineering, processing, and production are required linguistic data to be inherently vague and ambiguity [START_REF] Kahraman | A fuzzy optimization model for QFD planning process using analytic network approach[END_REF][START_REF] Bevilacqua | Development and test of a new fuzzy-QFD approach for characterizing customers rating of extra virgin olive oil[END_REF]. Furthermore, relationships between CRs and TRs are typically imprecise and vague which is difficult to indentify them; as a result, linguistic data can be used for helping fuzzy set theory. In reality, fuzzy set theory suggests a mathematically precise way of modeling vague preferences, such as weighting performance scores on various criteria [START_REF] Facchinetti | Note on ranking fuzzy triangular Numbers[END_REF][START_REF] Wang | Fuzzy-QFD approach based decision support model for licensor selection[END_REF]. It permits consideration of the different meanings that may be given to the same lingustics expression [START_REF] Dohnal | Fuzzy food engineering[END_REF]. That is why this fuzzy approach has been used in several findings especifically solar systems industry.

Special attention of various subjective assessments in HOQ process is paid in 2005 by Chan and Wue for capturing the vagueness in peoples' linguistic assessments [START_REF] Chan | A systematic approach to quality function deployment with a full illustrative example[END_REF]. Many studies have been released by using QFD approach based on fuzzy logic to address the issue of how to deploy HOQ to improve the logistic process in various industry efficiently and effectively [START_REF] Bottani | Strategic management of logistics service: A fuzzy-QFD approach[END_REF][START_REF] Yanga | A fuzzy quality function deployment system for buildable design decision-makings[END_REF]. Although there is the need to link CRs and TRs with HOQ process, there is no published paper in which the authors have utilized fuzzy-QFD to enrich the design quality of producing solar drying systems in saffron industry. In the present approach, CRs and TRs in HOQ of QFD methodology are linked to recognize the most crucial technical requirements that are vital to concentrate on customer satisfaction, and optimizing the design of solar drying systems in saffron industry.

AHP-Fuzzy-QFD Procedure for Solar Drying Systems of Saffron 2.1. Method of collecting data

In order to collect the data, analyze and evaluate the scientific information, customer surveys and interviewed experts in the area of energy, mechanical and food engineering have been considered in this article. In reality, two types of questionaires have been utilized in this case, one for computing priority weights of customer requirements in AHP which was perfomed by customers and another for determining the relationships between CRs and TRs and the correlation between TRs in HOQ which was done by related experts. We have sent out these two distinct types of questionaires for the purpose of doing a survey of both customers and related experts efficiently as many as possible. Theorotically, the more effective experts' opinion and customers are, the more coherent and reliable the evaluation of crucial TRs in solar drying systems of saffron will be; as a result, we repeated this process for several times to reduce bias in the data and bias of one person or one voice. To facilitate the process of pair-wise comparision obtained from the survey, we designed out questionaires with liguistic variables for both customers and experts to do the pair-wise comparison in the most adequate way. Accordingly, experts and costumers responses were summerized and the further comments were elicited. Consequently, two discrete deeds were applied. 1. Entering results of the customers' survey in Expert Choice Software in order to find priority weights of customer requirements in AHP method. 2. Transforming the linquistic variables of a survey of experts to the form of fuzzy triangular numbers and analazying them in HOQ. The transforming rules from the lingustic variables to the triangular fuzzy numbers are shown in Tables 3 and4.

AHP-Fuzzy-QFD Framework

The main framework of applying integrated AHP and FQFD approach to solar drying systems in saffron industry is shown in Fig. 2. Also, the fuzzy HOQ and its specific structure is illustrated in Fig. 3.

Identify CRs and TRs of the solar drying system in saffron industry

Basically, a great success of solar drying systems for saffron in a competitive market depends of course on identifying the customer requirements and providing their needs. By studying CRs and TRs gathered from the survey in the area of solar drying systems in saffron industry, fundamental requirements are considered to apply AHP-Fuzzy-QFD methodology to real cases. In actuality, CRs are defined as factors which present the underlying principles of initial steps for proceeding satisfaction of solar drying system of saffron consumers.

Accordingly, TRs are crucial features of various technologies to successfully increase customers' satisfaction. CRs present a list of customer requirements and TRs are identified in order to achieve the CRs represented in Table 2.

Prioritize CRs by AHP to obtain CRs' priority weight (wi)

In this step, after determining CRs, their priority weights were calculated by using Expert Choice 9.5 Software [START_REF]Expert Choice Software <http[END_REF]. Expert Choice as a decision-making software which is based on multi-criteria decision making, implements the AHP method efficiently [START_REF] Satay | The Analytic Hierarchy Process[END_REF]. Moreover, it has been used in fields such as manufacturing, [START_REF] Chan | An AHP model for selection of suppliers in the fast changing fashion market[END_REF] environmental management [START_REF] Najafi | Analysis of the Environmental Projects Risk Management Success Using Analytical Network Process Approach[END_REF][START_REF] Yatsalo | Application of Multicriteria Decision Analysis Tools to Two Contaminated Sediment Case Studies[END_REF] and agriculture [START_REF] Pazek | A Multi-Criteria Decision Analysis Framework Tool for the Selection of Farm Business Models on Organic Mountain Farms[END_REF]. For this aim, the pairwise evaluations were prepared to analyze fourteen CRs by nine scales with respect to experimental criterions such as cost, services, and improving product quality. Finally, the obtained priority weights are considered in HOQ to extract important TRs.

Determining the relationships between CRs and TRs, and the correlation

between TRs Due to the need of a translation of imprecise and vague linguistic terms of relative importance of CRs, relationships, and correlation matrices to numerical values, fuzzy logic is utilized. In this step, the degree of relationship between TRs was then expressed by Triangle Fuzzy Numbers (TFNs) in the fuzzy HOQ. Both of these correspondences are presented in Tables 3 and4.

As it is observed on Fig. 4, TFNs are considered which are denoted as a triplet (a, b, c) and non-fuzzy number [START_REF] Chamodrakas | Customer evaluation for order acceptance using a novel class of fuzzy methods based on TOPSIS[END_REF][START_REF] Zimmermann | Fuzzy Set Theory and its Applications[END_REF]:

(1) (2) Fuzzy multiplication:

(3) (4) Fuzzy and natural number multiplication:

(5)

Analyzing the output data

According to the output of Fig. 5, TRs with high crisp values indicate that they can be usefully employed to enhance relevant CRs. Therefore, the priority of TRs must be considered for developing solar drying systems for saffron. Moreover, the analyzed output of AHP-Fuzzy-QFD process gives histograms recognizing priority of TRs in Fig. 6.

Fig. 6. Priority of TRs depending on crisp values

The drying behavior of agricultural crops during solar drying depends on different weather conditions including air temperature and humidity, air flow rate, and air velocity. As it can be seen in Fig. 6, after the rate of complete gasket and no influence on air pollution (1.22), the rate of air flow rate and velocity, air temperature and humidity, and photovoltaic cell as the power source of the fan (s) are virtually the same (1.18). The higher temperature, movement of the air, and lower humidity, increases the rate of drying process. If energy savings are considered, the best way to change the air flow rate of a fan is to vary the speed of rotation. To improve TRs shown on Fig. 6, there are different ways in accordance with the advancement of technology. Some of the solutions are noted in this paper. It is obvious that materials are really indispensable for having a complete gasket which has the highest rate of TRs depicted in Fig. 6 and heat transfer enhancement. For instance, using nanocoating can be a useful method to enhance heat transfer in absorber coating which can have a positive effect on the drying process. Also, suitable materials used for the cabinet dryer, air duct, heat insulation, air collector and trays are really important to increase the solar dryer efficiency. Solar dryers can be constructed from locally available and low cost materials by considering different elements related to the rate of drying. Therefore, it should be noted that materials used in solar dryers play a crucial role in drying behavior. Besides, since photovoltaic cell is utilized as the power source of the fan, a suitable photovoltaic cell should be considered to convert the energy in light into electrical energy through the process of photovoltaic. There are many types of solar cell technologies which are in development, but some of them are most commonly used such as crystalline silicon, thin films concentrators, and thermo-photovoltaic solar cell technologies. The effect of the photovoltaic cell on the drying process as a useful factor should not be neglected.

Conclusion

It is clear that drying process has major effects on the microbial profile and also the content of chemical compounds effective in color, taste and aroma of saffron. Moreover, solar energy as an unlimited renewable energy is a natural resource which has the minorest effects on microbial profile of saffron while drying process. Since, no specific published record of using integrated approach of AHP and fuzzy-QFD applied to solar drying systems for saffron have been found already, in this research, by linking CRs and TRs in fuzzy HOQ of mentioned systems we achieved the priority of TRs which should be considered in the process of design to enhance quality level of solar drying systems in saffron.

According to findings of the current study, signficance of each technical requirement by prioritizing them, has been presented in Fig. 5. The most important customer requirements such as organoleptic properties and hyigen with the weights of 0.244 and 0.205 are achieved respectively. Similarly, extracted TRs depending on crisp value from fuzzy HOQ have been depicted in Fig. 6 to present the highest priority of different TRs which allow designers to focus on them in order to increase customers satisfaction. Accordingly, the most crucial TR is the complete gasket and no influence on air pollution and dust with crisp value 1.227. Similarly, the lowest priority of TRs refer to material of the trays and their distances with crisp value 0.421. Consequently, technical suggestions for TRs developing quality and customer satisfaction of solar drying systems in saffron industry have been presented.

In this paper, using the inegrated AHP and FQFD approach indicates some advantages such as; Economical method of drying, development and employment in rural and remote areas, the development of environmentally compatible methods, intensifying the level of competitive price of saffron in global market, and developing methods of using renewable energy systems in other areas of agricultural and horticultural industries.

Fig. 1 .

 1 Fig. 1. Schematic of the indirect solar dryer used for saffron

Fig. 2 .Fig. 3 .Fig. 3 .

 233 Fig. 2. Schematic representation of the algorithm

  importance of TR (RIj) Priority weights of TRs (RIj * ) Normalized RIj * (NRRIj * ) Ranking of TR (Crisp values)

Fig. 4 .

 4 Triangle fuzzy number (TFN) If M= (a1, b1, c1) and N= (a2, b2, c2) symbolize two Triangle Fuzzy Numbers, then the required fuzzy calculations are executed below [73]: Fuzzy addition:

2. 2 . 4 . 8 )Fig. 5 .

 2485 Fig. 5. Fuzzy-HOQ for solar drying systems in saffron industry

Table 2

 2 Customer requirements and technical requirements defined for developing solar drying systems in saffron industry.

	Code of CRs	Customer	Code of TRs	Technical Requirements
		Requirements
	CR1	Durability	TR1	Controlled conditions of temperature,humidity and time
	CR2	Energy saving	TR2	Materials used for the air collector
	CR3	Low required	TR3	Collector area
		space
	CR4	High efficiency	TR4	Absorber coating
	CR5	Cost-effectiveness	TR5	The length and width of the air duct
	CR6	User-friendly	TR6	Thermal energy gained from solar radiation
	CR7	Usable for	TR7	Photovoltaic cell as the power source of the fan(s)
		different amount
	CR8	Useable for similar	TR8	Material of the trays and their distances
		products
	CR9	Using alternative	TR9	Complete gasket and no influence on air pollution and
		energy		dust
	CR10	Hygiene	TR10	Materials used for the cabinet dryer for the heat transfer
				enhancement
	CR11	Organoleptic	TR11	Heat insulation to enhance heat transfer
		properties
	CR12	Easy Installation	TR12	Air temperature and humidity
	CR13	Easy Portability	TR13	Air flow rate & velocity
	CR14	Drying time	TR14	Calibration of thermometers and timers

Table 3

 3 Degree of relationships, and corresponding fuzzy numbers (Adapted from[START_REF] Bottani | Strategic management of logistics service: A fuzzy-QFD approach[END_REF])

	Degree of relationships	Fuzzy number
	Strong (S)	(0.7; 1; 1)
	Medium (M)	(0.3; 0.5; 0.7)
	Weak (W)	(0 ; 0; 0.3)

Table 4

 4 Degree of correlations and corresponding fuzzy numbers (Adapted from[START_REF] Bottani | Strategic management of logistics service: A fuzzy-QFD approach[END_REF])

	Degree of correlation	Fuzzy number
	Positive


Marc Meister

Khalil Djelloul

Jacques Robin

Jacques Robin Une

Une sémantique complète pour CHR en logique des transactions

Introduction

Constraint Handling Rules (CHR) [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF] is a concurrent, committed-choice, rule-based language which was originally created as a declarative logic constraint language to implement monotonic reasoning services. Its main features are guarded rules which transform multi-sets of constraints (atomic formulas) into simpler ones until they are solved.

Over the last decade, CHR has become available for most Prolog systems, Java, Haskell, and Curry and has matured into a general-purpose programming language with many applications [START_REF] Schrijvers | The Constraint Handling Rules (CHR) web page[END_REF] : Nonmonotonic reasoning services can be implemented in CHR, e.g. the fluent executor (FLUX) [START_REF] Thielscher | FLUX : A logic programming method for reasoning agents[END_REF] which provides general reasoning facilities about actions and sensor information under incomplete information. Also, classic algorithms like the union-find, which rely on inherently nonmonotonic updates, have been implemented with optimal complexity in CHR [START_REF] Schrijvers | Optimal unionfind in Constraint Handling Rules[END_REF].

The operational semantics of CHR is specified by a state transition system. Although applicability of a CHR rule is defined within predicate logic, the operational semantics is not integrated into a logic and is different from the declarative semantics in predicate logic. Basically the problem is that there is no elegant predicate logic-based semantics for changing the constraint store. Hence, reasoning on CHR programs and their executional behaviour is often ad-hoc and outside of a formal logic-based system.

We integrate the operational semantics of CHR into Transaction Logic (T R) [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF][START_REF] Bonner | A logic for programming database transactions[END_REF][START_REF] Bonner | Results on reasoning about updates in Transaction Logic[END_REF] which extends predicate logic with -among other things -a declarative account for state changes in logic programs (cf. [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF] for a list of failed attempts to formalise updates in a logic programming language). Transaction Logic naturally enjoys nonmonotonic behaviour due to the dynamics of a database which represents a current state [START_REF] Kifer | Nonmonotonic reasoning in FLORA-2[END_REF].

Contributions and overview of the paper. By mapping the core of CHR to T R, we combine CHR rule specification, CHR rule application, and reasoning on CHR programs and CHR derivations inside one formal system which is executable. We show that a CHR rule applies if and only if the T R query of the mapping of this CHR rule succeeds in T R and extend this result to CHR derivations by integrating the CHR run-time system. A formal statement then links the procedural aspect of execution (the operational semantics) with a new model-theoretic (declarative) reading. Thus our semantics covers both operational and declarative aspects elegantly. An efficient proof system in T R exe-cutes CHR programs and reasons on CHR derivations mechanically.

-We present the aspect of a missing unified semantics for CHR through an easy example in Section 2 and propose our solution to overcome this missing aspect in Section 3. -We explain the most basic instantiation of T R to give a logical account for range-restricted ground CHR programs in Section 4. -We map the constraint store to a database, the CHR program to a serial-Horn T R program that updates this database, and the CHR run-time system to a generalised-Horn T R program. The details of our CHR-to-T R mapping in Section 5 are necessary for our sound-and completeness result which is our main contribution. -In Section 6 we apply our approach to two examples, showing how to execute and reason on them in the framework of Transaction Logic. We use the FLORA-2 system [START_REF] Yang | FLORA-2 : User's Manual, Version 0.94[END_REF] for implementation. Complete proofs and full CHR and FLORA-2 sources of the examples are available at http://www. informatik.uni-ulm.de/pm/index.php?id=138.

The Problem : Reasoning on Constraint Handling Rules

Example 1 Consider a coin-throw simulation program1 , consisting of two CHR rules r 1 and r 2 .

r 1 @ throw ⇔ caput r 2 @ throw ⇔ nautica
Intuitively, as both rules are applicable for the goal throw, the answer constraint is caput or nautica depending on the rule selection. Clearly, we have the two possible state transitions (throw) r1 (caput) and (throw) r2 (nautica) for the goal throw.

What we are missing is one logic-based formal system for mechanical execution and reasoning, which should be implemented to also allow automatic reasoning. Available CHR run-time systems (e.g. the reference implementation in SICStus Prolog for CHR) come as black-boxes and offer no means for reasoning. For example, we want to prove the following three properties automatically :

(P1) Throwing a coin can yield caput.

(P2) Throwing a coin cannot yield both caput and nautica.

(P3) Application of r 1 cannot yield nautica.

Because the constraint throw is interpreted as a trigger (and not as static truth) in the coin-throw simulation program, the gap between the predicate logic declarative semantics [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF] of this general-purpose CHR program -the meaningless formula caput ↔ nautica -and its executions is especially large. The underlying problem is that predicate logic is a static logic, unable to express the dynamics of deletion and insertion directly. Here, reasoning has to be done ad-hoc (outside of a logic) along the operational semantics of CHR [START_REF] Abdennadher | Confluence and semantics of constraint simplification rules[END_REF].

The linear logic semantics [START_REF] Betz | A linear-logic semantics for Constraint Handling Rules[END_REF] overcomes this restriction of the classic predicate logic semantics and gives a meaningful declarative semantics also for generalpurpose CHR programs. While the linear logic notion of a resource models the necessary dynamics, it does not cover all aspects of the operational semantics : Linear logic has no inherent notion of execution and we cannot reason on the execution itself but only on the result of an execution. Similar to the classic declarative semantics, the linear logic semantics links initial and final state with a logical reading of the program. As CHR derivations are mimicked inside its proofs, reasoning on derivations is not possible directly.

Summarising, both predicate and linear logic declarative semantics allow reasoning on the properties of the program, but lack the possibility to actually execute the rules, reason on the execution, and are not readily mechanised. Thus, reasoning on execution lacks a formal logic-based framework. Most importantly, specification (as CHR rules), execution (by a CHR run-time system), and reasoning are not integrated and reasoning is either done by hand or by special-purpose tools (e.g. for confluence [START_REF] Abdennadher | Confluence and semantics of constraint simplification rules[END_REF]). The need to integrate the operational semantics into a logic was recognised by Maher [START_REF] Maher | Logic semantics for a class of committed-choice programs[END_REF] : Besides a "logical" (declarative) semantics, also a data/control-flow analysis is highly desirable, e.g. to prove termination of a program. Clearly this data/control-flow analysis aspect is inherently absent in [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF][START_REF] Betz | A linear-logic semantics for Constraint Handling Rules[END_REF] which cover the "logical" (declarative) semantics only. Maher continues, that "there is possibility that this analysis can be carried out within a logic framework" [9, p. 870]. We argue that Transaction Logic (T R) provides this missing aspect in the next section.

The Idea : Map CHR to Transaction Logic

We map CHR to Transaction Logic to simulate the operational semantics of CHR by logic programming with state changes and use executional entailmenta formal statement in T R -to execute and to reason on CHR derivations. In their seminal work on Transaction Logic [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF], Bonner and Kifer extend predicate logic with a declarative account for state changes in logic programming. As the operational semantics of CHR is formalised by a state transition system, where a CHR rule application changes the constraints store, we map CHR programs to serial-Horn T R programs and identify the application of a CHR rule by the state transition system with a successful query of the T R program. To this end, we map the constraint store to a database with the elementary database updates insertion and deletion. A CHR derivation is then the side-effect on the database when the T R proof system infers the T R query to be true.

Example 1 (Cont.) We show the basic ideas for the coin-throw simulation program with a nondeterministic rule selection strategy (and review this example in Section 6 in detail). We map rule r 1 to the serial-Horn T R rule r T R 1 .

r T R 1 ≡ chr(r 1 ) ← throw ⊗ throw.del ⊗ caput.ins
To make the T R-predicate chr(r 1 ) true, we have to execute the serial conjunction on its right hand side :

First check that throw is present, then delete it, and then insert caput. The order in the serial conjunction ⊗ is crucial, as the T R-predicates throw.del and caput.ins have side-effects on the database2 . If we execute chr(r 1 ) on the (initial) database {throw}, we pass through the empty database {}, and arrive at the (final) database {caput}. For P = {r T R 1 }, we have the following executional entailment statement |= x in T R, which states, that the successful invocation of program P by chr(r 1 ) can successfully update the database along the given execution path {throw}, {}, {caput}.

P, {throw}, {}, {caput} |= x chr(r 1 )
The executional entailment statement has both a procedural (operational) and a model-theoretic (declarative) semantics in T R. On the one hand, an available efficient T R inference system for the subclass of serial-Horn programs actually computes the necessary updates of an initial database {throw} when establishing the truth of chr(r 1 ) and implements the procedural aspect of T R. Integrating the operational semantics of CHR into T R by executional entailment, we have -on the other hand -a new model-theoretic (declarative) semantics which captures the possible executions of a CHR program.

We show in Section 5, that a CHR rule r is applicable iff we can establish the truth of the head of a T R rule r T R and then extend our mapping to cover the CHR run-time system. The changes caused on the constraint store are mapped one-to-one to updates of the database as we simulate CHR rule application by the T R inference system.

We can then prove properties (P1-3) from Section 2 mechanically. Even better, the FLORA-2 system allows us to both execute and reason on this example automatically (cf. Section 6).

Preliminaries

We provide necessary background for readers not familiar with CHR and T R.

Constraint Handling Rules

Constraint Handling Rules (CHR) [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF][START_REF] Schrijvers | The Constraint Handling Rules (CHR) web page[END_REF] is a concurrent, committed-choice, rule-based logic programming language. We distinguish between two different kinds of constraints : built-in constraints which are solved by a given constraint solver, and userdefined (CHR) constraints which are defined by the rules in a CHR program. This distinction allows one to embed and utilise existing constraint solvers as well as side-effect-free host language statements. As we trust the built-in black-box constraint solvers, there is no need to modify or inspect them.

A CHR program is a finite set of rules. There are two main kinds of rules : Simplification rules R @ H ⇔ G | B and propagation rules R @ H ⇒ G | B. Each rule has a unique name R, the head H is a non-empty multi-set conjunction of CHR constraints, the guard G is a conjunction of built-in constraints, and the body B is a goal. A goal is a multi-set conjunction of builtin and CHR constraints. A trivial guard expression "true |" can be omitted.

Since we do not focus on propagation rules in this paper, it suffices to say that they are equivalent (in the standard semantics) to simplification rules of the form

R @ H ⇔ G | (H ∧ B).
The operational semantics of CHR is defined by a state transition system where states are conjunctions of constraints. To a conjunction of constraints, rules are applied until a fixpoint is reached. Note that conjunctions in CHR are considered as multi-sets of atomic constraints. Any of the rules that are applicable can be applied and rule application cannot be undone since CHR is a committed-choice language. A simplification

rule R @ H ⇔ G | B is applicable in state (H ′ ∧ C), if the built-in constraints C b of C im-
ply that H ′ matches the head H and the guard G is entailed under this matching, cf. [START_REF] Abdennadher | Confluence and semantics of constraint simplification rules[END_REF]. The consistent, predicate logic, built-in constraint theory CT contains Clark's syntactic equality.

IF R @ H ⇔ G | B is a fresh variant of rule R with variables X AND CT |= (∀) C b → ∃ X (H = H ′ ∧ G) THEN (H ′ ∧ C) R (B ∧ G ∧ H = H ′ ∧ C) (1)
If applied, a simplification rule replaces the matched CHR constraints in the state by the body of the rule. In the operational semantics, rules are applied until exhaustion, i.e. the CHR run-time system (which actually runs a CHR program by selecting applicable rules and matching constraints) computes the reflexive transitive closure * of . The CHR run-time system should stop immediately, when insertion of a built-in constraint makes C b inconsistent. However, this termination at failure is not explicitly addressed in the operational semantics.

Transaction Logic

Transaction Logic (T R) [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF][START_REF] Bonner | A logic for programming database transactions[END_REF][START_REF] Bonner | Results on reasoning about updates in Transaction Logic[END_REF] is a conservative extension of classical predicate logic, where predicates can have side-effects on a database, allowing to model state changes. Similar to predicate logic, T R features a Horn fragment which supports logic programming. While T R is an extremely versatile logic to handle specification, execution, and reasoning on logic programs with updates, it suffices for this work to use a basic instantiation of T R which restricts side-effects to the updates insertion and deletion on a relational, ground database.

A database is a set of ground atoms. A sequence of databases D 0 , . . . , D n is called a path π = D 0 , . . . , D n which can be split into sub-paths D 0 , . . . , D i • D i , . . . , D n (for 0 ≤ i ≤ n). Access to the database is restricted by two oracles : The data oracle O d maps a database D to a set of ground atoms that are considered to be true along the path D . Elementary database updates are captured by the transition oracle O t which maps two databases D and D ′ to a set of ground atoms considered to be true along the path D, D ′ . Definition 1 (Path Structure with Relational Oracles) A path structure M assigns a classical Herbrand structure (or ⊤ which satisfies everything) to every path and is subject to the following restrictions for ground atoms p.

M ( D ) |= p if p ∈ D M ( D, D ′ ) |= p.ins if D ′ = D ∪ {p} M ( D, D ′ ) |= p.del if D ′ = D \ {p} (2)
The relational oracles are given by p

∈ O d (D) iff p ∈ D, p.ins ∈ O t (D, D ′ ) iff D ′ = D ∪ {p}, and p.del ∈ O t (D, D ′ ) iff D ′ = D \ {p}.
Quantification of T R formulas and satisfaction of composed T R formulas are defined analogously to predicate logic : A T R formula with ¬, ∧, ∨, or ← as main connective is satisfied along a path π if the appropriate property holds between its sub-formulas along the same path π. Satisfaction from the basic properties (2) extends to the case of longer paths by the new serial conjunction operator : A serial conjunction φ ⊗ ψ is satisfied along the path π iff φ is satisfied along π 1 and ψ is satisfied along π 2 for some split of the path π = π 1 • π 2 . The modal possibility ♦φ expresses that φ is satisfiable along some path starting from the current database, formally M ( D ) |= ♦φ iff there is a path π starting at database D with M (π) |= φ.

The formal statement executional entailment links a program, a possible sequence of databases which captures the side-effects of the program, and the invocation of the program. Example 2 Consider the T R program P = {r ← p ⊗ p.del }. Invocation of r deletes p from the database, but only if p was initially present and we have P, {p, q}, {q} |= x r but P, {q}, {} |= x r. Also, deletion of p should be the only side-effect of the invocation of r, hence P, {p, q}, {} |= x r as M P ( {p, q}, {} ) |= r is not correct for all models M P of P . When we insert q under the condition that r can execute, e.g. P, {p}, {p, q} |= x ♦r ⊗ q.ins, we keep p in the database.

For the class of serial-Horn programs (i.e. sets of Horn rules with only serial conjunctions in the r.h.s) and serial queries, T R features an executional deduction inference system [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF]. For a serial-Horn program P , an initial database D 0 , and an existentially quantified serial query (∃) φ, it infers the sequent P, D 0 ---⊢ (∃) φ iff there is an executional entailment of (∃) φ along an execution path starting from D 0 . Most importantly the system both tries to infer the truth of (∃) φ and computes the necessary changes to D 0 which we record in D 0 , . . . , D n . Formally, the following fundamental sound-and completeness result links the modeltheoretic executional entailment with the mechanised executional deduction.

Theorem 1 (Bonner and Kifer [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF]) P, D 0 , . . . , D n |= x (∃)φ iff there is an executional deduction of (∃)φ with execution path D 0 , . . . , D n .

For our serial-Horn program P from Example 2 we have P, {p, q}---⊢ r and the successful inference of the query r computes the execution path {p, q}, {q} from the initial database {p, q}. Of course, we cannot infer P, {q}---⊢ r as there exists no execution path for the query r starting from {q}. By the definition of executional entailment, an execution either succeeds or all tentative side-effects are rolled back. Due to this transaction property of T R we cannot infer P, {p}---⊢ r ⊗ r and the tentative deletion of p by the first call to r is not manifested as the second call to r fails.

The Details : CHR-to-T R-Mapping

We map CHR states to databases, adapt the data oracle O d , map CHR rules to serial-Horn T R rules, and specify the CHR run-time system as a generalised-Horn T R program. We then show our sound-and completeness result that links CHR derivations with executional entailment statements of T R.

For this paper, we restrict ourselves to rangerestricted ground CHR. Range-restricted CHR rules have no local variables, i.e. every variable in each rule already occurs in the head of the rule and all CHR states are ground as there are no variables in the goal.

Mapping CHR States to Valid Databases

We map each ground, user-defined constraint c i of a CHR state (recall that a CHR state is a multi-set conjunction) to a T R-predicate u(c i , i) where the second argument is a unique identifier -we use a natural number. We trail a new, unique identifier k in a bookkeeping T R-predicate n(k) (assuming that u/2 and n/1 are not defined by CT ). Reflecting user-defined constraints as T R-function symbols allows us to specify the necessary bookkeeping for the insertion and deletion of user-defined constraints as a serial-Horn program.

Definition 3 A valid database D contains one bookkeeping predicate n(k), predicates u/2 with unique identifiers that are all smaller than k, and built-ins b i . The mapping m s is defined from the set of CHR states S (consisting of user-defined constraints c i and built-ins b i ) to the set of valid databases D by

( 0≤i<k c i ∧ 0≤i<l b i ) → {u(c i , i) : 0 ≤ i < k} ∪ {n(k)} ∪ {b i : 0 ≤ i < l} .
Two valid databases are equivalent, ∼, iff they differ only in the set of identifiers (including the argument of the bookkeeping predicate) and there is a bijective mapping between these sets.

Clearly, m s (c(a)) = {u(c(a), 0), n(1)} and {u(c(a), 5), n(9)} are equivalent. We update valid databases through the serial-Horn program

P basic : udel(U ) ← u(U, K) ⊗ u(U, K).del uins(U ) ← n(K) ⊗ n(K).del ⊗ n(K + 1).ins ⊗ u(U, K).ins (3)
Deletion of a ground user-defined constraint is conditional (cf. Example 2) and insertion requires some bookkeeping. For range-restricted ground CHR the entailment condition of the state transition system, defined in (1) can be simplified as there are no local variables. Because we match the head H with the ground constraints H ′ from the store, the formula ∃ X(H = H ′ ∧ G) is ground. We extend the relational data oracle O d , defined in [START_REF] Betz | A linear-logic semantics for Constraint Handling Rules[END_REF], to implement the built-in constraint theory CT . Definition 4 (Data Oracle as Built-in Solver) For any database D and ground atomic built-in φ, the data oracle respects CT :

φ ∈ O d (D) if CT |= D b → φ for the conjunction D b of built-in predicates of D.

Mapping CHR Rules to Serial-Horn Rules in T R

We map CHR rules to T R rules that update the database through P basic as defined in [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF]. We normalise any range-restricted CHR rule to contain no function symbols in the head by introducing a new variable for any implicit equality in the head and adding an explicit (new) equality to the guard, e.g. r @ p(a) ⇔ true normalises to r @ p(X) ⇔ X = a | true.

Definition 5 Consider a normalised range-restricted simplification rule r. The head H of rule r is the (multiset) conjunction n h i=0 h i of user-defined constraints h i , the guard G is the conjunction ng i=1 g i of built-in constraints g i (n g = 0 represents true), and the body B is the (multiset) conjunction nu i=1 u i of constraints u i (n u = 0 represents true). The auxiliary t maps user-defined constraints u i to uins(u i ) and built-in constraints to u i .ins. We define the mapping

m r : r @ H ⇔ G | B → r T R by r T R ≡ chr(r) ← n h i=0 udel(h i ) ⊗ ng i=1 g i ⊗ nu i=1 t(u i ) . (4)
Our mapping m r is guided by the intuition that establishing the truth of chr(r) should have the same effect on the database as rule application by CHR's state transition system on the constraint store. The body of chr(r) consists of parts corresponding to head, guard, and body of the CHR rule r : First, we succinctly query the database for copies of each head constraint and delete them. Then we pass the check for the guard (as r is range-restricted, all variables in the guard are now bound) to our data oracle which respects the built-in constraint theory CT . Finally, we add the body constraints, labelling each inserted userdefined constraint with a new identifier.

By the transaction property of T R we can safely intertwine applicability checks with updates of the database, e.g. if the guard fails, the tentative deletions of the user-defined head constraints are undone.

Formally, application of r by the state transition system is equivalent to executional entailment of chr(r) modulo identifier renaming.

Lemma 1 Consider two ground CHR states S and S ′ , two valid databases D and D ′ , a normalised rangerestricted CHR simplification rule r, and its mapping r T R as defined in (4). For D ∼ m s (S) and D ′ ∼ m s (S ′ ) we have S r S ′ iff P basic +{r T R }, D, . . . , D ′ |= x (∃) chr(r) .

Sound and Complete : CHR Run-Time System in T R

We now extend Lemma 1 from a single rule step of a single CHR rule to a CHR derivation of a CHR program by integrating the fixpoint computation, i.e. the operational semantics of CHR, into T R.

Our main result shows that our mapping from CHR to T R is sound-and complete w.r.t. the operational semantics of CHR. To this end, we express applicability of a CHR rule in state S by P, D |= x (∃) ♦ chr(R) with D ∼ m s (S) and use induction on the derivation length for the extension from to n . Theorem 2 (Sound-and Completeness) Consider two ground CHR states S and S ′ , two valid databases D and D ′ , a CHR program P consisting of range-restricted simplification rules, and its mapping P T R = P basic + {r T R : r ∈ P }. For D ∼ m s (S), D ′ ∼ m s (S ′ ), and an execution path π starting in D and ending in D ′ we have

S * P S ′ iff P T R , π |= x (∃) n i=1 chr(R i ) ⊗ [¬♦ chr(R)] with n ∈ N where [¬♦ chr(R)] restricts satisfaction of ¬♦ chr(R)
to paths of length one.

We now sketch how to implement the CHR runtime system as T R program with hypothetic goals (to express possibility) and negated goals (to check that no rule is applicable). We capture the fixpoint semantics of CHR as fixpoint ← while applicable do chr(R) od and implement the imperative while-loop programming construct as a simple generalised-Horn program P runTime in T R. 4fixpoint ← chr(R) ⊗ fixpoint [START_REF] Bonner | Results on reasoning about updates in Transaction Logic[END_REF] applicable

← ♦ chr(R) (6) fixpoint ← [¬ applicable] (7)
Rule ( 5) succeeds if the call chr(R) -which successfully applies a CHR rule R -succeeds. In this case we call fixpoint (tail-recursively). We need two generalised-Horn rules to express that no CHR rule is applicable : Rule (6) succeeds if a CHR rule is applicable and this test leaves the database D untouched and rule [START_REF] Jaffar | The semantics of constraint logic programs[END_REF] succeeds if no CHR rule is applicable at the current state using negation-as-failure to compute [¬ applicable].

Bonner and Kifer give an extended (sound-and complete) executional deduction inference system that integrates the ♦ operator. Negation ¬ is then treated (outside of the proof system) as negation-as-failure. A slight modification of the model-theoretic executional statement allows to give a declarative account for locally stratified generalised-Horn programs. Compared to Definition 2, we no longer look at all but only at the perfect models of the program. As P runTime is stratified we can use this executional entailment statement, |= perf

x , cf. [START_REF] Bonner | Transaction Logic programming (or, a logic of procedural and declarative knowledge)[END_REF].

Corollary 1 Under the premises of Theorem 2 we have

S * P S ′ iff P T R + P runTime , π |= perf x (∃) fixpoint .
Our declarative T R semantics of the CHR program P is the perfect-model semantics of the generalised-Horn T R program P T R + P runTime . Invocation of fixpoint -on the other hand -computes * as sideeffect on the database, i.e. captures the operational semantics of CHR. This brings together the operational and declarative semantics of CHR in T R.

Examples

We use the FLORA-2 system [START_REF] Yang | FLORA-2 : User's Manual, Version 0.94[END_REF], a sophisticated object-oriented, knowledge management environment that implements the executional deduction inference system of T R by offering backtrackable deletion and insertion of facts, to execute and reason on CHR. Similar to Prolog, but with handling updates in a declarative way, serial queries are treated from left to right and one database is kept at any time. We have P, D 0 , ---⊢ (∃) φ iff the query "?-φ" succeeds for the program P from the initial database D 0 . In this case, FLORA-2 updates the database according to the computed executional path as side-effect.

Example 3 (Coin-Throw Simulation Program)

We revisit Example 1 in detail. For the program P T R coin = P basic + {r T R 1 , r T R 2 }, defined in (3) and by [START_REF] Bonner | A logic for programming database transactions[END_REF], and the initial database m s (throw) = {u(throw, 0), n(1)} we throw a coin by querying "?-chr(R)". This query succeeds, returns an answer substitution for R, and updates the database. In a subsequent query "?-u(S, I)" we query the current database state for the side S of the coin.

We now prove properties (P1-3) from Section 2 automatically :

(P1) The query "?-chr(R), u(nautica, I)"5 succeeds from D 0 , i.e. we have a mechanical proof that a computation (throw) (nautica) exists. Due to the post-condition u(nautica, I) the FLORA-2 system backtracks over rule-application if rule r 1 is selected in the first try.

(P2) Throwing a coin cannot yield both caput and nautica is true because the query "?-chr(R), u(nautica, I), u(caput, J)" fails (from database D 0 ).

(P3) Applying rule r 1 cannot yield nautica as "?-chr(r 1 ), u(nautica, I)" fails (from database D 0 ).

For complex CHR programs this knowledge is much less trivial and very valuable for understanding. While CHR programs are usually very concise, debugging is often tedious, and automatised reasoning is highly desirable.

Example 4 (Greatest Common Denominator) Euclid's algorithm to compute the greatest common denominator (gcd) is probably the first algorithm in history that is still commonly used. The CHR implementation of the gcd consists of only two rules, where the built-in theory CT also contains the order between natural numbers.

r 1 @ gcd(0) ⇔ true r 2 @ gcd(X 1 ) ∧ gcd(X 2 ) ⇔ 0 < X 1 ∧ X 1 ≤ X 2 | gcd(X 1 ) ∧ gcd(X 2 %X 1 )
The CHR derivation (gcd(24)∧gcd(30)∧gcd(42)) * (gcd(6)) computes the gcd of 24, 30, and 42. The gcd algorithm can be seen as a (very basic) nonmonotonic reasoning service, as e.g. adding gcd [START_REF] Jaffar | The semantics of constraint logic programs[END_REF] to the goal invalidates the original answer constraint gcd [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF].

As FLORA-2 does not implement the possibility operator ♦, we carry out the next two inferences mechanically -but not automatically. We now assume D 0 = m s (gcd(24) ∧ gcd(30) ∧ gcd(42)) as initial database and simulate one (of several possible) CHR derivations -recall that CHR is a committedchoice language -by inferring the sequent P T R gcd + P runTime , D 0 ---⊢ (∃) fixpoint. Then we inspect the final database D n of the computed executional path D 0 , . . . , D n which contains u(gcd(6), k) with some identifier k ∈ N. Similarly, we have a mechanical proof that no gcd(0) constraint is in the final constraint store as we cannot infer P T R gcd + P runTime , D 0 ---⊢ (∃) fixpoint ⊗u(gcd(0), I). Here the post-condition u(gcd(0), I) forces us to backtrack over all possible execution paths, i.e. CHR derivations, due to non-deterministic constraint and rule selection.

We can reason automatically on the derivation length : There is no CHR derivation of the gcd with only 4 CHR rule applications because the FLORA-2 query "?-chr(r 2 ), chr(r 2 ), chr(r 1 ), chr(r 1 )" fails. Similarly, we prove that the gcd can be computed with derivation length 5 and that another CHR derivation with length 8 exists, e.g. (24, 30, 42) r2 (24, 30, 18) r2 (24, 12, 18) r2 [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF][START_REF] Schrijvers | The Constraint Handling Rules (CHR) web page[END_REF]18) r2 [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF][START_REF] Schrijvers | The Constraint Handling Rules (CHR) web page[END_REF][START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF] r2 (6, 0, 6) r1 [START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF][START_REF] Frühwirth | Theory and Practice of Constraint Handling Rules[END_REF] r2 (6, 0) r1 (6).

Conclusion

We showed how we can execute and reason on execution of CHR programs within one logical framework by integrating the operational and declarative semantics of CHR into T R. We introduced rule names into the formalism, mapped CHR states and CHR rules to databases and T R rules, and mapped the CHR run-time system for non-deterministic rule application to a recursively defined T R-predicate. The perfect-model semantics of a generalised-Horn T R program is our new declarative T R semantics of CHR. The model-theoretical executional entailment statement ("one possible execution sequence") brings together T R program, execution path, and program invocation. The executional deduction inference system mechanically infers a T R-query and computes the necessary updates to the database. We showed execution and automatic reasoning on CHR using the FLORA-2 system.

By bringing the operational semantics of CHR into T R, we merged operational and declarative semantics of CHR in one formal system which allows both execution and reasoning. Our approach is more practical than the one taken for the available declarative semantics of CHR. Both the declarative classic predicate logic semantics and its recent extension to linear logic are more theoretical. They cannot execute a CHR program, cannot reason on its execution, and offer only limited help to mechanise reasoning.

We plan to extend our mapping and to investigate the connections between the formalisms of CHR, constraint programming, and T R in more detail :

-Lift the restrictions on ground, range-restricted CHR by encoding variables in the database, introduce propagation rules H ⇒ G | B (which do not remove H upon application), and avoid trivial non-termination, by encoding the propagation history in the database. -Use full T R to reason on the effect properties [START_REF] Bonner | Results on reasoning about updates in Transaction Logic[END_REF] of a CHR program starting from our new declarative T R semantics. -Another direction is to extend T R with constraints according to the general CLPscheme [START_REF] Jaffar | The semantics of constraint logic programs[END_REF] which would then allow constraint solving over a side-effect-full, logic programming host language. As CHR enables the direct implementation of many important monotonic and nonmonotonic reasoning services, this work can be seen as very first step towards a unifying framework to specify, execute, and reason about the semantics of rule-based programs, knowledge bases, and inference engines as envisioned in [START_REF] Robin | Reused Oriented Automated Reasoning Software (ROARS) project web page[END_REF].

Definition 2 (

 2 Executional Entailment) Consider a set of T R formulas P and an execution path consisting of a sequence of databases D 0 , . . . , D n . A path structure M P is a model of P iff M P (π) |= φ for every T R formula φ ∈ P and every path π. P, D 0 , . . . , D n |= x φ iff M P ( D 0 , . . . , D n ) |= φ for every model M P of P Executional entailment, |= x , selects one of (possibly several) valid execution paths, for which φ is true for all models M P of P . A model M P of P is a path structure that respects the oracles and satisfies every formula of P along every path. The execution path D 0 , . . . , D n records all side-effects when establishing the truth of φ, i.e. the "successful program invocation of φ for program P can update the database along execution path from D 0 to D 1 . . . to D n "[3, p. 31].

Property 1 ( 5 . 2

 152 Conditional Deletion of User-Defined Constraints) Invocation of udel(c) deletes a copy of the ground, user-defined constraint c from the valid database D + {u(c, k)} 3 and terminates in the valid database D. P basic , D + {u(c, k)}, D |= x (∃) udel(c) with k ∈ N Property 2 (Insertion of User-Defined Constraints) Invocation of uins(c) inserts a new copy of the ground, user-defined constraint c into the valid database D + {n(k)} and terminates in the valid database D + {n(k + 1), u(c, k)}. P basic , D + {n(k)}, . . . , D + {n(k + 1), u(c, k)} |= x (∃) uins(c) with k ∈ N Mapping the Built-In Theory CT to the Data Oracle O d

To avoid misunderstandings with the head of a rule, we replaced the good old "head" and "tail" with the ancient "caput" and "nautica".

The symbol ⊗ stands for serial conjunction in T R and not for join of views on databases.

We use "+" to denote disjoint set union.

Note that we can add termination at failure by adding "D b consistent" to the loop condition easily, allowing to reason also on failed derivations.

The serial conjunction operator ⊗ is written as comma in FLORA-2.

Acknowledgements. We thank Thom Frühwirth and the anonymous reviewers for their valuable comments which helped us to improve this paper. Marc Meister and Jacques Robin are supported by the DAAD project ROARS. Khalil Djelloul is funded by the DFG project GLOB-CON.