TY - GEN
T1 - Executing Scenario-Based Specification with Dynamic Generation of Rich Events
AU - Harel, David
AU - Katz, Guy
AU - Marron, Assaf
AU - Sadon, Aviran
AU - Weiss, Gera
N1 - Publisher Copyright:
© Springer Nature Switzerland AG 2020.
PY - 2020/1/3
Y1 - 2020/1/3
N2 - 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.
AB - 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.
KW - Behavioral programming
KW - Constraint solvers
KW - MATLAB-Simulink Z3
KW - Mathematica
KW - NSB
KW - Python
KW - SMT solvers
KW - Scenario-Based Programming
UR - http://www.scopus.com/inward/record.url?scp=85078447384&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-37873-8_11
DO - 10.1007/978-3-030-37873-8_11
M3 - Conference contribution
AN - SCOPUS:85078447384
SN - 9783030378721
T3 - Communications in Computer and Information Science
SP - 246
EP - 274
BT - Model-Driven Engineering and Software Development - 7th International Conference, MODELSWARD 2019, Revised Selected Papers
A2 - Hammoudi, Slimane
A2 - Pires, Luís Ferreira
A2 - Selic, Bran
PB - Springer
T2 - 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2019
Y2 - 20 February 2019 through 22 February 2019
ER -