Runtime Support for Advanced Component Concepts

Component-based development has become a recognized technique for building large scale distributed applications. Although the maturity of this technique, there appears to be quite a significant gap between (a) component systems that are rich in advanced features (e.g., component nesting, software connectors, versioning, dynamic architectures), but which have typically only poor or even no runtime support, and (b) component systems with a solid runtime support, but which typically possess only a limited set of the advanced features. In our opinion, this is mainly due to the difficulties that arise when trying to give proper semantics to the features and reify them in development tools and an runtime platform. In this paper, we describe the implementation of the runtime environment for the SOFA 2.0 component model. In particular, we focus on the runtime support of the advanced features mentioned above. The described issues and the solution are not specific only to SOFA 2.0, but they are general and applicable to any other component system aiming at addressing such features.

[1]  Renaud Pawlak Spoon: Compile-time Annotation Processing for Middleware , 2006, IEEE Distributed Systems Online.

[2]  Vivien Quéma,et al.  Support pour la reconfiguration d'implantation dans les applications a composants Java , 2004, ArXiv.

[3]  Martin Wirsing,et al.  A Component Model for Architectural Programming , 2006, Electron. Notes Theor. Comput. Sci..

[4]  Petr Hnetynka Distributed versioning model for MOF , 2004 .

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

[6]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[7]  Petr Tuma,et al.  Fighting Class Name Clashes in Java Component Systems , 2003, JMLC.

[8]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[9]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[10]  Thierry Coupaye,et al.  ASM: a code manipulation tool to implement adaptable systems , 2002 .

[11]  Tomás Bures,et al.  Generating connectors for heterogeneous deployment , 2005, SEM '05.

[12]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[13]  André van der Hoek,et al.  JPloy: User-Centric Deployment Support in a Component Platform , 2004, Component Deployment.

[14]  Romain ROUVOY,et al.  Leveraging Component-Oriented Programming with Attribute-Oriented Programming , 2006 .

[15]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[16]  Petr Tuma,et al.  SOFAnet: middleware for software distribution over Internet , 2005, The 2005 Symposium on Applications and the Internet.

[17]  Petr Hnetynka,et al.  Dynamic Reconfiguration and Access to Services in Hierarchical Component Models , 2006, CBSE.

[18]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[19]  Thierry Coupaye,et al.  A Component Model Engineered with Components and Aspects , 2006, CBSE.

[20]  Richard S. Hall,et al.  A Framework for Constructing Adaptive Component-Based Applications: Concepts and Experiences , 2004, CBSE.

[21]  Petr Hnetynka,et al.  SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[22]  Tomáš Bureš,et al.  Generating Connectors for Homogeneous and Heterogeneous Deployment , 2006 .

[23]  Tomás Bures,et al.  Microcomponent-based component controllers: a foundation for component aspects , 2005, 12th Asia-Pacific Software Engineering Conference (APSEC'05).

[24]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[25]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[26]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .