MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Type-safe prototype-based component evolution (2002) [22 citations — 2 self]

Download:
Download as a PDF
by Matthias Zenger, École Polytechnique Fédérale De
In Proceedings ECOOP 2002, volume 2374 of LNCS
http://lamp.epfl.ch/~zenger/papers/tr_components.pdf
Add To MetaCart

Abstract:

Abstract. Component-based programming is currently carried out using mainstream object-oriented languages. These languages have to be used in a highly disciplined way to guarantee flexible component composition and extensibility. This paper investigates abstractions for component-oriented programming on the programming language level. We propose a simple prototype-based model for first-class components on top of a class-based object-oriented language. The model is formalized as an extension of Featherweight Java. Our calculus includes a minimal set of primitives to dynamically build, extend, and compose software components, while supporting features like explicit context dependencies, late composition, unanticipated component extensibility, and strong encapsulation. We present a type system for our calculus that ensures type-safe component definition, composition, and evolution. 1

Citations

3620 Design Patterns: Elements of Reusable Object-oriented Software – Gamma, Helm, et al. - 1994
1415 The Java Language Specification – Gosling, Joy, et al. - 1996
958 Software Architecture: Perspectives on an Emerging Discipline – Shaw, Garlan - 1996
857 Component Software: Beyond Object-Oriented Programming", AddisonWesley and ACM-Press – Szyperski - 1997
795 A Theory of Objects – Abadi, Cardelli - 1996
762 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
484 Foundations for the study of software architecture – Perry, Wolf - 1992
483 Self: the power of simplicity, in – Ungar, Smith - 1987
393 A syntactic approach to type soundness – Wright, Felleisen - 1994
350 A Classification and Comparison Framework for Software Architecture Description Languages – Medvidovic, Taylor - 2000
331 Mixin-based inheritance, in – Bracha, Cook - 1990
302 Types and programming languages – Pierce - 2002
286 Featherweight Java: A minimal core calculus for Java and GJ – Igarashi, Pierce, et al. - 1999
271 Specification and Analysis of System Architecture Using Rapide – Luckham, Kenney, et al. - 1995
269 Specifying distributed software architectures – Magee, Dulay, et al. - 1995
213 A Formal Approach to Software Architecture – Allen - 1997
211 Classes and mixins – Flatt, Krishnamurthi, et al. - 1998
200 D.: ACME: An Architecture Description Interchange Language – Garlan, Monroe, et al. - 1997
167 Modules for Standard ML – MacQueen
160 The Common Object Request Broker: Architecture and Specification, Revision 2.0 – Group, Inc - 1996
152 Units: Cool modules for HOT languages – Flatt, Felleisen
141 Correct Architecture Refinement – Moriconi, Qian, et al. - 1995
133 Exploting style in architectural design environments – Garlan, Allen, et al. - 1994
131 The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance – Bracha - 1992
129 Program fragments, linking, and modularization – CARDELLI - 1997
110 The Cecil Language: Specification and Rationale – Chambers - 1993
91 A calculus of module systems – ANCONA, ZUCCA - 2002
87 Modularity meets inheritance, in – Bracha, Lindstrom - 1992
81 Jiazzi: new-age components for old-fashioned java – MCDIRMID, FLATT, et al. - 2001
67 Type-safe delegation for run-time component adaptation – Kniesel - 1999
62 Inside COM: Microsoft's Component Object Model – Rogerson - 1997
60 Integrating independently-developed components in object-oriented languages – Hölzle - 1993
59 Type-safe linking and modular assembly language – Glew, Morrisett - 1999
51 Independently extensible systems - software engineering potential and challenges – Szyperski - 1996
49 A Core Calculus of Classes and Mixins – Bono, Patel, et al. - 1999
45 Mixin modules in a call-by-value setting – HIRSCHOWITZ, X
41 Types for Modules – Russo - 1998
37 Recursive structures for Standard ML – Russo
35 A Theory of Mixin Modules: Basic and Derived Operators – Ancona, Zucca - 1998
27 Generic wrappers – Büchi, Weck - 2000
26 Compound types for Java – Büchi, Weck
25 Architectural reasoning in archjava – Aldrich, Chambers - 2002
24 A basic model of typed components – Seco, Caires - 2000
20 Programming Languages for Reusable Software Components – Flatt - 1999
18 C♯ language specification – Hejlsberg, Golde, et al. - 2003
17 Coordinating Mobile Object-Oriented Code – Bettini, Bono, et al. - 2002
15 True modules for Java-like languages – ANCONA, E - 2001
8 Extending Smalltalk with mixins – Bracha, Griswold - 1996
8 Objects + views = components – Odersky - 2000
4 ACOEL on CORAL: A component requirement and abstraction language – Sreedhar - 2001