Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Classifying variability modeling techniques

Published: 01 July 2007 Publication History

Abstract

Variability modeling is important for managing variability in software product families, especially during product derivation. In the past few years, several variability modeling techniques have been developed, each using its own concepts to model the variability provided by a product family. The publications regarding these techniques were written from different viewpoints, use different examples, and rely on a different technical background. This paper sheds light on the similarities and differences between six variability modeling techniques, by exemplifying the techniques with one running example, and classifying them using a framework of key characteristics for variability modeling. It furthermore discusses the relation between differences among those techniques, and the scope, size, and application domain of product families.

References

[1]
M. Antkiewicz, K. Czarnecki, FeaturePlugin: Feature Modeling Plug-In for Eclipse, in: Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange, 2004, pp. 67-72.
[2]
T. Asikainen, Modelling Methods for Managing Variability of Configurable Software Product Families, Licentiate Thesis of Science in Technology at Helsinki University of Technology, 2004.
[3]
T. Asikainen, T. Soininen, T. Männistö, A Koala-Based Approach for Modelling and Deploying Configurable Software Product Families, in: 5th Workshop on Product Family Engineering (PFE-5), Springer Verlag Lecture Notes on Computer Science, vol. 3014 (LNCS 3014), May 2004, pp. 225-249.
[4]
C. Atkinson, J. Bayer, D. Muthig, Component-based product line development: the KobrA Approach, in: Proceedings of the First Conference on Software Product Lines: Experience and Research Directions, November 2000, pp. 289-309.
[5]
F. Bachmann, L. Bass, Managing Variability in Software Architectures, in: Proceedings of the Symposium on Software Reusability (SSR'01), 2001.
[6]
Basset, P.G., Frame-based software engineering. IEEE Software. v4 i4. 9-16.
[7]
Batory, D. and O'Malley, S., The Design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology. v1 i4. 355-398.
[8]
D. Batory, J. Sarvela, A. Rauschmayer, Scaling Step-Wise Refinement, in: Proceedings of the 25th International Conference on Software Engineering, 2003, pp. 187-197.
[9]
M. Becker, Towards a General Model of Variability in Product Families, in: Proceedings of the 1st Workshop on Software Variability Management, Groningen, Netherlands, February 2003.
[10]
Y. Bontemps, P. Heymans, P.Y. Schobbens, J.C. Trigaux, Semantics of feature diagrams, in: Proceedings of the Workshop on Software Variability Management for Product Derivation (Towards Tool Support), 2004.
[11]
J. Bosch, Design and use of software architectures: adopting and evolving a product line approach. Pearson Education (Addison-Wesley and ACM Press), ISBN 0-201-67494-7, 2000.
[12]
J. Bosch, G. Florijn, D. Greefhorst, J. Kuusela, H. Obbink, K. Pohl, Variability Issues in Software Product Lines, in: Proceedings of the Fourth International Workshop on Product Family Engineering (PFE-4), 2001, pp. 11-19.
[13]
Beuche, D., Papajewski, H. and Schröder-Preikschat, W., Variability management with feature models. Science of Computer Programming. v53 i3. 333-352.
[14]
L. Brownsword, P. Clements, A Case Study in Successful Product Line Development, CMU/SEI-96-TR-016, ADA315802, 1996.
[15]
P. Clements, L. Northrop, Software Product Lines: Practices and Patterns, SEI Series in Software Engineering, Addison-Wesley, ISBN: 0-201-70332-7, 2001.
[16]
Coplien, J., Hoffman, D. and Weiss, D., Commonality and variability in software engineering. IEEE Software. v15 i6.
[17]
Czarnecki, K. and Eisenecker, U., Generative Programming. 2000. Addison-Wesley.
[18]
Czarnecki, K., Helsen, S. and Eisenecker, U., Formalizing cardinality-based feature models and their specialization. Software Process Improvement and Practice. v10 i1. 7-29.
[19]
E.M. Dashofy, A. van der Hoek, R.N. Taylor, A Highly Extensible, XML-Based Architecture Description Language, in: Proceedings of the Working IEEE/IFIP Conference on Software Architectures (WICSA 2001), 2001.
[20]
Deelstra, S., Sinnema, M. and Bosch, J., Product derivation in software product families; a case study. Journal of Systems and Software. v74/2. 173-194.
[21]
S. Deelstra, M. Sinnema, J. Nijhuis, J. Bosch, Experiences in software product families: problems and issues during product derivation, in: Proceedings of the Third Software Product Line Conference (SPLC 2004), Springer Verlag Lecture Notes on Computer Science, vol. 3154 (LNCS 3154), August 2004, pp. 165-182.
[22]
Encoway GmbH website, available from: <http://www.encoway.de/>.
[23]
H. Gomaa, D. Webber, Modeling Adaptive and evolvable software product lines using the variation point model, in: Proceedings of the Hawaii International Conference on System Sciences, Hawaii, January 2004.
[24]
M. Griss, J. Favaro, M. d'Alessandro, Integrating Feature Modeling with the RSEB, in: Proceedings of the Fifth International Conference on Software Reuse, 1998, pp. 76-85.
[25]
Halmans, G. and Pohl, K., Communicating the variability of a software-product family to customers. Software and Systems Modeling. v2 i1. 15-36.
[26]
van der Hoek, A., Design-time product line architectures for any-time variability. Science of Computer Programming special issue on Software Variability Management. v53 i30. 285-304.
[27]
L. Hotz, T. Krebs, K. Wolter, J. Nijhuis, S. Deelstra, M. Sinnema, J. MacGregor, Configuration in Industrial Product Families - The ConIPF Methodology, IOS Press, ISBN 1-58603-641-6, July 2006.
[28]
Definition of Inference Engine, available from: <http://en.wikipedia.org/wiki/Inference_engine/>.
[29]
I. Jacobson, M. Griss, P. Jonsson, Software Reuse, Architecture, Process and Organization for Business Success. Addison-Wesley, ISBN: 0-201-92476-5, 1997.
[30]
K. Kang, S. Cohen, J. Hess, W. Novak, S. Peterson, Feature Oriented Domain Analysis (FODA) Feasibility Study, Technical Report CMU/SEI-90-TR-021, 1990.
[31]
Keepence, B. and Mannion, M., Using patterns to model variability in product families. IEEE Software. v16 i4. 102-108.
[32]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.-M. Loingtier, J. Irwin, Aspect-Oriented Programming, in: Proceedings of ECOOP 1997, 1997.
[33]
Koala-C Website, available from: <http://www.program-transformation.org/Tools/KoalaC/>.
[34]
C. Krueger, Variation Management for Software Production Lines, in: Proc. of the 2nd International Software Product Line Conference, volume 2379 of LNCS, San Diego, USA, ACM Press, ISBN 3-540-43985-4, 2002, pp. 37-48.
[35]
H. Lichter, T. von der Maíen, A. Nyíen, T. Weiler, Vergleich von Ansätzen zur Feature Modellierung bei der Softwareproduktlinienentwicklung, Technical Report in Aachener Informatik Berichte, ISSN 0935-3232, 2003.
[36]
T. von der Maíen, H. Lichter, RequiLine: A Requirements Engineering Tool for Software Product Lines, in: 5th Workshop on Product Family Engineering (PFE-5), Springer Verlag Lecture Notes on Computer Science, vol. 3014 (LNCS 3014), May 2004, pp. 168-180.
[37]
T. von der Maíen, H. Lichter, Modeling Variability by UML Use Case Diagrams, Modeling Variability by UML Use Case Diagrams, in: Proceedings of the International Workshop on Requirements Engineering for Product Lines 2002, Technical Report ALR-2002-033, 2002.
[38]
Medvidovic, N. and Taylor, R.N., A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering. v26 i1. 70-93.
[39]
Microsoft Visual Studio website, available from: <http://msdn.microsoft.com/vstudio/>.
[40]
V. Myllärniemi, T. Asikainen, T. Männistö, T. Soininen, Kumbang Configurator - A Configuration Tool for Software Product Families, in: Proceedings of the Configuration Workshop at IJCAI-05, 2005.
[41]
van Ommering, R., van der Linden, F., Kramer, F. and Magee, J., The Koala component model for consumer electronics software. IEEE Computer. 78-85.
[42]
K. Pohl, G. Böckle, F. van der Linden, Software Product Line Engineering: Foundations, Principles, and Techniques, Springer, ISBN 10-3-540-24372-0, 2005.
[43]
Pure Systems website, available from: <http://www.pure-systems.com/>.
[44]
M. Riebisch, D. Streitferdt, I. Pashov. Modeling Variability for Object-Oriented Product Lines, Workshop Reader of Object-Oriented Technology at ECOOP 2003, Springer, Lecture Notes in Computer Science, vol. 3013, 2004, pp. 165-178.
[45]
K. Schmid, I. John, R. Kolb, G. Meier, Introducing the PuLSE Approach to an Embedded System Population at Testo AG, in: Proceedings of the 27th International Conference on Software Engineering (ICSE), 2005, pp. 544-552.
[46]
P.-Y. Schobbens, P. Heymans, J.-C. Trigaux, Y. Bontemps, Feature Diagrams: A Survey and A Formal Semantics, in: Proceedings of the 14th IEEE International Requirements Engineering Conference, 2006.
[47]
M. Sinnema, S. Deelstra, J. Nijhuis, J. Bosch, COVAMOF: A Framework for Modeling Variability in Software Product Families, in: Proceedings of the Third Software Product Line Conference (SPLC 2004), Springer Verlag Lecture Notes on Computer Science, vol. 3154 (LNCS 3154), August 2004, pp. 197-213.
[48]
M. Sinnema, S. Deelstra, J. Nijhuis, J. Bosch, Modeling Dependencies in Product Families with COVAMOF, in: Proceedings of the 13th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2006), March 2006.
[49]
Svahnberg, M., van Gurp, J. and Bosch, J., A taxonomy of variable realization techniques. Software Practice & Experience. v35. 1-50.
[50]
J.C. Trigaux, P. Heymans, Modelling Variability Requirements in Software Product Lines: A comparative survey, Technical report PLENTY project, Institut d'Informatique FUNDP, Namur, Belgium, 2003.
[51]
World Wide Web Consortium, XML Path Language (Xpath) 2.0, 2005. Available from: <http://www.w3.org/TR/xpath20/>.
[52]
Zhang, H. and Jarzabek, S., XVCL: a mechanism for handling variants in software product lines. Science of Computer Programming. v53 i3. 381-407.
[53]
Weiss, D.M. and Lai, C.T.R., Software Product-Line Engineering: A Family-Based Software Development Process. 1999. Addison-Wesley.

Cited By

View all
  • (2024)Design of a Meta-Factory for Product Lines Model-Driven SoftwareProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3676545(6-10)Online publication date: 2-Sep-2024
  • (2024)Uncertainty Flow Diagrams: Towards a Systematic Representation of Uncertainty Propagation and Interaction in Adaptive SystemsProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644084(37-43)Online publication date: 15-Apr-2024
  • (2023)Towards a Research Agenda for Understanding and Managing Uncertainty in Self-Adaptive SystemsACM SIGSOFT Software Engineering Notes10.1145/3617946.361795148:4(20-36)Online publication date: 17-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Information and Software Technology
Information and Software Technology  Volume 49, Issue 7
July, 2007
123 pages

Publisher

Butterworth-Heinemann

United States

Publication History

Published: 01 July 2007

Author Tags

  1. Classification
  2. Software product family
  3. Variability management
  4. Variability modeling

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Design of a Meta-Factory for Product Lines Model-Driven SoftwareProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3676545(6-10)Online publication date: 2-Sep-2024
  • (2024)Uncertainty Flow Diagrams: Towards a Systematic Representation of Uncertainty Propagation and Interaction in Adaptive SystemsProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644084(37-43)Online publication date: 15-Apr-2024
  • (2023)Towards a Research Agenda for Understanding and Managing Uncertainty in Self-Adaptive SystemsACM SIGSOFT Software Engineering Notes10.1145/3617946.361795148:4(20-36)Online publication date: 17-Oct-2023
  • (2021)Uncertainty representation in software models: a surveySoftware and Systems Modeling (SoSyM)10.1007/s10270-020-00842-120:4(1183-1213)Online publication date: 1-Aug-2021
  • (2021)A framework for automated multi-stage and multi-step product configuration of cyber-physical systemsSoftware and Systems Modeling (SoSyM)10.1007/s10270-020-00803-820:1(211-265)Online publication date: 1-Feb-2021
  • (2020)Towards Transforming Variability ModelsProceedings of the 24th ACM International Systems and Software Product Line Conference - Volume B10.1145/3382026.3425768(44-51)Online publication date: 19-Oct-2020
  • (2020)Incremental feature model synthesis for clone-and-own software systems in MATLAB/SimulinkProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414973(1-12)Online publication date: 19-Oct-2020
  • (2020)Using variability modeling to support security evaluationsProceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3377024.3377026(1-9)Online publication date: 5-Feb-2020
  • (2019)A Preliminary Comparison of Using Variability Modeling Approaches to Represent Experiment FamiliesProceedings of the 23rd International Conference on Evaluation and Assessment in Software Engineering10.1145/3319008.3319356(333-338)Online publication date: 15-Apr-2019
  • (2019)Feature Modeling vs. Decision ModelingProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342399(134-136)Online publication date: 9-Sep-2019
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media