{"title":"Uncertainty and Variability in Industry-scale Projects: Pearls, Perils, and Pitfalls of Model-Driven Engineering at Work","authors":"A. Pierantonio","doi":"10.1145/3510466.3511022","DOIUrl":null,"url":null,"abstract":"The state-of-the-art in software abstraction is model-driven engineering. It provides system architects with abstract representations of complex system functionality, complementary views of a given system (e.g., behavioral versus structural), and vertical refinement of high-level system requirements models into design models and eventually down to (automatically-generated) executable code. However, the complexity caused by the many models used in large-scale projects might give place to significant sources of uncertainty due to (implicit and explicit) dependencies, consistencies, and correlations among the modeling artifacts. Keeping such models consistent during the development process requires spelling out the change requirements that enforce well-thought-out change propagation and co-evolution plans. In this talk, I will survey threats, challenges, and misconceptions that occurred in the context of an industry-scale project in the domain of computer-based interlocking systems. In particular, the different kinds of model relations required managing several forms of (epistemic) uncertainty emerged in various scenarios, including roundtripping among modeling notations and several forms of co-evolution involving metamodels, models, and transformations. To this end, a megamodel is given to better characterize the identified solutions that required devising specialized tools and notations for leveraging automation and translating uncertainty into variability models.","PeriodicalId":254559,"journal":{"name":"Proceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 16th International Working Conference on Variability Modelling of Software-Intensive Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3510466.3511022","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The state-of-the-art in software abstraction is model-driven engineering. It provides system architects with abstract representations of complex system functionality, complementary views of a given system (e.g., behavioral versus structural), and vertical refinement of high-level system requirements models into design models and eventually down to (automatically-generated) executable code. However, the complexity caused by the many models used in large-scale projects might give place to significant sources of uncertainty due to (implicit and explicit) dependencies, consistencies, and correlations among the modeling artifacts. Keeping such models consistent during the development process requires spelling out the change requirements that enforce well-thought-out change propagation and co-evolution plans. In this talk, I will survey threats, challenges, and misconceptions that occurred in the context of an industry-scale project in the domain of computer-based interlocking systems. In particular, the different kinds of model relations required managing several forms of (epistemic) uncertainty emerged in various scenarios, including roundtripping among modeling notations and several forms of co-evolution involving metamodels, models, and transformations. To this end, a megamodel is given to better characterize the identified solutions that required devising specialized tools and notations for leveraging automation and translating uncertainty into variability models.