Alejandro Cortiñas, M. R. Luaces, Oscar Pedreira, Á. Places
{"title":"使数据库适应软件产品线的特性变化","authors":"Alejandro Cortiñas, M. R. Luaces, Oscar Pedreira, Á. Places","doi":"10.1145/3579027.3608990","DOIUrl":null,"url":null,"abstract":"Software Product Lines (SPL) support the development of families of software products that share a set of core assets but differ in certain features. To generate a new product, the engineer selects the desired features and the SPL assembles and adapts the implementation of the core assets. In real scenarios, we may need to update a product by adding a feature not initially selected. Similarly, we may need to remove a feature that is no longer necessary. Modifying the selection of features of a product in use poses a challenge from the point of view of the product's database. If the added/removed features affect the database schema, we may need to adapt the schema and the data stored in the database. This paper addresses this scenario and proposes an evolution model to define actions to be executed in the database when features are added or removed. Our proposal allows us to model those adaptations and to automate them when modifying the selection of features of a product. The evolution model describes changes to be made in the database, each composed of different actions that adapt certain elements of the database. Changes are associated with the features that may trigger their execution, and the change's actions are associated with the data model elements they affect. In this way, the evolution model supports automatic adaptation of the database, and we keep traceability between features and the elements of the data model they affect.","PeriodicalId":322542,"journal":{"name":"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Adapting the Database to Feature Changes in Software Product Lines\",\"authors\":\"Alejandro Cortiñas, M. R. Luaces, Oscar Pedreira, Á. Places\",\"doi\":\"10.1145/3579027.3608990\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software Product Lines (SPL) support the development of families of software products that share a set of core assets but differ in certain features. To generate a new product, the engineer selects the desired features and the SPL assembles and adapts the implementation of the core assets. In real scenarios, we may need to update a product by adding a feature not initially selected. Similarly, we may need to remove a feature that is no longer necessary. Modifying the selection of features of a product in use poses a challenge from the point of view of the product's database. If the added/removed features affect the database schema, we may need to adapt the schema and the data stored in the database. This paper addresses this scenario and proposes an evolution model to define actions to be executed in the database when features are added or removed. Our proposal allows us to model those adaptations and to automate them when modifying the selection of features of a product. The evolution model describes changes to be made in the database, each composed of different actions that adapt certain elements of the database. Changes are associated with the features that may trigger their execution, and the change's actions are associated with the data model elements they affect. In this way, the evolution model supports automatic adaptation of the database, and we keep traceability between features and the elements of the data model they affect.\",\"PeriodicalId\":322542,\"journal\":{\"name\":\"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A\",\"volume\":\"27 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-08-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3579027.3608990\",\"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 27th ACM International Systems and Software Product Line Conference - Volume A","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3579027.3608990","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Adapting the Database to Feature Changes in Software Product Lines
Software Product Lines (SPL) support the development of families of software products that share a set of core assets but differ in certain features. To generate a new product, the engineer selects the desired features and the SPL assembles and adapts the implementation of the core assets. In real scenarios, we may need to update a product by adding a feature not initially selected. Similarly, we may need to remove a feature that is no longer necessary. Modifying the selection of features of a product in use poses a challenge from the point of view of the product's database. If the added/removed features affect the database schema, we may need to adapt the schema and the data stored in the database. This paper addresses this scenario and proposes an evolution model to define actions to be executed in the database when features are added or removed. Our proposal allows us to model those adaptations and to automate them when modifying the selection of features of a product. The evolution model describes changes to be made in the database, each composed of different actions that adapt certain elements of the database. Changes are associated with the features that may trigger their execution, and the change's actions are associated with the data model elements they affect. In this way, the evolution model supports automatic adaptation of the database, and we keep traceability between features and the elements of the data model they affect.