Abstract
AbstractSoftware build systems tackle the problem of building software from sources in a way which is sound (when a build completes successfully, the relations between the generated and source files are as specified) and optimal (only genuinely required rebuilding steps are done). In this paper, we explain and exploit the connection between software build and the megamodel consistency problem. The model-driven development of systems involves multiple models, metamodels and transformations. Transformations—which may be bidirectional—specify, and provide means to enforce, desired “consistency” relationships between models. We can describe the whole configuration using a megamodel. As development proceeds, and various models are modified, we need to be able to restore consistency in the megamodel, so that the consequences of decisions first recorded in one model are appropriately reflected in the others. At the same time, we need to minimise the amount of recomputation needed; in particular, we would like to avoid reapplying a transformation when no relevant changes have occurred in the models it relates. The megamodel consistency problem requires flexibility beyond what is found in conventional software build, because different results are obtained depending on which models are allowed to be modified and on the order and direction of transformation application. In this paper, we propose using an orientation model to make important choices explicit. We show how to extend the formalised build system pluto to provide a means of restoring consistency in a megamodel, that is, in appropriate senses, flexible, sound and optimal.
Publisher
Springer Science and Business Media LLC
Subject
Modeling and Simulation,Software
Reference35 articles.
1. Whittle, J., Hutchinson, J.E., Rouncefield, M.: The state of practice in model-driven engineering. IEEE Softw. 31(3), 79–85 (2014)
2. Kuhn, A., Murphy, G.C., Thompson, C.A.: An exploratory study of forces and frictions affecting large-scale model-driven development. In: MoDELS, Volume 7590 of Lecture Notes in Computer Science, pp. 352–367. Springer (2012)
3. Object Management Group. Model driven architecture (MDA) MDA guide rev. 2.0 (2014)
4. Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: Proceedings of the OOPLSA/GPCE Workshop: Best Practices for Model-Driven Software Development (2004)
5. Stevens, P.: Is bidirectionality important? In: Pierantonio, A., Trujillo, S. (eds) Modelling Foundations and Applications—14th European Conference, ECMFA 2018, Held as Part of STAF 2018, Toulouse, France, June 26-28, 2018, Proceedings, volume 10890 of Lecture Notes in Computer Science, pp. 1–11. Springer (2018)
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Formal Approach for Consistency Management in UML Models;International Journal of Software Engineering and Knowledge Engineering;2023-04-19
2. Termination and Expressiveness of Execution Strategies for Networks of Bidirectional Model Transformations;Formal Aspects of Computing;2022-06-24
3. Forward build systems, formally;Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs;2022-01-11
4. Theory and Practice of Networks of Models;Communications in Computer and Information Science;2022
5. Comprehensive Systems: A formal foundation for Multi-Model Consistency Management;Formal Aspects of Computing;2021-07-30