课题基金 / 基金详情

CAREER: From Incidental Algorithms to Reusable Components: Managing the Emergent Complexity of Large-Scale Software Systems

CAREER: From Incidental Algorithms to Reusable Components: Managing the Emergent Complexity of Large-Scale Software Systems
职业:从附带算法到可重用组件:管理大型软件系统的新兴复杂性
批准号:
0845861
负责人:
Jaakko Jarvi
金额:
$40.28万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2009
资助国家:
美国
项目状态:
已结题
起止时间:
2009-07-01 至 2014-06-30

项目摘要

项目成果

Jaakko Jarvi的其他基金

相似基金

相关文献

中文摘要
翻译
点击翻译按钮获取中文摘要
英文摘要
This award is funded under the American Recovery and Reinvestment Act of 2009(Public Law 111-5).Real-world software systems are large, complex artifacts built up over multiple layers of abstraction using diverse collections of components. Though individual components are often reusable, code that manages interactions between components seldom is. Such code is large-scale itself, and encodes significant amounts of application logic. A potential for communication between components, typically effected by message passing between objects, forms incidental structures in a program. Though such structures are real data structures, they lack an explicit representation in program code and at run time, and are thus difficult to reuse, manipulate programmatically, and reason about. This project focuses on identifying incidental structures that arise in important domains of mainstream programming---human interfaces in particular---and modeling them as declaratively specified explicit software artifacts. The hypothesis is that large amounts of ad-hoc code can be obsoleted, and replaced by reusable algorithms and components.The particular source of incidental data structures in user interfaces is the event handling code, implementing propagation of values, validation logic, interface element enabling logic, scripting support, etc. The project seeks to demonstrate that these functionalities, typically implemented with application-specific non-reusable code, are not specific to a particular user interface; they can be realized with reusable generic algorithms, parameterized over a (declaratively specified) model that captures the relations, as a system of constraints, between values manipulated by the user interface.The proposed work will impact future large-scale software development, aiming to realize substantially increased productivity and software that is more reliable, efficient, and predictable.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
ST-CRTS: Collaborative Research: Lifting Compiler Optimizations via Generic Programming
海外基金