课题基金 / 基金详情

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的其他基金

相似基金

相关文献

中文摘要
翻译
该奖项是根据2009年美国复苏和再投资法案(公法111-5)资助的。现实世界的软件系统是使用不同组件集合在多个抽象层上构建的大型复杂工件。尽管单个组件通常是可重用的,但管理组件之间交互的代码很少是可重用的。 这样的代码本身规模很大,并且编码了大量的应用程序逻辑。组件之间的潜在通信,通常受对象之间的消息传递的影响,形成程序中的附带结构。虽然这样的结构是真实的数据结构,但是它们在程序代码和运行时缺乏显式表示,因此难以重用、编程操作和推理。 这个项目的重点是识别在主流编程的重要领域中出现的偶然结构-特别是人机界面-并将它们建模为声明式指定的显式软件工件。假设大量的ad-hoc代码可以被废弃,并被可重用的算法和组件所取代。用户界面中附带的数据结构的特定来源是事件处理代码,实现值的传播,验证逻辑,界面元素启用逻辑,脚本支持等。该项目旨在证明这些功能,通常是用特定于应用程序的不可重用代码实现的,是不是特定于一个特定的用户界面,他们可以实现可重用的通用算法,参数化的(声明指定)模型,捕捉的关系,作为一个系统的约束,值之间操纵的用户interfaces.The拟议的工作将影响未来的大规模软件开发,旨在实现大幅提高生产力和软件,更可靠,更高效,更可预测的。
英文摘要
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
海外基金