Architectural Metaprogramming
Architectural Metaprogramming
批准号:
0724979
负责人:
Don Batory
金额:
$80.0万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2007
资助国家:
美国
项目状态:
已结题
起止时间:
2007-10-01 至 2012-09-30
中文摘要
美国得克萨斯大学奥斯汀分校唐·S·巴托里今天的程序员要与大量令人眼花缭乱的语言、工具、编程概念和表示法搏斗。我们本能地感觉到,熟悉的想法在不同的上下文、不同的语言、不同的实现方式和不同的平台上被重新创造和重新实施。其结果是极大的复杂性、陡峭的学习曲线,以及无法以低成本创建定制软件。这项研究揭示了程序开发和维护中不同研究线索的基本原理,以创建自动化软件开发的一般理论,最终将降低复杂性,更易于学习,并将使定制软件能够以较低的成本创建。体系结构元编程是指程序(或程序设计和程序结构)是通过转换操作的一级实体。程序是值,转换将程序映射到其他程序,运算符将转换映射到转换。结果是程序的代数:程序可以被加、减和转换。代数以一种非常可教的方式统一了软件设计的重要领域:重构是保持行为的程序转换,基于特征和面向方面的软件合成使用扩展行为的程序转换,而模型驱动设计利用两者将独立于平台的模型映射到特定于平台的模型。我们工作的结果是为低成本自动化软件设计和开发的新范例、语言和工具奠定了基础。我们工作的短期影响将是在软件工程教育中,重构、功能、方面和模型驱动的设计可以作为一个连贯和集成的学科来呈现;长期的影响将是商业软件开发中的工具和语言。
英文摘要
0724979Don S. BatoryUniversity of Texas at AustinToday's programmers wrestle with a bewildering number of languages, tools, programming concepts, and representations. Instinctively we sense familiar ideas are reinvented and reimplemented in different contexts, in different languages, with different implementations, and on different platforms. The result is overwhelming complexity, steep learning curves, and the inability to create customized software cheaply. This research exposes fundamental principles that underlie different threads of research in program development and maintenance to create a general theory of automated software development that ultimately will reduce complexity, be easier to learn, and will enable customized software to be created inexpensively.Architectural Metaprogramming is the idea that programs (or program designs and program structures) are first-class entities that are manipulated by transformations. Programs are values, transformations map programs to other programs, and operators map transformations to transformations. The result is an algebra of programs: programs can be added, subtracted, and transformed. The algebra unifies important areas of software design in a very teachable way: refactorings are behavior-preserving program transformations, feature-based and aspect-oriented software synthesis use behavior-extending program transformations, and model-driven design exploits both to map platform-independent models to platform-specific models. The result of our work is a foundation for a new paradigm, languages, and tools for low-cost automated software design and development. The short-term impact of our work will be in software engineering education, where refactorings, features, aspects, and model-driven design can be presented as a coherent and integrated discipline; the longer-term impact will be on tools and languages in commercial software development.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Small: Generation of Scientific Software Libraries
-
批准号:1421211
-
项目类别:Standard Grant
-
资助金额:$51.55万
-
财政年份:2014
-
负责人:Don Batory
-
依托单位:
SHF: Large: Collaborative Research: Science and Tools for Software Evolution
-
批准号:1212683
-
项目类别:Continuing Grant
-
资助金额:$36.52万
-
财政年份:2012
-
负责人:Don Batory
-
依托单位:
SoD: A Generative Model of Feature Interactions
-
批准号:0438786
-
项目类别:Standard Grant
-
资助金额:$41.47万
-
财政年份:2004
-
负责人:Don Batory
-
依托单位:
Genesis: A Project to Develop a Reconfigurable Database Management System
-
批准号:8600738
-
项目类别:Continuing Grant
-
资助金额:$35.99万
-
财政年份:1986
-
负责人:Don Batory
-
依托单位:
Modeling the Physical Structures and Algorithms of Real Database Systems (Computer Research)
-
批准号:8317353
-
项目类别:Standard Grant
-
资助金额:$8.19万
-
财政年份:1983
-
负责人:Don Batory
-
依托单位:
海外基金