Skip to main content

Relaxing Synchronization Constraints in Behavioral Programs

  • Conference paper
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2013)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8312))

Abstract

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 + + .

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. BPC: Behavioral Programming in C  + + , http://www.wisdom.weizmann.ac.il/~bprogram/bpc/ .

  2. Supplementral material, http://www.wisdom.weizmann.ac.il/~bprogram/bpc/relaxedSync/

  3. Bensalem, S., Bozga, M., Quilbeuf, J., Sifakis, J.: Knowledge-Based Distributed Conflict Resolution for Multiparty Interactions and Priorities. In: Giese, H., Rosu, G. (eds.) FMOODS/FORTE 2012. LNCS, vol. 7273, pp. 118–134. Springer, Heidelberg (2012)

    Google Scholar 

  4. Cheng, Y., Robertazii, T.: Distributed Computation with Communication Delay (Distributed Intelligent Sensor Networks). IEEE Transactions on Aerospace and Electronic Systems 24(6), 700–712 (1988)

    Article  Google Scholar 

  5. Damm, W., Harel, D.: LSCs: Breathing Life into Message Sequence Charts. J. on Formal Methods in System Design 19(1), 45–80 (2001)

    Article  MATH  Google Scholar 

  6. Harel, D., Katz, G., Marron, A., Weiss, G.: Non-Intrusive Repair of Reactive Programs. In: Proc. 17th IEEE Int. Conf. on Engineering of Complex Computer Systems (ICECCS), pp. 3–12 (2012)

    Google Scholar 

  7. Harel, D., Lampert, R., Marron, A., Weiss, G.: Model-Checking Behavioral Programs. In: Proc. 11th Int. Conf. on Embedded Software (EMSOFT), pp. 279–288 (2011)

    Google Scholar 

  8. Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer (2003)

    Google Scholar 

  9. Harel, D., Marron, A., Weiss, G.: Programming Coordinated Scenarios in Java. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 250–274. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  10. Harel, D., Marron, A., Weiss, G.: Behavioral Programming. Comm. Assoc. Comput. Mach. 55(7), 90–100 (2012)

    Google Scholar 

  11. Harel, D., Marron, A., Weiss, G., Wiener, G.: Behavioral Programming, Decentralized Control, and Multiple Time Scales. In: Proc. 1st SPLASH Workshop on Programming Systems, Languages, and Applications based on Agents, Actors, and Decentralized Control (AGERE!), pp. 171–182 (2011)

    Google Scholar 

  12. Keller, R.: Formal verification of parallel programs. Comm. Assoc. Comput. Mach. 19(7), 371–384 (1976)

    MATH  Google Scholar 

  13. Parnas, D.: On the Criteria To Be Used in Decomposing Systems into Modules. Comm. Assoc. Comput. Mach. 15(12), 1053–1058 (1972)

    Google Scholar 

  14. van Gemund, A.J.: The Importance of Synchronization Structure in Parallel Program Optimization. In: Proc. 11th ACM Int. Conf. on Supercomputing (ICS), pp. 164–171 (1997)

    Google Scholar 

  15. Volk, E.: CxxTest: A Unit Testing Framework for C  + + , http://cxxtest.com/

  16. Yook, J.K., Tilbury, D.M., Soparkar, N.R.: Trading Computation for Bandwidth: Reducing Communication in Distributed Control Systems Using State Estimators. IEEE Transactions on Control Systems Technology 10(4), 503–518 (2002)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harel, D., Kantor, A., Katz, G. (2013). Relaxing Synchronization Constraints in Behavioral Programs. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2013. Lecture Notes in Computer Science, vol 8312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45221-5_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-45221-5_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-45220-8

  • Online ISBN: 978-3-642-45221-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics