Mediator connector for composition of loosely coupled software components. - Sanatnama, Hanid (Asian Network for Scientific Information, 2008)
Component-based software development is an approach that has many benefits, such as improving application developer productivity, reducing costs and complexity by reusing of existing code. Programming in this approach is like assembling (i.e., composing software out of prefabricated components) rather than development, which reduces skill requirements and lets expertise focuses on domain problems. Component model is the cornerstone of any CBSD methodology, which defines what components are, how they can be constructed and specifies the standards and conventions that are needed to enable composition of independently developed components. The current component models focus on the specification and packaging of components but provide almost no support for the easy composition. Component composition techniques used in these models apply either direct or indirect message passing as connection schemes, which lead to tight coupling (i.e., components mix computation with control). Therefore, we propose the mediator connector which is similar to a communication hub. It initiates method calls and manages the returns and also provides loose coupling. Mediator connector is a framework and can be reused without any modification. The major contribution of this research is we have successfully defined no explicit connector and direct message passing between components and components are loaded into the framework dynamically during runtime based on the attachment. The attachment is the compositional configuration that defines the interaction between components, which is similar to Component Definition Language (CDL) in Koala component model or Architecture Definition Language (ADL). We illustrate the feasibility of mediator connector by building a simple bank system and evaluate the loose coupling by applying Coupling Between Objects (CBO) metrics.