A Template for Requirement Elicitation of Dependable Product Lines

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


Engineering software quickly and at a low cost, while preserving quality, is a well-known objective that has not been reached. Reducing the development time can be achieved by reusing software components, as proposed in the software product line development approach. Dependability may be one of the most important attributes concerning quality, due to negative consequences (health, cost, time, etc.) induced by non-dependable software. Our proposal, presented in this article, is to offer a means to elicit the requirements of a product line, such that the dependability attribute would be explicitly considered, and such that reuse would be achieved by differentiating commonalities and variabilities between products. The proposed semi-formal template includes product commonality and variability elicitation, as well as elicitation of normal, misuse and recovery scenarios. Furthermore, we allow the elicitation of the advanced transactional nature of scenarios, since it provides us with a way to elicit fault tolerance requirements, which is our targeted means to achieving dependability.


Fault Tolerance Software Product Line Requirement Elicitation Misuse Case Fault Tree Analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Trigaux, J.C., Heymans, P.: Software product lines: State of the art. Technical report, Technical Report for PLENTY project, Institut dInformatique FUNDP, Namur (2003)Google Scholar
  2. 2.
    CORRECT: project supported by the Luxembourg Ministry of Higher Education and Research under the n MEN/IST/04/04 (2004)Google Scholar
  3. 3.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. In: SEI Series of Software Engineering, Addison Wesley, London (2001)Google Scholar
  4. 4.
    Avizienis, A., Laprie, J., Randell, B., Landwehr, C.: Basic concepts and taxonomy of dependable and secure computing. IEEE Trans. Dependable Sec. Comput. 1(1), 11–33 (2004)CrossRefGoogle Scholar
  5. 5.
    Lee, P., Anderson, T.: Fault Tolerance: Principles and Practice, 2nd edn. Prentice-Hall, Englewood Cliffs (1990)MATHGoogle Scholar
  6. 6.
    Xu, J., Randell, B., Romanovsky, A., Rubira, C.M.F., Stroud, R.J., Wu, Z.: Fault tolerance in concurrent object-oriented software through coordinated error recovery. In: Symposium on Fault-Tolerant Computing, pp. 499–508 (1995)Google Scholar
  7. 7.
    Campbell, R.H., Randell, B.: Error recovery in asynchronous systems. IEEE Trans. Software Eng. 12(8), 811–826 (1986)Google Scholar
  8. 8.
    Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, London (2000)Google Scholar
  9. 9.
    Sindre, G., Opdahl, A.: Templates for misuse case description. In: The 7 International Workshop on REFSQ, Switzerland (June 4-5, 2001)Google Scholar
  10. 10.
    Alexander, I.: Misuse cases help to elicit nonfunctional requirements. In: IEE CCEJ (2001)Google Scholar
  11. 11.
    John, I., Muthig, D.: Product line modelling with generic use cases. In: SPLC-2 Workshop on Techniques for Exploiting Commonality Through Variability Management, San Diego, USA (August 19-22, 2002)Google Scholar
  12. 12.
    Fantechi, A., Gnesi, S., Lami, G., Nesti, E.: A methodology for the derivation and verification of use cases for product lines. In: SPLC3, pp. 255–265 (2004)Google Scholar
  13. 13.
    Shui, A., Mustafiz, S., Kienzle, J., Dony, C.: Exceptional use cases. In: MoDELS, Montego Bay, Jamaica (October 2-7, 2005)Google Scholar
  14. 14.
    Kienzle, J., Sendall, S.: Addressing concurrency in object-oriented software development. Technical Report SOCS-TR-2004.8, School of Computer Science, McGill University, Montreal, Canada (2004)Google Scholar
  15. 15.
    Laibinis, L., Troubitsyna, E.: Fault tolerance in use-case modeling. In: Workshop on RHAS (September 2005)Google Scholar
  16. 16.
    de Lemos, R., Ferreira, G.R.M., Rubira, C.M.F.: Explicit representation of exception handling in the development of dependable component-based systems. In: IEEE International HASE, pp. 182–193. IEEE Computer Society, Washington, DC (2001)Google Scholar
  17. 17.
    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
  18. 18.
    Lu, D., Lutz, R., Chang, C.: Deriving safety-related scenarios to support architecture evaluation. In: Yang, H., (ed.) Software Evolution with UML and XML, pp. 32–56 (2005)Google Scholar
  19. 19.
    Dehlinger, J., Lutz, R.: Software fault tree analysis for product lines. In: 8th IEEE International Symposium on HASE, March 24-26, Tampa, Florida, pp. 12–21 (2004)Google Scholar
  20. 20.
    Lu, D., Lutz, R.: Fault contribution trees for product families. In: 13th International Symposium on SRE, Annapolis, MD, pp. 231–242 (2002)Google Scholar
  21. 21.
    Noda, A., Nakanishi, T., Fukuda, A., Kitasuka, T.: Introducing fault tree analysis into product line software engineering for exception handling feature exploitation. In: Proc. IASTED International Conference on SE, pp. 229–234, February, Innsbruck, Austria (2007)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Barbara Gallina
    • 1
  • Nicolas Guelfi
    • 1
  1. 1.Laboratory for Advanced Software Systems, University of Luxembourg, 6, rue Richard Coudenhove-Kalergi, L-1359 Luxembourg-Kirchberg 

Personalised recommendations