In the Adapter Design Pattern, a programmer implements a Target interface by constructing an Adapter that accesses an existing Adaptee code. In this work, we present a reactive synthesis interpretation to the adapter design pattern, wherein an algorithm takes an Adaptee and a Target transducers, and the aim is to synthesize an Adapter transducer that, when composed with the Adaptee, generates a behavior that is equivalent to the behavior of the Target. One use of such an algorithm is to synthesize controllers that achieve similar goals on different hardware platforms. While this problem can be solved with existing synthesis algorithms, current state-of-the-art tools fail to scale. To cope with the computational complexity of the problem, we introduce a special form of specification format, called Separated GR(k), which can be solved with a scalable synthesis algorithm but still allows for a large set of realistic specifications. We solve the realizability and the synthesis problems for Separated GR(k), and show how to exploit the separated nature of our specification to construct better algorithms, in terms of time complexity, than known algorithms for GR(k) synthesis. We then describe a tool, called SGR(k), that we have implemented based on the above approach and show, by experimental evaluation, how our tool outperforms current state-of-the-art tools on various benchmarks and test-cases.
|Title of host publication
|Computer Aided Verification - 33rd International Conference, CAV 2021, Proceedings
|Alexandra Silva, K. Rustan Leino
|Springer Science and Business Media Deutschland GmbH
|Number of pages
|Published - 2021
|33rd International Conference on Computer Aided Verification, CAV 2021 - Virtual, Online
Duration: 20 Jul 2021 → 23 Jul 2021
|Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
|33rd International Conference on Computer Aided Verification, CAV 2021
|20/07/21 → 23/07/21
Bibliographical notePublisher Copyright:
© 2021, The Author(s).