Modeling Variability of Hierarchical Component-Based Systems
By: Nico Jansen, Jérôme Pfeiffer, Bernhard Rumpe, David Schmalzing, Andreas Wortmann
Abstract
The engineering of hierarchically decomposed component-based systems emphasizes the separation of concerns to reduce development complexity through work distribution and component reuse. Variability further promotes reuse, as system variants may be used in different markets or contexts. However, variability must be adequately managed as it introduces another layer of complexity to system development. Consequently, modeling of hierarchical component-based systems should support the composition of variable components while simultaneously facilitating their formal analysis. To address this, we formally define variable component types, propose a modeling language for specifying the variability of hierarchically composed systems, and present a method to check the component variants’ well-formedness. We extend the semantically grounded architecture description language MontiArc to realize the modeling of variable component-based systems supporting the well-formedness of variable component types and late binding of variability. The resulting realization of variable component types enables the specification of reusable and flexible components while making customization options explicit in the component interface and maintaining the black-box view of components. This can ultimately reduce complexity in developing variable components and, thus, facilitate the engineering of component-based systems.
Keywords
architecture description languages, software architecture, reuse, variability
Cite as:
Nico Jansen, Jérôme Pfeiffer, Bernhard Rumpe, David Schmalzing, Andreas Wortmann, “Modeling Variability of Hierarchical Component-Based Systems”, Journal of Object Technology, Volume 23, no. 3 (July 2024), pp. 1-15, doi:10.5381/jot.2024.23.3.a9.
PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn