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 through a number of concrete Java programs using JSetL, including the implementation of simple Definite Clause Grammars.

Nondeterministic Programming in Java with JSetL / Rossi, Gianfranco; Bergenti, Federico. - In: FUNDAMENTA INFORMATICAE. - ISSN 0169-2968. - 140:3-4(2015), pp. 393-412. [10.3233/FI-2015-1260]

Nondeterministic Programming in Java with JSetL

ROSSI, Gianfranco;BERGENTI, Federico
2015-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 through a number of concrete Java programs using JSetL, including the implementation of simple Definite Clause Grammars.
2015
Nondeterministic Programming in Java with JSetL / Rossi, Gianfranco; Bergenti, Federico. - In: FUNDAMENTA INFORMATICAE. - ISSN 0169-2968. - 140:3-4(2015), pp. 393-412. [10.3233/FI-2015-1260]
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/2798327
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 4
  • ???jsp.display-item.citation.isi??? 3
social impact