From scenario modeling to scenario programming for reactive systems with dynamic topology

Software-intensive systems often consist of cooperating reactive components. In mobile and reconfigurable systems, their topology changes at run-time, which influences how the components must cooperate. The Scenario Modeling Language (SML) offers a formal approach for specifying the reactive behavior such systems that aligns with how humans conceive and communicate behavioral requirements. Simulation and formal checks can find specification flaws early. We present a framework for the Scenario-based Programming (SBP) that reflects the concepts of SML in Java and makes the scenario modeling approach available for programming. SBP code can also be generated from SML and extended with platform-specific code, thus streamlining the transition from design to implementation. As an example serves a car-to-x communication system. Demo video and artifact: http://scenariotools.org/esecfse-2017-tool-demo/

[1]  David Harel,et al.  Specifying and executing behavioral requirements: the play-in/play-out approach , 2003, Software & Systems Modeling.

[2]  Christopher Gerking,et al.  Towards Safe Execution of Reconfigurations in Cyber-Physical Systems , 2016, 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE).

[3]  Ilias Gerostathopoulos,et al.  DEECo: an ecosystem for cyber-physical systems , 2014, ICSE Companion.

[4]  Joel Greenyer,et al.  Scenarios@run.time - Distributed Execution of Specifications on IoT-connected Robots , 2015, MoDELS@Run.time.

[5]  David Harel,et al.  Multiple instances and symbolic variables in executable sequence charts , 2002, OOPSLA '02.

[6]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[7]  Amir Pnueli,et al.  Synthesis of Reactive(1) Designs , 2006, VMCAI.

[8]  David Harel,et al.  Behavioral programming , 2012, CACM.

[9]  David Harel,et al.  Distributing Scenario-based Models: A Replicate-and-Project Approach , 2017, MODELSWARD.

[10]  Joel Greenyer,et al.  The ScenarioTools Play-Out of Modal Sequence Diagram Specifications with Environment Assumptions , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[11]  Amir Pnueli,et al.  Synthesis of Reactive(1) designs , 2006, J. Comput. Syst. Sci..

[12]  Jürgen Dingel,et al.  Evaluation of UML-RT and Papyrus-RT for Modelling Self-Adaptive Systems , 2017, 2017 IEEE/ACM 9th International Workshop on Modelling in Software Engineering (MiSE).

[13]  Guy Katz,et al.  Scenario-Based Modeling and Synthesis for Reactive Systems with Dynamic System Structure in ScenarioTools , 2016, D&P@MoDELS.

[14]  Edward A. Lee,et al.  Coordinated Actors for Reliable Self-adaptive Systems , 2016, FACS.

[15]  Krishnendu Chatterjee,et al.  Conditionally Optimal Algorithms for Generalized Büchi Games , 2016, MFCS.

[16]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[17]  Uwe Aßmann,et al.  Managing Distributed Context Models Requires Adaptivity too , 2015, Models@run.time.

[18]  Nicolas Hili,et al.  Evaluation of UML-RT and Papyrus-RT for modelling self-adaptive systems , 2017 .

[19]  David Harel,et al.  A Compiler for Multimodal Scenarios: Transforming LSCs into AspectJ , 2011, TSEM.

[20]  Guy Katz,et al.  Distributed Execution of Scenario-based Specifications of Structurally Dynamic Cyber-Physical Systems , 2016 .