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

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 languageAmerican English
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

All Science Journal Classification (ASJC) codes

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

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