10 citations found. Retrieving documents...
Matthew Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, 1999.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Modular Verification of Feature-Oriented Software Models - Fisler, Krishnamurthi (2002)   (Correct)

....[5] or units [16] We will use the term features, but our work should apply to other similar notions of cross cutting. Feature modules have well defined interfaces that permit their composition to build larger designs; they tend, at least in principle, to obey the characteristics of components [19, 23, 42], such as separate compilation, multiple instantiability and external linkage. By specifying each feature independently, designers can flexibly decide which features to include and exclude in a particular composite design. These designs have been particularly successful in software product lines ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, 1999.


Type-Safe Prototype-Based Component Evolution - Zenger (2002)   (6 citations)  (Correct)

....used to dynamically manufacture modules. Furthermore, they are not extensible, which makes it di#cult to perform adaptations. An extension of SML with first class modules was recently proposed by Russo [47,48] Unlike SML modules, units o#er better support for component oriented programming [20,19]. They provide first class module abstractions and linking facilities to compose modules hierarchically. Like all the component oriented languages mentioned before, units are linked by explicitly connecting provided with required ports. Since port descriptions of units are relatively fine grained ....

....with required ports. Since port descriptions of units are relatively fine grained they are, in fact, just variable definitions , this can be a tedious task. For this reason, MzScheme supports signed units that support bundles of variables, called signatures, being connected in one step [19]. Even thought superficially similar to services in our component model, signatures are merely syntactic sugar and are flattened to a linear list of variables. Jiazzi [38] is a working enhancement of Java with support for large scale software components based on MzScheme s units. Jiazzi s units ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, June 1999.


Evolving Software with Extensible Modules - Zenger (2002)   (4 citations)  (Correct)

....imported module with a compatible version just by modifying an alias definition. Such a modification would be destructive but would not require extensive source code renaming. Initially, functional programming languages introduced module systems that obey the principle of external connections [19], i.e. the separation of component definition and component connections. These module systems maximize reuse, but they yield modules that are not extensible, since everything is hard wired internally. Module systems with external linking facilities include SML s functors [35] and MzScheme s units ....

....problem of unit style module systems is scalability due to modules importing fine grained entities like classes, functions, etc. and due to explicit module wiring. For this reason, MzScheme offers signed units that support bundles of variables, called signatures, which get linked in one step [19]. Only recently, proposals have been put forward to bundle class based object oriented languages with similar module systems [18, 4] So far, we only know about two attempts to integrate a module system into Java. The proposal by Ancona and Zucca is rather theoretical, leaving unclear if their ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, June 1999.


Type-Safe Prototype-Based Component Evolution - Zenger (2002)   (6 citations)  (Correct)

....manufacture modules. Furthermore, they are not extensible, which makes it difficult to perform adaptations. An extension of SML with first class modules was recently proposed by Russo [Rus98,Rus00] Unlike SML modules, units offer better support for component oriented programming [FF98,Fla99] They provide first class module abstractions and linking facilities to compose modules hierarchically. Like all the component oriented languages mentioned before, units are linked by explicitly connecting provided with required ports. Since port descriptions of units are relatively fine grained ....

....with required ports. Since port descriptions of units are relatively fine grained they are, in fact, just variable definitions , this can be a tedious task. For this reason, MzScheme supports signed units that support bundles of variables, called signatures, being connected in one step [Fla99] Even thought superficially similar to services in our component model, signatures are merely syntactic sugar and are flattened to a linear list of variables. Jiazzi [MFH01a] is a working enhancement of Java with support for large scale software components based on MzScheme s units. Jiazzi s ....

Matthew Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, June 1999.


Verifying Component-Based Collaboration Designs - Fisler, Krishnamurthi, Batory (2001)   (3 citations)  (Correct)

....are receiving increasing recognition as providing a flexible and scalable approach to large scale system design, particularly for product line architectures. Scalable, collaboration based designs are fundamentally component based [6, 9] Collaborations share the features of components [5, 7, 11], at least in principle: they are black boxes that can be combined through external linkage; their composition can be treated hierarchically; and they may be instantiated multiple times when building a system (the latter situation could arise if the same feature is added to different parts of the ....

Flatt, M. Programming Languages for Reusable Software Components. PhD thesis, Rice University, 1999.


Implementing Extensible Compilers - Zenger, Odersky (2001)   (2 citations)  (Correct)

....are operations that traverse the trees. An extension or modification of the compilers source language often requires both, extensibility of the datatype modelling the abstract syntax and the set of passes operating on this type. Furthermore it is often necessary to adapt existing passes. Flatt [12] calls this well known problem of extending data and operations simultaneously the extensibility problem [6, 7, 11, 12, 15, 17, 28] Unfortunately, neither a functional nor an object oriented approach solves this problem in a satisfactory way. With an object oriented language such a datatype ....

....requires both, extensibility of the datatype modelling the abstract syntax and the set of passes operating on this type. Furthermore it is often necessary to adapt existing passes. Flatt [12] calls this well known problem of extending data and operations simultaneously the extensibility problem [6, 7, 11, 12, 15, 17, 28]. Unfortunately, neither a functional nor an object oriented approach solves this problem in a satisfactory way. With an object oriented language such a datatype would be implemented as a set of classes sharing a common interface. We call these classes variants of the datatype. Whereas extending ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, June 1999.


Extensible Algebraic Datatypes with Defaults - Zenger, Odersky (2001)   (5 citations)  (Correct)

....been successfully applied in the implementation of an extensible Java compiler. Our technique allows for the reuse of existing components in compiler extensions without the need for any adaptations. 1. INTRODUCTION 1. 1 Extensibility Problem The extensibility problem has been extensively studied [5, 6, 10, 11, 16, 19, 22, 30]. It can be paraphrased as follows: Given a recursively defined set of data and operations on them, how can one add both new data variants and new operations on variants without changing or duplicating existing code This is not only an academic question. Extending a system by modifying source ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, June 1999.


The Design of a COM-Oriented Module System - Pucella (2000)   (Correct)

....interaction with the COM runtime system) The implementation has to be completed and systems built using it. Finally, and this is once again future work, it is of great interest to investigate the relationship between our approach and the approach supported by structuring mechanisms such as units [5] and mixins a la Jigsaw [1] Acknowledgments. Thanks to Greg Morrisett for many discussions on module systems and COM. Thanks to Peter Frohlich for a thorough reading of the paper and many comments that helped shape the presentation. Thanks to Dino Oliva, Erik Meijer and Daan Leijen for early ....

M. Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, 1999.


Implementing Extensible Theorem Provers - Fisler, Krishnamurthi, Gray (1999)   (Correct)

....between program entities hinders extensibility. Ideally, an implementation framework for extensible systems should allow flexible connections between classes, between components, and between related code fragments; the underlying principle is to separate definitions from their connections [12]. Components provide this feature by definition. For classes, we need mixins, which are reusable class extensions with parameterized super classes. In a language with mixins, a class is a composition of mixins onto an existing class (the language must provide an empty base class) Existing ....

Flatt, M. Programming Languages for Reusable Software Components. PhD thesis, Rice University, Department of Computer Science, 1999.


A Reduction Semantics for Call-By-Value Mixin Modules - Hirschowitz, Leroy, Wells (2002)   (Correct)

No context found.

Matthew Flatt. Programming Languages for Reusable Software Components. PhD thesis, Rice University, 1999.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC