Parallelism, concurrency and distribution in constraint handling rules: A survey

被引:1
|
作者
Fruehwirth, Thom [1 ]
机构
[1] Ulm Univ, Inst Software Engn & Programming Languages, D-89069 Ulm, Germany
关键词
parallelism; concurrency; distribution; constraint handling rules; declarative programming; concurrent constraint programming; semantics; rewriting; concurrency models; CHR; PROGRAMS; MODEL;
D O I
10.1017/S1471068418000078
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Constraint Handling Rules (CHR) is both an effective concurrent declarative programming language and a versatile computational logic formalism. In CHR, guarded reactive rules rewrite a multi-set of constraints. Concurrency is inherent, since rules can be applied to the constraints in parallel. In this comprehensive survey, we give an overview of the concurrent, 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 proven as a correspondence between parallel and sequential computations. On the more practical side, we present common concise example CHR programs that have been widely used in experiments and benchmarks. We review parallel and distributed CHR implementations in software as well as hardware. The experimental results obtained show a parallel speed-up for unmodified sequential CHR programs. The software implementations are available online for free download and we give the web links. Due to its high level of abstraction, the CHR formalism can also be used to implement and analyse 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. Finally, we identify and discuss commonalities of the approaches surveyed and indicate what problems are left open for future research.
引用
收藏
页码:759 / 805
页数:47
相关论文
共 50 条
  • [21] Tutorial: Reasoning with, about and for constraint handling rules
    Fruehwirth, T
    Abdennadher, S
    FRONTIERS OF COMBINING SYSTEMS, 2002, 2309 : 192 - 192
  • [22] Logical grammars based on Constraint Handling Rules
    Christiansen, H
    LOGICS PROGRAMMING, PROCEEDINGS, 2002, 2401 : 481 - 481
  • [23] The Computational Power and Complexity of Constraint Handling Rules
    Sneyers, Jon
    Schrijvers, Tom
    Demoen, Bart
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (02):
  • [24] Optimizing compilation of constraint handling rules in HAL
    Holzbaur, C
    De la Banda, MG
    Stuckey, PJ
    Duck, GJ
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2005, 5 : 503 - 531
  • [25] CHRAnimation: An Animation Tool for Constraint Handling Rules
    Sharaf, Nada
    Abdennadher, Slim
    Fruehwirth, Thom
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2014), 2015, 8981 : 92 - 110
  • [26] The refined operational semantics of Constraint Handling Rules
    Duck, GJ
    Stuckey, PJ
    de la Banda, MG
    Holzbaur, C
    LOGIC PROGRAMMING, PROCEEDINGS, 2004, 3132 : 90 - 104
  • [27] Introduction to the special issue on constraint handling rules
    Abdennadher, S
    Frühwirth, T
    Holzbaur, C
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2005, 5 : 401 - 402
  • [28] Program Verification using Constraint Handling Rules and Array Constraint Generalizations
    De Angelis, Emanuele
    Pettorossi, Alberto
    Fioravanti, Fabio
    Proietti, Maurizio
    FUNDAMENTA INFORMATICAE, 2017, 150 (01) : 73 - 117
  • [29] Concurrency and Parallelism in the Computing Ontology
    Cassel, Lillian
    LeBlanc, Richard
    McGettrick, Andrew
    Wrinn, Michael
    ITICSE 2009: PROCEEDING OF THE 2009 ACM SIGSE ANNUAL CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2009, : 402 - 402
  • [30] PARALLELISM AND CONCURRENCY OF GRAPH MANIPULATIONS
    EHRIG, H
    ROSEN, BK
    THEORETICAL COMPUTER SCIENCE, 1980, 11 (03) : 247 - 275