Considering Variability in a System Family's Architecture During COTS Evaluation

COTS (commercial off-the-shelf) component designers and developers often envision different usage contexts for their component and, therefore, provide it with adaptation possibilities. These adaptation possibilities are especially important when considering system families. System family engineering is currently an emerging discipline. Variability is a core property of system families which allows deriving different customer-specific applications from a core artifact base. A system family's core artifact base may also be populated with COTS components. These COTS components then need to support the system family's variability, i.e. they have to offer the possibility to adapt them to different customer-specific applications. Through their adaptation possibilities COTS components are able to meet this requirement. During COTS evaluation, a system family's requirements and architecture need to be taken into account. Variability is inherent in both. That is, the question is how to evaluate COTS with regard to variable features. In this paper, we describe variability in architecture in more detail and point out how this variability needs to be reflected in COTS evaluation criteria. The contribution is an extension of ‘traditional' COTS evaluation criteria in order to consider a system family's variability.

[1]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[2]  Grace A. Lewis,et al.  Building systems from commercial components , 2002, ICSE '02.

[3]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[4]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[5]  Jan Bosch,et al.  Managing Variability in Software Product Lines , 2000 .

[6]  Dar-Biau Liu,et al.  A procurement-centric model for engineering component-based software systems , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[7]  Klaus Pohl,et al.  Software-Produktlinien: Methoden, Einführung und Praxis , 2005, Künstliche Intell..

[8]  Mikael Lindvall,et al.  Evaluating software architectures , 2004, Adv. Comput..

[9]  Jyrki Kontio,et al.  OTSO: a systematic process for reusable software component selection , 1995 .

[10]  Jan Bosch,et al.  Variability Issues in Software Product Lines , 2001, PFE.

[11]  Cornelius Ncube,et al.  A requirements engineering method for COTS-based systems development , 2000 .

[12]  Klaus Pohl,et al.  Considering Variabilities during Component Selection in Product Family Development , 2001, PFE.

[13]  Victor R. Basili,et al.  A comprehensive reuse model for cots software products , 2001 .

[14]  G. Fox,et al.  A software development process for COTS-based information system infrastructure , 1997, Proceedings Fifth International Symposium on Assessment of Software Tools and Technologies.

[15]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[16]  Leonard J. Bass,et al.  Managing variability in software architectures , 2001, SSR '01.