A Scenario-based MDE Process for Developing Reactive Systems: A Cleaning Robot Example

This paper presents the SCENARIOTOOLS solution for developing a cleaning robot system, an instance of the rover problem of the MDE Tools Challenge 2017. We present an MDE process that consists of (1) the modeling of the system behavior as a scenario-based assume-guarantee specification with SML (Scenario Modeling Language), (2) the formal realizabilitychecking and verification of the specification, (3) the generation of SBP (Scenario-Based Programming) Java code from the SML specification, and, finally, (4) adding platform-specific code to connect specification-level events with platform-level sensorand actuator-events. The resulting code can be executed on a RaspberryPi-based robot. The approach is suited for developing reactive systems with multiple cooperating components. Its strength is that the scenario-based modeling corresponds closely to how humans conceive and communicate behavioral requirements. SML in particular supports the modeling of environment assumptions and dynamic component structures. The formal checks ensure that the system satisfies its specification.

[1]  Joel Greenyer,et al.  From scenario modeling to scenario programming for reactive systems with dynamic topology , 2017, ESEC/SIGSOFT FSE.

[2]  Joel Greenyer,et al.  Controller Synthesis and PCL Code Generation from Scenario-based GR ( 1 ) Robot Specifications , 2017 .

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

[4]  W. Marsden I and J , 2012 .

[5]  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).

[6]  Fa A Comprare,et al.  Come , 1890, The Hospital.

[7]  R. Stephenson A and V , 1962, The British journal of ophthalmology.

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

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

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

[11]  Sanjit A. Seshia,et al.  DRONA: A Framework for Safe Distributed Mobile Robotics , 2017, 2017 ACM/IEEE 8th International Conference on Cyber-Physical Systems (ICCPS).

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

[13]  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).

[14]  Wilhelm Schäfer,et al.  On-the-Fly Synthesis of Scarcely Synchronizing Distributed Controllers from Scenario-Based Specifications , 2015, FASE.

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

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