Skip to Main content Skip to Navigation
Theses

Contributions to software deployment in a component-based reflexive architecture

Abstract : Modern software systems are increasingly complex regarding their development and their runtime management. To address this complexity, a component-based paradigm has emerged. Components modularize development for better software engineering and promote a vision of software as a dynamic assembly of components that can be deployed and managed at runtime. One successful approach for advanced runtime management is based on the software architecture that components make explicit. This approach, called architecture-based management, has evolved from ad-hoc early solutions to generic frameworks based on reflexive component models. One such framework is the JADE framework. JADE targets autonomic management of complex distributed systems. Based on a reflexive component model, JADE captures the complete software architecture of distributed systems, including hosted distributed applications and their hosting distributed system. In particular, this architecture reifies the runtime behavior of the distributed system, such as node failures or performance characteristics. Using this complete architecture, autonomic managers observe and react accordingly to changing conditions. The reaction of autonomic managers is to plan an architecture reconfiguration. For instance, a self-repair manager observing a node failure would plan to reconstruct the lost part of the distributed system on another node. A self-protection manager would observe an intrusion and would plan reconfiguring the distributed system in order to isolate or sandbox compromised components. A self-optimizing manager could observe an availability problem in a replicated server and plan to augment the replication cardinality of the server components. Consequently, at the heart of JADE, one finds the challenge of component deployment. Indeed, most reconfigurations of the architecture of a distributed system rely on the ability to instantiate components on remote nodes of the distributed system. More precisely, once autonomic managers have generated a reconfiguration plan of the distributed system, the actual execution of the plan is itself distributed, essentially creating and removing components as well as binding and unbinding them. Creating and removing components requires a local management of components on each node of the distributed system. This local management requires a distributed infrastructure to find, download, install, and remove components. The work presented in this thesis has provided JADE with advanced deployment capabilities in a distributed environment. In particular, we have approached this challenge through a recursive design where the implementation of components has been modelled using components, providing a sound and uniform deployment that follows the architecture-based principles. In particular, we can deploy application components as well as middleware components. Moreover, we can not only deploy regular components but we can also deploy legacy software that are wrapped with components. Through wrapping, remotely deployed legacy software can be managed by JADE in a uniform manner. Besides providing the deployment subsystem of JADE, this work has shown that underlying reflexive component model called FRACTAL needed to be extended in order to capture implementations and their specifics. Although conceived for FRACTAL and JADE, these extensions apply to most current component models that focus on the functional assembly of components and not on how components are deployed. This work has also shown that autonomic architecture based management has specific dynamic needs in terms of deployment that makes it difficult to reuse existing dynamic component platforms such as OSGI. A first design and prototype built during this thesis, although successful in many ways, has demonstrated fundamental design and architectural tensions between OSGI and JADE. A second design and prototype has shown the feasibility of using the Java platform for supporting our extended FRACTAL as the foundation to autonomic architecture-based management of complex distributed systems.
Complete list of metadatas

Cited literature [33 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00607906
Contributor : Jakub Kornaś <>
Submitted on : Monday, July 11, 2011 - 4:34:42 PM
Last modification on : Thursday, November 19, 2020 - 12:59:38 PM
Long-term archiving on: : Wednesday, October 12, 2011 - 2:25:32 AM

Identifiers

  • HAL Id : tel-00607906, version 1

Collections

CNRS | LIG | UJF | UGA

Citation

Jakub Kornaś. Contributions to software deployment in a component-based reflexive architecture. Networking and Internet Architecture [cs.NI]. Université Joseph-Fourier - Grenoble I, 2008. English. ⟨tel-00607906⟩

Share

Metrics

Record views

454

Files downloads

680