Skip to main content
Log in

Improving cloud architectures using UML profiles and M2T transformation techniques

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

In this paper, we present an approach with the goal to improve the underlying architecture of cloud systems. For this, we propose UML2Cloud, a framework targeted at modeling and checking cloud systems. The main core of UML2Cloud uses UML profiles to capture the main elements of a cloud system including, among other elements, its underlying architecture and the interaction with clients. Additionally, UML2Cloud uses Model-to-Text transformation techniques to automatically generate configuration documents representing complex cloud scenarios. In this work, we use these documents as input for a cloud simulation tool, called Simcan2Cloud, to simulate the behavior of different systems. Thus, the analysis of the performance results obtained from the simulations allows us to draw some conclusions about how to improve the efficiency of the studied clouds by adjusting the hardware resource configuration.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

Notes

  1. Simcan2Cloud is being developed by the DTRS (Design and Testing Reliable Systems) research group of the Complutense University of Madrid and supervised by Dr. Alberto Núñez.

  2. Acceleo—Java Service Wrappers: https://wiki.eclipse.org/Acceleo/Getting_Started#Java_services_wrappers.

  3. Trace available at: http://www.cs.huji.ac.il/labs/parallel/workload/logs.html.

References

  1. Amazon Elastic Compute Cloud (2019) http://aws.amazon.com/ec2/. Accessed 30 Jan 2019

  2. Baumgart I, Heep B, Krause S (2007) Oversim: a flexible overlay network simulation framework. In: 2007 IEEE global internet symposium, pp 79–84

  3. Bergmayr A, Troya J, Neubauer P, Wimmer M, Kappel G (2014a) UML-based cloud application modeling with libraries, profiles, and templates. In: CloudMDE@ MoDELS, pp 56–65

  4. Bergmayr A, Wimmer M, Kappel G, Grossniklaus M (2014b) Cloud modeling languages by example. In: 2014 IEEE 7th International Conference on Service-Oriented Computing and Applications, IEEE, pp 137–146. https://doi.org/10.1109/SOCA.2014.56

  5. Bernal A, Cambronero ME, Valero V, Núñz A, Cañizares PC (2019) A framework for modeling cloud infrastructures and user interactions. IEEE Access 7:43269–43285. https://doi.org/10.1109/ACCESS.2019.2907180

    Article  Google Scholar 

  6. Binz T, Breitenbücher U, Kopp O, Leymann F (2014) TOSCA: portable automated deployment and management of cloud applications. In: Bouguettaya A, Sheng QZ, Daniel F (eds) Advanced web services. Springer, New York, pp 527–549. https://doi.org/10.1007/978-1-4614-7535-4_22

    Chapter  Google Scholar 

  7. Breitenbücher U, Binz T, Kopp O, Leymann F, Schumm D (2012) Vino4tosca: a visual notation for application topologies based on TOSCA. In: Meersman R, Panetto H, Dillon T, Rinderle-Ma S, Dadam P, Zhou X, Pearson S, Ferscha A, Bergamaschi S, Cruz IF (eds) On the move to meaningful internet systems: OTM 2012. Springer, Berlin, pp 416–424. https://doi.org/10.1007/978-3-642-33606-5_25

    Chapter  Google Scholar 

  8. Buyya R, Ranjan R, Calheiros RN (2009) Modeling and simulation of scalable cloud computing environments and the CloudSim toolkit: challenges and opportunities. In: 7th High Performance Computing and Simulation Conference (HPCS’09), IEEE Computer Society, pp 1–11

  9. Byrne J, Svorobej S, Giannoutakis K, Tzovaras D, Byrne P, Östberg P, Gourinovitch A, Lynn T (2017) A review of cloud computing simulation platforms and related environments. In: 7th International Conference on Cloud Computing and Services Science (CLOSER’17), pp 651–663. https://doi.org/10.5220/0006373006790691

  10. Caglar F, An K, Shekhar S, Gokhale A (2013) Model-driven performance estimation, deployment, and resource management for cloud-hosted services. In: Proceedings of the 2013 ACM workshop on domain-specific modeling, ACM, pp 21–26

  11. Calheiros RN, Ranjan R, Beloglazov A, Rose CAFD, Buyya R (2011) Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41(1):23–50

    Article  Google Scholar 

  12. Casanova H, Legrand A, Quinson M (2008) SimGrid: a generic framework for large-scale distributed experiments. In: 10th International Conference on Computer Modeling and Simulation, UKSIM’ 08, pp 126–131

  13. Castañé G, Núñez A, Llopis P, Carretero J (2013) \(\text{ E-mc }^2\): a formal framework for energy modelling in cloud computing. Simul Model Pract Theory 39:56–75

    Article  Google Scholar 

  14. Cañizares PC, Núñez A, Merayo MG (2018) Mutomvo: mutation testing framework for simulated cloud and hpc environments. J Syst Softw 143:187–207. https://doi.org/10.1016/j.jss.2018.05.010

    Article  Google Scholar 

  15. Das AK, Hong J, Goswami S, Platania R, Lee K, Chang W, Park SJ, Liu L (2017) Augmenting amdahl’s second law: a theoretical model to build cost-effective balanced HPC infrastructure for data-driven science. In: 2017 IEEE 10th International Conference on Cloud Computing (CLOUD’17), pp 147–154

  16. Dietrich I, Dressler F, Schmitt V, German R (2007) SYNTONY: network protocol simulation based on standard-conform UML 2 models. In: Proceedings of the 2nd International Conference on Performance Evaluation Methodologies and Tools, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), p 21

  17. DMTF (2013) Open Virtualization Format (OVF), v2.0.0. https://www.dmtf.org/standards/ovf. Accessed 30 Jan 2019

  18. Eurostat Statistics Explained (2018) Cloud computing—statistics on the use by enterprises. http://ec.europa.eu/eurostat/statistics-explained/index.php/Cloud_computing_-_statistics_on_the_use_by_enterprises. Accessed 30 Jan 2019

  19. Fakhfakh F, Kacem HH, Kacem AH (2017) Simulation tools for cloud computing: a survey and comparative study. In: IEEE/ACIS 16th International Conference on Computer and Information Science (ICIS’17), pp 221–226

  20. Filelis-Papadopoulos CK, Gravvanis GA, Kyziropoulos PE (2018) A framework for simulating large scale cloud infrastructures. Future Gener Comput Syst 79:703–714. https://doi.org/10.1016/j.future.2017.06.017

    Article  Google Scholar 

  21. Guillén J, Miranda J, Murillo JM, Canal C (2013) A UML profile for modeling multicloud applications. In: European Conference on Service-Oriented and Cloud Computing, Springer, pp 180–187

    Chapter  Google Scholar 

  22. Kleppe AG, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc, Boston

    Google Scholar 

  23. Kliazovich D, Bouvry P, Khan SU (2012) GreenCloud: a packet-level simulator of energy-aware cloud computing data centers. J Supercomput 62(3):1263–1283

    Article  Google Scholar 

  24. Küster JM, Abd-El-Razik M (2007) Validation of model transformations—first experiences using a white box approach. In: Kühne T (ed) Models in software engineering. Springer, Berlin, pp 193–204

    Chapter  Google Scholar 

  25. Leymann F, Fehling C, Mietzner R, Nowak A, Dustdar S (2011) Moving applications to the cloud: an approach based on application model enrichment. Int J Coop Inf Syst 20(03):307–356

    Article  Google Scholar 

  26. Mellor SJ, Clark T, Futagami T (2003) Model-Driven development: guest editor’s introduction. IEEE Softw 20(5):14–18

    Article  Google Scholar 

  27. Meng FJ, Zhang X, Chen P, Xu JM (2017) Driftinsight: detecting anomalous behaviors in large-scale cloud platform. In: 2017 IEEE 10th International Conference on Cloud Computing (CLOUD’17), pp 230–237

  28. Mens T, Van Gorp P (2006) A taxonomy of model transformation. Electron Notes Theoret Comput Sci 152:125–142

    Article  Google Scholar 

  29. Microsoft Azure (2019) http://azure.microsoft.com. Accessed 30 Jan 2019

  30. Mishra SK, Puthal D, Sahoo B, Jena SK, Obaidat MS (2018) An adaptive task allocation technique for green cloud computing. J Supercomput 74(1):370–385. https://doi.org/10.1007/s11227-017-2133-4

    Article  Google Scholar 

  31. Mohan N, Varma K, Choi E (2016) Study and comparison of virtual machine scheduling algorithms in open source clouds. In: Advanced multimedia and ubiquitous engineering: futureTech & MUE. Springer, Berlin, pp 349–355

    Google Scholar 

  32. Nashaat H, Ashry N, Rizk R (2019) Smart elastic scheduling algorithm for virtual machine migration in cloud computing. J Supercomput. https://doi.org/10.1007/s11227-019-02748-2

    Article  Google Scholar 

  33. Núñez A, Hierons RM (2015) A methodology for validating cloud models using metamorphic testing. Ann Telecommun 70(3–4):127–135

    Article  Google Scholar 

  34. Núñez A, Fernández J, García JD, García F, Carretero J (2010) New techniques for simulating high performance MPI applications on large storage networks. J Supercomput 51(1):40–57

    Article  Google Scholar 

  35. Núñez A, Fernández J, Filgueira R, García F, Carretero J (2012) SIMCAN: a flexible, scalable and expandable simulation platform for modelling and simulating distributed architectures and applications. Simul Model Pract Theory 20(1):12–32

    Article  Google Scholar 

  36. Obeo (2007) Acceleo generator. http://www.acceleo.org/. Accessed 30 Jan 2019

  37. OMG (2008) MOF model to text transformation language (MOFM2T) v1.0. http://www.omg.org/spec/MOFM2T/1.0/. Accessed 30th Jan 2019

  38. OMG (2011) Business process model & notation (BPMN). http://www.omg.org/spec/BPMN/2.0. Accessed 30 Jan 2019

  39. OMG (2014a) MDA Guide revision 2.0. http://www.omg.org/cgi-bin/doc?ormsc/14-06-01.pdf. Accessed 30 Jan 2019

  40. OMG (2014b) Object constraint language (OCL) v2.4. http://www.omg.org/spec/OCL/2.4. Accessed 30 Jan 2019, Accessed 13 Nov 2016

  41. OMG (2014c) UML Profile Specifications. http://www.omg.org/spec/#Profile. Accessed 30 Jan 2019

  42. OMG (2015) UML Specification version 2.5. http://www.omg.org/spec/UML/2.5. Accessed 30 Jan 2019

  43. OMG (2016) MOF Query/View/Transformation v1.3. http://www.omg.org/spec/QVT/1.3/. Accessed 30 Jan 2019

  44. RightScale (2017) http://www.rightscale.com. Accessed 24 Nov 2018

  45. SCALR (2017) http://www.scalr.com. Accessed 24 Nov 2018

  46. Schmidt DC (2006) Guest editor’s introduction: model-driven engineering. Computer 39(2):25–31. https://doi.org/10.1109/MC.2006.58

    Article  Google Scholar 

  47. Soldani J, Binz T, Breitenbücher U, Leymann F, Brogi A (2016) Toscamart: a method for adapting and reusing cloud applications. J Syst Softw 113:395–406. https://doi.org/10.1016/j.jss.2015.12.025

    Article  Google Scholar 

  48. Steinbach T, Kenfack HD, Korf F, Schmidt TC (2011) An extension of the OMNeT++ INET framework for simulating real-time ethernet with high accuracy. In: Proceedings of the 4th International ICST Conference on Simulation Tools and Techniques (SIMUTools ’11), pp 375–382

  49. Tan Y, Wu F, Wu Q, Liao X (2019) Resource stealing: a resource multiplexing method for mix workloads in cloud system. J Supercomput 75(1):33–49

    Article  Google Scholar 

  50. Teixeira S, Agrizzi BA, Filho JGP, Rossetto S, de Lima Baldam R (2017) Modeling and automatic code generation for wireless sensor network applications using model-driven or business process approaches: A systematic mapping study. J Syst Softw 132:50–71. https://doi.org/10.1016/j.jss.2017.06.024

    Article  Google Scholar 

  51. Tiso A, Reggio G, Leotta M (2014) Unit testing of model to text transformations. In: Proceedings of the Workshop on Analysis of Model Transformations co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2014), Valencia, Spain, September 29, 2014, pp 14–23. http://ceur-ws.org/Vol-1277/2.pdf

  52. Varga A, Hornig R (2008) An overview of the OMNeT++ simulation environment. In: Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops (Simutools ’08), pp 1–10

  53. Veselý V, Marek M, Hykel T, Rysavý O (2015) Skip this paper-rinasim: Your recursive internetwork architecture simulator. CoRR

  54. Yigitbasi N, Iosup A, Epema D, Ostermann S (2009) C-Meter: a framework for performance analysis of computing clouds. In: 9th IEEE/ACM international symposium on cluster computing and the grid, pp 472–477

Download references

Acknowledgements

This work was partially supported by the Spanish Ministry of Science and Innovation (cofinanced by European Union FEDER funds) projects DArDOS, reference TIN2015-65845-C3, subprojects 1-R and 2-R, FAME, reference RTI2018-093608-B, subprojects C31 and C32, TIN2015-66972-C5 subproject 2-R, the Comunidad de Madrid project FORTE-CM under Grant S2018/TCS-4314, and the Junta de Comunidades de Castilla-La Mancha (Spain) project SBPLY/17/180501/000276 (cofunded with FEDER funds, EU).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alberto Núñez.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix

Appendix

1.1 Transformation templates and generated files

In this appendix, we show how a piece of a cloud model is transformed into several lines of text that belong to different parts of the scenario.ned configuration file. Let us consider the excerpt of a cloud model shown in Fig. 23. Component and stereotype property values are extracted through the implemented Acceleo templates, and then these are written in the scenario.ned file. To start with, the main template generateSimcan2CloudFiles (see Listing 4) extracts the information from the main component, that is CloudInfrastructure, and calls the generateNEDFile and generateINIFile templates. The generateNEDFile (see Listing 5) template creates the scenario.ned file. This template extracts the data centers referenced by the cloud infrastructure and calls the generateScenario and generateDataCenter templates to fill in the file.

The templates shown in Listings 4, 5, 6, 7, 8 and 9 write the part of the scenario.ned configuration file shown in Listing 10. In the same way, the templates shown in Listings 11, 12, 13 and 14 write the part of the scenario.ned configuration file shown in Listing 15.

Fig. 23
figure 23

A piece of a cloud system model

Listing 4 Main Acceleo template.

figure d

Listing 5 generateNEDFile Acceleo template.

figure e

Listing 6 generateScenario Acceleo template.

figure f

Listing 7 generateScenarioDataCenter Acceleo template.

figure g

Listing 8 generateScenarioCloudProvider Acceleo template.

figure h

Listing 9 generateScenarioConnections Acceleo template.

figure i

Listing 10 Excerpt 1 from the generated .ned file.

figure j

Listing 11 generateDataCenter Acceleo template.

figure k

Listing 12 generateRackElement Acceleo template.

figure l

Listing 13 generateDataCenterNetwork Acceleo template.

figure m

Listing 14 generateRackConnection Acceleo template.

figure n

Listing 15 Excerpt 2 of the generated .ned file.

figure o

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bernal, A., Cambronero, M.E., Núñez, A. et al. Improving cloud architectures using UML profiles and M2T transformation techniques. J Supercomput 75, 8012–8058 (2019). https://doi.org/10.1007/s11227-019-02980-w

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-019-02980-w

Keywords

Navigation