DevOpsML: towards modeling DevOps processes and platforms

DevOps and Model Driven Engineering (MDE) provide differently skilled IT stakeholders with methodologies and tools for organizing and automating continuous software engineering activities-from development to operations, and using models as key engineering artifacts, respectively. Both DevOps and MDE aim at shortening the development life-cycle, dealing with complexity, and improve software process and product quality. The integration of DevOps and MDE principles and practices in low-code engineering platforms (LCEP) are gaining attention by the research community. However, at the same time, new requirements are upcoming for DevOps and MDE as LCEPs are often used by non-technical users, to deliver fully functional software. This is in particular challenging for current DevOps processes, which are mostly considered on the technological level, and thus, excluding most of the current LCEP users. The systematic use of models and modeling to lowering the learning curve of DevOps processes and platforms seems beneficial to make them also accessible for non-technical users. In this paper, we introduce DevOpsML, a conceptual framework for modeling and combining DevOps processes and platforms. Tools along with their interfaces and capabilities are the building blocks of DevOps platform configurations, which can be mapped to software engineering processes of arbitrary complexity. We show our initial endeavors on DevOpsML and present a research roadmap how to employ the resulting DevOpsML framework for different use cases.

[1]  J. A. García-García,et al.  Characterizing and evaluating the quality of software process modeling language: Comparison of ten representative model-based languages , 2019, Comput. Stand. Interfaces.

[2]  Ramtin Jabbari,et al.  What is DevOps?: A Systematic Mapping Study on Definitions and Practices , 2016, XP Workshops.

[3]  Frank Leymann,et al.  The essential deployment metamodel: a systematic review of deployment automation technologies , 2019, SICS Software-Intensive Cyber-Physical Systems.

[4]  Federico Ciccozzi,et al.  Blended Modelling - What, Why and How , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C).

[5]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[6]  Vladan Devedzic,et al.  The Tao of Modeling Spaces , 2006, J. Object Technol..

[7]  Ricardo Colomo Palacios,et al.  DevSecOps: A Multivocal Literature Review , 2017, SPICE.

[8]  Jean Bézivin,et al.  Model Driven Engineering: An Emerging Technical Space , 2005, GTTSE.

[9]  Jocelyn Simmonds,et al.  A megamodel for Software Process Line modeling and evolution , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[10]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[11]  Jürgen Dingel,et al.  Towards Modeling Framework for DevOps: Requirements Derived from Industry Use Case , 2019, DEVOPS.

[12]  Benoît Combemale,et al.  SLEBOK: The Software Language Engineering Body of Knowledge (Dagstuhl Seminar 17342) , 2017, Dagstuhl Reports.

[13]  Marios D. Dikaiakos,et al.  DevOps as a Service: Pushing the Boundaries of Microservice Adoption , 2018, IEEE Internet Computing.

[14]  Davide Di Ruscio,et al.  Supporting the understanding and comparison of low-code development platforms , 2020, 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[15]  Jordi Cabot,et al.  Stepwise Adoption of Continuous Delivery in Model-Driven Engineering , 2018, DEVOPS.

[16]  Adrian Rutle,et al.  The MULTI Process Challenge , 2019, 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C).

[17]  Eric S. K. Yu,et al.  Modeling DevOps Deployment Choices Using Process Architecture Design Dimensions , 2015, PoEM.

[18]  Johannes Wettinger,et al.  Gathering solutions and providing APIs for their orchestration to implement continuous software delivery , 2017 .

[19]  Manuel Wimmer,et al.  Towards Liquid Models: An Evolutionary Modeling Approach , 2016, 2016 IEEE 18th Conference on Business Informatics (CBI).

[20]  Juan de Lara,et al.  Lowcomote: Training the Next Generation of Experts in Scalable Low-Code Engineering Platforms , 2019, STAF.

[21]  Fabio Kon,et al.  A Survey of DevOps Concepts and Challenges , 2020, ACM Comput. Surv..

[22]  Jürgen Dingel,et al.  Model transformation intents and their properties , 2016, Software & Systems Modeling.

[23]  Ute Beyer,et al.  Process-Aware Information Systems: Bridging People and Software Through Process Technology , 2005 .

[24]  Jean Bézivin,et al.  Process-centered model engineering , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[25]  Peng Huang,et al.  AIOps: Real-World Challenges and Research Innovations , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion).

[26]  Manuel Wimmer,et al.  Towards a Model-Based DevOps for Cyber-Physical Systems , 2019, DEVOPS.

[27]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice, Second Edition , 2017, Model-Driven Software Engineering in Practice.

[28]  Antonio Vallecillo,et al.  Contents for a Model-Based Software Engineering Body of Knowledge , 2019, Software and Systems Modeling.

[29]  Rainer Drath,et al.  Three-view-concept for modeling process or manufacturing plants with AutomationML , 2009, 2009 IEEE Conference on Emerging Technologies & Factory Automation.

[30]  Bertrand Meyer,et al.  Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment , 2018, Lecture Notes in Computer Science.

[31]  Ruzanna Chitchyan,et al.  AOSD Ontology 1.0: Public Ontology of Aspect-Orientation , 2005 .