A Flexible Requirements Analysis Approach for Software Product Lines

  • Nicolas Guelfi
  • Gilles Perrouin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4542)


Product Line Engineering (PLE) promotes the development of applications by reusing a set of software assets belonging to a given domain. Important research efforts have been devoted to the description of commonalties and variabilities among these assets yielding requirements engineering techniques such as feature modeling or use case variants. However, current product derivation techniques, which strive to automate the derivation process, are inflexible in that they fail to accommodate products that represent only a minor deviation from the original product line. Furthermore, PLE methodologies do not provide precise support to assist product derivation in such cases. In this paper, we address flexibility issues by introducing an analysis model, based on UML, OCL and use cases, that implicitly defines define product line variabilities and boundaries by means of constraints forbidding undesired products. Then, in order to reuse domain assets in a coherent manner, an imperative model transformation mechanism is devised. We illustrate this approach through a simple example.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison Wesley, Reading, MA, USA (2001)Google Scholar
  2. 2.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute (1990)Google Scholar
  3. 3.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A Survey and A Formal Semantics. In: Proceedings of the 14th IEEE International Requirements Engineering Conference (RE’06), Minneapolis, Minnesota, USA (2006)Google Scholar
  4. 4.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Formalizing Cardinality-based Feature Models and their Specialization. Software Process Improvement and Practice 10(1), 7–29 (2005)CrossRefGoogle Scholar
  5. 5.
    Fantechi, A., Gnesi, S., John, I., Lami, G., Dörr, J.: Elicitation of Use Cases for Product Lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 152–167. Springer, Heidelberg (2004)Google Scholar
  6. 6.
    John, I., Muthig, D.: Tailoring Use Cases for Product Line Modeling. In: REPL02, pp. 26–32 (2002)Google Scholar
  7. 7.
    Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, USA (2004)Google Scholar
  8. 8.
    Ziadi, T., Jézéquel, J.M.: Product Line Engineering with the UML: Deriving Products. In: Families Research Book, Springer, Heidelberg (2006)Google Scholar
  9. 9.
    Deelstra, S., Sinnema, M., Bosch, J.: Experiences in Software Product Families: Problems and Issues during Product Derivation. In: SPLC3 - 3rd Software Product Line Conference (SPLC 2004), pp. 165–182, Boston, MA, USA (2004)Google Scholar
  10. 10.
    OMG: UML 2.0 OCL 2.0 specification. Technical Report ptc/05-06-06, Object Management Group (2005)Google Scholar
  11. 11.
    Krueger, C.W.: Easing the Transition to Software Mass Customization. In: PFE ’01: Revised Papers from the 4th International Workshop on Software Product-Family Engineering, London, UK, pp. 282–293. Springer, Heidelberg (2002)Google Scholar
  12. 12.
    Krueger, C.W.: New Methods in Software Product Line Development. In: 10th International Software Product Line Conference (SPLC’06), IEEE, pp. 95–102 (2006)Google Scholar
  13. 13.
    Czarnecki, K., Helsen, S., Eisenecker, U.: Staged Configuration through Specialization and Multilevel Configuration of Feature Models. Software Process: Improvement and Practice 10(2), 143–169 (2005)CrossRefGoogle Scholar
  14. 14.
    Griss, M.L., Favaro, J., d’ Alessandro, M.: Integrating Feature Modeling with the RSEB. In: ICSR ’98: Proceedings of the 5th International Conference on Software Reuse, IEEE Computer Society, Washington, DC, USA (1998)Google Scholar
  15. 15.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Ann. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  16. 16.
    Hotz, L., Wolter, K., Krebs, T., Deelstra, S., Sinnema, M., Nijhuis, J., MacGregor, J.: Configuration in Industrial Product Families, The ConIPF Methodology. IOS Press, Amsterdam (2006)Google Scholar
  17. 17.
    Krebs, T., Wolter, K., Hotz, L.: Model-based Configuration Support for Product Derivation in Software Product Families. In: Mass Customization, Concepts - Tools - Realization, GITO-Verlag, pp. 279–292 (2005)Google Scholar
  18. 18.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-based Product Line Engineering with UML. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2002)Google Scholar
  19. 19.
    Atkinson, C., Bayer, J., Muthig, D.: Component-based Product Line Development: the KobrA approach. In: Proceedings of the first conference on Software product lines: experience and research directions, pp. 289–309. Kluwer Academic Publishers, Norwell, MA, USA (2000)Google Scholar
  20. 20.
    Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object-Oriented Development: the Fusion Method. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1994)Google Scholar
  21. 21.
    Kent, S.: Model Driven Engineering. In: IFM ’02. Proceedings of the Third International Conference on Integrated Formal Methods, London, UK, pp. 286–298. Springer-Verlag, Heidelberg (2002)Google Scholar
  22. 22.
    Guelfi, N., Perrouin, G.: Using Model Transformation and Architectural Frameworks to Support the Software Development Process: the FIDJI Approach. In: 2004 Midwest Software Engineering Conference, pp. 13–22 (2004)Google Scholar
  23. 23.
    Haugen, Ø., Møller-Pedersen, B., Oldevik, J., Solberg, A.: An MDA-based Framework for Model-Driven Product Derivation. In: Software Engineering and Applications, ACTA Press, pp. 709–714 (2004)Google Scholar
  24. 24.
    Kim, S.D., Min, H.G., Her, J.S., Chang, S.H.: DREAM: A Practical Product Line Engineering Using Model Driven Architecture. In: ICITA ’05: Proceedings of the Third International Conference on Information Technology and Applications (ICITA’05), vol. 2, pp. 70–75. IEEE Computer Society Press, Washington, DC, USA (2005)Google Scholar
  25. 25.
    Soley, R.: OMG: Model Driven Architecture. Technical Report omg/00-11-05, OMG (2000)Google Scholar
  26. 26.
    OMG: MOF QVT Final Adopted Specification. Technical Report ptc/05-11-01, OMG (2005)Google Scholar
  27. 27.
    Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML Profile for Software Product Lines. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 129–139. Springer, Heidelberg (2003)Google Scholar
  28. 28.
    Vojtisek, D., Jézéquel, J.M.: MTL and Umlaut NG: Engine and Framework for Model Transformation. ERCIM News, 58 (2004)Google Scholar
  29. 29.
    Johnson, R.E., Foote, B.: Designing Reusable Classes. The Journal of Object-Oriented Programming 1(2), 22–35 (1988)Google Scholar
  30. 30.
    Gallina, B., Guelfi, N., Monnat, A., Perrouin, G.: A Template for Product Line Requirement Elicitation. Technical Report TR-LASSY-06-08, Laboratory for Advanced Software Systems, University of Luxembourg (2006)Google Scholar
  31. 31.
    Guelfi, N., Perrouin, G.: Coherent Integration of Variability Mechanisms at the Requirements Elicitation and Analysis Levels. In: Muthig, D., Clements, P. (eds.) Workshop on Managing Variability for Software Product Lines: Working With Variability Mechanisms at 10th Software Product Line Conference, Baltimore, MD, USA (2006)Google Scholar
  32. 32.
    Perrouin, G.: Architecting Software Systems using Model Transformation and Architectural Frameworks (BFR03/69: Second Year Final Report). Technical Report TR-LASSY-06-02, Laboratory for Advanced Software Systems (2006)Google Scholar
  33. 33.
    Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2001)Google Scholar
  34. 34.
    Warmer, J., Kleppe, A.: The Object Constraint Language, 2nd edn. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA (2003)Google Scholar
  35. 35.
    Briand, L.C., Labiche, Y., O’Sullivan, L.: Impact Analysis and Change Management of UML Models. In: ICSM ’03: Proceedings of the International Conference on Software Maintenance, IEEE Computer Society, Washington, DC, USA (2003)Google Scholar
  36. 36.
    Sendall, S., Strohmeier, A.: Using OCL and UML to Specify System Behavior. In: Object Modeling with the OCL, The Rationale behind the Object Constraint Language, pp. 250–280. Springer, London, UK (2002)Google Scholar
  37. 37.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Model Transformations in Practice Workshop at MoDELS, Montego Bay, Jamaica (2005)Google Scholar
  38. 38.
    Oldevik, J., Haugen, Ø., Møller-Pedersen, B., Solberg, A.: Evaluation Framework for Model-Driven System Family Engineering Tools. In: FAMILIES Research Book, Springer, Heidelberg (2006)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Nicolas Guelfi
    • 1
  • Gilles Perrouin
    • 1
    • 2
  1. 1.Laboratory for Advanced Software Systems, University of Luxembourg, 6, rue Richard Coudenhove-Kalergi, L-1359 Luxembourg-KirchbergLuxembourg
  2. 2.Computer Science Department, University of Namur, Rue Grandgagnage 21, 5000 NamurBelgium

Personalised recommendations