课题基金 / 基金详情

From Code to Knowledge to Software

From Code to Knowledge to Software
从代码到知识到软件
批准号:
RGPIN-2018-05812
负责人:
Carette, Jacques
金额:
$2.04万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2020
资助国家:
加拿大
项目状态:
已结题
起止时间:
2020-01-01 至 2021-12-31
关键词:

项目摘要

项目成果

Carette, Jacques的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
In programming languages, we have some well understood technologies: interpretation, compilation, partial evaluation, code generation, etc. In fact, for most Domain Specific Languages, these can be automatically generated. If we furthermore understand software as forming families, commonalities and variabilities can be encoded in a generator. When properly done, the generator not only highlights possible design choices, it also provides for traceability between source knowledge and eventual software artifacts -- such as cross-referencing each computed quantity with its derivation in the design/requirements document(s). Traceability is onerous via traditional methods, and prohibitive to do after the fact. Regulated industries, such as nuclear, medical, aerospace, require traceability as part of the certification process. Current development methods for software which can be certified are document driven, and involve a large amount of knowledge duplication. This duplication is both expensive and hinders traceability. Generative methods have been very successfully applied to code in certain domains like scientific computation, user interfaces, operating systems and graphics. However, code is only a small part of all artifacts which makes up software. Thus we propose to generalize the generative, family-based approach to encompass all artifacts. By design, these share a lot of knowledge: requirements specifications, design documents, code, user manuals, tests, etc, all should say the same thing. The main long term goal of the research is to foster substantial long-term productivity increases by using generative techniques to avoid information duplication. To achieve this, we will develop a sequence of domain specific languages 1) of (requirements) documents, 2) of "generic" object-oriented languages, 3) of design and implementation choices, and 4) of algorithmic knowledge. This is not a silver bullet: not all problem domains are sufficiently well understood to be captured in this way. The research will focus on domains where a large body of knowledge exists. More generally, the problem domain and its software solution must be based on well-understood theory, where the translation from requirements to design to code, but also tests, user manuals, etc, must all be well understood, i.e. that the science and engineering of such software is established. These domains generally fall under the umbrella of scientific computation. The proposed research will form the foundations of long-term productivity growth in software development, especially in scientific computation, and train 20 HQP in these methods. Our methodology emphasizes working on specific examples of engineering software as a means of grounding our research. Productivity growth is critical to stay ahead of the coming "software crisis" (as the recent article in The Atlantic calls it).
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
From Code to Knowledge to Software
  • 批准号:
    RGPIN-2018-05812
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $4.08万
  • 财政年份:
    2022
  • 负责人:
    Carette, Jacques
  • 依托单位:
From Code to Knowledge to Software
  • 批准号:
    RGPIN-2018-05812
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.04万
  • 财政年份:
    2021
  • 负责人:
    Carette, Jacques
  • 依托单位:
From Code to Knowledge to Software
  • 批准号:
    RGPIN-2018-05812
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.04万
  • 财政年份:
    2019
  • 负责人:
    Carette, Jacques
  • 依托单位:
From Code to Knowledge to Software
  • 批准号:
    RGPIN-2018-05812
  • 项目类别:
    Discovery Grants Program - Individual
  • 资助金额:
    $2.04万
  • 财政年份:
    2018
  • 负责人:
    Carette, Jacques
  • 依托单位:
海外基金