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 条
  • [31] Static Analysis of Event-Driven Node.js']js Java']JavaScript Applications
    Madsen, Magnus
    Tip, Frank
    Lhotak, Ondrej
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 505 - 519
  • [32] Visualization of protein sequence features using Java']JavaScript and SVG with pViz.js']js
    Mukhyala, Kiran
    Masselot, Alexandre
    BIOINFORMATICS, 2014, 30 (23) : 3408 - 3409
  • [34] JS']JSSlicer: a static program slicing tool for Java']JavaScript
    Wang, Liming
    Xian, Ying
    Zhang, Li
    Liu, Xiyang
    INDUSTRIAL INSTRUMENTATION AND CONTROL SYSTEMS, PTS 1-4, 2013, 241-244 : 2690 - 2695
  • [35] JS']JSEFT: Automated Java']JavaScript Unit Test Generation
    Mirshokraie, Shabnam
    Mesbah, Ali
    Pattabiraman, Karthik
    2015 IEEE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2015,
  • [36] JS']JSOPT: A Framework for Optimization of Java']JavaScript on Web Browsers
    Waqas, Muhammad
    Khan, Minhaj Ahmad
    MEHRAN UNIVERSITY RESEARCH JOURNAL OF ENGINEERING AND TECHNOLOGY, 2018, 37 (01) : 95 - 104
  • [37] SecureJS']JS Compiler: Portable Memory Isolation in Java']JavaScript
    Ko, Yoonseok
    Rezk, Tamara
    Serrano, Manuel
    36TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2021, 2021, : 1265 - 1274
  • [38] JS']JSDeodorant: Class-awareness for Java']JavaScript programs
    Eshkevari, Laleh
    Mazinanian, Davood
    Rostami, Shahriar
    Tsantalis, Nikolaos
    PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 71 - 74
  • [39] JS']JSOptimizer: An Extensible Framework for Java']JavaScript Program Optimization
    Liu, Yi
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 168 - 170
  • [40] JS']JSISOLATE: Lightweight In-Browser Java']JavaScript Isolation
    Zhang, Mingxue
    Meng, Wei
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 193 - 204