Cognitive Insights into Feature Diagram Notation and Beyond

Chapter
Part of the Advanced Information and Knowledge Processing book series (AI&KP, volume 5)

Abstract

Variability is the ability of a software system or artefact to be extended, changed, customized or configured for the use in a particular context [GBS01]. Implementation of variability allows delaying design decisions concerning a supported functionality to later stages of the software development process. Rather than deciding on specific features, a product will have, at early design stages, software architecture and set of components which are defined to allow the configuration of features to match user requirements, at a late design stage.

Keywords

Product Line 

References

  1. [Asi04].
    Asikainen T (2004) Modelling methods for managing variability of configurable software product families. Licentiate thesis of science in technology at Helsinki University of TechnologyGoogle Scholar
  2. [ASM04].
    Asikainen T, Soininen T, Männistö T (2004) A Koala-based approach for modelling and deploying configurable software product families. In: 5th Workshop on product family engineering (PFE-5), Sienna, 4–6 November. Springer, BerlinGoogle Scholar
  3. [Bat05].
    Batory D (2005) Feature models, grammars, and propositional formulas. In: Obbink H, Pohl K (eds) 9th international software product line conference (SPLC 2005), Rennes, 26–29 September 2005. LNCS, vol 3714. Springer, Berlin/Heidelberg, pp 7–20Google Scholar
  4. [BCK+04].
    Bühne S, Chastek G, Kakola T, Knauber P, Northrop L, Thiel S (2004) Exploring the context of product line adoption. In: Proceedings of the product family engineering workshop PFE-5. Sienna, Italy, 4–6 November 2003. Springer, BerlinGoogle Scholar
  5. [BDS+11].
    Burbaitė R, Damaševičius R, Štuikys V, Bespalova K, Paškevičius P (2011) Product variation modelling using feature diagrams and modal logic. In: Proceedings of the 12th IEEE international symposium on computational intelligence and informatics, Budapest, Hungary, 21–22 November 2011, pp 74–77Google Scholar
  6. [Bec03].
    Becker M (2003) Towards a general model of variability in product families. In: 1st workshop on software variability management, Groningen, February 2003Google Scholar
  7. [BHS05].
    Bontemps Y, Heymans P, Schobbens P-Y, Trigaux J-Ch (2005) Generic semantics of feature diagrams variants. In: Feature interaction workshop (FIW), Leicester, 28–30 June 2005, pp 58–77Google Scholar
  8. [Bos00].
    Bosch J (2000) Design and Use of software architectures, adopting and evolving a product-line approach. Addison-Wesley, ReadingGoogle Scholar
  9. [BPS04].
    Beuche D, Papajewski H, Schröder-Preikschat W (2004) Variability management with feature models. Sci Comput Program 53(3):333–352MATHCrossRefGoogle Scholar
  10. [BS99].
    De Baud J-M, Schmid K (1999) A systematic approach to derive the scope of software product lines. In: Proceedings of the International Conference on Software Engineering, ICSE, Los Angeles, 1CA, USA, May 16–22, 1999. ACM 1999, pp 34–43Google Scholar
  11. [BTR05].
    Benavides D, Trinidad P, Ruiz-Cortés A (2005) Automated reasoning on feature models. In: Proceedings of the 17th international conference on advanced information systems engineering, CAiSE. Porto, 13–17 June 2005. LNCS, vol 3520. Springer, Berlin/Heidelberg, pp 491–503Google Scholar
  12. [CE01].
    Czarnecki K, Eisenecker U (2001) Generative programming: methods, tools and applications. Addison-Wesley, BostonGoogle Scholar
  13. [CHE05a].
    Czarnecki K, Helsen S, Eisenecker U (2005) Staged configuration through specialization and multi-level configuration of feature models. Softw Process Improv Pract 10:143–169CrossRefGoogle Scholar
  14. [CHE05b].
    Czarnecki K, Helsen S, Eisenecker U (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10(1):7–29CrossRefGoogle Scholar
  15. [Che95].
    Chellas BF (1995) Modal logic: an introduction. Cambridge University Press, CambridgeGoogle Scholar
  16. [CHW98].
    Coplien J, Hoffman D, Weiss D (1998) Commonality and variability in software engineering. IEEE Softw 15:37–45CrossRefGoogle Scholar
  17. [CKK06].
    Czarnecki K, Kim CHP, Kalleberg KT (2006) Feature models are views on ontologies. In: Proceedings of the 10th international software product line conference, Baltimore, MD, 21–24 August 2006. IEEE Computer Society, Los Alamitos, pp 41–51Google Scholar
  18. [CW07].
    Czarnecki K, Wasowski A (2007) Feature diagrams and logics: there and back again. In: 11th international software product line conference, SPLC 2007, Kyoto, Japan, 10–14 September 2007, pp 23–34Google Scholar
  19. [DS06].
    Djebbi O, Salinesi C (2006) Criteria for comparing requirements variability modeling notations for product lines. In: CERE workshop at RE’06 conference, Minneapolis, 2006, pp 20–35Google Scholar
  20. [DS09].
    Damasevicius R, Stuikys V (2009) Specification and generation of learning object sequences for E-learning using sequence feature diagrams and metaprogramming techniques. In: Ninth IEEE international conference on advanced learning technologies, Riga, Latvia, 2009, pp 572–576Google Scholar
  21. [DSN+04].
    Deelstra S, Sinnema M, Nijhuis J, Bosch J (2004) COSVAM: a technique for assessing software variability in software product families. In: Proceedings of the 20th international conference on software maintenance (ICSM 2004), Chicago, 11–17 September 2004, pp 458–462Google Scholar
  22. [ESB07].
    Etxeberria L, Sagardui G, Belategi L (2007) Modelling variation in quality attributes. In: Proceedings of the first international workshop on variability of software-intensive systems VaMos 2007, Lero, 2007, pp 51–60Google Scholar
  23. [Fir03].
    Firesmith D (2003) Using quality models to engineer quality requirements. J Obj Technol 2(5):67–75CrossRefGoogle Scholar
  24. [GBS01].
    Van Gurp J, Bosch J, Svahnberg M (2001) On the notion of variability in software product lines. In: Working IEEE/IFIP conference on software architecture (WICSA 2001), Amsterdam, 28–31 August 2001, pp 45–54Google Scholar
  25. [GFD98].
    Griss L, Favaro J, D’Alessandro M (1998) Integrating feature modeling with the RSEB, Victoria, BC, Canada. In: Proceedings of the fifth international conference on software reuse. Victoria, BC, 2–5 June 1998. IEEE Computer Society Press, Los Alamitos, pp 76–85Google Scholar
  26. [Gru94].
    Gruber T (1994) Toward principles for the design of ontologies used for knowledge sharing. IJHCS 43(5/6):907–928Google Scholar
  27. [Gua98].
    Guarino N (1998) Formal ontology in information systems. In: Proceedings of FOIS’98, Trento, Italy, 6–8 June 1998. Ios Press, Amsterdam, pp 3–15Google Scholar
  28. [HKW+06].
    Hotz L, Krebs T, Wolter K, Nijhuis J, Deelstra S, Sinnema M, Macgregor J (2006) Configuration in industrial product families – the ConIPF methodology. Ios Press, BerlinGoogle Scholar
  29. [IEEE92].
    IEEE Std. 1061–1992 (1992) Standard for a software quality metrics methodology. IEEE, New YorkGoogle Scholar
  30. [Jar05].
    Jaring M (2005) Variability engineering as an integral part of the software product family development process. PhD thesis, University of GroningenGoogle Scholar
  31. [JB04].
    Jaring M, Bosch J (2004) A taxonomy and hierarchy of variability dependencies in software product family engineering. In: Proceedings of the 28th international computer software and applications conference (COMPSAC 2004), Hong Kong, 27–30 September 2004, pp 356–361Google Scholar
  32. [KCH+90].
    Kang K, Cohen S, Hess J, Novak W, Peterson S (1990) Feature-oriented domain analysis (FODA) feasibility study. TR CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990Google Scholar
  33. [KKL+98].
    Kang KC, Kim S, Lee J, Kim K, Kim GJ, Shin E (1998) FORM: a feature–oriented reuse method with domain–specific reference architectures. Ann Softw Eng 5:143–168CrossRefGoogle Scholar
  34. [Kru02].
    Krueger C (2002) Variation management for software production lines. In: Proceedings of the 2nd international software product line conference. LNCS, vol 2379. ACM Press, San Diego, pp 37–48Google Scholar
  35. [KT05].
    Kaci S, van der Torre LWN (2005) Algorithms for a nonmonotonic logic of preferences. In: Proceedings of the 8th European conference on symbolic and quantitative approaches to reasoning with uncertainty, ECSQARU 2005, Barcelona, Spain, 6–8 July 2005. LNCS, vol 3571. Springer, Heidelberg, pp 281–292Google Scholar
  36. [LBL08].
    Liu J, Basu S, Lutz R (2008) Generating variation-point obligations for compositional model checking of software product lines. Technical report 08–04, Computer Science, Iowa State UniversityGoogle Scholar
  37. [LKS+07].
    Lee S-B, Kim J-W, Song C-Y, Baik D-K (2007) An approach to analyzing commonality and variability of features using ontology in a software product line engineering. In: Proceedings of the 5th ACIS international conference on software engineering research, management & applications, Busan, 2007, pp 727–734Google Scholar
  38. [Man02].
    Mannion M (2002) Using first-order logic for product line model validation. In: Chastek GJ (ed) Proceedings of the second international conference on software product lines, SPLC 2, San Diego, CA, USA, 19–22 August 2002. LNCS, vol 2379. Springer, Berlin, pp 176–187Google Scholar
  39. [MK03].
    Masuhara H, Kiczales G (2003) Modeling cross-cutting in aspect-oriented mechanisms. In: Cardelli L (ed) Proceedings of the 17th European conference on object-oriented programming, ECOOP 2003, Darmstadt, Germany, 21–25 July 2003. LNCS, vol 2743. Springer, Heidelberg, pp 2–28Google Scholar
  40. [MMR06].
    Myllärniemi V, Männistö T, Raatikainen M (2006) Quality attribute variability within a software product family architecture. In: Proceedings of the 2nd international conference on quality of software architecture QoSA, Vasteras, 2006Google Scholar
  41. [Nie05].
    Niemelä E (2005) Architecture centric software family engineering. Product family engineering seminar. In: Tutorial in 5th working IEEE/IFIP conference on software architecture (WICSA), Pittsburgh, 2005Google Scholar
  42. [PBL05].
    Pohl K, Bockle G, van der Linden F (2005) Software product line engineering. Springer, Berlin/Heidelberg/New YorkMATHGoogle Scholar
  43. [RBS+02].
    RiebischM, Bollert K, Streitferdt D, Philippow I (2002) Extending feature diagrams with UML multiplicities. In: 6th conference on integrated design & process technology (IDPT 2002), Pasadena, 2002, pp 2–7Google Scholar
  44. [RP03].
    Robak S, Pieczyński A (2003) Employment of fuzzy logic in feature diagrams to model variability in software families. Trans SDPS J Integr Des Process Sci 7(3):79–94Google Scholar
  45. [SB00].
    Svahnberg M, Bosch J (2000) Issues concerning variability in software product lines. In: van der Linden F (ed) Proceedings of the international workshop on software architectures for product families, IW-SAPF-3, Las Palmas, Spain, 15–17 March 2000. LNCS, vol 1951. Springer, Berlin/Heidelberg, pp 146–157Google Scholar
  46. [SDN+04].
    Sinnema M, Deelstra S, Nijhuis J, Bosch J (2004) Covamof: a framework for modeling variability in software product families. In: Proceedings of 3rd international conference on software product lines, SPLC, Boston, 30 August–2 September 2004. LNCS, vol 3154. Springer, Berlin/Heidelberg, pp 197–213Google Scholar
  47. [SHT06].
    Schobbens P-Y, Heymans P, Trigaux J-Ch (2006) Feature diagrams: a survey and a formal semantics. In: Proceedings of the 14th IEEE international requirements engineering conference, Minneapolis/St.Paul, 11–15 September 2006. IEEE CS Washington, DC, pp 136–145Google Scholar
  48. [Sip05].
    Sipka M (2005) Exploring the commonality in feature modeling notations. In: Bieliková M (ed) IIT.SRC 2005, Slovak University of Technology, 27 April 2005, pp 139–144Google Scholar
  49. [Sne96].
    Snelting G (1996) Reengineering of configurations based on mathematical concept analysis. ACM Trans Softw Eng Methodol 5(2):146–189CrossRefGoogle Scholar
  50. [SRP03].
    Streitferdt D, Riebisch M, Philippow I (2003) Details of formalized relations in feature models using OCL. In: Proceedings of the 10th IEEE international conference on engineering of computer-based systems (ECBS 2003), Huntsville, 7–10 April 2003, pp 297–304Google Scholar
  51. [SVD06].
    Sinnema M, Van Der Ven JS, Deelstra S (2006) Using variability modeling principles to capture architectural knowledge. ACM SIGSOFT Softw Eng Notes (SIGSOFT) 31(5):1–6Google Scholar
  52. [THS+06].
    Trigaux J-C, Heymans P, Schobbens P-Y, Classen A (2006) Comparative semantics of feature diagrams: FFD vs. vDFD. In: Fourth international workshop on comparative evaluation in requirements engineering, 2006. CERE’06, Minneapolis/St. Paul, September 2006, pp 36–47Google Scholar
  53. [Vel95].
    Veldhuizen T (1995) Using C++ template metaprograms. C++ Rep 7(4):36–43Google Scholar
  54. [WG04].
    Webber DL, Gomaa H (2004) Modeling variability in software product lines with the variation point model. Sci Comput Program (SCP) 53(3):305–331MathSciNetMATHCrossRefGoogle Scholar
  55. [WL99].
    Weiss DM, Lai CTR (1999) Software product-line engineering: a family based software development process. Addison-Wesley, ReadingGoogle Scholar
  56. [ZJY03].
    Zhang H, Jarzabek S, Yang B (2003) Quality prediction and assessment for product lines. In: Proceedings of 15th international conference on advanced information systems engineering, CAiSE 2003, Klagenfurt, 16–18 June 2003. LNCS, vol 2681. Springer, Berlin/Heidelberg, pp 681–695Google Scholar
  57. [ZZM04].
    Zhang W, Zhao H, Mei H (2004) A propositional logic-based method for verification of feature models. In: Davies J, Schulte W, Barnett M (eds) Formal methods and software engineering, 6th international conference on formal engineering methods, Seattle, WA, USA, 8–12 November 2004. LNCS, vol 3308. Springer, Berlin/HeidelbergGoogle Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  1. 1.Software Engineering DepartmentKaunas University of TechnologyKaunasLithuania

Personalised recommendations