MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Abstract Evolving Software with Extensible Modules

Download:
Download as a PDF
unknown authors
http://lamp.epfl.ch/~zenger/papers/use02.pdf
Add To MetaCart

Abstract:

We present the programming language Keris, an extension of Java with explicit support for software evolution. Keris introduces extensible modules as the basic building blocks for software. Modules are composed hierarchically revealing explicitly the architecture of systems. A distinct feature of the module design is that modules do not get linked manually. Instead, the wiring of modules gets infered. The module assembly and refinement mechanism of Keris is not restricted to the unanticipated extensibility of atomic modules. It also allows to extend fully linked systems by replacing selected submodules with compatible versions without needing to re-link the full system. Extensibility is type-safe and non-invasive; i.e. the extension of a module preserves the original version and does not require access to source code. 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
939 Aspect-oriented programming – Kiczales, Lamping, et al. - 1997
857 Component Software: Beyond Object-Oriented Programming", AddisonWesley and ACM-Press – Szyperski - 1997
484 Foundations for the study of software architecture – Perry, Wolf - 1992
350 A Classification and Comparison Framework for Software Architecture Description Languages – Medvidovic, Taylor - 2000
331 Mixin-based inheritance, in – Bracha, Cook - 1990
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
200 D.: ACME: An Architecture Description Interchange Language – Garlan, Monroe, et al. - 1997
167 Modules for Standard ML – MacQueen
152 Units: Cool modules for HOT languages – Flatt, Felleisen
133 Exploting style in architectural design environments – Garlan, Allen, et al. - 1994
132 Implementing layered designs with mixin layers, in – Smaragdakis, Batory - 1998
131 The Programming Language Jigsaw: Mixins, Modularity and Multiple Inheritance – Bracha - 1992
125 Niklaus: Programming in Modula-2 – Wirth - 1982
119 R.: SOFA/DCUP Architecture for Component Trading and Dynamic Updating – Plasil, Balek, et al. - 1998
112 Modular object-oriented programming with units and mixins – FINDLER, M - 1998
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
70 Virtual Classes: A powerful mechanism for object-oriented program- ming – Madsen, Moller-Pedersen - 1989
67 Type-safe delegation for run-time component adaptation – Kniesel - 1999
58 Family polymorphism – Ernst - 2001
50 Mixin modules – DUGGAN, C - 1996
47 Import is Not Inheritance: Why We Need both Modules and Classes – Szyperski - 1992
45 Mixin modules in a call-by-value setting – HIRSCHOWITZ, X
44 gbeta – a Language with Virtual Attributes, Block Structure, and Propagating, Dynamic Inheritance – Ernst - 1999
42 Genericity in Java with virtual types – Thorup - 1997
37 Modula-3 language definition – Cardelli, Donahue, et al. - 1992
35 The Programming Language Oberon-2 – Mossenbock, Wirth - 1991
33 Subtyping is not a good “Match” for object-oriented languages – Bruce, Fiech, et al. - 1997
30 Virtual types are statically safe – Torgersen - 1998
27 Generic wrappers – Büchi, Weck - 2000
25 Architectural reasoning in archjava – Aldrich, Chambers - 2002
24 A basic model of typed components – Seco, Caires - 2000
22 On inner classes – Igarashi, Pierce
22 Type-safe prototype-based component evolution – Zenger - 2002
22 Extensible algebraic datatypes with defaults – ZENGER, ODERSKY - 2001
20 Programming Languages for Reusable Software Components – Flatt - 1999
20 Foundations for virtual types – Igarashi, Pierce
18 C♯ language specification – Hejlsberg, Golde, et al. - 2003
15 True modules for Java-like languages – ANCONA, E - 2001
14 The Objective Caml system release 3.00 Documentation and user's manual – Leroy, Doligez, et al. - 2000
12 2002. Foundations of Object-Oriented Programming Languages: Types and Semantics – Bruce
11 Implementing extensible compilers – Zenger, Odersky - 2001
10 Difference-based modules: A class-independent module mechanism – Iehisugi, Tanaka - 2002
6 Modules in object-oriented systems – Ruping - 1994