On-the-Fly Synthesis of Scarcely Synchronizing Distributed Controllers from Scenario-Based Specifications

Distributed systems consist of subsystems that usually need to coordinate with each other. Each subsystem must decide its actions locally, based on its limited knowledge. However, these decisions can be interdependent due to global requirements, i.e., one subsystem may need to know how another one decided. Complex communication can be required to exchange this knowledge. With rising complexity, a correct manual implementation of all subsystems becomes unlikely. Therefore, our goal is to automate the implementation process as far as possible. This paper presents a novel approach for the automatic synthesis of a distributed implementation from a global specification. In our approach, MSDs—a scenario-based specification language—can be used to intuitively, but formally define the requirements. The resulting implementation comprises one automaton for each subsystem, controlling its behavior. Contrary to similar approaches, we automatically add communication behavior to the system only when local knowledge is insufficient.

[1]  David Harel,et al.  Assert and negate revisited: Modal semantics for UML sequence diagrams , 2008, SCESM '06.

[2]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[3]  Pierre-Yves Schobbens,et al.  Lightweight Formal Methods for Scenario-Based Software Engineering , 2003, Scenarios: Models, Transformations and Tools.

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

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

[6]  Stefan Leue,et al.  Scenarios: Models, Transformations and Tools, International Workshop, Dagstuhl Castle, Germany, September 7-12, 2003, Revised Selected Papers , 2005, Scenarios: Models, Transformations and Tools.

[7]  Jörg Holtmann,et al.  ScenarioTools Real-Time Play-Out for Test Sequence Validation in an Automotive Case Study , 2014, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[8]  Bernd Finkbeiner,et al.  Uniform distributed synthesis , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

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

[10]  Tevfik Bultan,et al.  Realizability analysis for message-based interactions using shared-state projections , 2010, FSE '10.

[11]  Sven Schewe,et al.  Synthesis of Distributed Control through Knowledge Accumulation , 2011, CAV.

[12]  Jun Sun,et al.  Synthesis of Distributed Processes from Scenario-Based Specifications , 2005, FM.

[13]  Sven Schewe,et al.  Practical Distributed Control Synthesis , 2011, INFINITY.

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

[15]  Hans-Jörg Kreowski,et al.  Formal Methods in Software and Systems Modeling, Essays Dedicated to Hartmut Ehrig, on the Occasion of His 60th Birthday , 2005, Formal Methods in Software and Systems Modeling.

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