Multi-level interfaces between software product lines : avoiding direct dependencies [article]

Reimar Schröter, Universitäts- Und Landesbibliothek Sachsen-Anhalt, Martin-Luther Universität
From the beginning of the software-development age, the reuse of program functionality has been an essential part of the development process. Only with an efficient reuse strategy it is possible to speed up the development. This becomes even more important when the construction of similar programs is focused. One promising solution to develop similar programs is based on software product lines, which allow a developer to implement these products based on a common code base. Although the concept
more » ... of software product lines is well established nowadays, the application of product-line mechanisms can become challenging especially in systems with a high complexity, such as analyses that ensure a correct product-line modeling. To tackle this complexity, the concept of multi product lines has been proposed, in which the whole system is described by a set of software product lines with interdependencies. Thus, the reuse of software artifacts reaches a new level. However, as the involved product lines of a multi product line are closely coupled, the knowledge of the whole product-line dependencies is generally needed to implement parts of the system or to analyze it. As a result, the development of a multi product line can also be tedious and error-prone. To avoid direct dependencies between the product lines of a multi product line, we propose the concept of multi-level interfaces. Based on this, we aim to ease the development of multi product lines including the analysis and evolution. This could also gain particular importance when looking at the trend of a software ecosystem that represents a software product line of distributed organizations. For this purpose, we suggest to use different interfaces for each level of the development process, e.g., one interface for modeling and another interface for implementing the multi product line, whereas the lower level depends on the upper level. As a result, the whole set of interfaces will ensure a complete decoupling of the involved product lines so that we can ease the imple [...]
doi:10.25673/13433 fatcat:k2xwm5wapranbp5qawsdfrtoni