Skip to main content

Executing Scenario-Based Specification with Dynamic Generation of Rich Events

  • Conference paper
  • First Online:
Model-Driven Engineering and Software Development (MODELSWARD 2019)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1161))

Abstract

Scenario-Based Programming (SBP) is an approach to modeling and running complex, event-based, system behavior by composing narrower views of overall behavior. In this paper we introduce significant extensions to the strict interfaces by which scenarios in existing SBP frameworks specify what the system must, may, or must not do, and to the mechanisms that execute these scenarios: (i) we allow events with a multitude of variables and parameters; each event can become an entire model, and each event selection can be the selection of a major section of the new state of the system and the environment; (ii) we extend the basic request/block SBP interfaces with a rich set of composable constraints and functions, which can describe desired and undesired variable assignments, where each constraint may relate to all variables or to just a subset thereof; (iii) we introduce a central, application-agnostic mechanism for adding optimization to standard event selection; and (iv) we relate our method to Null-Space Behavior (NSB)—a successful compositional approach in control theory. We demonstrate these language-independent concepts through several use cases that are implemented in a variety of languages and solvers.

This paper substantially extends the paper titled “On-the-Fly Construction of Composite Events in Scenario-Based Modeling Using Constraint Solvers”, published in Modelsward 2019 [48].

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 EPUB and 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

Similar content being viewed by others

References

  1. Antonelli, G., Arrichiello, F., Chiaverini, S.: The NSB control: a behavior-based approach for multi-robot systems. Paladyn, J. Behav. Robot. 1(1), 48–56 (2010)

    Google Scholar 

  2. Argelich, J., Lynce, I.: CNF instances from the software package installation problem. In: Proceedings of 15th RCRA Workshop on Experimental Evaluation of Algorithms for Solving Problems with Combinatorial Explosion (2008)

    Google Scholar 

  3. Arkin, R.C.: Behavior-Based Robotics. MIT Press, Cambridge (1998)

    Google Scholar 

  4. Bar-Sinai, M., Weiss, G., Shmuel, R.: BPjs: an extensible, open infrastructure for behavioral programming research. In: Proceedings of 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 59–60 (2018)

    Google Scholar 

  5. Barrett, C., Kroening, D., Melham, T.: Problem Solving for the 21st Century: Efficient Solvers for Satisfiability Modulo Theories. London Mathematical Society and Smith Institute for Industrial Mathematics and System Engineering (2014)

    Google Scholar 

  6. Barrett, C., Tinelli, C.: Satisfiability modulo theories. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds.) Handbook of Model Checking, pp. 305–343. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-10575-8_11

    Chapter  Google Scholar 

  7. Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-49059-0_14

    Chapter  Google Scholar 

  8. Bliudze, S., Sifakis, J.: A notion of glue expressiveness for component-based systems. In: van Breugel, F., Chechik, M. (eds.) CONCUR 2008. LNCS, vol. 5201, pp. 508–522. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-85361-9_39

    Chapter  Google Scholar 

  9. Bloem, R., Jobstmann, B., Piterman, N., Pnueli, A., Saar, Y.: Synthesis of reactive(1) designs. J. Comput. Syst. Sci. 78(3), 911–938 (2012)

    Article  MathSciNet  Google Scholar 

  10. Blum, A.L., Furst, M.L.: Fast planning through planning graph analysis. Artif. Intell. 90(1–2), 281–300 (1997)

    Article  Google Scholar 

  11. Branicky, M.: Behavioral Programming. In: Working Notes AAAI Spring Symposium on Hybrid Systems and AI (1999)

    Google Scholar 

  12. Brooks, R.: A robust layered control system for a mobile robot. Robot. Autom. 2(1), 14–23 (1986)

    Google Scholar 

  13. Chvátal, V.: Linear Programming. Freeman W.H., New York (1983)

    MATH  Google Scholar 

  14. Clarke, E., Henzinger, T., Veith, H., Bloem, R.: Handbook of Model Checking. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-319-10575-8

    Book  MATH  Google Scholar 

  15. Harel, D., Katz, G., Marron, A., Sadon, A., Weiss, G.: Supplementary Material for Scenario-based Programming with Rich Event Construction (2019). http://www.b-prog.org/ccismw19

  16. Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. (FMSD) 19(1), 45–80 (2001)

    Article  Google Scholar 

  17. de Moura, L., Bjørner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_24

    Chapter  Google Scholar 

  18. Frehse, G., et al.: SpaceEx: scalable verification of hybrid systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 379–395. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22110-1_30

    Chapter  Google Scholar 

  19. Gordon, M., Marron, A., Meerbaum-Salant, O.: Spaghetti for the main course?: observations on the naturalness of scenario-based programming. In: Innovation and Technology in Computer Science Education, ITiCSE 2012. ACM (2012). https://doi.org/10.1145/2325296.2325346

  20. Greenyer, J., Bar-Sinai, M., Weiss, G., Sadon, A., Marron, A.: Modeling and programming a leader-follower challenge problem with scenario-based tools. In: Proceedings of 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 376–385 (2018)

    Google Scholar 

  21. Greenyer, J., Gritzner, D.: Generating correct, compact, and efficient PLC Code from scenario-based GR(1) specifications. In: System-Integrated Intelligence: Challenges for Product and Production Engineering (SYSINT) (2018)

    Google Scholar 

  22. Greenyer, J., et al.: ScenarioTools—a tool suite for the scenario-based modeling and analysis of reactive systems. J. Sci. Comput. Program. 149, 15–27 (2017)

    Article  Google Scholar 

  23. 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 19th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 16–23 (2016)

    Google Scholar 

  24. Greenyer, J., et al.: Distributed execution of scenario-based specifications of structurally dynamic cyber-physical systems. In: International Conference on System-Integrated Intelligence: Challenges for Product and Production Engineering (SYSINT), pp. 552–559 (2016)

    Google Scholar 

  25. Gritzner, D., Greenyer, J.: Synthesizing executable PLC code for robots from scenario-based GR(1) specifications. In: Seidl, M., Zschaler, S. (eds.) STAF 2017. LNCS, vol. 10748, pp. 247–262. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74730-9_23

    Chapter  Google Scholar 

  26. Harel, D. Kantor, A., Katz, G., Marron, A., Weiss, G., Wiener, G.: Towards behavioral programming in distributed architectures. J. Sci. Comput. Program. (J. SCP) 98, 233–267 (2015)

    Google Scholar 

  27. Harel, D.: Statecharts: a visual formalism for complex systems. J. Sci. Comput. Program. (J. SCP) 8(3), 231–274 (1987)

    Google Scholar 

  28. 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). https://doi.org/10.1007/978-3-642-45221-5_25

    Chapter  Google Scholar 

  29. Harel, D., Kantor, A., Katz, G., Marron, A., Mizrahi, L., Weiss, G.: On composing and proving the correctness of reactive behavior. In: Proceedings of 13th International Conference on Embedded Software (EMSOFT), pp. 1–10 (2013)

    Google Scholar 

  30. Harel, D., Katz, G.: Scaling-up behavioral programming: steps from basic principles to application architectures. In: International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE!), pp. 95–108 (2014)

    Google Scholar 

  31. Harel, D., Katz, G., Lampert, R., Marron, A., Weiss, G.: On the succinctness of idioms for concurrent programming. In: Proceedings of 26th International Conference on Concurrency Theory (CONCUR), pp. 85–99 (2015)

    Google Scholar 

  32. Harel, D., Katz, G., Marelly, R., Marron, A.: An initial wise development environment for behavioral models. In: Proceedings of 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 600–612 (2016)

    Google Scholar 

  33. Harel, D., Katz, G., Marelly, R., Marron, A.: First steps towards a wise development environment for behavioral models. Int. J. Inf. Syst. Model. Des. (IJISMD) 7(3), 1–22 (2016)

    Article  Google Scholar 

  34. Harel, D., Katz, G., Marelly, R., Marron, A.: Wise computing: toward endowing system development with proactive wisdom. IEEE Comput. 51(2), 14–26 (2018)

    Article  Google Scholar 

  35. Harel, D., Katz, G., Marron, A., Weiss, G.: Non-intrusive repair of reactive programs. In: Proceedings of 17th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), pp. 3–12 (2012)

    Google Scholar 

  36. Harel, D., Katz, G., Marron, A., Weiss, G.: Non-intrusive repair of safety and liveness violations in reactive programs. Trans. Comput. Collect. Intell. (TCCI) 16, 1–33 (2014)

    Google Scholar 

  37. Harel, D., Katz, G., Marron, A., Weiss, G.: The effect of concurrent programming idioms on verification: a position paper. In: Proceedings of 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 363–369 (2015)

    Google Scholar 

  38. 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). https://doi.org/10.1007/3-540-36126-X_23

    Chapter  Google Scholar 

  39. Harel, D., Maoz, S., Szekely, S., Barkan, D.: PlayGo: towards a comprehensive tool for scenario based programming. In: Proceedings of 10th International Conference on Automated Software Engineering (ASE), pp. 359–360 (2010)

    Google Scholar 

  40. Harel, D., Marelly, R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-642-19029-2

    Book  Google Scholar 

  41. Harel, D., Marron, A., Weiss, G.: Programming coordinated behavior in Java. In: D’Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 250–274. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14107-2_12

    Chapter  Google Scholar 

  42. Harel, D., Marron, A., Weiss, G., Wiener, G.: Behavioral programming, decentralized control, and multiple time scales. In: Proceedings of 1st SPLASH Workshop on Programming Systems, Languages, and Applications Based on Agents, Actors, and Decentralized Control (AGERE!), pp. 171–182 (2011)

    Google Scholar 

  43. Harel, D., Segall, I.: Synthesis from live sequence chart specifications. Comput. Syst. Sci. 78(3), 970–980 (2012)

    Article  Google Scholar 

  44. Harel, D., Marron, A.: Toward scenario-based algorithmics. In: Böckenhauer, H.-J., Komm, D., Unger, W. (eds.) Adventures Between Lower Bounds and Higher Altitudes. LNCS, vol. 11011, pp. 549–567. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-98355-4_32

    Chapter  Google Scholar 

  45. Harel, D., Marron, A., Weiss, G.: Behavioral programming. Commun. ACM 55(7), 90–100 (2012)

    Article  Google Scholar 

  46. IEEE: Standard SystemC Lang. Ref. Manual. IEEE (2006)

    Google Scholar 

  47. Katz, G., Barrett, C., Harel, D.: Theory-aided model checking of concurrent transition systems. In: Proceedings of 15th International Conference on Formal Methods in Computer-Aided Design (FMCAD), pp. 81–88 (2015)

    Google Scholar 

  48. Katz, G., Marron, A., Sadon, A., Weiss, G.: On-the-fly construction of composite events in scenario-based modeling using constraint solvers. In: Model-Driven Engineering and Software Development, MODELSWARD 2019, pp. 141–154 (2019). https://doi.org/10.5220/0007573801410154

  49. Katz, G.: On module-based abstraction and repair of behavioral programs. In: Proceedings of 19th International Conference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR), pp. 518–535 (2013)

    Google Scholar 

  50. Kiczales, G., et al.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0053381

    Chapter  Google Scholar 

  51. Mancinelli, F., Boender, J., Di Cosmo, R., Vouillon, J., Durak, B., Leroy, R.: Treinen: managing the complexity of large free and open source package based software distributions. In: Proceedings of 21st IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 199–208 (2006)

    Google Scholar 

  52. Marron, A., et al.: Six (im)possible things before breakfast: building-blocks and design-principles for wise computing. In: Proceedings of 19th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 94–100 (2016)

    Google Scholar 

  53. Marron, A., Hacohen, Y., Harel, D., Mülder, A., Terfloth, A.: Embedding scenario-based modeling in statecharts. In: Proceedings of 5th International Workshop on Model-Driven Robot Software Engineering (MORSE) (2018)

    Google Scholar 

  54. Nadel, A.: Understanding and improving a modern SAT solver, Ph.D. thesis, Tel Aviv University (2009)

    Google Scholar 

  55. Păsăreanu, C., Visser, W.: A survey of new trends in symbolic execution for software testing and analysis. Int. J. Softw. Tools Technol. Transf. 11(4), 339–353 (2009)

    Google Scholar 

  56. Sen, K.: Concolic testing. In: Proceedings of 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 571–572 (2007)

    Google Scholar 

  57. Steinberg, S., Greenyer, J., Gritzner, D., Harel, D., Katz, G., Marron, A.: Distributing scenario-based models: a replicate-and-project approach. In: Proceedings of 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 182–195 (2015)

    Google Scholar 

  58. Steinberg, S., Greenyer, J., Gritzner, D., Harel, D., Katz, G., Marron, A.: Efficient distributed execution of multi-component scenario-based models. Commun. Comput. Inf. Sci. (CCIS) 880, 449–483 (2018)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guy Katz .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Harel, D., Katz, G., Marron, A., Sadon, A., Weiss, G. (2020). Executing Scenario-Based Specification with Dynamic Generation of Rich Events. In: Hammoudi, S., Pires, L., Selić, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2019. Communications in Computer and Information Science, vol 1161. Springer, Cham. https://doi.org/10.1007/978-3-030-37873-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-37873-8_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-37872-1

  • Online ISBN: 978-3-030-37873-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics