Framework and tooling for Variability management in service based systems using the software

  • Salwa Mohamed Alzahmi

Student thesis: Master's Thesis


Service-Oriented Architecture (SOA) is a business-driven architecture that supports business strategies and goals. In enterprise systems, SOA offers flexibility for building IT solutions that can respond rapidly to changing business requirements and technology through service-based development. While promoting service reuse, SOA does not offer a systematic method to follow in order to implement those changes. Variability management requires a good understanding of the business domain and a careful design of the application artifacts to cater to various business domains and changing requirements, which brings the need for developing mechanisms and tools to facilitate variability management in SOA. Many approaches and frameworks have been proposed to realize variability in SOA by applying the concept of Software Product Lines (SPL). However, many of them are limited to a specific technology and focus on managing the variability from a single view, such as the business process or service implementation views. They lack a systematic methodology to design variability in a way that suits the heterogeneity of SOA systems. In this thesis, we propose to address this problem and we aim to provide an integrated service-oriented SPL environment that supports architecture-based development with multiple views. To achieve this goal, we first surveyed the approaches and tools that have been proposed by the research community and industry to manage the variability of service-based systems using SPL concepts. Second, we developed the Service-Oriented Software Product Lines variability management tool (SoaSPL) that facilitates the design, modeling, and automatic derivation for a family of SOA-based applications using Model-Driven Engineering (MDE). Last, we evaluated the SoaSPL tool against the available SPL tools Pure::Variants and FeatureMapper. The evaluation showed the effectiveness of applying the multiple-view approach when addressing variability in SOA in terms of: 1) analyzing the amount of obtained reuse, 2) preserving the consistency between system variants, 3) achieving better traceability between software artifacts, and 4) supporting product evolution over time and space.
Date of Award2014
Original languageAmerican English
SupervisorMohammad AbuMatar (Supervisor)


  • Service-Oriented Architecture
  • Software Product Line
  • Variability Management
  • Model-Driven Engineering
  • Multiple-View architecture.

Cite this