Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint Log...
详细信息
Formal reasoning about finite sets and cardinality is important for many applications. including software verification, where very often one needs to reason about the size of a given data structure. The constraint logic programming tool {log} provides a decision procedure for deciding the satisfiability of formulas involving very general forms of finite sets, although it does not provide cardinality constraints. In this paper we adapt and integrate a decision procedure for a theory of finite sets with cardinality into {log}. The proposed solver is proved to be a decision procedure for its formulas. Besides, the new CLP instance is implemented as part of the {log} tool. In turn, the implementation uses Howe and King's Prolog SAT solver and Prolog's CLP(Q) library. as an integer linear programming solver. The empirical evaluation of this implementation based on +250 real verification conditions shows that it can be useful in practice.
We propose a constraint logic programming approach for synthesizing block-structured scheduling processes with ordering constraints. Then we extend the model to allow specification of resource constraints. Our goal is...
详细信息
We propose a constraint logic programming approach for synthesizing block-structured scheduling processes with ordering constraints. Then we extend the model to allow specification of resource constraints. Our goal is to design optimization algorithms. We combine block structured modeling of business processes with results from project scheduling literature. Differently from standard approaches, here we focus on block structured scheduling processes. Our main achievement is the formulation of an abstract mathematical model of block-structured resource-constrained scheduling processes. We tested the correctness and feasibility of our approach using an experimental prototype based on constraint logic programming developed using ECLiPSe-CLP system.
We propose an agent-based freight brokering system that provides an intelligent logistics brokerage service focusing on the transport activity for the efficient allocation of transport resources (vehicles or trucks) t...
详细信息
We propose an agent-based freight brokering system that provides an intelligent logistics brokerage service focusing on the transport activity for the efficient allocation of transport resources (vehicles or trucks) to the transport applications. The freight broker has the role to coordinate transportation arrangements of transport customers with transport resource providers. In this paper we focus on the fundamental function of this business that aims to find available trucks and to define their feasible routes for transporting requested customer loads. Our main achievement is the proposal of a knowledge-based freight broker based on agents and constraintprogramming. We describe the multi-agent architecture and the interaction protocol of the freight broker. The brokering function is defined as a special type of vehicle routing with pickup and delivery problem. This function is achieved by proposing an optimization agent based on constraint logic programming. We present in detail our novel declarative optimization model, as well as the components of the optimization agent. This model was implemented and evaluated using the state-of-the-art ECLiPSe-CLP engine. The experimental results that we obtained for sample benchmark problems are promising and they support the effectiveness of our approach in a practical setting.
This paper proposes the use of constraint logic programming (CLP) to model SQL queries in a data-independent abstract layer by focusing on some semantic properties for signalling possible errors in such queries. First...
详细信息
This paper proposes the use of constraint logic programming (CLP) to model SQL queries in a data-independent abstract layer by focusing on some semantic properties for signalling possible errors in such queries. First, we define a translation from SQL to Datalog, and from Datalog to CLP, so that solving this CLP program will give information about inconsistency, tautology, and possible simplifications. We use different constraint domains which are mapped to SQL types, and propose them to cooperate for improving accuracy. Our approach leverages a deductive system that includes SQL and Datalog, and we present an implementation in this system which is currently being tested in classroom, showing its advantages and differences with respect to other approaches, as well as some performance data.
This paper introduces an instantiation of the constraint logic programming scheme called CLP(PolyFD) in which variables take values from finite subsets of the integers and constraints are expressed as equalities, ineq...
详细信息
This paper introduces an instantiation of the constraint logic programming scheme called CLP(PolyFD) in which variables take values from finite subsets of the integers and constraints are expressed as equalities, inequalities, and disequalities of polynomials with integer coefficients. Such constraints, which we call polynomial constraints over finite domains, can be treated effectively by means of a specific solver under the assumption that initial approximations of the domains of variables are available. The proposed solver deals with constraints in a canonical form and it uses the modified Bernstein form of polynomials to detect the satisfiability of constraints. The solver is complete and a preliminary assessment of its performance is reported.
Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under developm...
详细信息
Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under development. This paper presents a framework to reason about the satisfiability of class models described using the Unified Modeling Language (UML). The proposed framework allows us to identify possible design flaws as early as possible in the software development cycle. More specifically, we focus on UML Class Diagrams annotated with Object constraint Language (OCL) invariants, which are considered to be the main artifacts in Object-Oriented analysis and design for representing the static structure of a system. We use the constraint logic programming (CLP) paradigm to reason about UML Class Diagrams modeling foundations. In particular, we use Formula as a model-finding and design space exploration tool. We also present an experimental Eclipse plug-in, which implements our UML model to Formula translation proposal following a Model Driven Architecture (MDA) approach. The proposed framework can be used to reason, validate, and verify UML Class Diagram software designs by checking correctness properties and generating model instances using the model exploration tool Formula. (C) 2018 Elsevier Ltd. All rights reserved.
Automated driving systems are a maturing technology that is considered to have a significant impact on mobility. Trajectory Planning is a safety-critical task that plays an important role in automated driving systems....
详细信息
ISBN:
(纸本)9789897583506
Automated driving systems are a maturing technology that is considered to have a significant impact on mobility. Trajectory Planning is a safety-critical task that plays an important role in automated driving systems. In this paper, we present the implementation of a trajectory planning module called CLPTP (CLPTRAJECTORYPLANNER) using constraint logic programming (CLP) and evaluate it in simulated traffic situations. CLP allows us to express the constraints of the problem of trajectory planning in a declarative way. The approach makes the code less complex and more readable for domain experts compared to code using an imperative programming language. Compared to approaches making use of neural networks to manage the complexity of the problem of trajectory planning, the results of CLPTP are more comprehensible and easier to verify. Thus CLPTP can be seen as a step towards solving the problem of trajectory planning with explainable artificial intelligence. An evaluation of the execution time performance of our implementation shows that further research is needed to apply the approach in real world vehicles.
Concolic testing is a well-known validation technique for imperative and object oriented programs. In a previous paper, we have introduced an adaptation of this technique to logicprogramming. At the heart of our fram...
详细信息
Concolic testing is a well-known validation technique for imperative and object oriented programs. In a previous paper, we have introduced an adaptation of this technique to logicprogramming. At the heart of our framework lies a specific procedure that we call "selective unification". It is used to generate appropriate run-time goals by considering all possible ways an atom can unify with the heads of some program clauses. In this paper, we show that the existing algorithm for selective unification is not complete in the presence of non-linear atoms. We then prove soundness and completeness for a restricted version of the problem where some atoms are required to be linear. We also consider concolic testing in the context of constraint logic programming and extend the notion of selective unification accordingly.
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment,...
详细信息
We define a Kripke semantics for Intuitionistic Higher-Order logic with constraints formulated within Church's Theory of Types via the addition of a new constraint base type. We then define an executable fragment, hoHH(C), of the logic: a higher-order logicprogramming language with typed lambda-abstraction, implication and universal quantification in goals and constraints, and give a modified model theory for this fragment. Both formal systems are shown sound and complete for their respective semantics. We also solve the impredicativity problem in lambda Prolog semantics, namely how to give a definition of truth without appealing to induction on subformula structure. In the last section we give a simple semantics-based conservative extension proof that the language hoHH(C) satisfies a uniformity property along the lines of [39]. (C) 2017 Elsevier B.V. All rights reserved.
A quantum annealer exploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby p...
详细信息
A quantum annealer exploits quantum effects to solve a particular type of optimization problem. The advantage of this specialized hardware is that it effectively considers all possible solutions in parallel, thereby potentially outperforming classical computing systems. However, despite quantum annealers having recently become commercially available, there are relatively few high-level programming models that target these devices. In this article, we show how to compile a subset of Prolog enhanced with support for constraint logic programming into a two-local Ising-model Hamiltonian suitable for execution on a quantum annealer. In particular, we describe the series of transformations one can apply to convert constraintlogic programs expressed in Prolog into an executable form that bears virtually no resemblance to a classical machine model yet that evaluates the specified constraints in a fully parallel manner. We evaluate our efforts on a 1,095-qubit D-Wave 2X quantum annealer and describe the approach's associated capabilities and shortcomings.
暂无评论