Skip to main content

Using Model-Driven Development to Support Portable PaaS Applications

  • Conference paper
  • First Online:
Book cover Cloud Computing and Services Science (CLOSER 2015)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 581))

Included in the following conference series:

  • 735 Accesses

Abstract

Context: In cloud computing, lock-in refers to the difficulty of porting an application and/or data from one cloud platform to another. Current attempts to address this problem revolve around standardization of APIs and frameworks. We propose a different path, using model-driven engineering (MDE).

Objective: Our goal is to build a repository of MDE transformations and use code generation to reduce the development effort for each platform, thus reducing repetitive programing tasks, increasing portability and minimizing lock-in side-effects.

Method: To attain this objective, we developed an MDE approach to handle persistence for Google App Engine and Azure, and discuss how MDE can reconcile the differences between features of each platform persistence model. A controlled experiment has been performed to evaluate the proposal, in which subjects were asked to use two versions of the same application implemented using our MDE approach. Both versions, one for each platform, were generated from the same domain model.

Results: According to the subjects, no differences in functionality were perceptible between the two versions. Indeed, applications were more easily ported between the two chosen cloud providers without noticeable differences in terms of persistence functionality.

Conclusion: The main contribution of our work is to show that there is an alternative path to the standardization of cloud technologies. MDE can increase the portability of the applications by reducing the negative impacts of lock-in. A limitation of our approach, that is inherent to most MDE approaches, is that if the generated code needs to be adapted or modified, the MDE life-cycle can be broken. Changes in the generated code have to be replicated, either in the models or in the transformations, which is not a trivial task.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Mohaghegi and Dehlen present a summary of experiences from applying MDE in industry [8].

  2. 2.

    Server Virtualization is the technique of running one or more virtual servers on one physical server [12].

  3. 3.

    OVF: http://www.dmtf.org/standards/ovf.

  4. 4.

    https://cloud.google.com/appengine.

  5. 5.

    OVF: http://www.dmtf.org/standards/ovf.

  6. 6.

    Paasify may be an interesting solution to select compatible PaaS: http://www.paasify.it/vendors.

  7. 7.

    http://blog.sei.cmu.edu/post.cfm/importance-software-architecture-big-data-syste ms-013.

  8. 8.

    http://www.oracle.com/technetwork/java/index-jsp-135919.html.

  9. 9.

    http://www.oracle.com/technetwork/java/javaee/tech/persistence-jsp-140049.html.

  10. 10.

    http://www.datanucleus.org/.

  11. 11.

    CRUD: Create, Retrieve, Update and Delete.

  12. 12.

    https://jpa4azure.codeplex.com/.

  13. 13.

    http://redis.io/.

  14. 14.

    http://memcachedb.org/.

  15. 15.

    http://www.modaclouds.eu/.

References

  1. Chen, Y., Li, X., Chen, F.: Overview and analysis of cloud computing research and application. In: 2011 International Conference on E-Business and E-Government (ICEE), pp. 1–4 (2011)

    Google Scholar 

  2. Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., Zaharia, M.: Above the clouds: a Berkeley view of cloud computing. Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Report UCB/EECS 28 (2009)

    Google Scholar 

  3. da Silva, E.A.N., Lucredio, D.: Software engineering for the cloud: a research roadmap. In: 2012 26th Brazilian Symposium on Software Engineering, pp. 71–80 (2012)

    Google Scholar 

  4. da Silva, E.A.N., Fortes, R.P.M., Lucrédio, D.: A model-driven approach for promoting cloud paas portability. In: Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research, CASCON 2013, Riverton, NJ, USA, pp. 92–105. IBM Corp. (2013)

    Google Scholar 

  5. da Silva, E.A.N., Moreira, A., Lucrrédio, D., andFortes, R.P.M.: Supporting multiple persistence models for PaaS applications using model-driven engineering. In: Proceedings of the 5th International Conference on Cloud Computing and Services Science, CLOSER 2015, Lisbon, Portugal. INSTICC (2015)

    Google Scholar 

  6. France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Future of Software Engineering, FOSE 2007, pp. 37–54. IEEE Computer Society, Washington, DC (2007)

    Google Scholar 

  7. Kleppe, A., Jos, W., Wim, B.: MDA Explained, the Model-Driven Architecture: Practice and Promise. Addison-Wesley, Boston (2003)

    Google Scholar 

  8. Mohagheghi, P., Dehlen, V.: Where is the proof? - a review of experiences from applying MDE in industry. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 432–443. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Khajeh-Hosseini, A., Sommerville, I., Bogaerts, J., Teregowda, P.: Decision support tools for cloud migration in the enterprise. In: 2011 IEEE International Conference on Cloud Computing (CLOUD), pp. 541–548 (2011)

    Google Scholar 

  10. Lucrédio, D., Almeida, E.S., Fortes, R.P.M.: An investigation on the impact of MDE on software reuse. In: 2012 Sixth Brazilian Symposium on Software Components Architectures and Reuse (SBCARS), pp. 101–110. IEEE (2012)

    Google Scholar 

  11. ISO/IEC9126: Software product evaluation - Quality characteristics and guidelines for their use. ISO Norm. (1991)

    Google Scholar 

  12. Daniels, J.: Server virtualization architecture and implementation. Crossroads 16, 8–12 (2009)

    Article  Google Scholar 

  13. Shirazi, M.N., Kuan, H.C., Dolatabadi, H.: Design patterns to enable data portability between clouds’ databases. In: 2012 12th International Conference on Computational Science and Its Applications (ICCSA), pp. 117–120 (2012)

    Google Scholar 

  14. Brambilla, M., Cabot, J., Wimmer, M.: Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 1, 1–182 (2012)

    Article  Google Scholar 

  15. Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. ACM Sigplan Not. 35, 26–36 (2000)

    Article  Google Scholar 

  16. Wohlin, C., Runeson, P., Host, M., Ohlsson, C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Springer, Heidelberg (2000)

    Book  MATH  Google Scholar 

  17. Juristo, N., Moreno, A.M.: Basics of Software Engineering Experimentation. Springer, Heidelberg (2010)

    MATH  Google Scholar 

  18. Armbrust, M., Fox, A., Griffith, R., Joseph, A.D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., Zaharia, M.: A view of cloud computing. Commun. ACM 53, 50–58 (2010)

    Article  Google Scholar 

  19. Tichy, W.F.: Should computer scientists experiment more? Computer 31, 32–40 (1998)

    Article  Google Scholar 

  20. Silva, L., Soares, S.: Analyzing structure-based techniques for test coverage on a J2ME software product line. In: 10th Latin American Test Workshop, LATW 2009, pp. 1–6. IEEE (2009)

    Google Scholar 

  21. Schmidt, D.C.: Model-driven engineering. Comput.-IEEE Comput. Soc. 39(2), 25 (2006)

    Article  Google Scholar 

  22. Miranda, J., Guillén, J., Murillo, J.M., Canal, C.: Development of adaptive multi-cloud applications a model-driven approach. In: MODELSWARD (2013)

    Google Scholar 

  23. Ardagna, D., Di Nitto, E., Mohagheghi, P., Mosser, S., Ballagny, C., D’Andria, F., Casale, G., Matthews, P., Nechifor, C.S., Petcu, D., et al.: Modaclouds: a model-driven approach for the design and execution of applications on multiple clouds. In: 2012 ICSE Workshop on Modeling in Software Engineering (MISE), pp. 50–56. IEEE (2012)

    Google Scholar 

  24. Petcu, D.: Portability and interoperability between clouds: challenges and case study. In: Abramowicz, W., Llorente, I.M., Surridge, M., Zisman, A., Vayssière, J. (eds.) ServiceWave 2011. LNCS, vol. 6994, pp. 62–74. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  25. Petcu, D., Vasilakos, A.V.: Portability in clouds: approaches and research opportunities. Scalable Comput. Pract. Experience 15(3) (2014)

    Google Scholar 

  26. Giove, F., Longoni, D., Yancheshmeh, M.S., Ardagna, D., Di Nitto, E.: An approach for the development of portable applications on paas clouds. In: Proceedings of CLOSER, pp. 591–601 (2013)

    Google Scholar 

Download references

Acknowledgements

We would like to thank FAPESP (processes 2012/24487-3 and 2012/04549-4), Coordination of Superior Level Staff Improvement - CAPES and Brazil-Europe Erasmus Mundus project (process BM13DM0002) for partially funding this research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Elias Nogueira .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Nogueira, E., Lucrédio, D., Moreira, A., Fortes, R. (2016). Using Model-Driven Development to Support Portable PaaS Applications. In: Helfert, M., Méndez Muñoz, V., Ferguson, D. (eds) Cloud Computing and Services Science. CLOSER 2015. Communications in Computer and Information Science, vol 581. Springer, Cham. https://doi.org/10.1007/978-3-319-29582-4_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-29582-4_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-29581-7

  • Online ISBN: 978-3-319-29582-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics