Component implementation and refactoring

This activity is responsible for implementing new features and refactoring components that implement reused features. Some components might be reused without any modifications. Others might be wrapped using a different component model in order to make them compliant to the current SPL architecture.

We managed to reuse components that implement the Healthwatcher features, but we also had to implement features that do not belong to Healthwatcher, such as RSS Feeds and Captcha. Reused components were refactored to adapt to current SPL architecture. Refactoring is a technique for changing the internal structure of existing programs to make them easier to understand and cheaper to modify, without changing their observable behavior [45]. During refactoring, we avoided changing legacy code. Instead, we wrapped legacy code using COSMOS$^{*}$-VP component model [46].

A new component called Datatype was created. This component is responsible for providing datatypes that are used in communication among components. It was necessary to create this component because we avoid changing legacy code, which relied on datatypes. All components depends on Datatype component. The source code corresponding to the implementation of Public Health Complaint SPL can be found on https://github.com/leotizzei/PublicHealthComplaintAO_01.

Leonardo Tizzei 2013-02-18