JSetL is a Java library that endows Java with a number of facilities that are intended to support declarative and constraint (logic) programming. In this paper we show how JSetL can be used to support general forms of nondeterministic programming in an object-oriented framework. This is obtained by combining different but related facilities such as logical variables, set data structures, unification, along with a constraint solver that allows the user to solve nondeterministic constraints, as well as to define new constraints using the nondeterminism handling facilities provided by the solver itself. Thus, the user can define her/his own general nondeterministic procedures as new constraints, letting the constraint solver handle them. The proposed solutions are illustrated by showing a number of concrete Java implementations using JSetL, including the implementation of simple Definite Clause Grammars.

Nondeterministic Programming in Java with JSetL / Rossi, Gianfranco; Bergenti, Federico. - ELETTRONICO. - 1068:(2013), pp. 211-226. ((Intervento presentato al convegno 28th Italian Conference on Computational Logic tenutosi a Catania, Italy nel September 25-27, 2013.

Nondeterministic Programming in Java with JSetL

ROSSI, Gianfranco;BERGENTI, Federico
2013-01-01

Abstract

JSetL is a Java library that endows Java with a number of facilities that are intended to support declarative and constraint (logic) programming. In this paper we show how JSetL can be used to support general forms of nondeterministic programming in an object-oriented framework. This is obtained by combining different but related facilities such as logical variables, set data structures, unification, along with a constraint solver that allows the user to solve nondeterministic constraints, as well as to define new constraints using the nondeterminism handling facilities provided by the solver itself. Thus, the user can define her/his own general nondeterministic procedures as new constraints, letting the constraint solver handle them. The proposed solutions are illustrated by showing a number of concrete Java implementations using JSetL, including the implementation of simple Definite Clause Grammars.
Nondeterministic Programming in Java with JSetL / Rossi, Gianfranco; Bergenti, Federico. - ELETTRONICO. - 1068:(2013), pp. 211-226. ((Intervento presentato al convegno 28th Italian Conference on Computational Logic tenutosi a Catania, Italy nel September 25-27, 2013.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11381/2739706
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact