Advertisement

Model Driven Architecture in Containers-Based Software Development

  • Tomasz GórskiEmail author
  • Bartosz Chrabski
Conference paper
Part of the Topics in Intelligent Engineering and Informatics book series (TIEI, volume 15)

Abstract

Component-based software development is the successor of object-oriented software development. Authors of the paper extend existing Unified Modeling Language standard to describe containers semantically, automate the process of creating containers and later deploying them to the platform as a service. The paper presents the concept of using Unified Modeling Language (UML) as well as principles of Model Driven Architecture (MDA) to automate creating of and maintaining containers. The main aims are designing meta-model language that is capable of defining Docker containers as part of software architecture modeling process and using transformations to create Docker files that can be used to instantiate container. The paper presents UML profile UML Docker Services Profile and model-to-text transformation Model2DockerFile transformation. Both, the profile and the transformation were designed, implemented and incorporated in IBM Rational Software Development environment. The developed environment can be used to generate DockerFile files, from UML models with applied specific stereotypes from UML Docker Services Profile, that can be used in containers runtime.

Keywords

Model driven architecture Containers Unified modeling language Transformations DevOps 

References

  1. 1.
    Ambler, S.: Survey Says: Agile Works in Practice - Agile Software Development Methods and Techniques are Gaining Traction. Addison-Wesley, Boston (2006)Google Scholar
  2. 2.
    Ameller, D., Burgués, X., Collell, O., Costal, D., Franch, X., Papazoglou, M.P.: Development of service-oriented architectures using model-driven development: a mapping study. Inf. Softw. Technol. 62, 42–66 (2015)CrossRefGoogle Scholar
  3. 3.
    Amazon EC2 Container Service. https://aws.amazon.com/ecs/getting-started/
  4. 4.
    Baxter, R.: An Introduction To The New IBM Containers Service. https://ryanjbaxter.com/2015/07/06/an-introduction-to-the-new-ibm-containers-service/
  5. 5.
    Boehm, B.: A view of 20th and 21st-century software engineering. In: Proceedings of 28th International Conference on Software Engineering (ICSE 06), pp. 12–29. ACM Press (2006)Google Scholar
  6. 6.
    DevOps - Container market adoption, DevOps.com, ClusterHQ. https://clusterhq.com/assets/pdfs/state-of-container-usage-June-2016.pdf
  7. 7.
    Górski, T.: Model-driven development in implementing integration flows. J. Theor. Appl. Comput. Sci. 8(4), 72–81 (2014)Google Scholar
  8. 8.
    Groote, J.F., Osaiweran, A.A.H., Wesselius, J.H.: Analyzing the effects of formal methods on the development of industrial control software. IEEE ICSM 2011, 467–472 (2011)Google Scholar
  9. 9.
    Gorton, I. et al.: Component-Based Software Engineering, LNCS 4063, 9th International Symposium. CBSE 2006, (2006)Google Scholar
  10. 10.
    Hirschfield, R.: 2017 trend lines: when DevOps and hybrid collide. www.ibm.com/blogs/cloud-computing/2017/04/trend-lines-devops-hybrid/
  11. 11.
    Johnston, S.: UML 2.0 Profile for Software Services, IBM DeveloperWorks (2005). www.ibm.com/developerworks/rational/library/05/419_soa/419_soa-pdf.pdf
  12. 12.
    Kim, G., Humble, J., Debois, P., Willis, J.: The DevOps Handbook, pp. 77–95. Portland, Oregon, IT Revolution (2016)Google Scholar
  13. 13.
    Koziolek, H.: Performance evaluation of component-based software systems: A survey. Perform. Eval. 67, 634–658 (2010)CrossRefGoogle Scholar
  14. 14.
    Kruchten, P.: Architectural blueprints the 4+1 view model of software achitecture. IEEE Softw. 12(6) (1995)CrossRefGoogle Scholar
  15. 15.
    Mens, T., van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  16. 16.
    RedHat - Introducing Red Hat OpenShift Container Platform. https://blog.openshift.com/introducing-redhat-openshift-container-platform/
  17. 17.
    Shahin, M., Liang, P., Babar, M.A.: A systematic review of software architecture visualization techniques. J. Syst. Softw. 94, 161–185 (2014)CrossRefGoogle Scholar
  18. 18.
    Tofan, D., Galster, M., Avgeriou, P., Schuitema, W.: Past and future of software architectural decisions - a systematic mapping study. Inf. Softw. Technol. 56(8), 850–872 (2014)CrossRefGoogle Scholar
  19. 19.
    Van den Brand, M.G.J., Groote, J.F.: Advances in model driven software engineering. ERCIM News 91, 23–24 (2012)Google Scholar
  20. 20.
    Unified Modeling Language Specification Version 2.5.1, OMG. www.omg.org/spec /UML/2.5.1/

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Institute of Naval Weapons and Computer Science, Faculty of Navigation and Naval WeaponsPolish Naval AcademyGdyniaPoland
  2. 2.IBM Polska Sp. z o.o.WarszawaPoland

Personalised recommendations