课题基金 / 基金详情

CAREER: Synthesizing Architectural Tactics

CAREER: Synthesizing Architectural Tactics
职业:综合建筑策略
批准号:
1943300
负责人:
Mehdi Mirakhorli
金额:
$40.37万
依托单位:
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2020
资助国家:
美国
项目状态:
未结题
起止时间:
2020-03-01 至 2025-02-28

项目摘要

项目成果

Mehdi Mirakhorli的其他基金

相似基金

相关文献

中文摘要
翻译
软件体系结构是指设计软件系统结构的学科。结构由软件元素(或模块或组件)和它们之间的关系,以及元素的结构和行为的属性和约束组成。在这个意义上使用的术语“建筑”是一个隐喻,类似于建筑物的建筑。软件体系结构是系统和开发项目的蓝图,指导软件的设计和开发。在软件架构的设计过程中,诸如可靠性、可用性、安全性和性能等属性是通过提出和比较可选的解决方案来处理的,理解它们的权衡,并最终做出一系列相关的设计决策,以优化每个质量关注点得到满足的程度。与构建体系结构一样,软件体系结构规程开发了标准方法,称为体系结构策略,用于制定这些体系结构设计决策。这个项目的主要目标是开发和验证能够使软件架构设计更加直观的新技术,特别是对于新手程序员和新学习者。我们的愿景是有一天程序员能够直观地表达他们的设计意图,并生成无错误的软件程序。众所周知,软件架构设计很难学习,甚至更难掌握。为了满足质量属性场景,需要选择和实现适当的体系结构解决方案。这些解决方案通常基于众所周知的体系结构策略和交付这些策略的软件框架。这个项目提出了一个解决方案,将软件设计和编程从纯手工和排他的任务转变为一个程序员和一个自动化的战术合成工具协作生成无缺陷的软件设计和实现,以满足质量属性场景。该项目将创建(1)能够向程序员推荐合适的架构策略的上下文感知推理算法,(2)通过示例技术学习推断描述如何使用软件框架实现策略的规范模型,以及(3)用于战术代码合成的自动化工具和直观的领域特定语言。此外,本研究将设计、开发、评估和发布软件设计策略方面的新干预措施,这些策略可以在软件设计和编程活动中帮助新手和新学习者。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
英文摘要
Software architecture refers to the discipline of designing the structure of software systems. The structure consists of software elements (or modules or components) and relations among them, as well as properties and constraints on the structure and behavior of the elements. The term “architecture” used in this sense is a metaphor, analogous to the architecture of a building. The software architecture serves as a blueprint for the system and the developing project, and guides the design and development of the software. During the designing of a software architecture, attributes such as reliability, availability, security, and performance are addressed by posing and comparing alternate solutions, understanding their trade-offs, and ultimately making a series of interrelated design decisions with the intention of optimizing the degree to which each of the quality concerns is satisfied. As in building architecture, the software architecture discipline has developed standard methods, called architectural tactics, of making these architectural design decisions. The main objective of this project is to develop and validate new technologies that could make software architecture design more intuitive, particularly for novice programmers and new learners. The vision is to someday be able to have programmers express their design intent intuitively and generate error-free software programs. Software architecture design is notoriously difficult to learn and even harder to master. In order to satisfy quality attribute scenarios, appropriate architectural solutions need to be chosen and implemented. These solutions are often based on well-known architectural tactics and software frameworks that deliver these tactics. This project presents a solution to change software design and programming from purely manual and exclusive tasks to one in which a programmer and an automated tactic synthesis tool collaborate to generate defect-free software design and implementation that satisfy quality attributes scenarios. This project will create (1) a context-aware inference algorithm capable of recommending suitable architectural tactics to programmers, (2) learning by example techniques for inferring the specification models that describe how a tactic can be implemented using a software framework, and (3) automated tools and an intuitive domain-specific language for the synthesis of tactical code. In addition, this research will design, develop, evaluate, and release new interventions in terms of software design strategies that can help novices and new learners during software design and programming activities.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
期刊论文(6)
专著(0)
科研奖励(0)
会议论文
Serialization-aware call graph construction
序列化感知调用图构建
DOI: 10.1145/3460946.3464319
发表时间: 2021
期刊: Proceedings of the 10th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis
影响因子: --
作者: [Santos, Joanna C., Jones, Reese A., Ashiogwu, Chinomso, Mirakhorli, Mehdi]
通讯作者: Mirakhorli, Mehdi
DOI: 10.1145/3475716.3475786
发表时间: 2021-10
期刊: Proceedings of the 15th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
影响因子: --
作者: [Danielle Gonzalez;P. Perez;Mehdi Mirakhorli]
通讯作者: Danielle Gonzalez;P. Perez;Mehdi Mirakhorli
DOI: 10.1109/icsa51549.2021.00022
发表时间: 2021-03
期刊: 2021 IEEE 18th International Conference on Software Architecture (ICSA)
影响因子: --
作者: [Joshua Garcia;Mehdi Mirakhorli;Lu Xiao;Yutong Zhao;Ibrahim Mujhid;K. Pham;A. Okutan;S. Malek;R. Kazman;Yuanfang Cai;N. Medvidović]
通讯作者: Joshua Garcia;Mehdi Mirakhorli;Lu Xiao;Yutong Zhao;Ibrahim Mujhid;K. Pham;A. Okutan;S. Malek;R. Kazman;Yuanfang Cai;N. Medvidović
DOI: 10.1109/icsa51549.2021.00021
发表时间: 2021-02
期刊: 2021 IEEE 18th International Conference on Software Architecture (ICSA)
影响因子: --
作者: [A. Shokri;Joanna C. S. Santos;Mehdi Mirakhorli]
通讯作者: A. Shokri;Joanna C. S. Santos;Mehdi Mirakhorli
共 6 条
    Collaborative Research: EAGER: Towards a Design Methodology for Software-Driven Sustainability
    • 批准号:
      2233872
    • 项目类别:
      Standard Grant
    • 资助金额:
      $10.0万
    • 财政年份:
      2022
    • 负责人:
      Mehdi Mirakhorli
    • 依托单位:
    SaTC: CORE: Small: Characterizing Architectural Vulnerabilities
    • 批准号:
      1816845
    • 项目类别:
      Standard Grant
    • 资助金额:
      $43.91万
    • 财政年份:
      2018
    • 负责人:
      Mehdi Mirakhorli
    • 依托单位:
    CRI: CI-NEW: Collaborative Research: Constructing a Community-Wide Software Architecture Infrastructure
    • 批准号:
      1823246
    • 项目类别:
      Standard Grant
    • 资助金额:
      $37.42万
    • 财政年份:
      2018
    • 负责人:
      Mehdi Mirakhorli
    • 依托单位:
    REU Site: Cultivating Next Generation Software Engineering Researchers
    • 批准号:
      1757680
    • 项目类别:
      Standard Grant
    • 资助金额:
      $36.0万
    • 财政年份:
      2018
    • 负责人:
      Mehdi Mirakhorli
    • 依托单位:
    海外基金