Component-based architecture: the Fractal initiative

Component-based software engineering (CBSE) [32] and software architecture [30] have become mature and very active fields of study. Both can be traced back to an early vision of systematically produced software [24] and are primarily concerned with the construction of software systems by composition or assembly of software components, with well-defined interfaces and explicit dependencies. Nowadays, it is generally recognized that component-based software engineering and software architecture approaches are crucial to the development, deployment, management, and maintenance of large, dependable software systems [6]. Several component models and associated architecture description languages (i.e., notations for defining components and component assemblages) have been defined in the past 15 years. In large part, this diversity stems from differences in application domains targeted by the different models, as well as differences in choices for component interconnection and composition capabilities (much as there exists today a wealth of models and languages for concurrency). In the face of this diversity, the Fractal component model [10]—a programming language-independent component model for the construction of highly configurable software systems introduced by France Telecom and INRIA in 2001—was designed from the outset to allow arbitrary forms of component interconnection and component composition and to allow other component models to be derived as Fractal personalities. To achieve this, the Fractal model combines ideas from three main sources: (1) CBSE and software architecture, (2) reflective systems [18], and (3) configurable and adaptable distributed systems, (notably, the OpenORB [7] system and its associated OpenCOM component model [12]). From CBSE and software architecture, Fractal inherits basic concepts for the modular construction of software systems: software components, interfaces, and explicit connections (called bindings) between them. Notably, these concepts allow for the (recursive) construction and management of hierarchical component architectures possibly with sharing (a subcomponent can be part of several parent components) this last feature being an originality of Fractal. From reflective systems, Fractal inherits the idea that components can exhibit meta-level behavior reifying, through appropriate interfaces (called controller interfaces), their internal structure, and behavior. From configurable Ann. Telecommun. (2009) 64:1–4 DOI 10.1007/s12243-009-0086-1

[1]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[2]  Philippe Merle,et al.  Deploying on the Grid with DeployWare , 2008, 2008 Eighth IEEE International Symposium on Cluster Computing and the Grid (CCGRID).

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

[4]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[5]  Denis Caromel,et al.  Peer-to-Peer and fault-tolerance: Towards deployment-based technical services , 2007, Future Gener. Comput. Syst..

[6]  Romain Rouvoy,et al.  Using Microcomponents and Design Patterns to Build Evolutionary Transaction Services , 2007, Electron. Notes Theor. Comput. Sci..

[7]  Thierry Coupaye,et al.  Fractal Component-Based Software Engineering , 2006, ECOOP Workshops.

[8]  Mourad Alia,et al.  A Middleware Framework for the Persistence and Querying of Java Objects , 2004, ECOOP.

[9]  Juraj Polakovic,et al.  Architecting reconfigurable component-based operating systems , 2008, J. Syst. Archit..

[10]  Jifeng He,et al.  Mathematical frameworks for component software : models for analysis and synthesis , 2006 .

[11]  Hervé Grall,et al.  A Multi-stage Approach for Reliable Dynamic Reconfigurations of Component-Based Systems , 2008, DAIS.

[12]  Gordon S. Blair,et al.  THE DESIGN AND IMPLEMENTATION OF OPEN ORB V 2 , 2001 .

[13]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .

[14]  Clemens Szyperski,et al.  Component software , 1997 .

[15]  Noel De Palma,et al.  Autonomic Management of Clustered Applications , 2006, 2006 IEEE International Conference on Cluster Computing.

[16]  Gordon S. Blair,et al.  The Design and Implementation of Open ORB 2 , 2001, IEEE Distributed Syst. Online.

[17]  Vivien Quéma,et al.  DREAM: a component framework for the construction of resource-aware, reconfigurable MOMs , 2004, ARM '04.

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

[19]  Philippe Merle,et al.  A Generic Deployment Framework for Grid Computing and Distributed Applications , 2006, OTM Conferences.

[20]  S. Sicard Using Components for Architecture-Based Management The Self-Repair case , 2007 .

[21]  Fabienne Boyer,et al.  Using components for architecture-based management , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[22]  Vivien Quéma,et al.  Supporting Heterogeneous Architecture Descriptions in an Extensible Toolset , 2007, 29th International Conference on Software Engineering (ICSE'07).

[23]  Jean-Bernard Stefani,et al.  J2EE Packaging, Deployment and Reconfiguration Using a General Component Model , 2005, Component Deployment.

[24]  Raffaela Mirandola,et al.  The Common Component Modeling Example: Comparing Software Component Models [result from the Dagstuhl research seminar for CoCoME, August 1-3, 2007] , 2007, CoCoME.

[25]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[26]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[27]  Murali Sitaraman,et al.  Foundations of component-based systems , 2000 .

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

[29]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[30]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[31]  Chris Sauer,et al.  Technical Reviews: A Behaviorally Motivated Program of Research , 2022 .