Towards bridging the gap between domain and application design
Abstract
The traceability among different abstraction levels in a software development process is still an unsolved problem. Our present goal is to reduce the gap between the high level abstract software product line (SPL) reference architecture (RA) and the concrete application design, by defining first traceability links between the RA components and the technological assets used by the enterprise requiring the SPL, and then study the architectural components interfaces by adapting the Domain Realization phase guidelines; they are proposed by Böckle, Pohl, and van der Linden (2005), and by the ISO/IEC 26550 (2015) reference model for SPL engineering. This preliminary work establishes links between the RA and an external configuration system to facilitate the compliance with laws, which has been found as a major problem while configuring Human Resources (HR) systems. Our approach is illustrated with an industrial case study, the Vacation Request subsystem of the SEDIT HR system of the Berger-Levrault enterprise, widely used in French and foreign communities. Keywords-software product line, reference architecture, domain and realization design, application design I. INTRODUCTION The correspondence between two architectural views [1] of a software system has been widely discussed in the literature, however it still remains a problem. A Reference Architecture (RA) for a Software Product Line (SPL) [2], is built in the Domain Design phase as the main asset of the Domain Engineering (DE) lifecycle; the SPL Engineering (SPLE) Model of [3], now incorporated into the new ISO/IEC 26550 [4] is followed, see Fig. 1. The main idea of this work is to refine the RA variability model before starting the Application Design, using the Domain Realization phase of DE. The mapping between the architectural logic view and the physical or deployment view will be discussed as a first step, by specifying the technology related to each architectural component; new components may be introduced at this stage. Then the architectural component interfaces will be defined. We will explore if the gap between different architectural abstraction levels, the Domain Design and the Application Design, can be reduced. The Domain Realization will be used as an intermediate abstraction level, to facilitate the configuration step in the Application Engineering (AE) lifecycle. Configuration is unavoidable in SPL during the Application Design phase to produce concrete applications derived from the RA core assets and the variability model; for
Origin : Files produced by the author(s)