Relaxing synchronization constraints in behavioral programs

David Harel, Amir Kantor, Guy Katz

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


In behavioral programming, a program consists of separate modules called behavior threads, each representing a part of the system's allowed, necessary or forbidden behavior. An execution of the program is a series of synchronizations between these threads, where at each synchronization point an event is selected to be carried out. As a result, the execution speed is dictated by the slowest thread. We propose an eager execution mechanism for such programs, which builds upon the realization that it is often possible to predict the outcome of a synchronization point even without waiting for slower threads to synchronize. This allows faster threads to continue running uninterrupted, whereas slower ones catch up at a later time. Consequently, eager execution brings about increased system performance, better support for the modular design of programs, and the ability to distribute programs across several machines. It also allows to apply behavioral programming to a variety of problems that were previously outside its scope. We illustrate the method by concrete examples, implemented in a behavioral programming framework in C++.

Original languageEnglish
Title of host publicationLogic for Programming, Artificial Intelligence, and Reasoning - 19th International Conference, LPAR 2013, Proceedings
Number of pages18
StatePublished - 2013
Event19th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, LPAR 2013 - Stellenbosch, South Africa
Duration: 14 Dec 201319 Dec 2013

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume8312 LNCS


Conference19th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning, LPAR 2013
Country/TerritorySouth Africa


  • Behavioral programming
  • Distributed design
  • Eager execution
  • Modular design
  • Synchronization

All Science Journal Classification (ASJC) codes

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Relaxing synchronization constraints in behavioral programs'. Together they form a unique fingerprint.

Cite this