首页> 外文期刊>Journal of Functional Programming >Fault-tolerant functional reactive programming (extended version)
【24h】

Fault-tolerant functional reactive programming (extended version)

机译:容错功能反应性编程(扩展版)

获取原文
获取原文并翻译 | 示例

摘要

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 (FRP) 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 FRP, requires a different construction and remains an open problem. This work demonstrates how to extend an existing functional reactive framework with fault tolerance features. At value level, we tag faulty signals with reliability and probability information and use random testing to inject faults and validate system properties encoded in temporal logic. At type level, we tag components with the kinds of faults they may exhibit and use type-level programming to obtain 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 system analysis and design, validate system properties in the presence of faults, perform runtime monitoring, and study the effects of different fault tolerance mechanisms.
机译:非常关键的应用领域,如医学和航空航天,需要使用严格的设计,实现和验证技术。这些域已使用功能语言来开发用于无功系统的同步数据流程编程语言。因果流功能和功能反应性编程(FRP)以优雅和强大的方式捕获这些语言的本质。为了保证关键系统可以在长时间的高应力下运行,这些应用需要明确的可能性故障和危险,以及它们的处理方式。模型失败以功能语言简单,并且许多功能性反应性抽象包括对失败或终止的支持。但是,处理未知类型的故障,并将容错于FRP结合到FRP,需要不同的构造,并且仍然是一个开放的问题。这项工作展示了如何扩展具有容错功能的现有功能反应框架。在价值级别,我们使用可靠性和概率信息标记故障信号,并使用随机测试来注入故障并验证在时间逻辑中编码的系统属性。在类型级别,我们标记具有它们可能展示的故障类型的组件,并使用类型级编程,以获得故障容错的关键方面的编译时间保证。我们的方法足够强大,可以在具有现实复杂性的系统中使用,并且足够灵活地用于指导系统分析和设计,在存在故障时验证系统属性,执行运行时监控,研究不同容错机制的影响。

著录项

  • 来源
    《Journal of Functional Programming》 |2020年第1期|e12.1-e12.41|共41页
  • 作者

    Perez Ivan; Goodloe Alwyn E.;

  • 作者单位

    Natl Inst Aerosp Hampton VA 23666 USA;

    NASA Langley Res Ctr Hampton VA 23681 USA;

  • 收录信息 美国《科学引文索引》(SCI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号