Abstract
In many scientific and engineering areas there are emerging software services available over the Web. The reason for deploying such services in the Cloud is either to reduce the operational costs or to support the peaks in their usage profiles. The algorithms employed in such services are usually result of a long term research and technology development work, so it is beneficial to reuse those critical application parts when developing new Cloud applications. This paper investigates the possibilities to introduce a Model Driven Architecture (MDA) for the Cloud computing domain, which would support composition, customization, flexibility, maintenance and reusability of Cloud application components in the particular case of scientific and engineering applications. The underlying middleware technology of choice is the mOSAIC Platform as a Service (PaaS) solution. This choice is motivated by the fact that in mOSAIC a Cloud application consists of loosely coupled components, which are either generic and provide for key resource types needed by an application (computation, storage, communication) or custom made, e.g. based on existing legacy software. The MDA approach is illustrated through the design and operation of an application for analysis of structures under static loading. It is shown that a relatively simple design can be used to address two application bottlenecks: the varying number of users and the computational complexity of the given problem. The design reduces the necessary application development efforts and the key components can be reused for similar applications.
Similar content being viewed by others
Notes
The stable version of the mOSAIC’s open-source API and PaaS can be found at https://bitbucket.org/mosaic. Developer guidelines are available at http://developers.mosaic-cloud.eu. A list of publications about mOSAIC innovations can be found at the official site of the project www.mosaic-cloud.eu. Video demonstrations are available on YouTube (keyphrase “mOSAIC Cloud computing”).
Elasticity as a term in Cloud computing is mainly used to describe a varying number of hardware resources according to the needs of an application.
A virtual appliance—custom operating system designed to run on top of Virtual Machines and used to host and control the mOSAIC platform and application components.
Each matrix represents one Finite Element.
References
Ardagna, D., Di Nitto, E., Casale, G., Petcu, D., Mohagheghi, P., Mosser, S., Matthews, P., Gericke, A., Ballagny, C., D’Andria, F., Nechifor, C.S., Sheridan, C.: MODAClouds—a model-driven approach for the design and execution of applications on multiple clouds. In: Procs. MISE 2012, pp. 50–56 (2012). doi:10.1109/MISE.2012.6226014
Brandtzæg, E., Parastoo, M., Mosser, S.: Towards a domain-specific language to deploy applications in the clouds. In: Procs. Cloud Computing’12, pp. 213–218 (2012)
Češarek, P., Saje, M., Zupan, D.: Kinematically exact curved and twisted strain-based beam. Int. J. Solids Struct. 49(13), 1802–1817 (2012). doi:10.1016/j.ijsolstr.2012.03.033
Chen, L., May, J.H.R.: Safety assessment of systems embedded with cots components using the pip technique. In: Procs. TECOS 2004, pp. 93–108 (2004)
Kächele, S., Domaschka, J., Hauck, F.J.: Cosca—an easy-to-use component-based paas cloud system for common applications. In: Procs. CloudCP’11, Art 4 (2011). doi:10.1145/1967422.1967426
Machida, F., Andrade, E., Kim, D.S., Trivedi, K.: Candy—component-based availability modeling framework for cloud service management using sysml. In: Procs. SRDS 2011, pp. 209–218 (2011). doi:10.1109/SRDS.2011.33
Malawski, M., Meizner, J., Bubak, M., Gepner, P.: Component approach to computational applications on clouds. Proc. Comput. Sci. 4(0), 432–441 (2011). doi:10.1016/j.procs.2011.04.045
Manias, E., Baude, F.: A component-based middleware for hybrid grid/cloud computing platforms. Concurr. Comput. 24(13), 1461–1477 (2012). doi:10.1002/cpe.2822
Martinaitis, P.N., Patten, C.J., Wendelborn, A.L.: Component-based stream processing in the cloud. In: Procs. CBHPC ’09, pp. 16:1–16:12 (2009). doi:10.1145/1687774.1687790
Panica, S., Neagul, M., Craciun, C., Petcu, D.: Serving legacy distributed applications by a self-configuring cloud processing platform. In: Procs. IDAACS’11, pp. 139–144 (2011). doi:10.1109/IDAACS.2011.6072727
Pei-Breivold, H., Larsson, M.: Component-based and service-oriented software engineering: key concepts and principles. In: Procs. 33rd SEAA, pp. 13–30 (2007). doi:10.1109/EUROMICRO.2007.25
Peña-Mora, F., Vadhavkar, S., Dirisala, S.K.: Component-based software development for integrated construction management software applications. Artif. Intell. Eng. Des. Anal. Manuf. 15(2), 173–187 (2001). doi:10.1017/S0890060401152054
Petcu, D., Craciun, C., Neagul, M., Lazcanotegui, I., Rak, M.: Building an interoperability API for sky computing. In: Procs. HPCS 2011, pp. 405–411 (2011). doi:10.1109/HPCSim.2011.5999853
Petcu, D., Macariu, G., Panica, S., Craciun, C.: Portable cloud applications—from theory to practice. Future Gener. Comput. Syst. (2012). doi:10.1016/j.future.2012.01.009
Petcu, D., Sandru, C.: Towards component-based software engineering of cloud applications. In: Procs. WICSA/ECSA 2012, pp. 80–81 (2012). doi:10.1145/2361999.2362013
Petcu, D., Stankovski, V.: Towards cloud-enabled business process management based on patterns, rules and multiple models. In: Procs. ISPA 2012, pp. 454–459 (2012). doi:10.1109/ISPA.2012.66
Rak, M., Aversa, R., Venticinque, S., Di Martino, B.: User centric service level management in mOSAIC applications. In: Procs. Euro-Par 2011 Workshops. LNCS, vol. 7156, pp. 106–115. Springer, Berlin (2012). doi:10.1007/978-3-642-29740-3_13
Ramachandran, M.: Component-based development for cloud computing architectures. In: Mahmood, Z., Hill, R. (eds.) Cloud Computing for Enterprise Architectures, Computer Communications and Networks, pp. 91–114 (2011). doi:10.1007/978-1-4471-2236-4_5
Skoda, P., Sperka, S., Smrz, P.: Extracting information from scientific papers in the cloud. In: Procs. CISIS 2012, pp. 775–780 (2012). doi:10.1109/CISIS.2012.176
Stankovski, V., Južna, J., Petcu, D.: Enabling legacy engineering applications for cloud computing—experience with the mosaic api and platform. In: Procs. EIDWT 2012, pp. 281–286 (2012). doi:10.1109/EIDWT.2012.49
Stankovski, V., Swain, M., Kravtsov, V., Niessen, T., Wegener, D., Kindermann, J., Dubitzky, W.: Grid-enabling data mining applications with datamininggrid—an architectural perspective. Future Gener. Comput. Syst. 24(4), 259–279 (2008). doi:10.1016/j.future.2007.05.004
Wallis, M., Henskens, F., Hannaford, M.: Expanding the cloud—a component-based architecture to application deployment on the Internet. In: Procs. CCGrid 2010, pp. 569–570 (2010). doi:10.1109/CCGRID.2010.14
Zheng, Z., Zhang, Y., Lyu, M.: Cloudrank—a qos-driven component ranking framework for cloud computing. In: Procs. SRDS 2010, pp. 184–193 (2010). doi:10.1109/SRDS.2010.29
Acknowledgements
This research is partially supported by the grant FP7-ICT-2009-5-256910 (mOSAIC), and partially by the Romanian grant PN-II-ID-PCE-2011-3-0260 (AMICAS) in the case of the second author.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Stankovski, V., Petcu, D. Developing a Model Driven Approach for engineering applications based on mOSAIC. Cluster Comput 17, 101–110 (2014). https://doi.org/10.1007/s10586-013-0263-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-013-0263-x