Efficient Distributed Execution of Multi-component Scenario-Based Models

  • Shlomi Steinberg
  • Joel Greenyer
  • Daniel Gritzner
  • David Harel
  • Guy Katz
  • Assaf MarronEmail author
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 880)


In scenario-based programming (SBP), the semantics, which enables direct execution of these intuitive specifications, calls, among others, for synchronizing concurrent scenarios prior to every event-selection decision. Doing so even when the running scenarios are distributed across multiple physical system components, may degrade system performance or robustness. In this paper we describe a technique for automated distribution of an otherwise-centralized specification, such that much of the synchronization requirement may be relaxed. The technique calls for replicating the entire scenario-based executable specification in each of the components, locally transforming it in a component-specific manner, and reducing the synchronization requirements to very specific and well-defined points during execution. Our evaluation of the technique shows promising results. Given that relaxed synchronization can lead to what appears as different runs in different components we discuss various criteria for what would constitute acceptable differences, or divergence, in the parallel, distributed runs of almost-identical copies of a single specification.

This paper incorporates and substantially extends the material of the paper published in MODLESWARD’17 Distributing Scenario-Based Models: A Replicate-and-Project Approach by the same authors [37].


Software engineering Scenario-based modeling Concurrency Distributed systems 



This work is funded by grants from the German-Israeli Foundation for Scientific Research and Development (GIF) and from the Israel Science Foundation (ISF).


  1. 1.
    Alexandron, G., Armoni, M., Gordon, M., Harel, D.: Scenario-based programming: reducing the cognitive load, fostering abstract thinking. In: Proceedings of the 36th International Conference on Software Engineering (ICSE), pp. 311–320 (2014)Google Scholar
  2. 2.
    Bansal, N., Blum, A., Chawla, S.: Correlation clustering. Mach. Learn. 56(1–3), 89–113 (2004)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Błażewicz, J., Ecker, K., Plateau, B., Trystram, D.: Handbook on Parallel and Distributed Processing. Springer, Heidelberg (2013). Scholar
  4. 4.
    Brenner, C., Greenyer, J., Schäfer, W.: On-the-fly synthesis of scarcely synchronizing distributed controllers from scenario-based specifications. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 51–65. Springer, Heidelberg (2015). Scholar
  5. 5.
    Cheng, Y., Robertazii, T.: Distributed computation with communication delay (distributed intelligent sensor networks). IEEE Trans. Aerosp. Electron. Syst. 24(6), 700–712 (1988)CrossRefGoogle Scholar
  6. 6.
    Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001)CrossRefGoogle Scholar
  7. 7.
    De La Puente, J.A., Alonso, A., León, G., Dueñas, J.C.: Distributed execution of specifications. Real-Time Syst. 5(2), 213–234 (1993)CrossRefGoogle Scholar
  8. 8.
    Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.: The many faces of publish/subscribe. ACM Comput. Surv. (CSUR) 35(2), 114–131 (2003)CrossRefGoogle Scholar
  9. 9.
    Fahland, D., Kantor, A.: Synthesizing decentralized components from a variant of live sequence charts. In: Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 25–38 (2013)Google Scholar
  10. 10.
    Ghosh, S., Gupta, A.: An exercise in fault-containment: self-stabilizing leader election. Inf. Process. Lett. 59(5), 281–288 (1996)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Gordon, M., Marron, A., Meerbaum-Salant, O.: Spaghetti for the main course? Observations on the naturalness of scenario-based programming. In: Proceedings of the 17th Confernce on Innovation and Technology in Computer Science Education (ITICSE), pp. 198–203 (2012)Google Scholar
  12. 12.
    Greenyer, J., Gritzner, D., Gutjahr, T., Duente, T., Dulle, S., Deppe, F.-D., Glade, N., Hilbich, M., Koenig, F., Luennemann, J., Prenner, N., Raetz, K., Schnelle, T., Singer, M., Tempelmeier, N., Voges, R.: Scenarios@run.time – distributed execution of specifications on IoT-connected robots. In: Proceedings of the 10th International Workshop on Models@Run.Time (MRT), pp. 71–80 (2015)Google Scholar
  13. 13.
    Greenyer, J., Gritzner, D., Katz, G., Marron, A.: Scenario-based modeling and synthesis for reactive systems with dynamic system structure in ScenarioTools. In: Proceedings of the 19th International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 16–32 (2016)Google Scholar
  14. 14.
    Greenyer, J., Gritzner, D., Katz, G., Marron, A., Glade, N., Gutjahr, T., König, F.: Distributed execution of scenario-based specifications of structurally dynamic cyber-physical systems. In: Proceedings 3rd International Conference on System-Integrated Intelligence: New Challenges for Product and Production Engineering (SYSINT), pp. 552–559 (2016)CrossRefGoogle Scholar
  15. 15.
    Harel, D., Kantor, A., Katz, G.: Relaxing synchronization constraints in behavioral programs. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 355–372. Springer, Heidelberg (2013). Scholar
  16. 16.
    Harel, D., Kantor, A., Katz, G., Marron, A., Mizrahi, L., Weiss, G.: On composing and proving the correctness of reactive behavior. In: Proceedings of the 13th International Conference on Embedded Software (EMSOFT), pp. 1–10 (2013)Google Scholar
  17. 17.
    Harel, D., Kantor, A., Katz, G., Marron, A., Weiss, G., Wiener, G.: Towards behavioral programming in distributed architectures. Sci. Comput. Program. 98(2), 233–267 (2015)CrossRefGoogle Scholar
  18. 18.
    Harel, D., Katz, G.: Scaling-up behavioral programming: steps from basic principles to application architectures. In: Proceedings of the 4th International Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE!), pp. 95–108 (2014)Google Scholar
  19. 19.
    Harel, D., Katz, G., Lampert, R. Marron, A., Weiss, G.: On the succinctness of idioms for concurrent programming. In: Proceedings of the 26th International Conference on Concurrency Theory (CONCUR), pp. 85–99 (2015)Google Scholar
  20. 20.
    Harel, D., Katz, G., Marelly, R., Marron, A.: An initial wise development environment for behavioral models. In: Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 600–612 (2016)Google Scholar
  21. 21.
    Harel, D., Katz, G., Marron, A., Weiss, G.: Non-intrusive repair of reactive programs. In: Proceedings of the 17th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 3–12 (2012)Google Scholar
  22. 22.
    Harel, D., Katz, G., Marron, A., Weiss, G.: The effect of concurrent programming idioms on verification. In: Proceedings of the 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 363–369 (2015)Google Scholar
  23. 23.
    Harel, D., Kugler, H., Marelly, R., Pnueli, A.: Smart play-out of behavioral requirements. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 378–398. Springer, Heidelberg (2002). Scholar
  24. 24.
    Harel, D., Lampert, R., Marron, A., Weiss, G.: Model-checking behavioral programs. In: Proceedings of the 11th International Conference on Embedded Software (EMSOFT), pp. 279–288 (2011)Google Scholar
  25. 25.
    Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2003). Scholar
  26. 26.
    Harel, D., Marelly, R.: Specifying and executing behavioral requirements: the play in/play-out approach. Softw. Syst. Model. (SoSyM) 2, 82–107 (2003)CrossRefGoogle Scholar
  27. 27.
    Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)CrossRefGoogle Scholar
  28. 28.
    Harel, D., Marron, A., Weiss, G., Wiener, G.: Behavioral programming, decentralized control, and multiple time scales. In: Proceedings of the 1st SPLASH Workshop on Programming Systems, Languages, and Applications based on Agents, Actors, and Decentralized Control (AGERE!), pp. 171–182 (2011)Google Scholar
  29. 29.
    Harel, D., Segall, I.: Synthesis from live sequence chart specifications. Comput. Syst. Sci. (2011, to appear)Google Scholar
  30. 30.
    Katz, G.: On module-based abstraction and repair of behavioral programs. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR 2013. LNCS, vol. 8312, pp. 518–535. Springer, Heidelberg (2013). Scholar
  31. 31.
    Katz, G., Barrett, C., Harel, D.: Theory-aided model checking of concurrent transition systems. In: Proceedings of the 15th International Conference on Formal Methods in Computer-Aided Design (FMCAD), pp. 81–88 (2015)Google Scholar
  32. 32.
    Liu, J., Ahmed, E., Shiraz, M., Gani, A., Buyya, R., Qureshi, A.: Application partitioning algorithms in mobile cloud computing: taxonomy, review and future directions. J. Netw. Comput. Appl. 48, 99–117 (2015)CrossRefGoogle Scholar
  33. 33.
    Miller, C., Poellabauer, C.: A decentralized approach to minimum-energy broadcasting in static ad hoc networks. In: Ruiz, P.M., Garcia-Luna-Aceves, J.J. (eds.) ADHOC-NOW 2009. LNCS, vol. 5793, pp. 298–311. Springer, Heidelberg (2009). Scholar
  34. 34.
    Muth, P., Wodtke, D., Weissenfels, J., Dittrich, A.K., Weikum, G.: From centralized workflow specification to distributed workflow execution. J. Intell. Inf. Syst. 10(2), 159–184 (1998)CrossRefGoogle Scholar
  35. 35.
    Ramadge, P., Wonham, W.: Supervisory control of a class of discrete event processes. SIAM J. Control Optim. 25(1), 206–230 (1987)MathSciNetCrossRefGoogle Scholar
  36. 36.
    Ştefănescu, A., Esparza, J., Muscholl, A.: Synthesis of distributed algorithms using asynchronous automata. In: Amadio, R., Lugiez, D. (eds.) CONCUR 2003. LNCS, vol. 2761, pp. 27–41. Springer, Heidelberg (2003). Scholar
  37. 37.
    Steinberg, S., Greenyer, J., Gritzner, D., Harel, D., Katz, G., Marron, A.: Distributing scenario-based models: a replicate-and-project approach. In: 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD) (2017)Google Scholar
  38. 38.
    van Gemund, A.: The importance of synchronization structure in parallel program optimization. In: Proceedings of the 11th International Conference on Supercomputing (ICS), pp. 164–171 (1997)Google Scholar
  39. 39.
    Yook, J., Tilbury, D., Soparkar, N.: Trading computation for bandwidth: reducing communication in distributed control systems using state estimators. IEEE Trans. Control Syst. Technol. 10(4), 503–518 (2002)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Shlomi Steinberg
    • 1
  • Joel Greenyer
    • 2
  • Daniel Gritzner
    • 2
  • David Harel
    • 1
  • Guy Katz
    • 3
  • Assaf Marron
    • 1
    Email author
  1. 1.The Weizmann Institute of ScienceRehovotIsrael
  2. 2.Leibniz Universität HannoverHannoverGermany
  3. 3.Stanford UniversityStanfordUSA

Personalised recommendations