Compositional Synthesis of Controllers from Scenario-Based Assume-Guarantee Specifications

Modern software-intensive systems often consist of multiple components that interact to fulfill complex functions in sometimes safety-critical situations. During the design, it is crucial to specify the system's requirements formally and to detect inconsistencies as early as possible in order to avoid flaws in the product or costly iterations during its development. We propose to use Modal Sequence Diagrams MSDs, a formal, yet intuitive formalism for specifying the interaction of a system with its environment, and developed a formal synthesis approach that allows us to detect inconsistencies and even to automatically synthesize controllers from MSD specifications. The technique is suited for specifications of technical systems with real-time constraints and environment assumptions. However, synthesis is computationally expensive. In order to employ synthesis also for larger specifications, we present, in this paper, a novel assume-guarantee-style compositional synthesis technique for MSD specifications. We provide evaluation results underlining the benefit of our approach and formally justify its correctness.

[1]  Kim G. Larsen,et al.  UPPAAL-Tiga: Time for Playing Games! , 2007, CAV.

[2]  Hillel Kugler,et al.  Compositional Synthesis of Reactive Systems from Live Sequence Chart Specifications , 2009, TACAS.

[3]  Kim G. Larsen,et al.  Efficient On-the-Fly Algorithms for the Analysis of Timed Games , 2005, CONCUR.

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

[5]  David Harel,et al.  From multi-modal scenarios to code: compiling LSCs into aspectJ , 2006, SIGSOFT '06/FSE-14.

[6]  Krishnendu Chatterjee,et al.  Assume-Guarantee Synthesis , 2007, TACAS.

[7]  Shahar Maoz,et al.  Assume-guarantee scenarios: semantics and synthesis , 2012, MODELS'12.

[8]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[9]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[10]  Stephan Merz,et al.  Model Checking , 2000 .

[11]  Mehrdad Sabetzadeh,et al.  Towards compositional synthesis of evolving systems , 2008, SIGSOFT '08/FSE-16.

[12]  Manfred Broy,et al.  KORSO: Methods, Languages, and Tools for the Construction of Correct Software , 1995, Lecture Notes in Computer Science.

[13]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[14]  Ingolf Krüger,et al.  Distributed system design with message sequence charts , 2000 .

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

[16]  Claus Lewerentz,et al.  "Production Cell": A Comparative Study in Formal Specification and Verification , 1995, KORSO Book.

[17]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

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

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

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

[21]  David Harel,et al.  Playing with time: on the specification and execution of time-enriched LSCs , 2002, Proceedings. 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems.

[22]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[23]  Ekkart Kindler Modularer Entwurf verteilter Systeme mit Petrinetzen , 1995, Edition Versal.