To test the concepts of FUSION framework on larger scale system, we used an online Travel Reservation System (TRS) that provides a web portal for making travel reservations online. TRS aims to provide the best prices for airline tickets, hotels, and car rentals in the market. The figure below shows a subset of this system's capabilities and adaptation choices.
Above figure depicts the FUSION framework as it adapts a running system composed of a number of features. The running system is variable in the sense that features can be "selected" and "deselected" on demand. FUSION makes new feature selections to resolve QoS tradeoffs and satisfy as many goals as possible. For example, if a Response Time goal is violated, FUSION adapts the system by choosing a new configuration (i.e., feature selection) that brings down the response time and keeps other goals satisfied.
TRS offers services in five major business process areas (i.e., Flights, Hotels, Car Rental, and Account Management). Each of the first three business process area (i.e., Flights, Hotels, and Car Rentals), involves four use cases that execute consecutively as follows:
Eight QoS goals have been identified as critical for the stakeholders of the system. The table below describes the QoS goals for each business process area along with their key characteristics.
For each QoS goal, the corresponding QoS dimension has been identified(e.g., security, performance, forensics, reliability, etc.) and related use cases were analyzed to and determine practical adaptation choices (variations in the architectural configuration of the system) that have a significant impact on the goals.
Download Full Feature Model of TRS (PDF)
Following figure depicts how Booking_PerRequestAuth feature maps to the software architecture. The feature simply adds one connector (i.e., PerRequestAuth) to the system. The new connector intercepts all communication between the components: BusinessTier and TravelAgent. Thus, to add the new functionality of authentication properly, the existing direct link between BusinessTier and TravelAgent should be removed as well. FUSION uses adaptation operators (i.e., <<Find>>, <<Create>>, and <<Delete>>), as a means to describe change management logic for the running system.