4 research outputs found
Exchanging Conflict Resolution in an Adaptable Implementation of ACT-R
In computational cognitive science, the cognitive architecture ACT-R is very
popular. It describes a model of cognition that is amenable to computer
implementation, paving the way for computational psychology. Its underlying
psychological theory has been investigated in many psychological experiments,
but ACT-R lacks a formal definition of its underlying concepts from a
mathematical-computational point of view. Although the canonical implementation
of ACT-R is now modularized, this production rule system is still hard to adapt
and extend in central components like the conflict resolution mechanism (which
decides which of the applicable rules to apply next).
In this work, we present a concise implementation of ACT-R based on
Constraint Handling Rules which has been derived from a formalization in prior
work. To show the adaptability of our approach, we implement several different
conflict resolution mechanisms discussed in the ACT-R literature. This results
in the first implementation of one such mechanism. For the other mechanisms, we
empirically evaluate if our implementation matches the results of reference
implementations of ACT-R.Comment: To appear in Theory and Practice of Logic Programming (TPLP).
Accepted paper for ICLP 2014. 12 pages + appendi
Concurrent Goal-Based Execution of Constraint Handling Rules
(To appear in Theory and Practice of Logic Programming (TPLP)) We introduce a
systematic, concurrent execution scheme for Constraint Handling Rules (CHR)
based on a previously proposed sequential goal-based CHR semantics. We
establish strong correspondence results to the abstract CHR semantics, thus
guaranteeing that any answer in the concurrent, goal-based CHR semantics is
reproducible in the abstract CHR semantics. Our work provides the foundation to
obtain efficient, parallel CHR execution schemes
Parallelism, Concurrency and Distribution in Constraint Handling Rules: A Survey
Constraint Handling Rules is an effective concurrent declarative programming
language and a versatile computational logic formalism. CHR programs consist of
guarded reactive rules that transform multisets of constraints. One of the main
features of CHR is its inherent concurrency. Intuitively, rules can be applied
to parts of a multiset in parallel. In this comprehensive survey, we give an
overview of concurrent and parallel as well as distributed CHR semantics,
standard and more exotic, that have been proposed over the years at various
levels of refinement. These semantics range from the abstract to the concrete.
They are related by formal soundness results. Their correctness is established
as correspondence between parallel and sequential computations. We present
common concise sample CHR programs that have been widely used in experiments
and benchmarks. We review parallel CHR implementations in software and
hardware. The experimental results obtained show a consistent parallel speedup.
Most implementations are available online. The CHR formalism can also be used
to implement and reason with models for concurrency. To this end, the Software
Transaction Model, the Actor Model, Colored Petri Nets and the Join-Calculus
have been faithfully encoded in CHR. Under consideration in Theory and Practice
of Logic Programming (TPLP).Comment: Under consideration in Theory and Practice of Logic Programming
(TPLP
As time goes by: Constraint Handling Rules - A survey of CHR research from 1998 to 2007
Constraint Handling Rules (CHR) is a high-level programming language based on
multi-headed multiset rewrite rules. Originally designed for writing
user-defined constraint solvers, it is now recognized as an elegant general
purpose language. CHR-related research has surged during the decade following
the previous survey by Fruehwirth. Covering more than 180 publications, this
new survey provides an overview of recent results in a wide range of research
areas, from semantics and analysis to systems, extensions and applications.Comment: 49 pages. To appear in Theory and Practice of Logic Programmin