Cloning is a general approach to create new functionality within variants as well as new system variants. It is a fast, flexible, intuitive, and economical approach to evolve systems in the short run. However, in the long run, the maintenance effort increases. A common solution to this problem is the extraction of a product line from a set of cloned variants. This process requires a detailed analysis of variants to extract variability information. However, clones within a variant are usually not considered in the process, but are also a cause for unsustainable software. This thesis proposes an extractive multi product-line engineering approach to re-establish the sustainable development of software variants. We propose an approach to re-engineer intra-system and inter-system clones into reusable, configurable components stored in an integrated platform and synthesize a matching multi-layer feature model.
翻译:克隆是一种在各种变体和新系统变体中创造新功能的一般办法,是一种短期内发展系统的一种快速、灵活、直观和经济的方法,但从长远来看,维持努力会增加。这个问题的一个共同解决办法是从一组克隆变体中提取一个产品线。这一过程需要对各种变体进行详细分析,以获取变异性信息。然而,变体中的克隆通常不在此过程中考虑,但也是造成软件不可持续的原因。本论文提出了一种采掘多产品线工程方法,以重新建立软件变体的可持续发展。我们提出了一种办法,将系统内和系统间的克隆体重新设计为可再使用、可配置的元件,储存在一个综合平台中,并合成一个匹配的多层特征模型。