Scenarios@run.time - Distributed Execution of Specifications on IoT-connected Robots

In many areas we find cyber-physical systems consisting of multiple software-controlled components that communicate to control complex physical processes. As customers demand increasingly rich functionality, the component interactions become more and more complex. We are developing a formal scenario-based method for specifying the inter-component behavior that extends the concepts of Live Sequence Charts. This method is intuitive, yet precise, and automated analysis capabilities help engineers deal with the aforementioned complexity. In particular, the execution via the play-out algorithm supports a simulation of the behavior emerging from the interplay of the scenarios. Deriving a distributed implementation from an inter-component specification, however, is a challenging task. An alternative is the play-out of the specification by the distributed system. In this paper, we present a distributed play-out approach where the components coordinate via MQTT, a protocol used in IoT applications. We demonstrate the approach by a Car-to-X example implemented on Raspberry Pi-based robots.

[1]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[2]  Peter J. Clarke,et al.  A Model-driven Approach to Develop and Manage Cyber-Physical Systems , 2013, MoDELS@Run.time.

[3]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[4]  Peter J. Clarke,et al.  Model-driven development of DSML execution engines , 2012, MRT '12.

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

[6]  Amir Pnueli,et al.  Synthesis Revisited: Generating Statechart Models from Scenario-Based Requirements , 2005, Formal Methods in Software and Systems Modeling.

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

[8]  Joel Greenyer,et al.  Evaluating a formal scenario-based method for the requirements analysis in automotive software engineering , 2015, ESEC/SIGSOFT FSE.

[9]  David Harel,et al.  InterPlay: Horizontal Scale-Up and Transition to Design in Scenario-Based Programming , 2006, IEEE Trans. Software Eng..

[10]  Amir Pnueli,et al.  Smart Play-out of Behavioral Requirements , 2002, FMCAD.

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

[12]  Scenario-Based Design and Simulation of Mechatronic Systems , 2009 .

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

[14]  Pierre-Yves Schobbens,et al.  From live sequence charts to state machines and back: a guided tour , 2005, IEEE Transactions on Software Engineering.