EXHIBIT : Expressive High-Level Languages for Bidirectional Transformations

附件:用于双向转换的富有表现力的高级语言

基本信息

  • 批准号:
    EP/T008911/1
  • 负责人:
  • 金额:
    $ 54.46万
  • 依托单位:
  • 依托单位国家:
    英国
  • 项目类别:
    Research Grant
  • 财政年份:
    2020
  • 资助国家:
    英国
  • 起止时间:
    2020 至 无数据
  • 项目状态:
    未结题

项目摘要

In computer systems, copies of data are very often stored in different formats. Bidirectional transformations are programs that synchronise the data pairwise: when one is changed, the appropriate transformation is run to incorporate the changes in the other format. For bidirectional transformations to be considered correct, they are generally expected to satisfy "round-tripping": if A is transformed to B, and then back, it shall give back the same A. This pattern of bidirectional transformations is much more widely applicable than just to data synchronization. They form a fundamental part of modern software engineering, where designs in the form of high-level models are (very often mechanically) transformed into lower-level implementations, and one often needs to reverse engineer a revised high-level model from an updated implementation. Traditionally, bidirectional transformations are programmed as separate transformations in opposite directions, and then combined together to be made bidirectional. But this is very tricky to get right, because the programmer has to manually guarantee round-tripping, and even trickier to maintain, because changing one requires matching changes in the other. In fact, since the transformations in the opposite directions often follow a similar structure, programming them separately constitutes code duplication, which increases maintenance cost and human error. As a result, there has been increasing interest in special bidirectional languages that allow both transformations to be derived from a single definition, to guarantee round-tripping by construction, and to remove this duplication and the problems it causes. The downside of this is that existing bidirectional languages are typically very difficult to use. While this may be partly due to an inherent increase in complexity as one tries to do more with less code, the designs of the languages also leave a lot to be desired: they tend to focus on guaranteeing round-tripping, which is a challenging task in itself, but overlook the usability aspect, making programming in them a lot harder than it should be. In the EXHIBIT project, we will design a new generation of bidirectional languages that are easy to use. The central idea is that the new languages will be closely integrated with mainstream general-purpose languages, naturally reusing existing language constructs, libraries, and programming patterns to maximise the usability of the new framework. The work will be based on the project team's recent theoretical breakthroughs that enable the interconversion between bidirectional objects and mainstream programming units, making a close connection between the two types of languages possible. We will implement the proposed languages and evaluate its effectiveness through a case study. We expect that the superior programming utility offered by the language will make bidirectional programming and its benefits more accessible to mainstream programmers, which will ultimately result in higher productivity and quality in software development.
在计算机系统中,数据的副本经常以不同的格式存储。双向转换是将数据成对同步的程序:当一个数据发生更改时,将运行适当的转换以将更改合并到另一种格式中。为了使双向转换被认为是正确的,它们通常期望满足“往返”:如果将A转换为B,然后再转换回来,它应该返回相同的A。这种双向转换模式比仅用于数据同步要广泛得多。它们构成了现代软件工程的基本部分,在这里,高级模型形式的设计(通常是机械地)转换为低级实现,并且经常需要从更新的实现中反向工程修改的高级模型。传统上,双向转换被编程为相反方向的单独转换,然后组合在一起形成双向转换。但是要做到这一点是非常棘手的,因为程序员必须手动保证往返,而且更棘手的是维护,因为更改一个需要匹配另一个的更改。事实上,由于相反方向的转换通常遵循相似的结构,因此分别对它们进行编程会造成代码重复,从而增加维护成本和人为错误。因此,人们对特殊的双向语言越来越感兴趣,这种语言允许从单个定义派生两个转换,通过构造保证往返,并消除这种重复及其引起的问题。这样做的缺点是现有的双向语言通常很难使用。虽然这可能部分是由于由于试图用更少的代码做更多的事情而固有的复杂性增加,但语言的设计也留下了很多需要改进的地方:它们倾向于关注保证往返,这本身就是一个具有挑战性的任务,但忽略了可用性方面,使得使用它们编程比应该的困难得多。在EXHIBIT项目中,我们将设计易于使用的新一代双向语言。核心思想是,新语言将与主流通用语言紧密集成,自然地重用现有的语言结构、库和编程模式,以最大限度地提高新框架的可用性。这项工作将基于项目小组最近的理论突破,使双向对象和主流编程单元之间的相互转换成为可能,使两种语言之间的紧密联系成为可能。我们会落实建议的语文,并透过个案研究评估其成效。我们期望该语言提供的优越的编程实用程序将使双向编程及其好处更容易为主流程序员所接受,这将最终导致软件开发中的更高生产力和质量。

项目成果

期刊论文数量(10)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Effect Handlers for Programmable Inference
用于可编程推理的效果处理程序
  • DOI:
    10.1145/3609026.3609729
  • 发表时间:
    2023
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Nguyen M
  • 通讯作者:
    Nguyen M
Embedding by Unembedding
通过取消嵌入进行嵌入
Modular probabilistic models via algebraic effects
CircuitFlow: A Domain Specific Language for Dataflow Programming (with appendices)
CircuitFlow:数据流编程的领域特定语言(带附录)
  • DOI:
    10.48550/arxiv.2111.12420
  • 发表时间:
    2021
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Evans R
  • 通讯作者:
    Evans R
Practical Aspects of Declarative Languages - 24th International Symposium, PADL 2022, Philadelphia, PA, USA, January 17-18, 2022, Proceedings
陈述性语言的实用方面 - 第 24 届国际研讨会,PADL 2022,美国宾夕法尼亚州费城,2022 年 1 月 17-18 日,会议记录
  • DOI:
    10.1007/978-3-030-94479-7_6
  • 发表时间:
    2022
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Evans R
  • 通讯作者:
    Evans R
{{ 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 }}

Meng Wang其他文献

CBA-UNet: A context-coordination multi-atlas boundary-aware UNet-like method for PET/CT images based tumor segmentation
CBA-UNet:一种上下文协调多图谱边界感知 UNet 类方法,用于基于 PET/CT 图像的肿瘤分割
Trajectories of Body Mass Index from Young Adulthood to Middle Age among Canadian Men and Women
加拿大男性和女性从青年期到中年的体重指数轨迹
  • DOI:
  • 发表时间:
    2015
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Meng Wang;Y. Yi;B. Roebothan;Jennifer Colbourne;V. Maddalena;P. Wang;G. Sun
  • 通讯作者:
    G. Sun
Model analysis on electrodialysis for inorganic acid recovery and its experimental validation
电渗析回收无机酸的模型分析及实验验证
  • DOI:
    10.1016/j.seppur.2017.08.067
  • 发表时间:
    2018-01
  • 期刊:
  • 影响因子:
    8.6
  • 作者:
    Yuxiang Jia;Fengjiao Li;Xiang Chen;Meng Wang
  • 通讯作者:
    Meng Wang
Electrochemical development and enhancement of latent fingerprints on stainless steel via electrochromic effect of electrodeposited Co3O4 films
通过电沉积 Co3O4 薄膜的电致变色效应电化学发展和增强不锈钢上的潜在指纹
  • DOI:
    10.1016/j.electacta.2021.137771
  • 发表时间:
    2021-02
  • 期刊:
  • 影响因子:
    6.6
  • 作者:
    Chuanjun Yuan;Ming Li;Meng Wang;Yuanyuan Dan;Tianchun Lin;Haijun Cao;Mengjie Zhang;Peng Zhao;Hui Yang
  • 通讯作者:
    Hui Yang
Effect of Crosslinker Length and Architecture on the Thermomechanical Properties of CNT-Loaded Elastomeric Polymer Matrix Composites.
交联剂长度和结构对负载碳纳米管的弹性聚合物基复合材料热机械性能的影响。

Meng Wang的其他文献

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

{{ truncateString('Meng Wang', 18)}}的其他基金

Collaborative Research: NSF-BSF: Mainstream deammonification by ion exchange and bioregeneration via partial nitritation/anammox
合作研究:NSF-BSF:通过离子交换进行主流脱氨,并通过部分亚硝化/厌氧氨氧化进行生物再生
  • 批准号:
    2000761
  • 财政年份:
    2020
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Standard Grant
CPS:Medium:Collaborative Research: High-Fidelity High-Resolution and Secure Monitoring and Control of Future Grids: a synergy of AI, data science, and hardware security
CPS:中:协作研究:未来电网的高保真高分辨率和安全监控:人工智能、数据科学和硬件安全的协同作用
  • 批准号:
    1932196
  • 财政年份:
    2019
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Standard Grant
Exploiting Low-dimensional Structures in Data Management of High-dimensional Synchrophasor Measurements for Power System Monitoring
利用低维结构进行电力系统监测的高维同步相量测量数据管理
  • 批准号:
    1508875
  • 财政年份:
    2015
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Standard Grant

相似海外基金

CRII: SaTC: Enforcing Expressive Security Policies using Trusted Execution Environments
CRII:SaTC:使用可信执行环境执行表达性安全策略
  • 批准号:
    2348304
  • 财政年份:
    2024
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Standard Grant
Formalising Expressive Morphology
形式化表达形态
  • 批准号:
    EP/X024105/1
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Fellowship
Designing an Expressive Relational Robotic Memory System with Long-Term Capabilities
设计具有长期能力的表达关系机器人记忆系统
  • 批准号:
    23K19984
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Grant-in-Aid for Research Activity Start-up
Development of skill evaluation models for systematic learning in Expressive Activity and Dance classes
开发表达活动和舞蹈课程系统学习的技能评估模型
  • 批准号:
    23K02358
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
EMERGE: Early Markers of Expressive and Receptive (language) Growth in Ethnically diverse autistic toddlers
出现:种族多元化自闭症幼儿表达和接受(语言)成长的早期标志
  • 批准号:
    10862026
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
On the reliability of computational algorithms in optimal control methods using highly expressive non-differentiable functions
使用高表达不可微函数的最优控制方法中计算算法的可靠性
  • 批准号:
    23K13359
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Grant-in-Aid for Early-Career Scientists
The effects of expressive writing following traumatic childbirth
创伤性分娩后表达性写作的影响
  • 批准号:
    10592883
  • 财政年份:
    2023
  • 资助金额:
    $ 54.46万
  • 项目类别:
Expressive data augmentation in deep learning
深度学习中的富有表现力的数据增强
  • 批准号:
    RGPIN-2022-04651
  • 财政年份:
    2022
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Discovery Grants Program - Individual
Modeling Diverse, Personalized and Expressive Animations for Virtual Characters through Motion Capture, Synthesis and Perception
通过动作捕捉、合成和感知为虚拟角色建模多样化、个性化和富有表现力的动画
  • 批准号:
    DGECR-2022-00415
  • 财政年份:
    2022
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Discovery Launch Supplement
Modeling Diverse, Personalized and Expressive Animations for Virtual Characters through Motion Capture, Synthesis and Perception
通过动作捕捉、合成和感知为虚拟角色建模多样化、个性化和富有表现力的动画
  • 批准号:
    RGPIN-2022-04920
  • 财政年份:
    2022
  • 资助金额:
    $ 54.46万
  • 项目类别:
    Discovery Grants Program - Individual
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了