Back to Search
Start Over
A multi-paradigm language for reactive synthesis
- Source :
- Electronic Proceedings in Theoretical Computer Science, Vol 202, Iss Proc. SYNT 2015, Pp 73-97 (2016)
- Publication Year :
- 2016
- Publisher :
- Open Publishing Association, 2016.
-
Abstract
- This paper proposes a language for describing reactive synthesis problems that integrates imperative and declarative elements. The semantics is defined in terms of two-player turn-based infinite games with full information. Currently, synthesis tools accept linear temporal logic (LTL) as input, but this description is less structured and does not facilitate the expression of sequential constraints. This motivates the use of a structured programming language to specify synthesis problems. Transition systems and guarded commands serve as imperative constructs, expressed in a syntax based on that of the modeling language Promela. The syntax allows defining which player controls data and control flow, and separating a program into assumptions and guarantees. These notions are necessary for input to game solvers. The integration of imperative and declarative paradigms allows using the paradigm that is most appropriate for expressing each requirement. The declarative part is expressed in the LTL fragment of generalized reactivity(1), which admits efficient synthesis algorithms, extended with past LTL. The implementation translates Promela to input for the Slugs synthesizer and is written in Python. The AMBA AHB bus case study is revisited and synthesized efficiently, identifying the need to reorder binary decision diagrams during strategy construction, in order to prevent the exponential blowup observed in previous work.<br />Comment: In Proceedings SYNT 2015, arXiv:1602.00786
- Subjects :
- FOS: Computer and information sciences
Computer Science - Logic in Computer Science
Theoretical computer science
Computer science
Modeling language
Systems and Control (eess.SY)
0102 computer and information sciences
02 engineering and technology
computer.software_genre
01 natural sciences
lcsh:QA75.5-76.95
Control flow
Linear temporal logic
FOS: Electrical engineering, electronic engineering, information engineering
0202 electrical engineering, electronic engineering, information engineering
computer.programming_language
Computer Science - Programming Languages
Programming language
Binary decision diagram
lcsh:Mathematics
020207 software engineering
Python (programming language)
Structured programming
lcsh:QA1-939
Logic in Computer Science (cs.LO)
Promela
010201 computation theory & mathematics
Reactive synthesis
Computer Science - Systems and Control
lcsh:Electronic computers. Computer science
computer
Programming Languages (cs.PL)
Subjects
Details
- ISSN :
- 20752180
- Volume :
- 202
- Database :
- OpenAIRE
- Journal :
- Electronic Proceedings in Theoretical Computer Science
- Accession number :
- edsair.doi.dedup.....6c2dc639f4416c47cd73dc4d89100f62
- Full Text :
- https://doi.org/10.4204/eptcs.202.6