A multi-paradigm language for reactive synthesis

被引:10
|
作者
Filippidis, Ioannis [1 ]
Murray, Richard M. [1 ]
Holzmann, Gerard J. [2 ]
机构
[1] CALTECH, Control & Dynam Syst, Pasadena, CA 91125 USA
[2] CALTECH, Jet Prop Lab, Lab Reliable Software, Pasadena, CA 91109 USA
来源
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE | 2016年 / 202期
关键词
TEMPORAL LOGIC; VERIFICATION; SYSTEMS;
D O I
10.4204/EPTCS.202.6
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:73 / 97
页数:25
相关论文
共 50 条
  • [1] A Multi-Paradigm Programming Language for Education
    Duemmel, Nikita
    Westfechtel, Bernhard
    Ehmann, Matthias
    PROCEEDINGS OF THE 5TH EUROPEAN CONFERENCE ON SOFTWARE ENGINEERING EDUCATION, ECSEE 2023, 2023, : 236 - 245
  • [2] Distributed programming in a multi-paradigm declarative language
    Hanus, M
    PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PROCEEDINGS, 1999, 1702 : 188 - 205
  • [3] Integrity constraints in the multi-paradigm language PROGRES
    Münch, M
    Schürr, A
    Winter, AJ
    THEORY AND APPLICATION TO GRAPH TRANSFORMATIONS, 2000, 1764 : 338 - 351
  • [4] Integrity constraints in the multi-paradigm language PROGRES
    Munch, M
    Schurr, A
    Winter, A
    1998 IEEE SYMPOSIUM ON VISUAL LANGUAGES, PROCEEDINGS, 1998, : 84 - 85
  • [5] A practical partial evaluator for a multi-paradigm declarative language
    Albert, E
    Hanus, M
    Vidal, G
    FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS, 2001, 2024 : 326 - 342
  • [6] mpC: A multi-paradigm programming language for massively parallel computers
    Lastovetsky, AL
    ACM SIGPLAN NOTICES, 1996, 31 (02) : 13 - 20
  • [7] Multi-paradigm programming language: DeLis for decentralized network applications
    Mitsuishi, T
    Nunokawa, H
    Shiratori, N
    TWELFTH INTERNATIONAL CONFERENCE ON INFORMATION NETWORKING (ICOIN-12), PROCEEDINGS, 1998, : 322 - 327
  • [8] Go! — A Multi-Paradigm Programming Language for Implementing Multi-Threaded Agents
    K.L. Clark
    F.G. McCabe
    Annals of Mathematics and Artificial Intelligence, 2004, 41 : 171 - 206
  • [9] Go! A multi-paradigm programming language for implementing multi-threaded agents
    Clark, KL
    McCabe, G
    ANNALS OF MATHEMATICS AND ARTIFICIAL INTELLIGENCE, 2004, 41 (2-4) : 171 - 206
  • [10] Multi-paradigm declarative languages
    Hanus, Michael
    LOGIC PROGRAMMING, PROCEEDINGS, 2007, 4670 : 45 - 75