CHR.js']js: A CHR Implementation in Java']JavaScript

被引:3
|
作者
Nogatz, Falco [1 ]
Fruhwirth, Thom [2 ]
Seipel, Dietmar [1 ]
机构
[1] Univ Wurzburg, Dept Comp Sci, D-97074 Wurzburg, Germany
[2] Ulm Univ, Inst Software Engn & Programming Languages, D-89069 Ulm, Germany
来源
关键词
Constraint handling rules; !text type='Java']Java[!/text]Script; Compiler; CONSTRAINT HANDLING RULES; PROLOG;
D O I
10.1007/978-3-319-99906-7_9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Constraint Handling Rules (CHR) is usually compiled to logic programming languages. While there are implementations for imperative programming languages such as C and Java, its most popular host language remains Prolog. In this paper, we present CHR.JS, a CHR system implemented in JavaScript, that is suitable for both the server-side and interactive client-side web applications. CHR.JS provides (i) an interpreter, which is based on the asynchronous execution model of JavaScript, and (ii) an ahead-of-time compiler, resulting in synchronous constraint solvers with better performances. Because of the great popularity of JavaScript, CHR.JS is the first CHR system that runs on almost all and even mobile devices, without the need for an additional run-time environment. As an example application we present the CHR.JS Playground, an offline-capable web-interface which allows the interactive exploration of CHRs in every modern browser.
引用
收藏
页码:131 / 146
页数:16
相关论文
共 50 条
  • [21] BUGSJS']JS: a benchmark and taxonomy of Java']JavaScript bugs
    Gyimesi, Peter
    Vancsics, Bela
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    SOFTWARE TESTING VERIFICATION & RELIABILITY, 2021, 31 (04):
  • [22] OBJS']JS: Forking Java']Javascript to OOP Paradigms
    Rosa, Alessandro
    PROCEEDINGS OF THE FUTURE TECHNOLOGIES CONFERENCE (FTC) 2018, VOL 2, 2019, 881 : 385 - 401
  • [23] JS']JSNOSE: Detecting Java']JavaScript Code Smells
    Fard, Amin Milani
    Mesbah, Ali
    2013 IEEE 13TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2013, : 116 - 125
  • [24] JS']JSME: a free molecule editor in Java']JavaScript
    Bienfait, Bruno
    Ertl, Peter
    JOURNAL OF CHEMINFORMATICS, 2013, 5
  • [25] KJS']JS: A Complete Formal Semantics of Java']JavaScript
    Park, Daejun
    Stefanescu, Andrei
    Rosu, Grigore
    ACM SIGPLAN NOTICES, 2015, 50 (06) : 346 - 356
  • [26] Poster: Supporting Java']JavaScript Experimentation with BUGSJS']JS
    Vancsics, Bela
    Gyimesi, Peter
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    2019 IEEE 12TH CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2019), 2019, : 375 - 378
  • [27] DRUIDJS']JS - A Java']JavaScript Library for Dimensionality Reduction
    Cutura, Rene
    Kralj, Christoph
    Sedlmair, Michael
    2020 IEEE VISUALIZATION CONFERENCE - SHORT PAPERS (VIS 2020), 2020, : 111 - 115
  • [28] Managing security vulnerabilities introduced by dependencies in React.JS']JS Java']JavaScript framework
    Anastasia, Terzi
    Stamatia, Bibi
    2024 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING-COMPANION, SANER-C 2024, 2024, : 126 - 133
  • [29] Sol2js']js: Translating Solidity Contracts into Java']Javascript for Hyperledger Fabric
    Zafar, Muhammad Ahmad
    Sher, Falak
    Janjua, Muhammad Umar
    Baset, Salman
    SERIAL'18: PROCEEDINGS OF THE 2018 WORKSHOP ON SCALABLE AND RESILIENT INFRASTRUCTURES FOR DISTRIBUTED LEDGERS, 2018, : 19 - 24
  • [30] JS']JS Comm: A networking mechanism collaborative applications for Java']JavaScript-based on the Web
    Furui, Y
    DIGITAL CONVERGENCE FOR CREATIVE DIVERGENCE, VOL I: TECHNICAL SPEECH SESSIONS, 1999, : 99 - 106