首页> 外文学位 >Understanding feature modularity.
【24h】

Understanding feature modularity.

机译:了解功能模块化。

获取原文
获取原文并翻译 | 示例

摘要

Features are increments in program functionality. Feature abstraction, the process of abstracting programs into their constituent features, is a relatively common yet informal practice in software design. It is common because it simplifies program understanding. It is also important for software product lines whose essence is the systematic and efficient creation of software products from a shared set of assets or features, where each product exhibits common functionality with other products but also has unique functionalities.;Thus, it seems natural to modularize feature abstractions and use such modules as building blocks of programs and product lines. Unfortunately, conventional modularization approaches such as methods, classes and packages are not geared for supporting feature modules. They present two recurrent problems. First, a typical feature implementation is spread over several conventional modules. Second, features are usually more than source code artifacts as they can modularize many different program representations (makefiles, documentation, performance models).;An undesirable consequence is that developers must lower their abstractions from features to those provided by the underlying implementation languages, a process that is far from simple let alone amenable to significant automation. The conceptual gap created between feature abstractions and their modularization hinders program understanding and product line development. The root of the problem is the fact that feature modularity is not well understood and thus not well supported in conventional programming languages, modularization mechanisms, and design techniques.;In this dissertation, we explore language and modularity support for features founded on an algebraic model geared for program synthesis. Our model integrates ideas from collaboration-based designs, mixin layers, aspect oriented programming, multidimensional separation of concerns, and generative programming. We assess our model with an implementation of a non-trivial product line case study, and evaluate feature support in emerging modularization technologies.
机译:功能是程序功能的增量。特征抽象是将程序抽象为其组成特征的过程,是软件设计中相对普遍但非正式的实践。这很常见,因为它简化了程序的理解。对于本质上是根据一组共享的资产或功能来系统有效地创建软件产品的软件产品线来说,这也很重要,因为每个产品都具有与其他产品相同的功能,但又具有独特的功能。模块化特征抽象,并使用诸如程序和产品线的构建模块之类的模块。不幸的是,诸如方法,类和包之类的常规模块化方法并不适合于支持特征模块。他们提出了两个反复出现的问题。首先,典型的功能实现方式分布在几个常规模块上。其次,功能通常不只是源代码工件,因为它们可以模块化许多不同的程序表示形式(makefile,文档,性能模型)。不利的后果是,开发人员必须将其抽象从功能降至基础实现语言所提供的功能,这个过程远非简单,更不用说进行重大自动化。特征抽象及其模块化之间创建的概念鸿沟阻碍了程序理解和产品线开发。问题的根源在于以下事实:在传统的编程语言,模块化机制和设计技术中,特征模块化并没有得到很好的理解,因此得不到很好的支持。本文将探讨基于代数模型的特征的语言和模块化支持。适用于程序综合。我们的模型集成了基于协作的设计,混合层,面向方面的编程,关注点的多维分离以及生成式编程的思想。我们通过实施非平凡的产品线案例研究来评估我们的模型,并评估新兴模块化技术中的功能支持。

著录项

  • 作者单位

    The University of Texas at Austin.;

  • 授予单位 The University of Texas at Austin.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2006
  • 页码 145 p.
  • 总页数 145
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号