Abstract
For model-driven engineering (MDE) to become more Agile, the community needs to embrace development and operations (DevOps) practices. One of the core practices of DevOps is the use of pipelines to enable CI/CD to make teams more Agile and break down the barriers between development and operations with faster deployments. Current MDE tooling is not designed at its core to participate in DevOps pipelines. Consequently this makes the adoption of MDE in industry more difficult. In this article, we cover an industrial experience report describing how we enabled our pipelines using DevOps and MDE.
This is a preview of subscription content, access via your institution.




Notes
Since our company is based on making coding support systems known as Bots available to the public, and we need to build these internally, we dubbed the system architecture BotBuilder. As it offers twice the variability, speed, and access to tools as compared to its predecessors, its version number is \(2^3=8\). And we admit a slight nod to Star Wars as well.
Abbreviations
- MDE:
-
Model-driven engineering
- DevOps:
-
Development and operations
- CI:
-
Continuous integration
- CD:
-
Continuous deployment
- EMF:
-
Eclipse Modelling Framework
- MOF:
-
Meta-object facility
- CORBA:
-
Common object request broker architecture
- RCP:
-
Rich content platform
- UI:
-
User interface
- PDE:
-
Plugin development environment
- P2:
-
Provisioning system 2
- JMI:
-
Java metadata interface (JSR40)
- MOF:
-
Meta-object facility
- EOL:
-
Epsilon object language
- DSL:
-
Domain-specific language
- MWE2:
-
Modelling Workflow Engine 2
- UML:
-
Unified modelling language
- EMC:
-
Epsilon model connectivity
- RDF:
-
Resource description framework
References
Alfraihin, H., Lano, K.: The integration of agile development and model driven development—a systematic literature review. In: Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development—MODELSWARD, INSTICC. SciTePress, pp. 451–458 (2017). https://doi.org/10.5220/0006207004510458
Bézivin, J., Lanneluc, J., Lemesle, R.: sNets: The core formalism for an object-oriented CASE tool. In: Alagar, V.S., Missaoui, R. (eds) Object-Oriented Technology for Database and Software Systems, Proceedings of the Colloquium on Object Orientation in Databases and Software Engineering, COODBSE 1994, 16–17 May 1994, Universite du Quebec a Montreal, Canada. pp. 224–239. World Scientific (1994)
Bucchiarone, A., Cabot, J., Paige, R.F., et al.: Grand challenges in model-driven engineering: an analysis of the state of the research. Softw. Syst. Model. 19(1), 5–13 (2020). https://doi.org/10.1007/s10270-019-00773-6
Debois, P.: DevOps from a sysadmin perspective. Login Usenix Mag. 36(6) (2011). https://www.usenix.org/publications/login/december-2011-volume-36-number-6/devops-sysadmin-perspective
Fowler, M., Foemmel, M.: Continuous integration (2005). http://www.martinfowler.com/articles/continuousintegration.html
Sánchez, B., Kolovos, D.S., Paige, R.F.: To build, or not to build: Modelflow, a build solution for MDE projects. In: Syriani, E., Sahraoui, H.A., de Lara, J., et al. (eds.) MoDELS ’20: ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18–23 October, 2020, pp. 1–11. ACM (2020). https://doi.org/10.1145/3365438.3410942
Straeten, R.V.D., Mens, T., Baelen, S.V.: Challenges in model-driven software engineering. In: Chaudron, M.R.V. (ed.) Models in Software Engineering, Workshops and Symposia at MODELS 2008, Toulouse, France, September 28–October 3, 2008. Reports and Revised Selected Papers, Lecture Notes in Computer Science, vol. 5421, pp. 35–47. Springer (2008). https://doi.org/10.1007/978-3-642-01648-6_4
Whittle, J., Hutchinson, J.E., Rouncefield, M., et al.: Industrial adoption of model-driven engineering: Are the tools really the problem? In: Moreira, A., Schätz, B., Gray, J., et al. (eds.), Model-Driven Engineering Languages and Systems—16th International Conference, MODELS 2013, Miami, FL, USA, September 29–October 4, 2013. Proceedings, Lecture Notes in Computer Science, vol. 8107,pp. 1–17. Springer (2013). https://doi.org/10.1007/978-3-642-41533-3_1
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by K. Lano, S. Kolahdouz-Rahimi, J. Troya, and H. Alfraihi.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Samantha Swift and Eban Escott contributed equally to this work.
Rights and permissions
About this article
Cite this article
Süß, J.G., Swift, S. & Escott, E. Using DevOps toolchains in Agile model-driven engineering. Softw Syst Model 21, 1495–1510 (2022). https://doi.org/10.1007/s10270-022-01003-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-022-01003-2
Keywords
- DevOps
- CI/CD
- Ant
- EMF
- Eclipse
- Agile
- Model-driven engineering
- MDE