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.
Similar content being viewed by others
Notes
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.
Acceleo—Java Service Wrappers: https://wiki.eclipse.org/Acceleo/Getting_Started#Java_services_wrappers.
Trace available at: http://www.cs.huji.ac.il/labs/parallel/workload/logs.html.
References
Amazon Elastic Compute Cloud (2019) http://aws.amazon.com/ec2/. Accessed 30 Jan 2019
Baumgart I, Heep B, Krause S (2007) Oversim: a flexible overlay network simulation framework. In: 2007 IEEE global internet symposium, pp 79–84
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
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
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
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
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
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
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
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
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
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
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
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
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
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
DMTF (2013) Open Virtualization Format (OVF), v2.0.0. https://www.dmtf.org/standards/ovf. Accessed 30 Jan 2019
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
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
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
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
Kleppe AG, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Addison-Wesley Longman Publishing Co., Inc, Boston
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
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
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
Mellor SJ, Clark T, Futagami T (2003) Model-Driven development: guest editor’s introduction. IEEE Softw 20(5):14–18
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
Mens T, Van Gorp P (2006) A taxonomy of model transformation. Electron Notes Theoret Comput Sci 152:125–142
Microsoft Azure (2019) http://azure.microsoft.com. Accessed 30 Jan 2019
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
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
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
Núñez A, Hierons RM (2015) A methodology for validating cloud models using metamorphic testing. Ann Telecommun 70(3–4):127–135
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
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
Obeo (2007) Acceleo generator. http://www.acceleo.org/. Accessed 30 Jan 2019
OMG (2008) MOF model to text transformation language (MOFM2T) v1.0. http://www.omg.org/spec/MOFM2T/1.0/. Accessed 30th Jan 2019
OMG (2011) Business process model & notation (BPMN). http://www.omg.org/spec/BPMN/2.0. Accessed 30 Jan 2019
OMG (2014a) MDA Guide revision 2.0. http://www.omg.org/cgi-bin/doc?ormsc/14-06-01.pdf. Accessed 30 Jan 2019
OMG (2014b) Object constraint language (OCL) v2.4. http://www.omg.org/spec/OCL/2.4. Accessed 30 Jan 2019, Accessed 13 Nov 2016
OMG (2014c) UML Profile Specifications. http://www.omg.org/spec/#Profile. Accessed 30 Jan 2019
OMG (2015) UML Specification version 2.5. http://www.omg.org/spec/UML/2.5. Accessed 30 Jan 2019
OMG (2016) MOF Query/View/Transformation v1.3. http://www.omg.org/spec/QVT/1.3/. Accessed 30 Jan 2019
RightScale (2017) http://www.rightscale.com. Accessed 24 Nov 2018
SCALR (2017) http://www.scalr.com. Accessed 24 Nov 2018
Schmidt DC (2006) Guest editor’s introduction: model-driven engineering. Computer 39(2):25–31. https://doi.org/10.1109/MC.2006.58
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
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
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
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
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
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
Veselý V, Marek M, Hykel T, Rysavý O (2015) Skip this paper-rinasim: Your recursive internetwork architecture simulator. CoRR
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
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
Corresponding author
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.
Listing 4 Main Acceleo template.
Listing 5 generateNEDFile Acceleo template.
Listing 6 generateScenario Acceleo template.
Listing 7 generateScenarioDataCenter Acceleo template.
Listing 8 generateScenarioCloudProvider Acceleo template.
Listing 9 generateScenarioConnections Acceleo template.
Listing 10 Excerpt 1 from the generated .ned file.
Listing 11 generateDataCenter Acceleo template.
Listing 12 generateRackElement Acceleo template.
Listing 13 generateDataCenterNetwork Acceleo template.
Listing 14 generateRackConnection Acceleo template.
Listing 15 Excerpt 2 of the generated .ned file.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-02980-w