{"title":"工业规模项目中的不确定性和可变性:工作中模型驱动工程的珍珠、危险和陷阱","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":"{\"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}","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}
Uncertainty and Variability in Industry-scale Projects: Pearls, Perils, and Pitfalls of Model-Driven Engineering at Work
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.