A use-case for behavioral programming: An architecture in JavaScript and Blockly for interactive applications with cross-cutting scenarios

  • Adiel Ashrov
  • , Assaf Marron
  • , Gera Weiss
  • , Guy Wiener

    Research output: Contribution to journalArticlepeer-review

    11 Scopus citations

    Abstract

    We combine visual programming using Google Blockly with a single-threaded implementation of behavioral programming (BP) in JavaScript, and propose design patterns for developing reactive systems such as client-side Web applications and smartphone customization applications as collections of independent cross-cutting scenarios that are interwoven at run time. We show that BP principles can be instrumental in addressing common software engineering issues such as separation of graphical representation from logic and the handling of inter-object scenarios. We also show that a BP infrastructure can be implemented with limited run-time resources in a single-threaded environment using coroutines. In addition to expanding the availability of BP capabilities, we hope that this work will contribute to the evolving directions of technologies and design patterns in developing interactive applications.

    Original languageEnglish
    Pages (from-to)268-292
    Number of pages25
    JournalScience of Computer Programming
    Volume98
    Issue numberP2
    DOIs
    StatePublished - 1 Feb 2015

    Keywords

    • Coroutines
    • HTML5
    • Smartphone
    • Visual programming
    • Web application

    ASJC Scopus subject areas

    • Software
    • Information Systems
    • Modeling and Simulation
    • Computational Theory and Mathematics

    Fingerprint

    Dive into the research topics of 'A use-case for behavioral programming: An architecture in JavaScript and Blockly for interactive applications with cross-cutting scenarios'. Together they form a unique fingerprint.

    Cite this