Programming Language Type Systems and Concurrency

编程语言类型系统和并发性

基本信息

  • 批准号:
    RGPIN-2020-03908
  • 负责人:
  • 金额:
    $ 1.75万
  • 依托单位:
  • 依托单位国家:
    加拿大
  • 项目类别:
    Discovery Grants Program - Individual
  • 财政年份:
    2021
  • 资助国家:
    加拿大
  • 起止时间:
    2021-01-01 至 2022-12-31
  • 项目状态:
    已结题

项目摘要

Every aspect of computer science depends on programming languages to transform human ideas into a practical, functioning form executable by a computer. Two crucial aspects of programming-language design are the type system and runtime. This research program will focus on the type system used to verify correct usage and provide code reuse, and on the runtime system to simplify program construction and improve performance. The primary research objective is the design of a novel type system to replace classical object-oriented inheritance for code reuse. Over the past 40 years, the limitations of object-oriented inheritance is well documented. Furthermore, object-oriented inheritance is insufficient for many forms of reuse so other mechanisms are needed in the type system, like overloading and generics (templates), resulting in a confusion of mechanisms to generate reusable programs. The design for the new type-system uses a technique called parametric-polymorphic functions with explicit constraints. Each polymorphic function or type defines a structural type-key needed for its execution; i.e., the set of operations used by a function or type on its parameters/fields. This key set is fulfilled at each call site from the lexical environment and implicitly passed into a polymorphic function. Hence, new lexical scopes and nested functions are used extensively to create local subtypes without having to manage an inheritance hierarchy. Improving a language's type systems makes programmers more productive and results in programs that are reliable and safer. The secondary research objective is to use the new type system to create a hierarchy of high-level, integrated, and efficient control-flow features. Concurrent control-flow is difficult because of temporal ordering and nondeterminism on multiple cores. However, many current systems exacerbate the difficulty through complex presentation mechanisms. The new design would eliminate confusing semantics that are nonintuitive and lead to errors, and by providing customs types for high-level control flow, generators, coroutines, threads, and monitors, versus multiple low-level lock acquisition techniques. Improving a programming language's concurrency allows programmers to take advantage of multiple cores (parallelism) to reduce program execution time (run faster). These research results are being disseminated in a programming language that is backwards compatible with C, fixes well known C problems, while adding safety and modern language-features. C is still the foundational technology for modern computing with billions of lines of code implementing small hobby projects to huge commercial applications (Linux/Windows/MacOS operating systems). This work has a direct benefit to a large segment of software-development companies using the C programming language daily. Without extensions to C, it is unable to cope with the needs of modern programming problems and programmers, putting it in jeopardy.
计算机科学的各个方面都取决于编程语言将人类的想法转变为可通过计算机可执行的实用,功能的形式。编程语言设计的两个关键方面是类型系统和运行时。该研究计划将重点介绍用于验证正确用法并提供代码重复使用的类型系统,以及简化程序构建和提高性能的运行时系统。主要的研究目标是设计一种新型类型系统,以替换经典的面向对象的继承来重复使用。在过去的40年中,有充分记录的面向对象的继承的局限性。此外,面向对象的继承不足以用于多种形式的重复使用,因此类型系统中需要其他机制,例如过载和通用(模板),从而导致机制混淆以生成可重复使用程序。新型类型系统的设计使用具有明确约束的称为参数 - 造晶函数的技术。每个多态性函数或类型都定义了其执行所需的结构类型键;即,由函数或键入其参数/字段使用的操作集。该密钥集在词汇环境中每个呼叫站点都可以实现,并隐式传递到多态性功能中。因此,新的词汇范围和嵌套功能被广泛使用以创建本地亚型,而无需管理继承层次结构。改善语言的类型系统会使程序员更具生产力,并导致可靠和更安全的程序。二级研究目标是使用新型系统来创建高级,集成和有效的控制流功能的层次结构。由于时间顺序和多个核心的非确定性,并发控制流很困难。但是,许多当前系统通过复杂的表现机制加剧了困难。新的设计将消除非直觉和导致错误的令人困惑的语义,并通过为高级控制流,发电机,coroutines,螺纹和监视器提供海关类型,而不是多个低级锁定获取技术。改善编程语言的并发性使程序员可以利用多个内核(并行性)来减少程序执行时间(运行速度更快)。这些研究结果正在以一种与C向后兼容的编程语言传播,可以解决众所周知的C问题,同时增加了安全性和现代语言功能。 C仍然是现代计算的基础技术,具有数十亿行的代码,将小型爱好项目实施到庞大的商业应用程序(Linux/Windows/MacOS操作系统)。这项工作可以直接利用C编程语言的大量软件开发公司。没有C的扩展,它将无法应付现代编程问题和程序员的需求,从而使其陷入危险之中。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Buhr, Peter其他文献

Buhr, Peter的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Buhr, Peter', 18)}}的其他基金

Programming Language Type Systems and Concurrency
编程语言类型系统和并发性
  • 批准号:
    RGPIN-2020-03908
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
New Programming Language and Runtime System
新的编程语言和运行时系统
  • 批准号:
    537903-2018
  • 财政年份:
    2021
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Collaborative Research and Development Grants
Parallel Client/Server System for Programming Language Research
用于编程语言研究的并行客户端/服务器系统
  • 批准号:
    RTI-2022-00004
  • 财政年份:
    2021
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Research Tools and Instruments
New Programming Language and Runtime System
新的编程语言和运行时系统
  • 批准号:
    537903-2018
  • 财政年份:
    2020
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Collaborative Research and Development Grants
Programming Language Type Systems and Concurrency
编程语言类型系统和并发性
  • 批准号:
    RGPIN-2020-03908
  • 财政年份:
    2020
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
New Programming Language and Runtime System
新的编程语言和运行时系统
  • 批准号:
    537903-2018
  • 财政年份:
    2019
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Collaborative Research and Development Grants
High-Performance User-Level Threading
高性能用户级线程
  • 批准号:
    RGPIN-2014-04873
  • 财政年份:
    2018
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
High-Performance User-Level Threading
高性能用户级线程
  • 批准号:
    RGPIN-2014-04873
  • 财政年份:
    2017
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
High-Performance User-Level Threading
高性能用户级线程
  • 批准号:
    RGPIN-2014-04873
  • 财政年份:
    2016
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
High-Performance User-Level Threading
高性能用户级线程
  • 批准号:
    RGPIN-2014-04873
  • 财政年份:
    2015
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual

相似国自然基金

面向多类型数据库的一体化数据模型与查询语言研究
  • 批准号:
    62372264
  • 批准年份:
    2023
  • 资助金额:
    50 万元
  • 项目类别:
    面上项目
面向动态语言的渐定类型分析与缺陷检测
  • 批准号:
    62272221
  • 批准年份:
    2022
  • 资助金额:
    53 万元
  • 项目类别:
    面上项目
面向不同抽象级别语言的渐进安全类型系统研究
  • 批准号:
    61972260
  • 批准年份:
    2019
  • 资助金额:
    60 万元
  • 项目类别:
    面上项目
结构数据处理语言的参数多态化研究
  • 批准号:
    61502308
  • 批准年份:
    2015
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
多类型时序逻辑程序设计
  • 批准号:
    61402347
  • 批准年份:
    2014
  • 资助金额:
    26.0 万元
  • 项目类别:
    青年科学基金项目

相似海外基金

ARCHS4: Massive Mining of Publicly Available RNA Sequencing Data
ARCHS4:大规模挖掘公开的 RNA 测序数据
  • 批准号:
    10693339
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
ARCHS4: Massive Mining of Publicly Available RNA Sequencing Data
ARCHS4:大规模挖掘公开的 RNA 测序数据
  • 批准号:
    10527721
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
Validating the type soundness of a programming language through translation into a logical system
通过翻译成逻辑系统来验证编程语言的类型健全性
  • 批准号:
    22K11902
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Oncology Knowledge Rapid Alerts: Integrating biomarker-driven clinical decision support for therapy selection at point-of-care
肿瘤学知识快速警报:整合生物标志物驱动的临床决策支持,以在护理点选择治疗方法
  • 批准号:
    10526824
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
Programming Language Type Systems and Concurrency
编程语言类型系统和并发性
  • 批准号:
    RGPIN-2020-03908
  • 财政年份:
    2022
  • 资助金额:
    $ 1.75万
  • 项目类别:
    Discovery Grants Program - Individual
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了