Re: [eclipse-clp-users] Java interfaces and constraints

From: simone pascucci <cxjepa_at_gmail.com>
Date: Sun, 13 Sep 2009 10:19:24 -0500
Dear Kish,

thank you very much for the answer and the link. I understand that
using Eclispe require some more deep study of the subject. I also
found the map colouring problem in java and have a better
understanding of what you're saying.

greetings

simone

2009/9/13 Kish Shen <kisshen_at_cisco.com>:
> Hi Simone,
>
> simone pascucci wrote:
>>
>> Hi,
>>
>> I have some experience on logic programming but restricted to answer
>> set semantics and p-stable semantics. I recently downloaded eclipse
>> because I need to deal with a problem which involves arithmetic
>> computation and the use of constraints. After reading the tutorial, I
>> started to study the embedding manual (java interface) but many
>> questions remain unsoluted:
>>
>> 1)  Is it possible to use constraint libraries when using java interfaces?
>
> Yes
>
>> 2) I'm trying to code the sendmore=money problem in java but one of
>> the errors I get is related to the use of escape characters in the
>> arithmetic constraint definition.
>
> The Java interface is not intended to allow you to write ECLiPSe programs in
> Java. Rather, it is designed to allow you to communicate between Java and
> ECLiPSe, and to use each language to do what it is designed to do. For your
> example, the interface is not designed to allow you to write the send+more=
> money in Java.
>
> An example of what you might do is in Java, you allow the user to construct
> send + more = money type puzzles, e.g. what variables should appear in the
> sum. and this information is then sent to ECLiPSe, where you have an ECLiPSe
> program that construct the puzzle and solves it,
> and returning the solution to Java, which can then display the solution.
>
> To summerise: the Java interface was not designed to make ECLiPSe a Java
> library so that you can write constraint programs in Java. If this is what
> you want to do, there are several constraint libraries for Java that you can
> use.
>
>> 3) Assuming that it is possible to use constraint libraries, this
>> automatically prevent me to pass a parameter object which implements
>> the compoundTerm interfaces due to variables representation.
>>
>> Everything seems to suggest that I can't use the java interfaces for
>> my goal. Can anyone post an example of java class which makes use of
>> the constraint libraries?
>
> The EXDR representation of ECLiPSe term was deliberately designed to support
> only a subset of ECLiPSe terms, so you can't construct complex constraints
> expressions where variables occur multiple times in the expression. EXDR is
> disigned for you to passed ground information (in the puzzle construction
> example, a ground representation of the variables in the puzzle and their
> positions), and variable are used for returning information (if you are
> making an RPC) -- e.g. the solution in the puzzle construction example.
>
> If you are interested for a higher level view of the interface (i.e. how it
> is intended to be used, and the motivation for our design decisions), there
> is a paper that describe this:
>
> A High-Level Generic Interface to External Programming Languages for ECLiPSe
>
> and it is available at:
>
> http://sourceforge.net/mailarchive/forum.php?thread_name=4A80A45E.3090201%40cisco.com&forum_name=eclipse-clp-users
>
> Cheers,
>
> Kish
>
> --
> This e-mail may contain confidential and privileged material for the
> sole use of the intended recipient. Any review, use, distribution or
> disclosure by others is strictly prohibited. If you are not the intended
> recipient (or authorized to receive for the recipient), please contact
> the sender by reply e-mail and delete all copies of this message.
> Cisco Systems Limited (Company Number: 02558939), is registered in
> England and Wales with its registered office at 1 Callaghan Square,
> Cardiff, South Glamorgan CF10 5BT.
>
Received on Sun Sep 13 2009 - 15:19:38 CEST

This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET