Anda belum login :: 27 Nov 2024 18:54 WIB
Home
|
Logon
Hidden
»
Administration
»
Collection Detail
Detail
Programming languages for reusable software components
Bibliografi
Author:
Flatt, Matthew Raymond
;
Felleisen, Matthias
(Advisor)
Topik:
COMPUTER SCIENCE
Bahasa:
(EN )
ISBN:
0-599-74120-1
Penerbit:
Rice University
Tahun Terbit:
2000
Jenis:
Theses - Dissertation
Fulltext:
9969251.pdf
(0.0B;
1 download
)
Abstract
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.
Opini Anda
Klik untuk menuliskan opini Anda tentang koleksi ini!
Lihat Sejarah Pengadaan
Konversi Metadata
Kembali
Process time: 0.15625 second(s)