2001-11-13
AUTHORSMaría García de la Banda , David Jeffery , Kim Marriott , Nicholas Nethercote , Peter J. Stuckey , Christian Holzbaur
ABSTRACTExperience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy “plug and play” experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead. More... »
PAGES90-104
Logic Programming
ISBN
978-3-540-42935-7
978-3-540-45635-3
http://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14
DOIhttp://dx.doi.org/10.1007/3-540-45635-x_14
DIMENSIONShttps://app.dimensions.ai/details/publication/pub.1006016956
JSON-LD is the canonical representation for SciGraph data.
TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT
[
{
"@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json",
"about": [
{
"id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08",
"inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/",
"name": "Information and Computing Sciences",
"type": "DefinedTerm"
},
{
"id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0803",
"inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/",
"name": "Computer Software",
"type": "DefinedTerm"
}
],
"author": [
{
"affiliation": {
"alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia",
"id": "http://www.grid.ac/institutes/grid.1002.3",
"name": [
"School of Comp. Sci. & Soft. Eng., Monash University, Australia"
],
"type": "Organization"
},
"familyName": "de la Banda",
"givenName": "Mar\u00eda Garc\u00eda",
"id": "sg:person.016350443307.93",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93"
],
"type": "Person"
},
{
"affiliation": {
"alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia",
"id": "http://www.grid.ac/institutes/grid.1002.3",
"name": [
"School of Comp. Sci. & Soft. Eng., Monash University, Australia"
],
"type": "Organization"
},
"familyName": "Jeffery",
"givenName": "David",
"id": "sg:person.013435622047.94",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013435622047.94"
],
"type": "Person"
},
{
"affiliation": {
"alternateName": "School of Comp. Sci. & Soft. Eng., Monash University, Australia",
"id": "http://www.grid.ac/institutes/grid.1002.3",
"name": [
"School of Comp. Sci. & Soft. Eng., Monash University, Australia"
],
"type": "Organization"
},
"familyName": "Marriott",
"givenName": "Kim",
"id": "sg:person.014375607254.44",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44"
],
"type": "Person"
},
{
"affiliation": {
"alternateName": "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia",
"id": "http://www.grid.ac/institutes/grid.1008.9",
"name": [
"Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia"
],
"type": "Organization"
},
"familyName": "Nethercote",
"givenName": "Nicholas",
"id": "sg:person.07732570545.28",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.07732570545.28"
],
"type": "Person"
},
{
"affiliation": {
"alternateName": "Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia",
"id": "http://www.grid.ac/institutes/grid.1008.9",
"name": [
"Dept. of Comp. Sci. & Soft. Eng., University of Melbourne, Australia"
],
"type": "Organization"
},
"familyName": "Stuckey",
"givenName": "Peter J.",
"id": "sg:person.012243374043.93",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93"
],
"type": "Person"
},
{
"affiliation": {
"alternateName": "Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria",
"id": "http://www.grid.ac/institutes/grid.10420.37",
"name": [
"Dept. of Medical Cybernetics and Art. Intel., University of Vienna, Austria"
],
"type": "Organization"
},
"familyName": "Holzbaur",
"givenName": "Christian",
"id": "sg:person.015052747435.75",
"sameAs": [
"https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.015052747435.75"
],
"type": "Person"
}
],
"datePublished": "2001-11-13",
"datePublishedReg": "2001-11-13",
"description": "Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy \u201cplug and play\u201d experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead.",
"editor": [
{
"familyName": "Codognet",
"givenName": "Philippe",
"type": "Person"
}
],
"genre": "chapter",
"id": "sg:pub.10.1007/3-540-45635-x_14",
"inLanguage": "en",
"isAccessibleForFree": false,
"isPartOf": {
"isbn": [
"978-3-540-42935-7",
"978-3-540-45635-3"
],
"name": "Logic Programming",
"type": "Book"
},
"keywords": [
"logic programming language",
"problem-specific solvers",
"real-life problems",
"solver interface",
"programming language",
"dynamic scheduling",
"particular solver",
"external solvers",
"Handling Rules",
"efficient solution",
"simple solver",
"solver",
"type classes",
"programmers",
"experimentation",
"different ways",
"scheduling",
"interface",
"programming",
"language",
"constraints",
"way",
"rules",
"modelling",
"solution",
"class",
"number",
"process",
"experience",
"HAL",
"problem",
"paper"
],
"name": "Building Constraint Solvers with HAL",
"pagination": "90-104",
"productId": [
{
"name": "dimensions_id",
"type": "PropertyValue",
"value": [
"pub.1006016956"
]
},
{
"name": "doi",
"type": "PropertyValue",
"value": [
"10.1007/3-540-45635-x_14"
]
}
],
"publisher": {
"name": "Springer Nature",
"type": "Organisation"
},
"sameAs": [
"https://doi.org/10.1007/3-540-45635-x_14",
"https://app.dimensions.ai/details/publication/pub.1006016956"
],
"sdDataset": "chapters",
"sdDatePublished": "2022-05-20T07:43",
"sdLicense": "https://scigraph.springernature.com/explorer/license/",
"sdPublisher": {
"name": "Springer Nature - SN SciGraph project",
"type": "Organization"
},
"sdSource": "s3://com-springernature-scigraph/baseset/20220519/entities/gbq_results/chapter/chapter_194.jsonl",
"type": "Chapter",
"url": "https://doi.org/10.1007/3-540-45635-x_14"
}
]
Download the RDF metadata as: json-ld nt turtle xml License info
JSON-LD is a popular format for linked data which is fully compatible with JSON.
curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'
N-Triples is a line-based linked data format ideal for batch operations.
curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'
Turtle is a human-readable linked data format.
curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'
RDF/XML is a standard XML format for linked data.
curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/3-540-45635-x_14'
This table displays all metadata directly associated to this object as RDF triples.
133 TRIPLES
23 PREDICATES
57 URIs
50 LITERALS
7 BLANK NODES