A Re-configurable Component-based Software Framework - Talevski, Alex; Chang, Elizabeth; Dillon, Tharam S. (ACTA Press, 2003)
Component-based software engineering is a way of raising the level of abstraction for software development so that software can be built out of existing context-independent software components that can be widely reused. Research has shown component-based software engineering leads to software that is of higher quality when a component is reused between multiple projects, shorter time-to-market due to the reduction of written source code, and therefore lowers cost [1]. The ever-increasing changes in user requirements and diverse user-bases are the reasons for developing software that can be easily customised after it has been deployed by the user at runtime as opposed to the developer. Using current methods it is difficult to add, remove and/or modify components and their interconnections within an application without changing and recompiling the application source code. Customisation and evolution of an application is difficult to perform. In this paper we propose a plug and play dynamically reconfigurable component-based framework and we present a prototype implementation. Component-based plug and play software will allow the dynamic addition, removal and modification of a components and reconfiguration at runtime. The framework proposed will allow for evolution and customisation of software dynamically at run-time.