Distributing Scenario-based Models: A Replicate-and-Project Approach

Shlomi Steinberg, Joel Greenyer, Daniel Gritzner, David Harel, Guy Katz, Assaf Marron

2017

Abstract

In recent years, scenario-based modeling has been proposed to help mitigate some of the underlying difficulties in modeling complex reactive systems, by allowing modelers to specify system behavior in a way that is intuitive and directly executable. This modeling approach simplifies the specification of systems that include events occurring in distinct system components. However, when these system components are physically distributed, executing the scenario-based model requires inter-component coordination that may negatively affect system performance or robustness. We describe a technique that aims to reduce the amount of joint event-selection decisions that require coordination and synchronization among distributed system components. The technique calls for replicating the entire scenario-based executable specification in each of the components, and then transforming it in a component-specific manner that induces the required differences in execution while reducing synchronization requirements. In addition to advantages in streamlining design and improving performance, our approach captures the fact that in certain ``smart' distributed systems it is often required that components know what rules govern the behavior of other components. Our evaluation of the technique shows promising results.

References

  1. Alexandron, G., Armoni, M., Gordon, M., and Harel, D. (2014). Scenario-Based Programming: Reducing the Cognitive Load, Fostering Abstract Thinking. In Proc. 36th Int. Conf. on Software Engineering (ICSE), pages 311-320.
  2. Bansal, N., Blum, A., and Chawla, S. (2004). Correlation clustering. Machine Learning, 56(1-3):89-113.
  3. Brenner, C., Greenyer, J., and Schäfer, W. (2015). On-theFly Synthesis of Scarcely Synchronizing Distributed Controllers from Scenario-Based Specifications. In Proc. 18th Int. Conf. on Fundamental Approaches to Software Engineering (FASE), pages 51-65.
  4. Cheng, Y. and Robertazii, T. (1988). Distributed Computation with Communication Delay [Distributed Intelligent Sensor Networks]. IEEE Transactions on Aerospace and Electronic Systems, 24(6):700-712.
  5. Damm, W. and Harel, D. (2001). LSCs: Breathing Life into Message Sequence Charts. J. on Formal Methods in System Design, 19(1):45-80.
  6. Eugster, P., Felber, P., Guerraoui, R., and Kermarrec, A. (2003). The Many Faces of Publish/Subscribe. ACM Computing Surveys (CSUR), 35(2):114-131.
  7. Fahland, D. and Kantor, A. (2013). Synthesizing Decentralized Components from a Variant of Live Sequence Charts. In Proc. 1st Int. Conf. on Model-Driven Engineering and Software Development (MODELSWARD), pages 25-38.
  8. Ghosh, S. and Gupta, A. (1996). An Exercise in Faultcontainment: Self-stabilizing Leader Election. Inf. Process. Lett., 59(5):281-288.
  9. Gordon, M., Marron, A., and Meerbaum-Salant, O. (2012). Spaghetti for the Main Course? Observations on the Naturalness of Scenario-Based Programming. In Proc. 17th Conf. on Innovation and Technology in Computer Science Education (ITICSE), pages 198- 203.
  10. 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., and Voges, R. (2015). Scenarios@run.time - Distributed Execution of Specifications on IoT-Connected Robots. In Proc. 10th Int. Workshop on Models@Run.Time (MRT), pages 71-80.
  11. Greenyer, J., Gritzner, D., Katz, G., and Marron, A. (2016a). Scenario-Based Modeling and Synthesis for Reactive Systems with Dynamic System Structure in ScenarioTools. In Proc. 19th Int. Conf. on Model Driven Engineering Languages and Systems (MODELS), pages 16-32.
  12. Greenyer, J., Gritzner, D., Katz, G., Marron, A., Glade, N., Gutjahr, T., and König, F. (2016b). Distributed Execution of Scenario-based Specifications of Structurally Dynamic Cyber-Physical Systems. In Proc. 3rd Int. Conf. on System-Integrated Intelligence: New Challenges for Product and Production Engineering (SYSINT), pages 552-559.
  13. Harel, D., Kantor, A., and Katz, G. (2013a). Relaxing Synchronization Constraints in Behavioral Programs. In Proc. 19th Int. Conf. on Logic for Programming, Artificial Intelligence and Reasoning (LPAR) , pages 355- 372.
  14. Harel, D., Kantor, A., Katz, G., Marron, A., Mizrahi, L., and Weiss, G. (2013b). On Composing and Proving the Correctness of Reactive Behavior. In Proc. 13th Int. Conf. on Embedded Software (EMSOFT), pages 1-10.
  15. Harel, D., Kantor, A., Katz, G., Marron, A., Weiss, G., and Wiener, G. (2015a). Towards Behavioral Programming in Distributed Architectures. Science of Computer Programming, 98(2):233-267.
  16. Harel, D. and Katz, G. (2014). Scaling-Up Behavioral Programming: Steps from Basic Principles to Application Architectures. In Proc. 4th Int. Workshop on Programming based on Actors, Agents, and Decentralized Control (AGERE!), pages 95-108.
  17. Harel, D., Katz, G., Lampert, R., Marron, A., and Weiss, G. (2015b). On the Succinctness of Idioms for Concurrent Programming. In Proc. 26th Int. Conf. on Concurrency Theory (CONCUR), pages 85-99.
  18. Harel, D., Katz, G., Marelly, R., and Marron, A. (2016). An Initial Wise Development Environment for Behavioral Models. In Proc. 4th Int. Conf. on Model-Driven Engineering and Software Development (MODELSWARD), pages 600-612.
  19. Harel, D., Katz, G., Marron, A., and Weiss, G. (2012a). Non-Intrusive Repair of Reactive Programs. In Proc. 17th IEEE Int. Conf. on Engineering of Complex Computer Systems (ICECCS), pages 3-12.
  20. Harel, D., Katz, G., Marron, A., and Weiss, G. (2015c). The Effect of Concurrent Programming Idioms on Verification. In Proc. 3rd Int. Conf. on Model-Driven Engineering and Software Development (MODELSWARD), pages 363-369.
  21. Harel, D., Kugler, H., Marelly, R., and Pnueli, A. (2002). Smart Play-Out of Behavioral Requirements. In Proc. 4th Int. Conf. on Formal Methods in Computer-Aided Design (FMCAD), pages 378-398.
  22. Harel, D., Lampert, R., Marron, A., and Weiss, G. (2011a). Model-Checking Behavioral Programs. In Proc. 11th Int. Conf. on Embedded Software (EMSOFT), pages 279-288.
  23. Harel, D. and Marelly, R. (2003a). Come, Let's Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer.
  24. Harel, D. and Marelly, R. (2003b). Specifying and Executing Behavioral Requirements: The Play In/Play-Out Approach. Software and System Modeling (SoSyM), 2:82-107.
  25. Harel, D., Marron, A., and Weiss, G. (2012b). Behavioral Programming. Communications of the ACM, 55(7):90-100.
  26. Harel, D., Marron, A., Weiss, G., and Wiener, G. (2011b). 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!), pages 171-182.
  27. Harel, D. and Segall, I. (2011). Synthesis from live sequence chart specifications. Computer System Sciences. To appear.
  28. Katz, G. (2013). On Module-Based Abstraction and Repair of Behavioral Programs. In Proc. 19th Int. Conf. on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), pages 518-535.
  29. Katz, G., Barrett, C., and Harel, D. (2015). Theory-Aided Model Checking of Concurrent Transition Systems. In Proc. 15th Int. Conf. on Formal Methods in ComputerAided Design (FMCAD), pages 81-88.
  30. Miller, C. and Poellabauer, C. (2009). A Decentralized Approach to Minimum-Energy Broadcasting in Static Ad Hoc Networks. In Proc. 8th Int. Conf. on Ad-Hoc, Mobile and Wireless Networks (ADHOC-NOW), pages 298-311.
  31. Ramadge, P. and Wonham, W. (1987). Supervisory Control of a Class of Discrete Event Processes. SIAM J. on Control and Optimization, 25(1):206-230.
  32. Stefanescu, A., Esparza, J., and Muscholl, A. (2003). Synthesis of Distributed Algorithms Using Asynchronous Automata. In Proc. 14th Int. Conf. on Concurrency Theory (CONCUR), pages 27-41.
  33. van Gemund, A. (1997). The Importance of Synchronization Structure in Parallel Program Optimization. In Proc. 11th Int. Conf. on Supercomputing (ICS), pages 164-171.
  34. Yook, J., Tilbury, D., and Soparkar, N. (2002). Trading Computation for Bandwidth: Reducing Communication in Distributed Control Systems Using State Estimators. IEEE Transactions on Control Systems Technology, 10(4):503-518.
  35. Appendix: Proof for Lemma 1
Download


Paper Citation


in Harvard Style

Steinberg S., Greenyer J., Gritzner D., Harel D., Katz G. and Marron A. (2017). Distributing Scenario-based Models: A Replicate-and-Project Approach . In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-210-3, pages 182-195. DOI: 10.5220/0006271301820195


in Bibtex Style

@conference{modelsward17,
author={Shlomi Steinberg and Joel Greenyer and Daniel Gritzner and David Harel and Guy Katz and Assaf Marron},
title={Distributing Scenario-based Models: A Replicate-and-Project Approach},
booktitle={Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2017},
pages={182-195},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006271301820195},
isbn={978-989-758-210-3},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Distributing Scenario-based Models: A Replicate-and-Project Approach
SN - 978-989-758-210-3
AU - Steinberg S.
AU - Greenyer J.
AU - Gritzner D.
AU - Harel D.
AU - Katz G.
AU - Marron A.
PY - 2017
SP - 182
EP - 195
DO - 10.5220/0006271301820195