课题基金 / 基金详情

Compiling Distributed System Models into Implementations

Compiling Distributed System Models into Implementations
将分布式系统模型编译为实现
批准号:
RGPIN-2020-05203
负责人:
Beschastnikh, Ivan
金额:
$2.55万
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2022
资助国家:
加拿大
项目状态:
已结题
起止时间:
2022-01-01 至 2023-12-31

项目摘要

项目成果

Beschastnikh, Ivan的其他基金

相似基金

相关文献

中文摘要
翻译
云计算已经彻底改变了计算。企业,无论大小,都在利用大规模数据中心的灵活性和容量作为基础设施。然而,在云中运行的系统在工程上是出了名的复杂,因为这些系统被设计为通过在多台机器上执行来进行扩展。例如,给定不同主机上的两个事件,即使每个事件都有时间戳,其中一个事件是否因果依赖于另一个事件也不明显。基于云的系统中的错误可能是微妙的和灾难性的。例如,2017年,亚马逊S3存储系统的一个漏洞给依赖亚马逊AWS云服务的公司造成了1.5亿美元的损失。这类事件越来越普遍。如今,构建基于云的系统的工程师依靠测试来获得保证。不幸的是,通过测试获得合理的分布式行为覆盖是一个既定的挑战,而编写测试是乏味的、容易出错的,而且基本上是不完整的。用于实现分布式系统正确性的最新技术在实践中很少使用,因为它们不适用于实际的大规模系统,或者因为它们需要大量的努力和专业知识。人们对分布式系统的建模语言越来越感兴趣,这些语言可以被彻底地检查或证明以满足某些属性。然而,今天,开发人员必须手动将系统的正式模型转换为实现。这个过程需要大量的工作,并且可能在实现中引入错误。这就是为什么开发人员很少对他们的系统建模,而是选择先构建后调试的原因之一。在提出的研究计划中,我将设计和实现用高级建模语言编写的分布式系统的正式模型编译成可运行的实现的技术。作为我研究的一部分,我将创建一个工具链,它将颠覆用于基于云的系统的主要软件工程过程:开发人员将能够首先创建他们可以验证的正式模型,然后将这些模型编译成代码。通过免费获得可运行且等价的实现,开发人员将更有动力创建和管理其系统的正式模型。这项研究的长期目标是激励开发人员在设计/实现工作的早期使用正式的方法,以减少进入生产系统的错误数量。本研究将为分布式系统建模和分布式逻辑编译提供新的科学知识。作为这项研究的一部分,我的团队还将致力于将这些新知识集成到健壮的开源工具中。然后,行业从业者可以使用这些工具来更快地开发可靠且可维护的分布式系统。
英文摘要
Cloud computing has revolutionized computing. Enterprises, large and small, are taking advantage of the flexibility and capacity of massive data centers for their infrastructure. However, systems that run in the cloud are notoriously complex to engineer because these systems are designed to scale by executing across many machines. For example, given two events at different hosts, it is not obvious whether one of the events is causally dependent on the other, even if each event has a timestamp. Bugs in cloud-based systems can be subtle and catastrophic. For example, in 2017 a bug in Amazon's S3 storage system caused $150 million of dollars in damage for the companies that rely on Amazon AWS cloud services. Such incidents are increasingly common. Engineers who build cloud-based systems today rely on testing to gain assurance. Unfortunately, attaining reasonable distributed behavior coverage with testing is an established challenge while writing tests is tedious, error-prone, and fundamentally incomplete. State-of-the-art techniques for achieving distributed system correctness are rarely used in practice because they do not work on actual large-scale systems or because they require substantial effort and expertise. There is a growing interest in modeling languages for distributed systems, which can be checked exhaustively or proved to satisfy certain properties. However, today, the developer must manually translate a formal model of their system into an implementation. This process requires intensive effort and may introduce bugs into the implementation. This is one reason why developers rarely model their systems, electing instead to build first and debug later. In the proposed research program I will design and implement techniques to compile formal models of distributed systems, written in a high-level modeling language, into runnable implementations. As part of my research I will create a toolchain that will flip the dominant software engineering process used for cloud-based systems: developers will be able to first create formal models that they can verify, and then later compile these models into code. By deriving a runnable and equivalent implementation for free, developers will be more incentivized to create and curate formal models of their systems. The long-term goal of this research is to incentivize developers to use formal methods earlier in the design/implementation effort to decrease the number of bugs that make it into production systems. This research will generate new scientific knowledge about the modeling of distributed systems and compilation of distributed logic. As part of this research my team will also work to integrate this new knowledge into robust open source tools. These tools can then be used by industry practitioners to develop reliable and maintainable distributed systems more rapidly.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Compiling Distributed System Models into Implementations
  • 批准号:
    RGPIN-2020-05203
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.55万
  • 财政年份:
    2021
  • 负责人:
    Beschastnikh, Ivan
  • 依托单位:
Compiling Distributed System Models into Implementations
  • 批准号:
    RGPIN-2020-05203
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.55万
  • 财政年份:
    2020
  • 负责人:
    Beschastnikh, Ivan
  • 依托单位:
Improving the Construction of Correct Distributed Systems
  • 批准号:
    RGPIN-2019-05090
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2019
  • 负责人:
    Beschastnikh, Ivan
  • 依托单位:
Model inference and testing of distributed systems
  • 批准号:
    RGPIN-2014-04870
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $1.68万
  • 财政年份:
    2018
  • 负责人:
    Beschastnikh, Ivan
  • 依托单位:
国内基金
海外基金
Graphon mean field games with partial observation and application to failure detection in distributed systems
  • 批准号:
  • 项目类别:
    省市级项目
  • 资助金额:
    --
  • 批准年份:
    2025
  • 负责人:
    MATHIEULOUROCHLAURIERE
  • 依托单位: