Fault tolerant functional reactive programming (functional pearl)

Author:

Perez Ivan1

Affiliation:

1. National Institute of Aerospace, USA

Abstract

Highly critical application domains, like medicine and aerospace, require the use of strict design, implementation and validation techniques. Functional languages have been used in these domains to develop synchronous dataflow programming languages for reactive systems. Causal stream functions and Functional Reactive Programming capture the essence of those languages in a way that is both elegant and robust. To guarantee that critical systems can operate under high stress over long periods of time, these applications require clear specifications of possible faults and hazards, and how they are being handled. Modeling failure is straightforward in functional languages, and many Functional Reactive abstractions incorporate support for failure or termination. However, handling unknown types of faults , and incorporating fault tolerance into Functional Reactive Programming, requires a different construction and remains an open problem. This work presents extensions to an existing functional reactive abstraction to facilitate tagging reactive transformations with hazard tags or confidence levels. We present a prototype framework to quantify the reliability of a reactive construction, by means of numeric factors or probability distributions, and demonstrate how to aid the design of fault-tolerant systems, by constraining the allowed reliability to required boundaries. By applying type-level programming, we show that it is possible to improve static analysis and have compile-time guarantees of key aspects of fault tolerance. Our approach is powerful enough to be used in systems with realistic complexity, and flexible enough to be used to guide their analysis and design, to test system properties, to verify fault tolerance properties, to perform runtime monitoring, to implement fault tolerance during execution and to address faults during runtime. We present implementations in Haskell and in Idris.

Funder

NASA

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference58 articles.

1. 1992. DO-178B: Software Considerations in Airborne Systems and Equipment Certification. (1992). 1992. DO-178B: Software Considerations in Airborne Systems and Equipment Certification. (1992).

2. Design of fault-tolerant computers

3. Fault-Tolerant Systems

4. Rhine: FRP with type-level clocks

5. Manuel Bärenz Ivan Perez and Henrik Nilsson. 2016. Mathematical Properties of Monadic Stream Functions. http: //cs.nott.ac.uk/~ixp/papers/msfmathprops.pdf . (2016). Manuel Bärenz Ivan Perez and Henrik Nilsson. 2016. Mathematical Properties of Monadic Stream Functions. http: //cs.nott.ac.uk/~ixp/papers/msfmathprops.pdf . (2016).

Cited by 6 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. The Beauty and Elegance of Functional Reactive Animation;Proceedings of the 11th ACM SIGPLAN International Workshop on Functional Art, Music, Modelling, and Design;2023-08-30

2. Fault-tolerant functional reactive programming (extended version);Journal of Functional Programming;2020

3. Runtime verification and validation of functional reactive systems;Journal of Functional Programming;2020

4. Formal Verification of System States for Spacecraft Automatic Maneuvering;AIAA Scitech 2019 Forum;2019-01-06

5. Rhine: FRP with type-level clocks;ACM SIGPLAN Notices;2018-12-07

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3