首页> 外文学位 >Programming languages for reusable software components.
【24h】

Programming languages for reusable software components.

机译:可重用软件组件的编程语言。

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

摘要

Programming languages offer a variety of constructs to support code reuse. For example, functional languages provide function constructs for encapsulating expressions to be used in multiple contexts. Similarly, object-oriented languages provide class (or class-like) constructs for encapsulating sets of definitions that are easily adapted for new programs. Despite the variety and abundance of such programming constructs, however, existing languages are ill-equipped to support component programming with reusable software components.; Component programming differs from other forms of reuse in its emphasis on the independent development and deployment of software components. In its ideal form, component programming means building programs from off-the-shelf components that are supplied by a software-components industry. This model suggests a strict separation between the producer and consumer of a component. The separation, in turn, implies separate compilation for components, allowing a producer to test and distribute compiled components rather than proprietary source code. Since the consumer cannot modify a compiled software component, each component must be defined and compiled in a way that gives the consumer flexibility in linking components together.; This dissertation shows how a language for component programming can support both separate compilation and flexible linking. To that end, it expounds the principle of external connections: A language should separate component definitions from component connections. Neither conventional module constructs nor conventional object-oriented constructs follow the principle of external connections, which explains why neither provides an effective language for component programming. We describe new language constructs for modules and classes—called units and mixins, respectively—that enable component programming in each domain.; The unit and mixin constructs modeled in this dissertation are based on constructs that we implemented for the MzScheme programming language, a dialect of the dynamically-typed language Scheme. To demonstrate that units and mixins work equally well for statically-typed languages, such as ML or Java, we provide typed models of the constructs as well as untyped models, and we formally prove the soundness of the typed models.
机译:编程语言提供了多种支持代码重用的结构。例如,功能语言提供了用于封装要在多个上下文中使用的表达式的功能构造。类似地,面向对象的语言提供了类(或类类)构造,用于封装易于适应新程序的定义集。尽管这样的编程结构种类繁多,但是,现有的语言仍不足以支持具有可重用软件组件的 component programming 。组件编程与其他重用形式不同,它强调软件组件的独立开发和部署。理想情况下,组件编程意味着从软件组件行业提供的现成组件中构建程序。该模型建议组件的生产者和消费者之间严格分开。反过来,分离意味着组件的单独编译,从而使生产者可以测试和分发编译后的组件而不是专有源代码。由于使用者不能修改已编译的软件组件,因此必须以使使用者可以灵活地将组件链接在一起的方式定义和编译每个组件。本文说明了一种用于组件编程的语言如何能够支持单独的编译和灵活的链接。为此,它阐述了外部连接的原理一种语言应将组件定义与组件连接分开。常规模块构造和常规面向对象构造均不遵循外部连接,这说明了为什么都不为组件编程提供有效的语言。我们描述了用于模块和类的新语言构造,分别称为 units mixins ,它们使每个域中的组件编程成为可能。本文建模的unit和mixin构造基于我们为MzScheme编程语言(动态类型语言Scheme的方言)实现的构造。为了证明单元和混合器对于静态类型的语言(例如ML或Java)同样有效,我们提供了构造的类型化模型和非类型化模型,并正式证明了类型化模型的正确性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号