Integrating independent components with on-demand remodularization

This paper proposes language concepts that facilitate the separation of an application into independent reusable building blocks and the integration of pre-build generic software components into applications that have been developed by third party vendors. A key element of our approach are on-demand remodularizations, meaning that the abstractions and vocabulary of an existing code base are translated into the vocabulary understood by a set of components that are connected by a common collaboration interface. This general concept allows us to mix-and-match remodularizations and components on demand.

[1]  C. H. Pedersen Extending ordinary inheritance schemes to include generalization , 1989, OOPSLA 1989.

[2]  Jan Bosch,et al.  Framework integration problems, causes, solutions , 1999, CACM.

[3]  Harold Ossher,et al.  Multi-dimensional Separation of Concerns in Hyperspace Multi-dimensional Separation of Concerns in Hyperspace , 1999 .

[4]  Ole Lehrmann Madsen,et al.  Virtual classes: a powerful mechanism in object-oriented programming , 1989, OOPSLA '89.

[5]  Mira Mezini,et al.  PIROL: a case study for multidimensional separation of concerns in software engineering environments , 2000, OOPSLA '00.

[6]  David Notkin,et al.  Using role components in implement collaboration-based designs , 1996, OOPSLA '96.

[7]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[8]  Yannis Smaragdakis,et al.  Implementing Layered Designs with Mixin Layers , 1998, ECOOP.

[9]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[10]  Jan Bosch,et al.  Design Patterns as Language Constructs , 1998, J. Object Oriented Program..

[11]  Urs Hölzle,et al.  Integrating Independently-Developed Components in Object-Oriented Languages , 1993, ECOOP.

[12]  Lucy M. Berlin When objects collide experiences with reusing multiple class hierarchies , 1990, OOPSLA/ECOOP '90.

[13]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[14]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[15]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[16]  Kresten Krab Thorup Genericity in Java with Virtual Types , 1997, ECOOP.

[17]  David Garlan SIGSOFT'96 : proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, San Fransisco, CA, 16-18 October 1996 , 1996 .

[18]  Mira Mezini,et al.  Component Integration with Pluggable Composite Adapters , 2002 .

[19]  Jens Palsberg,et al.  Evolution of Object Behavior Using Context Relations , 1998, IEEE Trans. Software Eng..

[20]  Gregor Kiczales,et al.  Aspect-Oriented Programming The Fun Has Just Begun , 2002 .

[21]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[22]  Klaus Ostermann,et al.  Dynamically Composable Collaborations with Delegation Layers , 2002, ECOOP.

[23]  Ian M. Holland,et al.  Specifying Reusable Components Using Contracts , 1992, ECOOP.

[24]  Wouter Joosen,et al.  Dynamic and selective combination of extensions in component-based applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  Matthew T. Nelson Java Foundation Classes , 1998 .

[26]  Matthew Flatt,et al.  Jiazzi: new-age components for old-fasioned Java , 2001, OOPSLA '01.

[27]  Mira Mezini,et al.  Adaptive plug-and-play components for evolutionary software development , 1998, OOPSLA '98.

[28]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[29]  Peyman Oreizy,et al.  Reuse of off-the-shelf components in C2-style architectures , 1997, ICSE '97.

[30]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[31]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[32]  Harold Ossher,et al.  On the Need for On-Demand Remodularization , 2000 .

[33]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[34]  Erik Ernst,et al.  Family Polymorphism , 2001, ECOOP.