Dependent Types for Multi-Rate Flows in Synchronous Programming (System Description)

被引:0
作者
Blair, William [1 ]
Xi, Hongwei [1 ]
机构
[1] Boston Univ, Boston, MA 02215 USA
来源
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE | 2017年 / 241期
关键词
LANGUAGE;
D O I
10.4204/EPTCS.241.3
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Synchronous programming languages emerged in the 1980s as tools for implementing reactive systems, which interact with events from physical environments and often must do so under strict timing constraints. In this report, we encode inside ATS various real-time primitives in an experimental synchronous language called Prelude, where ATS is a statically typed language with an ML-like functional core that supports both dependent types (of DML-style) and linear types. We show that the verification requirements imposed on these primitives can be formally expressed in terms of dependent types in ATS. Moreover, we modify the Prelude compiler to automatically generate ATS code from Prelude source. This modified compiler allows us to solely rely on typechecking in ATS to discharge proof obligations originating from the need to typecheck Prelude code. Whereas ATS is typically used as a general purpose programming language, we hereby demonstrate that it can also be conveniently used to support some forms of advanced static checking in languages equipped with less expressive types.
引用
收藏
页码:36 / 44
页数:9
相关论文
共 14 条
  • [1] SYNCHRONOUS PROGRAMMING WITH EVENTS AND RELATIONS - THE SIGNAL LANGUAGE AND ITS SEMANTICS
    BENVENISTE, A
    LEGUERNIC, P
    JACQUEMOT, C
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1991, 16 (02) : 103 - 149
  • [2] The synchronous languages 12 years later
    Benveniste, A
    Caspi, P
    Edwards, SA
    Halbwachs, N
    Le Guernic, P
    De Simone, R
    [J]. PROCEEDINGS OF THE IEEE, 2003, 91 (01) : 64 - 83
  • [3] THE ESTEREL SYNCHRONOUS PROGRAMMING LANGUAGE - DESIGN, SEMANTICS, IMPLEMENTATION
    BERRY, G
    GONTHIER, G
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1992, 19 (02) : 87 - 152
  • [4] Caspi P., 1987, P 14 ACM SIGACT SIGP, P178, DOI DOI 10.1145/41625.41641
  • [5] Clarke EM, 2011, LECT NOTES COMPUT SC, V6996, P1, DOI 10.1007/978-3-642-24372-1_1
  • [6] A Multi-Periodic Synchronous Data-Flow Language
    Forget, Julien
    Boniol, Frederic
    Lesens, David
    Pagetti, Claire
    [J]. 11TH IEEE HIGH ASSURANCE SYSTEMS ENGINEERING SYMPOSIUM, PROCEEDINGS, 2008, : 251 - +
  • [7] PROGRAMMING AND VERIFYING REAL-TIME SYSTEMS BY MEANS OF THE SYNCHRONOUS DATA-FLOW LANGUAGE LUSTER
    HALBWACHS, N
    LAGNIER, F
    RATEL, C
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (09) : 785 - 793
  • [8] Honda K., 1993, CONCUR '93. 4th International Conference on Concurrency Theory Proceedings, P509
  • [9] Hongwei Xu, 1999, Conference Record of POPL '99. 26th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages, P214
  • [10] Liquid types
    Rondon, Patrick M.
    Kawaguchi, Ming
    Jhala, Ranjit
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (06) : 159 - 169