Advertisement

A Process Framework for Designing Software Reference Architectures for Providing Tools as a Service

  • Muhammad Aufeef ChauhanEmail author
  • Muhammad Ali Babar
  • Christian W. Probst
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10027)

Abstract

Software Reference Architecture (SRA), which is a generic architecture solution for a specific type of software systems, provides foundation for the design of concrete architectures in terms of architecture design guidelines and architecture elements. The complexity and size of certain types of software systems need customized and systematic SRA design and evaluation methods. In this paper, we present a software Reference Architecture Design process Framework (RADeF) that can be used for analysis, design and evaluation of the SRA for provisioning of Tools as a Service as part of a cloud-enabled workSPACE (TSPACE). The framework is based on the state of the art results from literature and our experiences with designing software architectures for cloud-based systems. We have applied RADeF SRA design two types of TSPACE: software architecting TSPACE and software implementation TSPACE. The presented framework emphasizes on keeping the conceptual meta-model of the domain under investigation at the core of SRA design strategy and use it as a guiding tool for design, evaluation, implementation and evolution of the SRA. The framework also emphasizes to consider the nature of the tools to be provisioned and underlying cloud platforms to be used while designing SRA. The framework recommends adoption of the multi-faceted approach for evaluation of SRA and quantifiable measurement scheme to evaluate quality of the SRA. We foresee that RADeF can facilitate software architects and researchers during design, application and evaluation of a SRA and its instantiations into concrete software systems.

Keywords

Cloud Computing Software Reference Architecture (SRA) Tools as a Service (TaaS) Architecture Design Architecture evaluation 

References

  1. 1.
    Angelov, S., Trienekens, J., Kusters, R.: Software reference architectures - exploring their usage and design in practice. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 17–24. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39031-9_2 CrossRefGoogle Scholar
  2. 2.
    Angelov, S., Grefen, P., Greefhorst, D.: A framework for analysis and design of software reference architectures. Inf. Softw. Technol. 54(4), 417–431 (2012)CrossRefGoogle Scholar
  3. 3.
    Avgeriou, P.: Describing, instantiating and evaluating a reference architecture: a case study. Enterp. Archit. J., 24 (2003)Google Scholar
  4. 4.
    Kruchten, P.B.: The 4 + 1 view model of architecture. IEEE Softw. 12(6), 42–50 (1995)CrossRefGoogle Scholar
  5. 5.
    Buschmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns, p. 457. John Wiley & Sons Inc., New York (1996)Google Scholar
  6. 6.
    Chauhan, M.A., Ali Babar, M., Sheng, Q.Z.: A reference architecture for a cloud-based tools as a service workspace, In: 2015 IEEE Conference on Service Computing (SCC). IEEE, New York (2015)Google Scholar
  7. 7.
    Angelov, S., Trienekens, J.J.M., Grefen, P.: Towards a method for the evaluation of reference architectures: experiences from a case. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 225–240. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-88030-1_17 CrossRefGoogle Scholar
  8. 8.
    Dourish, P., Bellotti, V.: Awareness and coordination in shared workspaces. In: Proceedings of the 1992 ACM Conference on Computer-Supported Cooperative Work, pp. 107–114. ACM, Toronto (1992)Google Scholar
  9. 9.
    Sodhi, B., Prabhakar, T.V.: Application architecture considerations for cloud platforms. In: 2011 Third International Conference on Communication Systems and Networks (COMSNETS), p. 1–4. IEEE (2011)Google Scholar
  10. 10.
    Domingo, E.J., et al.: CLOUDIO: a cloud computing-oriented multi-tenant architecture for business information systems. In: 2010 IEEE 3rd International Conference on Cloud Computing (CLOUD), pp. 532–533. IEEE (2010)Google Scholar
  11. 11.
    Calheiros, R.N., et al.: The Aneka platform and QoS-driven resource provisioning for elastic applications on hybrid Clouds. Future Gener. Comput. Syst. 28(6), 861–870 (2012)CrossRefGoogle Scholar
  12. 12.
    Han, R., et al.: Enabling cost-aware and adaptive elasticity of multi-tier cloud applications. Future Gener. Comput. Syst. 32, 82–98 (2014)CrossRefGoogle Scholar
  13. 13.
    Brandic, I., Music, D., Dustdar, S.: Service mediation and negotiation bootstrapping as first achievements towards self-adaptable grid and cloud services. In: Proceedings of the 6th International Conference Industry Session on Grids Meets Autonomic Computing, pp. 1–8. ACM, Barcelona (2009)Google Scholar
  14. 14.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, p. 640. Addison-Wesley Professional, Boston (2012)Google Scholar
  15. 15.
    Avgeriou, P., Zdun, U.: Architectural patterns revisited–a pattern (2005)Google Scholar
  16. 16.
    Angelov, S., Grefen, P.: An e-contracting reference architecture. J. Syst. Softw. 81(11), 1816–1844 (2008)CrossRefGoogle Scholar
  17. 17.
    Kazman, R., et al.: The architecture tradeoff analysis method. In: 1998 Proceedings of the Fourth IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 1998 (1998)Google Scholar
  18. 18.
    Kazman, R., et al.: SAAM: a method for analyzing the properties of software architectures. In: 1994 Proceedings of the 16th International Conference on Software Engineering, ICSE-16 (1994)Google Scholar
  19. 19.
    Kordy, B., et al.: Attack–defense trees. J. Logic Comput., exs029 (2012)Google Scholar
  20. 20.
    IEEE Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE Std 1471-2000, pp. i–23 (2000)Google Scholar
  21. 21.
    ISO/IEC/IEEE Systems and software engineering – Architecture description. ISO/IEC/IEEE 42010:2011(E) (Revision of ISO/IEC 42010:2007 and IEEE Std 1471-2000), pp. 1–46 (2011)Google Scholar
  22. 22.
    Chauhan, M.A.: Foundations for Tools as a Service Workspace: A Reference Architecture. Ph.D. Dissertation, IT University of Copenhagen, Denmark (ITU-DS; No. 118) (2016)Google Scholar
  23. 23.
    Chauhan, M.A., Babar, M.A.: PTaaS: Platform for Providing Software Developing Applications and Tools as a Service. Technical report TR-2014-176 (2014). https://pure.itu.dk/ws/files/74130379/TR_2014_176.pdf
  24. 24.
    Azeez, A., et al.: Multi-tenant SOA middleware for cloud computing. In: 2010 IEEE 3rd International Conference on Cloud Computing (CLOUD), pp. 458–465. IEEE (2010)Google Scholar
  25. 25.
    Huhns, M.N., Singh, M.P.: Service-oriented computing: key concepts and principles. IEEE Internet Comput. 9(1), 75–81 (2005)CrossRefGoogle Scholar
  26. 26.
    Fielding, R.T.: Architectural Styles and the Design of Network-Based Software Architectures, p. 162. University of California, Irvine (2000)Google Scholar
  27. 27.
    Nakagawa, E.Y., Barbosa, E.F., Maldonado, J.C.: Exploring ontologies to support the establishment of reference architectures: an example on software testing. In: Joint Working IEEE/IFIP Conference on Software Architecture, 2009 & European Conference on Software Architecture, WICSA/ECSA 2009. IEEE (2009)Google Scholar
  28. 28.
    Martínez-Fernández, S., et al.: Artifacts of software reference architectures: a case study. In: Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering. ACM (2014)Google Scholar
  29. 29.
    Ali Babar, M.: A framework for groupware-supported software architecture evaluation process in global software development. J. Softw. Evol. Process 24(2), 207–229 (2012)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Muhammad Aufeef Chauhan
    • 1
    • 3
    Email author
  • Muhammad Ali Babar
    • 1
    • 2
  • Christian W. Probst
    • 3
  1. 1.CREST-Centre for Research on Engineering Software Technologies, Software and Systems SectionIT University of CopenhagenCopenhagenDenmark
  2. 2.CREST-Centre for Research on Engineering Software TechnologiesThe University of AdelaideAdelaideAustralia
  3. 3.Formal Methods Section, Department of Applied Mathematics and Computer ScienceTechnical University of DenmarkKongens LyngbyDenmark

Personalised recommendations