首页> 外文学位 >Programming languages for scalable software extension and composition.
【24h】

Programming languages for scalable software extension and composition.

机译:用于可扩展软件扩展和组合的编程语言。

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

摘要

Large software systems are often constructed by reusing existing code. This dissertation describes several approaches that address the limitations of existing code reuse mechanisms such as class inheritance. The Polyglot design pattern enables software systems to be extended in a scalable way: the code required to extend the system is proportional to the amount of new functionality provided. This design pattern has been used to implement an extensible compiler framework. Nested inheritance is an object-oriented programming language mechanism that supports scalable extensibility in a safer, more natural way than the design pattern approach. Nested inheritance permits modular, type-safe extension of a package (including nested packages and classes), while preserving existing type relationships. Nested intersection extends nested intersection to enable composition and extension of two or more packages, combining their types and behavior while resolving conflicts with a relatively small amount of code. Nested intersection is implemented in the language J&. The utility of J& is demonstrated by using it to construct two composable, extensible frameworks: a compiler framework for Java, and a peer-to-peer networking system. Both frameworks support composition of extensions. For example, two compilers adding different, domain-specific features to Java can be composed to obtain a compiler for a language that supports both sets of features.
机译:大型软件系统通常是通过重用现有代码来构建的。本文介绍了几种解决现有代码重用机制(如类继承)局限性的方法。 Polyglot设计模式使软件系统能够以可扩展的方式扩展:扩展系统所需的代码与所提供的新功能的数量成比例。此设计模式已用于实现可扩展的编译器框架。嵌套继承是一种面向对象的编程语言机制,它比设计模式方法更安全,更自然地支持可扩展的可扩展性。嵌套继承允许包的模块化,类型安全的扩展(包括嵌套的包和类),同时保留现有的类型关系。嵌套的交集扩展了嵌套的交集,以实现两个或多个包的组合和扩展,结合它们的类型和行为,同时用相对少量的代码解决冲突。嵌套交集以J&语言实现。通过使用J&J构建两个可组合,可扩展的框架来演示J&J的实用程序:用于Java的编译器框架和对等网络系统。这两个框架都支持扩展的组成。例如,可以组成两个向Java添加不同的特定于域的功能的编译器,以获得用于支持两种功能集的语言的编译器。

著录项

  • 作者

    Nystrom, Nathaniel J.;

  • 作者单位

    Cornell University.;

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

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号