7 research outputs found

    Constraint Functional Logic Programming over Finite Domains.

    Get PDF
    Abstract In this paper, we present our proposal to Constraint Functional Logic Programming over Finite Domains (CFLP (FD) ) with a lazy functional logic programming language which seamlessly embodies finite domain (FD) constraints. This proposal increases the expressiveness and power of constraint logic programming over finite domains (CLP (FD) ) by combining functional and relational notation, curried expressions, higher-order functions, patterns, partial applications, non-determinism, lazy evaluation, logical variables, types, domain variables, constraint composition, and finite domain constraints. We describe the syntax of the language, its type discipline, and its declarative and operational semantics. We also describe TOY(FD), an implementation for CFLP (FD) , and a comparison of our approach with respect to CLP (FD) from a programming point of view, showing the new features we introduce. And, finally, we show a performance analysis which demonstrates that our implementation is competitive with respect to existing CLP (FD) systems and that clearly outperforms the closer approach to CFLP (FD)

    Un esquema de programaci贸n l贸gico-funcional con restricciones: marco te贸rico y aplicaci贸n a la depuraci贸n declarativa

    Get PDF
    En este trabajo consideramos dos tipos de errores susceptibles de ser tratados mediante nuestro m茅todo de depuraci贸n declarativa. En primer lugar, se consideran aquellas respuestas que han sido obtenidas de manera inesperada para un objetivo determinado (respuestas incorrectas). Para este primer caso, proponemos un c谩lculo de prueba positivo desarrollado a partir de CRWL(D), mediante el que es posible definir los 谩rboles de c贸mputo como 谩rboles de derivaci贸n l贸gica. En segundo lugar, se considera como un posible error aquel en el que en el conjunto de todas las respuestas obtenidas para un mismo objetivo falte alguna respuesta esperada (respuestas perdidas). En este segundo caso, proponemos otro c谩lculo denominado c谩lculo de prueba negativo, en el cual las derivaciones l贸gicas formalizan la recolecci贸n de respuestas computadas y sirven para definir 谩rboles de c贸mputo aplicables a la diagnosis de respuestas perdidas. Demostramos la correcci贸n l贸gica de los m茅todos de diagnosis propuestos, tanto para respuestas incorrectas como para respuestas perdidas, en relaci贸n a los sistemas de resoluci贸n de objetivos presentados. Finalmente, proponemos la implementaci贸n en el sistema TOY de dos posibles herramientas basadas en los m茅todos de depuraci贸n descritos

    Improving the accuracy and the efficiency of geo-processing through a combinative geo-computation approach

    Get PDF
    Geographical Information Systems (GIS) have become widely used for applications ranging from web mapping services to environmental modelling, as they provide a rich set of functions to solve different types of spatial problems. In the meantime, implementing GIS functions in an accurate and efficient manner has received attention, throughout the development of GIS technologies. This thesis describes the development and implementation of a novel geo-processing approach, namely Combinative Geoprocessing (CG), which is used to address data processing problems in GIS. The main purpose of the CG approach is to improve the data quality and efficiency of processing complex geo-processing models. Inspired by the concept of Map Calculus (Haklay, 2004), in the CG approach GIS layers are stored as functions and new layers are created through a combination of existing functions. The functional programming environment (Scheme programming language) is used in this research to implement the function-based layers in the CG approach. Furthermore, a set of computation rules is introduced in the new approach to enhance the performance of the function-based layers, such as the CG computation priority, which provides a way to improve the overall computation time of geo-processing. Three case studies, which involve different sizes of spatial data and different types of functions are investigated in this research in order to develop and implement the CG approach. The first case study compares Map Algebra and our approach for manipulating two different raster layers. The second case study focuses on the investigation of a combinative function through the implementation of the IDW and Slope functions. The final case is a study of computational efficiency using a complex chain processing model. Through designing the conceptual model of the CG approach and implementing the CG approach in the number of case studies, it was shown that the new approach provides many advantages for improving the data quality of geo-processing. Furthermore, the overall computation time of geo-processing could be reduced by using the CG approach as it provides a way to use computer resources efficiently and avoid redundant computations. Last but not least, this thesis identifies a new research direction for GIS computations and GIS software development, such as how a robust geo-processing tool with higher performance (i.e. data quality and efficiency) could be created using the CG approach
    corecore