Volume 8, Issue 8 (August 2021), Pages: 9-19
----------------------------------------------
Original Research Paper
Title: Pattern-based solution for architecting cloud-enabled software
Author(s): Jalawi Sulaiman Alshudukhi *
Affiliation(s):
College of Computer Science and Engineering, University of Ha’il, Ha’il, Saudi Arabia
Full Text - PDF XML
* Corresponding Author.
Corresponding author's ORCID profile: https://orcid.org/0000-0003-0619-0020
Digital Object Identifier:
https://doi.org/10.21833/ijaas.2021.08.002
Abstract:
Cloud computing exploits the software as a service model with distributed and interoperable services for the composition of software systems. Cloud-enabled systems that demand elasticity, scalability, and composition of services, etc., there is a need to capitalize on reusable solutions exploiting patterns and styles to architect cloud-based software. The objective of this research is to build and exploit a catalog of patterns that support reusable design knowledge to develop cloud-based architectures. We propose a three-step process with (i) pattern discovery, (ii) pattern documentation (building the catalog), and finally, (iii) pattern application (exploiting the catalog) to enable pattern-based architecting of cloud systems. We discovered seven patterns as generic and reusable solutions and demonstrate the pattern-driven architecture of the ECMC case study. Results suggest that pattern-based architecting enables the reuse of generic design decisions but lacks fine-grained architectural design. The solution is the first attempt towards establishing the catalog as a repository of patterns for architecture-based development of cloud systems.
© 2021 The Authors. Published by IASE.
This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
Keywords: Cloud architectures, Patterns and tactics, Pattern catalog
Article History: Received 2 February 2021, Received in revised form 16 April 2021, Accepted 27 April 2021
Acknowledgment
No Acknowledgment.
Compliance with ethical standards
Conflict of interest: The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Citation:
Alshudukhi JS (2021). Pattern-based solution for architecting cloud-enabled software. International Journal of Advanced and Applied Sciences, 8(8): 9-19
Permanent Link to this page
Figures
Fig. 1 Fig. 2 Fig. 3 Fig. 4
Tables
Table 1 Table 2 Table 3 Table 4 Table 5
----------------------------------------------
References (25)
- Ahmad A and Babar MA (2014a). A framework for architecture-driven migration of legacy systems to cloud-enabled software. In the WICSA 2014 Companion, Association for Computing Machinery, Sydney, Australia: 1-8. https://doi.org/10.1145/2578128.2578232 [Google Scholar]
- Ahmad A and Babar MA (2014b). Towards a pattern language for self-adaptation of cloud-based architectures. In the Western Indo-Canadian Students' Association 2014 Companion, Association for Computing Machinery, Sydney, Australia: 1-6. https://doi.org/10.1145/2578128.2578227 [Google Scholar]
- Ahmad A, Alseadoon I, Alkhalil A, and Sultan K (2019). A framework for the evolution of legacy software towards context-aware and portable mobile computing applications. In the International Conference on Software Engineering Research and Practice, CSREA Press, Las Vegas, USA: 3-9. [Google Scholar]
- Ahmad A, Chauhan MA, and Babar MA (2014b). Cloud styles-towards establishing a catalogue of styles for architecting cloud-based software. Technical Report, TR-2014-171, Software and Systems Section, IT University of Copenhagen, Copenhagen, Denmark. [Google Scholar]
- Ahmad A, Jamshidi P, and Pahl C (2012a). Pattern-driven reuse in architecture-centric evolution for service software. In the 7th International Conference on Software Paradigm Trends ICSOFT, Rome, Italy. [Google Scholar]
- Ahmad A, Jamshidi P, and Pahl C (2012b). Graph-based pattern identification from architecture change logs. In the International Conference on Advanced Information Systems Engineering, Springer, Gdansk, Poland: 200-213. https://doi.org/10.1007/978-3-642-31069-0_18 [Google Scholar]
- Ahmad A, Jamshidi P, and Pahl C (2014a). Classification and comparison of architecture evolution reuse knowledge-A systematic review. Journal of Software: Evolution and Process, 26(7): 654-691. https://doi.org/10.1002/smr.1643 [Google Scholar]
- Ahmad A, Pahl C, Altamimi AB, and Alreshidi A (2018). Mining patterns from change logs to support reuse-driven evolution of software architectures. Journal of Computer Science and Technology, 33(6): 1278-1306. https://doi.org/10.1007/s11390-018-1887-3 [Google Scholar]
- Arcitura (2014). Cloud computing design patterns. Available online at: http://www.cloudpatterns.org
- Babar MA and Chauhan MA (2011). A tale of migration to cloud computing for sharing experiences and observations. In the 2nd International Workshop on Software Engineering for Cloud Computing, Association for Computing Machinery, Waikiki, USA: 50-56. https://doi.org/10.1145/1985500.1985509 [Google Scholar]
- Bengtsson P, Lassing N, Bosch J, and van Vliet H (2004). Architecture-level modifiability analysis (ALMA). Journal of Systems and Software, 69(1-2): 129-147. https://doi.org/10.1016/S0164-1212(03)00080-3 [Google Scholar]
- Boyatzis RE (1998). Transforming qualitative information: Thematic analysis and code development. Sage, Thousand Oaks, USA. [Google Scholar]
- Buschmann F, Henney K, and Schmidt DC (2007). Pattern-oriented software architecture, on patterns and pattern languages. Volume 5, John Wiley and Sons, Hoboken, USA. [Google Scholar]
- Cámara J, Correia P, De Lemos R, Garlan D, Gomes P, Schmerl B, and Ventura R (2013). Evolving an adaptive industrial software system to use architecture-based self-adaptation. In the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, IEEE, San Francisco, USA: 13-22. https://doi.org/10.1109/SEAMS.2013.6595488 [Google Scholar]
- CDP (2014). Cloud design patterns. Available online at: http://en.clouddesignpattern.org/index.php/Main_Page
- Chen KZ (1998). Integration of design method software for concurrent engineering using axiomatic design. Integrated Manufacturing Systems, 9(4): 242-252. https://doi.org/10.1108/09576069810217847 [Google Scholar]
- Côté I, Heisel M, and Wentzlaff I (2007). Pattern-based evolution of software architectures. In the European Conference on Software Architecture, Springer, Aranjuez, Spain: 29-43. https://doi.org/10.1007/978-3-540-75132-8_4 [Google Scholar]
- Ganek AG and Corbi TA (2003). The dawning of the autonomic computing era. IBM Systems Journal, 42(1): 5-18. https://doi.org/10.1147/sj.421.0005 [Google Scholar]
- Harrison NB, Avgeriou P, and Zdun U (2007). Using patterns to capture architectural decisions. IEEE Software, 24(4): 38-45. https://doi.org/10.1109/MS.2007.124 [Google Scholar]
- Herbst NR, Kounev S, and Reussner R (2013). Elasticity in cloud computing: What it is, and what it is not. In the 10th International Conference on Autonomic Computing, San Jose, USA: 23-27. [Google Scholar]
- Jamshidi P, Ahmad A, and Pahl C (2013a). Cloud migration research: A systematic review. IEEE Transactions on Cloud Computing, 1(2): 142-157. https://doi.org/10.1109/TCC.2013.10 [Google Scholar]
- Jamshidi P, Ghafari M, Ahmad A, and Pahl C (2013b). A framework for classifying and comparing architecture-centric software evolution research. In the 17th European Conference on Software Maintenance and Reengineering, IEEE, Genova, Italy: 305-314. https://doi.org/10.1109/CSMR.2013.39 [Google Scholar]
- Rischbeck T and Erl T (2009). SOA design patterns. The Prentice Hall, Hoboken, USA. [Google Scholar]
- Wilder B (2012). Cloud architecture patterns: Using Microsoft azure. O'Reilly Media Inc., Newton, USA. [Google Scholar]
- Zdun U (2007). Systematic pattern selection using pattern language grammars and design space analysis. Software: Practice and Experience, 37(9): 983-1016. https://doi.org/10.1002/spe.799 [Google Scholar]
|