M. Kerdoudi, T. Ziadi, Chouki Tibermacine, Salah Sadou
{"title":"恢复软件架构产品线","authors":"M. Kerdoudi, T. Ziadi, Chouki Tibermacine, Salah Sadou","doi":"10.1109/ICECCS.2019.00032","DOIUrl":null,"url":null,"abstract":"A large component and service-based software system exists in different forms, as different variants targeting different business needs and users. This kind of systems is provided as a set of \"independent\" products and not as a \"single whole\". Developers use ad hoc mechanisms to manage variability. However, for deriving new product variants that are built upon existing ones, the presence of a single model describing the architecture of the whole system with an explicit specification of commonality and variability is of great interest. Indeed, this enables them to see the invariant part of the whole, on top of which new functionality can be built, in addition to the different options they can use. We investigate in this work the use of software product line reverse engineering approaches, and in particular the framework named But4Reuse, for recovering an architecture model that enables us to build a Software Architecture Product Line (SAPL), from a set of software variants. We propose a generic process for recovering an architecture model of such a product line. We have instantiated this process for the OSGi Java framework and experimented it for building the architecture model of Eclipse IDE SPL. The results of this experimentation showed that this process can effectively reconstruct such an architecture model.","PeriodicalId":432828,"journal":{"name":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Recovering Software Architecture Product Lines\",\"authors\":\"M. Kerdoudi, T. Ziadi, Chouki Tibermacine, Salah Sadou\",\"doi\":\"10.1109/ICECCS.2019.00032\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A large component and service-based software system exists in different forms, as different variants targeting different business needs and users. This kind of systems is provided as a set of \\\"independent\\\" products and not as a \\\"single whole\\\". Developers use ad hoc mechanisms to manage variability. However, for deriving new product variants that are built upon existing ones, the presence of a single model describing the architecture of the whole system with an explicit specification of commonality and variability is of great interest. Indeed, this enables them to see the invariant part of the whole, on top of which new functionality can be built, in addition to the different options they can use. We investigate in this work the use of software product line reverse engineering approaches, and in particular the framework named But4Reuse, for recovering an architecture model that enables us to build a Software Architecture Product Line (SAPL), from a set of software variants. We propose a generic process for recovering an architecture model of such a product line. We have instantiated this process for the OSGi Java framework and experimented it for building the architecture model of Eclipse IDE SPL. The results of this experimentation showed that this process can effectively reconstruct such an architecture model.\",\"PeriodicalId\":432828,\"journal\":{\"name\":\"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)\",\"volume\":\"55 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICECCS.2019.00032\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 24th International Conference on Engineering of Complex Computer Systems (ICECCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICECCS.2019.00032","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
摘要
大型组件和基于服务的软件系统以不同的形式存在,作为针对不同业务需求和用户的不同变体。这种系统是作为一组“独立的”产品而不是作为一个“单一的整体”提供的。开发人员使用特殊机制来管理可变性。然而,对于建立在现有产品基础上的新产品变体,使用明确的通用性和可变性规范来描述整个系统的体系结构的单个模型的存在是非常有趣的。事实上,这使他们能够看到整体的不变部分,在此基础上可以构建新的功能,以及他们可以使用的不同选项。在这项工作中,我们调查了软件产品线逆向工程方法的使用,特别是名为But4Reuse的框架,用于恢复架构模型,该模型使我们能够从一组软件变体中构建软件架构产品线(SAPL)。我们提出了一个通用的过程来恢复这样一个产品线的体系结构模型。我们已经为OSGi Java框架实例化了这个过程,并将其用于构建Eclipse IDE SPL的体系结构模型。实验结果表明,该方法可以有效地重构此类体系结构模型。
A large component and service-based software system exists in different forms, as different variants targeting different business needs and users. This kind of systems is provided as a set of "independent" products and not as a "single whole". Developers use ad hoc mechanisms to manage variability. However, for deriving new product variants that are built upon existing ones, the presence of a single model describing the architecture of the whole system with an explicit specification of commonality and variability is of great interest. Indeed, this enables them to see the invariant part of the whole, on top of which new functionality can be built, in addition to the different options they can use. We investigate in this work the use of software product line reverse engineering approaches, and in particular the framework named But4Reuse, for recovering an architecture model that enables us to build a Software Architecture Product Line (SAPL), from a set of software variants. We propose a generic process for recovering an architecture model of such a product line. We have instantiated this process for the OSGi Java framework and experimented it for building the architecture model of Eclipse IDE SPL. The results of this experimentation showed that this process can effectively reconstruct such an architecture model.