Runtime Evolution of Service-Based Multi-tenant SaaS Applications

  • Indika Kumara
  • Jun Han
  • Alan Colman
  • Malinda Kapuruge
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8274)


The Single-Instance Multi-Tenancy (SIMT) model for service delivery enables a SaaS provider to achieve economies of scale via the reuse and runtime sharing of software assets between tenants. However, evolving such an application at runtime to cope with the changing requirements from its different stakeholders is challenging. In this paper, we propose an approach to evolving service-based SIMT SaaS applications that are developed based on Dynamic Software Product Lines (DSPL) with runtime sharing and variation among tenants. We first identify the different kinds of changes to a service-based SaaS application, and the consequential impacts of those changes. We then discuss how to realize and manage each change and its resultant impacts in the DSPL. A software engineer declaratively specifies changes in a script, and realizes the changes to the runtime model of the DSPL using the script. We demonstrate the feasibility of our approach with a case study.


SaaS Evolution Multi-tenancy SPL Compositional Feature 


  1. 1.
    Chong, F., Carraro, G.: Architecture Strategies for Catching the Long Tail, MSDN Library. Microsoft Corporation (2006)Google Scholar
  2. 2.
    Ju, L., Sengupta, B., Roychoudhury, A.: Tenant Onboarding in Evolving Multi-tenant Software-as-a-Service Systems. In: ICWS, pp. 415–422 (2012)Google Scholar
  3. 3.
    Truyen, E., et al.: Context-oriented programming for customizable SaaS applications. In: SAC, pp. 418–425 (2012)Google Scholar
  4. 4.
    Moens, H., et al.: Developing and managing customizable Software as a Service using feature model conversion. In: NOMS, pp. 1295–1302 (2012)Google Scholar
  5. 5.
    Bohner, S.A.: Impact analysis in the software change process: a year 2000 perspective. In: ICSM, pp. 42–51 (1996)Google Scholar
  6. 6.
    Kumara, I., et al.: Sharing with a Difference: Realizing Service-based SaaS Applications with Runtime Sharing and Variation in Dynamic Software Product Lines. In: SCC, pp. 567–574 (2013)Google Scholar
  7. 7.
    Morin, B., et al.: Models@ Runtime to Support Dynamic Adaptation. Computer 42, 44–51 (2009)CrossRefGoogle Scholar
  8. 8.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Wesley (2003)Google Scholar
  9. 9.
    Bencomo, N., Hallsteinsen, S., Almeida, E.S.: A View of the Dynamic Software Product Line Landscape. Computer 45, 36–41 (2012)CrossRefGoogle Scholar
  10. 10.
    Kastner, C., Apel, S., Kuhlemann, M.: Granularity in Software Product Lines. In: ICSE, pp. 311–320 (2008)Google Scholar
  11. 11.
    Kang, K.C., Lee, J., Donohoe, P.: Feature-oriented product line engineering. IEEE Software 19, 58–65 (2002)CrossRefGoogle Scholar
  12. 12.
    Czarnecki, K., Kim, C.H.P.: Cardinality-based feature modeling and constraints: a progress report. In: International Workshop on Software Factories, pp. 16–20 (2005)Google Scholar
  13. 13.
    Han, J.: Supporting impact analysis and change propagation in software engineering environments. In: STEP, pp. 172–182 (1997)Google Scholar
  14. 14.
    Scheer, A.W., Thomas, O., Adam, O.: Process Modeling using Event-Driven Process Chains. In: Process-Aware Information Systems, pp. 119–145 (2005)Google Scholar
  15. 15.
    Benatallah, B., Casati, F., Grigori, D., Nezhad, H.R.M., Toumani, F.: Developing Adapters for Web Services Integration. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 415–429. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Lee, K., Kang, K.C.: Feature Dependency Analysis for Product Line Component Design. In: Dannenberg, R.B., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 69–85. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Weiss, M., Esfandiari, B.: On feature interactions among Web services. In: ICWS, pp. 88–95 (2004)Google Scholar
  18. 18.
    Colman, A., Han, J.: Using role-based coordination to achieve software adaptability. Science of Computer Programming 64, 223–245 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Kapuruge, M.K.: Orchestration as organization. PhD Thesis. Swinburne University (2013)Google Scholar
  20. 20.
    Seidl, C., Heidenreich, F., Aßmann, U.: Co-evolution of models and feature mapping in software product lines. In: SPLC, pp. 76–85 (2012)Google Scholar
  21. 21.
    Baresi, L., Guinea, S., Pasquale, L.: Service-Oriented Dynamic Software Product Lines. Computer 45, 42–48 (2012)CrossRefGoogle Scholar
  22. 22.
    Tarr, P., et al.: N degrees of separation: multi-dimensional separation of concerns. In: ICSE, pp. 107–119 (1999)Google Scholar
  23. 23.
    Hihn, J., Habib-agahi, H.: Cost estimation of software intensive projects: A survey of current practices. In: ICSE, pp. 276–287 (1991)Google Scholar
  24. 24.
    Bosch, J., Capilla, R.: Dynamic Variability in Software-Intensive Embedded System Families. Computer 45, 28–35 (2012)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Indika Kumara
    • 1
  • Jun Han
    • 1
  • Alan Colman
    • 1
  • Malinda Kapuruge
    • 1
  1. 1.Faculty of Information and Communication TechnologiesSwinburne University of TechnologyMelbourneAustralia

Personalised recommendations